.offer-configurator {
  background: #fff;
  border: 1px solid #dce4ef;
  border-radius: 24px;
  overflow: hidden;
  text-align: left;
  box-shadow: 0 12px 40px #1c3f7810;
}
.offer-base {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 26px;
  background: #edf4ff;
}
.offer-base h2 {
  font-size: 26px;
  line-height: 1.15;
  margin: 5px 0 9px;
  font-weight: 800;
}
.offer-base p {
  margin: 0;
  color: #50607b;
  font-size: 14px;
  line-height: 1.6;
}
.offer-google {
  flex-shrink: 0;
  background: white;
  border-radius: 16px;
  padding: 13px;
}
.offer-google img {
  width: 30px;
  height: 30px;
}
.offer-base > strong {
  font-size: 38px;
  white-space: nowrap;
  margin-left: auto;
  line-height: 1.1;
}
.offer-base small {
  display: block;
  font-size: 11px;
  font-weight: 600;
  margin-top: 8px;
}
.offer-eyebrow {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.7px;
  color: #1a63c9;
}
.offer-options {
  padding: 26px;
}
.offer-options h3 {
  font-size: 20px;
  margin: 0 0 6px;
}
.offer-options > p,
.offer-website > p {
  font-size: 14px;
  color: #5d6880;
  line-height: 1.5;
  margin: 0 0 18px;
}
.offer-option {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #e7edf5;
  padding: 20px 0;
}
.offer-option label {
  font-size: 16px;
  font-weight: 750;
}
.offer-option p {
  font-size: 13px;
  color: #5d6880;
  margin: 6px 0;
}
.offer-option small {
  font-size: 12px;
  color: #1765d2;
  font-weight: 700;
}
.offer-quantity {
  flex-shrink: 0;
}
.offer-quantity select {
  border: 1px solid #bac8dd;
  background: #f8faff;
  border-radius: 12px;
  min-height: 48px;
  padding: 10px;
  font: 700 14px inherit;
  color: #17294b;
  max-width: 145px;
}
.offer-website {
  border: 0;
  padding: 25px 0 0;
  margin: 0;
  min-width: 0;
}
.offer-website legend {
  font-size: 19px;
  font-weight: 800;
  float: left;
  width: 100%;
  margin-bottom: 10px;
}
.offer-site-choice {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #dce4ef;
  border-radius: 14px;
  padding: 17px;
  margin-top: 10px;
  cursor: pointer;
}
.offer-site-choice:has(input:checked) {
  border: 2px solid #1967d2;
  background: #f3f7ff;
  padding: 16px;
}
.offer-site-choice input {
  width: 20px;
  height: 20px;
  accent-color: #1967d2;
  flex-shrink: 0;
}
.offer-site-choice span {
  flex: 1;
  min-width: 0;
}
.offer-site-choice strong {
  display: block;
  font-size: 15px;
}
.offer-site-choice small {
  display: block;
  font-size: 12px;
  line-height: 1.5;
  color: #5b6880;
  margin-top: 6px;
}
.offer-site-choice > b {
  white-space: nowrap;
  font-size: 17px;
}
.offer-recap {
  background: #122a50;
  color: #fff;
  padding: 24px 26px;
}
.offer-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}
.offer-total span {
  font-size: 12px;
}
.offer-total strong {
  display: block;
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -1px;
  margin-top: 5px;
}
.offer-total small {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
}
.offer-total-badge {
  border: 1px solid #a5bfe65c;
  border-radius: 20px;
  padding: 8px 12px;
  white-space: nowrap;
}
.offer-included {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #ffffff26;
  font-size: 12px;
  line-height: 1.6;
}
.offer-included b {
  font-size: 14px;
}
.offer-fineprint {
  font-size: 12px;
  line-height: 1.65;
  color: #627089;
}
.offer-configurator > .offer-fineprint {
  margin: 17px 26px;
}
.offer-configurator > .button {
  width: calc(100% - 52px);
  margin: 4px 26px 0;
}
.offer-review h2 {
  font-size: 23px;
  overflow-wrap: anywhere;
}
.offer-review .summary-row {
  gap: 20px;
}
.offer-review .summary-row span {
  max-width: 78%;
}
.offer-pending {
  padding: 15px;
  border-radius: 12px;
  background: #fff7da;
  font-size: 13px;
  line-height: 1.6;
}
.offer-current {
  margin: 20px 0;
  background: #f0f5ff;
  border: 1px solid #cbdcf7;
  border-radius: 16px;
  padding: 20px;
  font-size: 14px;
  line-height: 1.6;
}
.offer-current strong {
  font-size: 18px;
}
.portfolio-page h1 {
  font-size: clamp(34px, 5vw, 52px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -1.5px;
}
.portfolio-intro {
  max-width: 530px;
  color: #5e6d84;
  line-height: 1.7;
}
.portfolio-total {
  margin: 28px 0;
  background: #1a63db;
  color: #fff;
  border-radius: 24px;
  padding: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.portfolio-total strong {
  display: block;
  font-size: 42px;
  letter-spacing: -1px;
  margin: 8px 0;
}
.portfolio-total strong small {
  font-size: 15px;
  letter-spacing: 0;
}
.portfolio-total p {
  font-size: 12px;
  line-height: 1.7;
  opacity: 0.85;
  margin: 0;
}
.portfolio-total > span {
  background: white;
  border-radius: 20px;
  padding: 16px;
}
.portfolio-total img {
  width: 36px;
  height: 36px;
}
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.portfolio-card {
  border: 1px solid #dfe7f1;
  background: white;
  border-radius: 22px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.portfolio-card.is-current {
  border: 2px solid #1a63db;
  padding: 24px;
}
.portfolio-card-top {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  font-size: 11px;
  color: #527297;
}
.portfolio-card-top b {
  color: #164fa7;
}
.portfolio-card h2 {
  font-size: 22px;
  line-height: 1.3;
  margin: 22px 0 8px;
  overflow-wrap: anywhere;
  font-weight: 800;
}
.portfolio-card > p {
  font-size: 14px;
  color: #65738a;
  margin: 0 0 16px;
}
.portfolio-status {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 11px;
}
.portfolio-status span {
  background: #f1f5fa;
  border-radius: 8px;
  padding: 8px;
}
.portfolio-quotas {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin: 22px 0;
  font-size: 11px;
  color: #617088;
}
.portfolio-quotas b {
  display: block;
  color: #153361;
  font-size: 21px;
  margin-bottom: 5px;
}
.portfolio-actions {
  display: grid;
  gap: 5px;
  margin-top: auto;
  padding-top: 12px;
}
.portfolio-add {
  margin-top: 24px;
  padding: 26px;
  border: 1px dashed #a9c0de;
  border-radius: 22px;
  text-align: center;
}
.portfolio-add .button {
  width: auto;
  margin-right: 12px;
}
.portfolio-add p {
  font-size: 12px;
  line-height: 1.7;
  color: #64728a;
  max-width: 560px;
  margin: 16px auto 0;
}
.site-flex-pricing {
  max-width: 840px;
  margin: 0 auto;
  padding: 0 20px 70px;
}
.site-home-pricing .site-pricing-grid {
  grid-template-columns: 1fr 1fr;
}
.offer-home-card .site-price {
  font-size: 52px;
}
.offer-account-link {
  margin: 16px 0;
}
.offer-account-link .button {
  margin-top: 12px;
}
@media (max-width: 620px) {
  .offer-base {
    padding: 22px 20px;
    gap: 12px;
    flex-wrap: wrap;
  }
  .offer-base > div {
    flex: 1;
    min-width: 170px;
  }
  .offer-base > strong {
    width: 100%;
    margin: 10px 0 0 0;
    font-size: 36px;
  }
  .offer-base small {
    display: inline;
    margin-left: 8px;
  }
  .offer-base h2 {
    font-size: 23px;
  }
  .offer-google {
    padding: 10px;
  }
  .offer-options {
    padding: 22px 18px;
  }
  .offer-option {
    gap: 12px;
  }
  .offer-option p {
    max-width: 220px;
  }
  .offer-quantity select {
    max-width: 112px;
    font-size: 13px;
  }
  .offer-site-choice {
    padding: 14px 10px;
    gap: 9px;
  }
  .offer-site-choice:has(input:checked) {
    padding: 13px 9px;
  }
  .offer-total-badge {
    display: none;
  }
  .offer-recap {
    padding: 23px 20px;
  }
  .offer-included {
    gap: 14px 10px;
  }
  .offer-configurator > .offer-fineprint {
    margin: 16px 20px;
  }
  .offer-configurator > .button {
    width: calc(100% - 40px);
    margin-left: 20px;
    margin-right: 20px;
  }
  .portfolio-grid {
    grid-template-columns: 1fr;
  }
  .portfolio-total {
    padding: 24px 20px;
  }
  .portfolio-total > span {
    display: none;
  }
  .portfolio-total strong {
    font-size: 36px;
  }
  .portfolio-total strong small {
    font-size: 12px;
  }
  .portfolio-card {
    padding: 22px;
  }
  .portfolio-card.is-current {
    padding: 21px;
  }
  .portfolio-add {
    padding: 20px 15px;
  }
  .portfolio-add .button {
    width: 100%;
    margin: 0 0 12px;
  }
  .site-home-pricing .site-pricing-grid {
    grid-template-columns: 1fr;
  }
  .offer-review .summary-row.total {
    flex-wrap: wrap;
  }
  .site-flex-pricing {
    padding: 0 14px 50px;
  }
}

.page-extra-editor {
  margin: 20px 0;
  padding: 20px;
  background: #f7faff;
  border: 1px solid #d6e3f6;
  border-radius: 16px;
}
.page-extra-editor textarea {
  min-height: 180px;
}
.page-subpage-links {
  display: grid;
  gap: 12px;
  padding: 20px;
  border: 1px solid #d6e3f6;
  border-radius: 16px;
  margin: 18px 0;
}
.page-subpage-links a {
  color: #1967d2;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.offer-configurator .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.offer-option > div:first-child {
  min-width: 0;
}
.offer-quantity select {
  font-family: inherit;
  font-weight: 700;
  font-size: 14px;
}
.surface-site .site-end-cta h2,
.surface-site .site-end-cta .site-kicker,
.surface-site .site-end-cta p {
  color: #fff;
}
.surface-site .site-end-cta > div > p:not(.site-kicker) {
  color: #e0ebff;
}
/* Per-establishment management, shared by the dashboard and account list. */
.surface-workspace .bottom-nav { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.portfolio-filters { display: grid; grid-template-columns: 1.6fr 1fr; gap: 18px; margin: 28px 0 8px; }
.portfolio-filters label { display: block; font-size: 13px; font-weight: 750; margin-bottom: 9px; }
.portfolio-filters .field { width: 100%; min-width: 0; margin: 0; }
.portfolio-empty { padding: 30px 20px; border: 1px dashed #c8d6eb; border-radius: 20px; }
.portfolio-score { display: flex; align-items: center; gap: 16px; margin: 20px 0 6px; padding: 16px; background: #f2f6ff; border-radius: 14px; }
.portfolio-score > strong { font-size: 30px; color: #185abc; letter-spacing: -1px; white-space: nowrap; }
.portfolio-score strong small { font-size: 13px; letter-spacing: 0; }
.portfolio-score > span { font-size: 12px; font-weight: 700; }
.portfolio-score span small { display: block; font-size: 11px; font-weight: 500; color: #5d6b80; margin-top: 5px; }
.portfolio-status .status-paid, .subscription-badge.status-paid { background: #e5f5eb; color: #176137; }
.portfolio-status .status-attention, .subscription-badge.status-attention { background: #fff1de; color: #834506; }
.subscription-page > h1 { font-size: clamp(32px, 5vw, 48px); font-weight: 850; line-height: 1.08; letter-spacing: -1.5px; }
.subscription-scope { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 20px 0; margin-bottom: 10px; }
.subscription-scope > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #fff; border: 1px solid #dde6f2; }
.subscription-scope > div { flex: 1; min-width: 160px; overflow-wrap: anywhere; }
.subscription-scope strong { font-size: 17px; line-height: 1.4; }
.subscription-scope small { display: block; color: #64728a; margin-top: 5px; }
.subscription-current { background: #f0f5ff; border: 1px solid #cadbf8; border-radius: 24px; padding: 28px; margin-bottom: 22px; }
.subscription-badge { display: inline-block; background: #fff; color: #234576; font-size: 12px; font-weight: 750; padding: 9px 12px; border-radius: 10px; }
.subscription-price { font-size: 46px; font-weight: 850; letter-spacing: -1.8px; margin: 24px 0 12px; line-height: 1.2; }
.subscription-price small { font-size: 14px; font-weight: 650; letter-spacing: 0; display: block; margin-top: 6px; }
.subscription-page p:not(.eyebrow):not(.subscription-price) { line-height: 1.65; }
.subscription-current > .button { margin-top: 22px; }
.subscription-lines { margin-top: 22px; border-top: 1px solid #cbdcf7; }
.subscription-page .summary-row { font-size: 14px; gap: 20px; }
.subscription-page .summary-row > span { min-width: 0; overflow-wrap: anywhere; }
.subscription-page .summary-row > strong { white-space: nowrap; }
.subscription-page .card { margin-bottom: 22px; }
.subscription-page h2 { font-size: 22px; font-weight: 800; }
.subscription-future { border-color: #ecd189; background: #fffaf0; }
.subscription-manage > .button { margin-top: 14px; }
.subscription-manage > .text-button { display: block; text-align: left; margin-top: 12px; }
.subscription-confirm { scroll-margin-top: 90px; }
.subscription-confirm h2 { margin-top: 0; }
.ex-business .ex-switch { flex: 0 0 auto; font-size: 12px; text-align: right; }
.ex-subscription-link { width: 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid #dce5f3; border-radius: 14px; background: #fff; color: #2559a1; padding: 16px 18px; font-family: inherit; font-size: 12px; margin: -8px 0 24px; cursor: pointer; min-height: 52px; }
.ex-subscription-link strong { font-weight: 750; }
@media (max-width: 620px) {
  .portfolio-filters { grid-template-columns: 1fr; gap: 14px; }
  .subscription-current { padding: 22px 18px; }
  .subscription-page .card { padding: 22px 18px; }
  .subscription-scope > .text-button { width: 100%; text-align: left; }
  .ex-business { flex-wrap: wrap; }
  .ex-business > div { min-width: 150px; }
  .ex-business .ex-switch { width: 100%; text-align: left; margin-top: 2px; }
  .surface-workspace .bottom-nav { padding-left: 4px; padding-right: 4px; }
  .surface-workspace .nav-item { font-size: 10px; min-width: 0; }
}

/* A single clear action per business, including large Google accounts. */
.business-directory { max-width: 1000px; }
.business-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:12px; flex-wrap:wrap; margin:20px 0; }
.business-directory .account-business-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.business-directory .account-business-card { min-width:0; display:flex; flex-direction:column; align-items:stretch; justify-content:space-between; gap:20px; }
.business-directory .account-business-name { align-items:flex-start; }
.business-directory .account-business-name > div { min-width:0; }
.business-directory h3, .business-directory p { overflow-wrap:anywhere; }
.business-directory .field { width:100%; box-sizing:border-box; }
.business-more { margin:24px auto; display:block; }
.business-directory .button { min-height:48px; white-space:normal; }
.portfolio-card .subscription-lines { margin:16px 0; }
.portfolio-card .summary-row { gap:12px; }
.portfolio-card .summary-row span { min-width:0; overflow-wrap:anywhere; }
.portfolio-card .summary-row strong { white-space:nowrap; }
@media(max-width:640px) {
 .business-directory .account-business-list { grid-template-columns:1fr; }
 .business-toolbar { justify-content:flex-start; }
 .business-directory .account-business-card { padding:20px; }
}

#business-results > .offer-fineprint { margin-top:18px; }

.subscription-confirm > [data-action="confirm-renewal"] {
  display: block;
  width: 100%;
  margin: 16px 0 0;
}
.subscription-confirm > [data-action="dismiss-renewal"] {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 12px 0 0;
}
