/* Commercial interaction states: retain the existing green/mint visual system. */
.header-links a { position: relative; }
.header-links a::after { content: ''; position: absolute; inset: auto 0 -8px; height: 2px; background: #7bd3b1; transform: scaleX(0); transition: transform 180ms ease; }
.header-links a[aria-current="location"]::after { transform: scaleX(1); }
.header-links a[aria-current="location"], .mobile-menu a[aria-current="location"] { color: #a6f8d8; }
.mobile-menu a { min-height: 44px; display: flex; align-items: center; }
.header a:focus-visible, .menu-button:focus-visible { outline: 2px solid #a6f8d8; outline-offset: 5px; }
.plan-assistant { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr minmax(220px, 300px); gap: 14px 28px; padding: 24px 28px; margin-top: 32px; border: 1px solid rgba(146,205,177,.72); background: linear-gradient(135deg,rgba(247,255,249,.86),rgba(215,246,229,.72)); border-radius: 22px 30px 22px 30px; box-shadow: inset 0 1px 0 rgba(255,255,255,.9),0 18px 38px rgba(1,55,40,.08); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); text-align: left; color: #102d2b; }
.plan-assistant__prompt { align-self: center; }
.assistant-eyebrow { display: block; color: #087454; font-size: 12px; font-weight: 800; letter-spacing: .06em; margin-bottom: 7px; }
.plan-assistant__label { display: block; font-size: 18px; font-weight: 760; line-height: 1.4; }
.plan-assistant__picker { position: relative; min-width: 0; }
.plan-assistant__picker select { display: none; }
.plan-assistant__combobox { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-width: 0; min-height: 56px; padding: 12px 16px; border: 1px solid #78b99a; border-radius: 13px 19px 13px 19px; background: linear-gradient(145deg,#f8fff9,#e4f7ec); color: #123d32; font: inherit; font-size: 15px; font-weight: 650; text-align: left; cursor: pointer; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.plan-assistant__combobox:hover, .plan-assistant__combobox[aria-expanded="true"] { border-color: #218d69; background: linear-gradient(145deg,#fff,#e0f7eb); box-shadow: inset 0 0 0 1px rgba(33,141,105,.13); }
.plan-assistant__combobox:focus-visible { outline: 3px solid #078963; outline-offset: 3px; }
.plan-assistant__combobox svg { width: 19px; height: 19px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .2s ease; }
.plan-assistant__combobox[aria-expanded="true"] svg { transform: rotate(180deg); }
.plan-assistant__options { position: absolute; z-index: 20; inset: calc(100% + 9px) 0 auto; max-height: min(280px,42vh); overflow: auto; padding: 8px; border: 1px solid rgba(100,181,144,.66); border-radius: 16px 24px 16px 24px; background: linear-gradient(145deg,rgba(248,255,250,.98),rgba(218,246,231,.98)); box-shadow: 0 20px 42px rgba(1,45,36,.22),inset 0 1px 0 #fff; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); overscroll-behavior: contain; }
.plan-assistant__options[hidden] { display: none; }
.plan-assistant__options [role="option"] { display: flex; align-items: center; min-height: 46px; padding: 10px 13px; border-radius: 10px 15px 10px 15px; color: #164b3b; font-size: 14px; font-weight: 620; cursor: pointer; transition: color .16s ease, background .16s ease, padding .16s ease; }
.plan-assistant__options [role="option"]:hover, .plan-assistant__options [role="option"].is-active { padding-left: 17px; background: rgba(93,202,151,.2); color: #064d38; }
.plan-assistant__options [role="option"][aria-selected="true"] { background: linear-gradient(105deg,#90e5bd,#c5ed8b); color: #073b2e; font-weight: 750; }
.plan-assistant > p { grid-column: 1 / -1; font-size: 14px; line-height: 1.6; margin: 0; color: #31584d; }
.plan-card.capacity-match { outline: 2px solid #078963; outline-offset: 3px; }
.plan-card .capacity-feedback { font-size: 12px; font-weight: 700; line-height: 1.5; margin: 10px 0 0; color: #174e3f; }
.plan-card .capacity-feedback { min-height: 36px; margin-bottom: -8px; }
.plan-card-featured .capacity-feedback { color: #e6fff0; }
.table-scroll-hint { margin: 12px 0; color: #145e49; font-size: 12px; font-weight: 700; }
.table-scroll-hint[hidden], .capacity-feedback[hidden] { display: none; }
.plan-table { font-variant-numeric: tabular-nums; }
.plan-table .button { white-space: nowrap; }
.contact-form[aria-busy="true"] button[type="submit"] { cursor: progress; opacity: .8; }
.contact-form .form-feedback.show { padding: 14px 16px; border-radius: 10px; line-height: 1.6; background: #edf9f2; color: #183d31; }
.contact-form .form-feedback[data-state="error"], .contact-form .field-error { color: #ffe1d9; }
.contact-form .form-feedback[data-state="error"] { background: #54302d; }
.contact-form [aria-invalid="true"] { outline: 2px solid #eea99c; outline-offset: 2px; }
@media (max-width: 1030px) {
  .header-cta .button { display: inline-flex; min-height: 44px; }
  .mobile-menu.open { max-height: calc(100dvh - 82px); overflow-y: auto; box-shadow: 0 16px 24px #00271e18; }
  .mobile-menu a[aria-current="location"] { color: #07664d; box-shadow: inset 3px 0 #07664d; padding-left: 14px; }
}
@media (max-width: 700px) {
  .plan-assistant { grid-template-columns: 1fr; padding: 20px; gap: 14px; }
  .plan-table-scroll { overscroll-behavior-x: contain; }
  .header-cta .button { display: inline-flex; min-height: 40px; padding: 10px 12px; font-size: 12px; }
  .header-cta .button .i { display: none; }
}
@media (prefers-reduced-motion: reduce) { .header-links a::after, .plan-assistant__combobox, .plan-assistant__combobox svg, .plan-assistant__options [role="option"] { transition: none; } }

/* Quantity controls reuse the existing plan picker surface and palette. */
#planos .plan-quantity { display: flex; align-items: center; gap: 8px; }
#planos .plan-quantity input { flex: 1; width: 0; text-align: center; appearance: textfield; cursor: text; }
#planos .plan-quantity input::-webkit-inner-spin-button,
#planos .plan-quantity input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
#planos .plan-quantity__button { flex: 0 0 36px; width: 36px; height: 36px; border: 1px solid #b9dacf; border-radius: 50%; background: #dcfbea; color: #083c32; font: inherit; font-size: 24px; line-height: 1; }
#planos .plan-quantity__button:disabled { opacity: .35; cursor: default; }
#planos .plan-quantity__button:focus-visible { outline: 3px solid #078963; outline-offset: 3px; }

#planos .plan-quantity__button { display: grid; place-items: center; padding: 0; }
#planos .plan-quantity__button svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
#planos .plan-quantity__field { position: relative; flex: 1; min-width: 0; }
#planos .plan-quantity__field input { width: 100%; box-sizing: border-box; padding-top: 8px; padding-bottom: 22px; }
#planos .plan-quantity__caption { position: absolute; bottom: 7px; inset-inline: 0; text-align: center; color: #617685; font-size: 10px; line-height: 1; pointer-events: none; }
