* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

[data-gjs-type="text"][class*="gjs-comp-selected"] {
  outline-color: purple !important;
  outline-style: solid !important;
  outline-width: 3px !important;
}

#wrapper {
  font-family: montserrat;
  margin: 0;
}

#cc-top-alert {
  width: 100%;
  background: rgba(199, 18, 52, 1);
  color: rgba(255, 255, 255, 1);
  text-align: center;
  padding: 6px 10px;
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial,
    sans-serif;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  background-color: rgba(255, 168, 0, 1); /* strong red */
}

#cc-ship-hero {
  background: linear-gradient(
    180deg,
    rgba(244, 251, 251, 1) 0%,
    rgba(255, 255, 255, 1) 40%
  );
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial,
    sans-serif;
  color: rgba(17, 17, 17, 1);
  padding: 0px 0px 40px 0px;
}

/* Each plan block */
/* Clickable image card */
/* Default: show unselected image, hide selected */
/* When plan is selected, swap images */
/* Pink CTA pill */
/* CTA only visible for selected plan */
/* Hover state */
/* No thanks link */
/* Responsive width for the button */
#cc-id-bRaRaNXlEESi {
  margin-left: auto;
  margin-right: auto;
}

#cc-upgrade-plans {
  max-width: 980px;
  margin: 30px auto 40px;
  padding: 0 16px;
  text-align: center;
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial,
    sans-serif;
}

.cc-up-decline {
  margin: 8px 0 0;
  font-size: 16px;
  color: rgba(179, 179, 179, 1);
  text-align: center;
  text-decoration: underline;
}

#cc-id-PGcusSOqpYg1 {
  margin-left: auto;
  margin-right: auto;
}

#cc-id-Qo8vYF5ZSXdf {
  margin-left: auto;
  margin-right: auto;
}

.cc-up-plan {
  position: relative;
  margin-bottom: 32px;
}

.cc-up-cta {
  position: relative;
  display: inline-block;
  margin-top: -26px;
  padding: 16px 40px 18px;
  border-radius: 999px;
  border: 0;
  background: rgba(244, 108, 168, 1);
  color: rgba(255, 255, 255, 1);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(244, 108, 168, 0.45);
  z-index: 2; /* pulls button up to “attach” to card */
}

.cc-up-plan:not(.is-selected) .cc-up-cta {
  display: none;
}

.cc-up-cta:hover {
  filter: brightness(1.06);
}

#cc-id-LcbWh0cFj6mr {
  margin-left: auto;
  margin-right: auto;
}

.cc-up-plan-toggle {
  border: 0;
  padding: 0;
  margin: 0;
  background: none;
  cursor: pointer;
  display: inline-block;
}

.cc-up-img {
  display: block;
  width: 100%;
  max-width: 960px;
  height: auto;
}

.cc-up-img-selected {
  display: none;
}

.cc-up-plan.is-selected .cc-up-img-selected {
  display: block;
}

.cc-up-plan.is-selected .cc-up-img-unselected {
  display: none;
}

.cc-ship-inner {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.cc-ship-heading-wrap {
  margin-bottom: 40px;
}

.cc-ship-heading-main {
  margin: 0 0 10px;
  font-size: 42px;
  line-height: 1.1;
  font-weight: 700;
  color: rgba(51, 51, 51, 1);
}

.cc-ship-heading-sub {
  margin: 0;
  font-size: 42px;
  line-height: 1.3;
  font-weight: 400;
  color: rgba(51, 51, 51, 1);
}

.cc-ship-heading-sub span {
  font-weight: 700;
}

.cc-ship-note {
  margin: 0;
  font-size: 22px;
  line-height: 1.5;
  color: rgba(68, 68, 68, 1);
  text-decoration: underline;
}

/* Each option wrapper */
/* Card containers */
/* Selected vs unselected visibility */
/* Pink pill button under selected image
   (very close to your old #i4ib773 / #ia0pmhk styles) */
/* No-thanks link */
/* Mobile tweaks (match old feel; font size slightly smaller) */
#cc-id-nfvXFQPIEeuq {
  margin-left: auto;
  margin-right: auto;
}

#cc-id-bUC93gufAXgI {
  margin-left: auto;
  margin-right: auto;
}

#cc-id-E1qOt69mSUyy {
  margin-left: auto;
  margin-right: auto;
}

#cc-id-0bJQa7UoiOrh {
  margin-left: auto;
  margin-right: auto;
}

/* Desktop only: shrink just the 3-month box */
#cc-id-qvODI7ySeEET {
  padding-bottom: 0px;
  padding-top: 0px;
}

#cc-bundle-toggle {
  max-width: 700px;
  margin: 15px auto 40px;
  padding: 0px;
  font-family: Montserrat, Helvetica, Arial, sans-serif;
  text-align: center;
}

.cc-bundle-option {
  margin-bottom: 32px;
}

.cc-bundle-cta {
  display: block;
  margin: 0px auto 0;
  width: 80%;
  max-width: 520px;
  padding: 10px 20px 12px;
  border-radius: 0 0 60px 60px;
  border: none;
  background-color: rgba(231, 116, 162, 1);
  color: rgba(255, 255, 255, 1);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  box-shadow: none;
  cursor: pointer;
  font-family: Montserrat, Helvetica, Arial, sans-serif;
  z-index: 8;
}

.cc-bundle-cta:focus,
.cc-bundle-cta:active {
  outline: none;
  box-shadow: none;
}

.cc-bundle-cta:hover {
  filter: brightness(1.06);
}

#cc-id-BfsAgouKPaLQ {
  margin-left: auto;
  margin-right: auto;
}

#cc-id-5jpqLzOcEwMf {
  margin-left: auto;
  margin-right: auto;
}

#cc-id-t2KyaX8G3XlM {
  margin-left: auto;
  margin-right: auto;
}

.cc-bundle-card {
  border: none;
  padding: 0;
  margin: 0;
  background: none;
  cursor: pointer;
  display: block;
  outline: none;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
}

.cc-bundle-card img {
  display: block;
  width: 100%;
  max-width: 960px;
  height: auto;
  margin: 0 auto;
}

.cc-bundle-card-selected {
  display: none;
}

.cc-bundle-option.cc-bundle-selected .cc-bundle-card-selected {
  display: block;
}

.cc-bundle-option.cc-bundle-selected .cc-bundle-card-unselected {
  display: none;
}

#cc-id-X1AfHpw1AYoT {
  margin-left: auto;
  margin-right: auto;
}

.cc-bundle-option[data-plan="3"] .cc-bundle-card img {
  width: 90%;
  max-width: none;
  margin: 0 auto;
}

.cc-bundle-decline {
  margin: 6px 0 0;
  font-size: 16px;
  font-weight: 500;
  color: rgba(179, 179, 179, 1);
  text-decoration: underline;
}

#cc-id-SB6gCzn67gLV {
  justify-content: center;
  align-items: flex-start;
  display: flex;
  text-align: center;
  padding: 40px 15px 0px 15px;
  background: linear-gradient(
    93deg,
    rgb(238, 251, 250) 13.94%,
    rgb(251, 251, 250) 86.68%
  );
}

#cc-id-A7Fj9cZW3nRY {
  color: black;
}

#cc-id-bXaTBYYtHWzM {
  color: black;
  width: 100%;
  height: auto;
  max-width: 500px;
}

#cc-id-E3qVfDPna278 {
  color: black;
}

/* Selector cards: remove black focus outline */
.cc-bundle-card:focus,
.cc-bundle-card:active,
.cc-bundle-card:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Firefox inner focus */
.cc-bundle-card::-moz-focus-inner {
  border: 0;
}

@media (max-width: 768px) {
  .cc-up-cta {
    width: 100%;
    max-width: 420px;
  }
}

@media (max-width: 600px) {
  #cc-ship-hero {
    padding: 0px 16px 32px;
  }
  .cc-ship-heading-wrap {
    margin-bottom: 30px;
  }
  #cc-top-alert {
    font-size: 16px;
  }
  #cc-id-UuxOp3lU4Gzt {
    font-size: 26px;
  }
  #cc-id-LEYwu30kSbvV {
    font-size: 26px;
  }
  #cc-id-bpifFIRaPDRr {
    font-size: 18px;
  }
}

@media (max-width: 480px) {
  .cc-bundle-cta {
    width: 75%;
    font-size: 14px;
    line-height: 1.5;
  }
  #cc-id-5jpqLzOcEwMf {
    height: 63px;
  }
}
