.header-actions {display:flex;align-items:center;gap:22px;}
.cart-toggle {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 14px;border:1px solid #ffffff66;border-radius:999px;color:#fff;background:transparent;font:inherit;font-size:.9375rem;font-weight:700;cursor:pointer;}
.cart-toggle:hover {background:#ffffff14;border-color:#fff;}
.cart-toggle svg {width:23px;height:23px;}
.cart-badge {display:grid;min-width:25px;height:25px;padding:0 5px;place-items:center;border-radius:999px;color:var(--ink);background:var(--sun);font-size:.8125rem;}
.cart-toggle:focus-visible,.cart-dialog button:focus-visible,.cancel-cart-edit:focus-visible {outline:3px solid var(--sun-dark);outline-offset:3px;}
.package-inclusions {margin-top:16px!important;font-size:.9375rem!important;font-weight:600;color:#69401e!important;}
.catalog-request-panel {margin-top:16px;}
.catalog-request-panel p {font-size:.9375rem;line-height:1.6;color:var(--muted);}
.catalog-request {width:100%;padding:12px 18px;min-height:48px;border:1px solid #136548;color:#136548;background:transparent;font-size:.9375rem;text-align:center;}
.selected-style {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-top:16px;border:1px solid var(--line);border-radius:12px;}
.selected-style span {min-width:0;}
.selected-style strong,.selected-style small {display:block;line-height:1.5;}
.selected-style strong {font-size:.9375rem;}
.selected-style small {margin-top:5px;font-size:.875rem;color:var(--muted);}
.selected-style button {flex-shrink:0;border:0;border-bottom:1px solid;padding:10px 0;background:transparent;font:inherit;font-size:.875rem;cursor:pointer;}
.pair-label {display:block;margin:18px 0;font-size:.9375rem;line-height:1.5;}
.pair-label small {display:block;color:#ccc8be;font-size:.8125rem;}
.pair-label input {display:block;width:100%;min-height:46px;margin-top:8px;padding:10px 12px;border:1px solid #ffffff55;border-radius:9px;color:var(--ink);background:var(--white);font-size:1rem;}
#add-to-cart {width:100%;}
#continue-button {margin-top:10px;}
.cancel-cart-edit {display:block;margin:10px auto 0;padding:8px;border:0;border-bottom:1px solid;color:var(--paper);background:transparent;font:inherit;font-size:.875rem;cursor:pointer;}
.cart-add-status {margin:10px 0;font-size:.875rem;color:var(--mint);line-height:1.5;}
.cart-dialog {position:fixed;inset:0 0 0 auto;width:min(650px,100%);height:100dvh;max-width:100%;max-height:100dvh;margin:0;padding:28px;border:0;border-left:1px solid #12120f30;color:var(--ink);background:var(--paper);overflow:auto;overscroll-behavior:contain;}
.cart-dialog::backdrop {background:#080706bb;backdrop-filter:blur(4px);}
.cart-dialog-header {display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.cart-dialog-header .eyebrow {margin-bottom:12px;font-size:.8125rem;}
.cart-dialog h2 {margin:0;font-size:2.3rem;line-height:1.1;letter-spacing:-.05em;}
.cart-icon-button {display:grid;width:44px;height:44px;flex-shrink:0;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--white);font-size:1.75rem;cursor:pointer;}
.cart-draft-note,.cart-storage-note,.cart-quantity-help {margin:18px 0;color:var(--muted);font-size:.875rem;line-height:1.6;}
.cart-empty {padding:44px 12px;text-align:center;}
.cart-empty > strong {display:block;font-family:var(--font-display);font-size:1.4rem;}
.cart-empty p {margin:14px 0 26px;color:var(--muted);font-size:1rem;line-height:1.6;}
.cart-item {display:flex;gap:16px;padding:22px 0;border-bottom:1px solid var(--line);}
.cart-item-image {width:96px;height:110px;object-fit:contain;flex-shrink:0;border-radius:8px;background:#ddd9d0;}
.cart-item-detail {flex:1;min-width:0;}
.cart-item h3 {margin:0 0 10px;font-size:1.125rem;line-height:1.4;overflow-wrap:anywhere;}
.cart-item p {margin:5px 0;color:var(--muted);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere;}
.cart-item .cart-prescription-status {color:#69401e;}
.cart-item .cart-unit-price {color:var(--ink);font-weight:700;}
.cart-item-actions {display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;}
.cart-item-actions > button,.cart-utilities button,.cart-copy {min-height:44px;padding:10px 4px;border:0;border-bottom:1px solid #12120f50;color:var(--ink);background:transparent;font:inherit;font-size:.875rem;cursor:pointer;}
.cart-quantity {display:flex;align-items:center;border:1px solid #12120f35;border-radius:9px;overflow:hidden;background:var(--white);}
.cart-quantity button {width:40px;min-height:44px;padding:0;border:0;background:transparent;font:inherit;font-size:1.25rem;cursor:pointer;}
.cart-quantity button:disabled {color:#aaa;cursor:default;}
.cart-quantity input {width:46px;min-height:44px;padding:0;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;color:var(--ink);background:transparent;font-size:1rem;text-align:center;appearance:textfield;}
.cart-quantity input::-webkit-inner-spin-button,.cart-quantity input::-webkit-outer-spin-button {-webkit-appearance:none;margin:0;}
.cart-line-total {display:block;margin-top:14px;font-size:1.125rem;}
.cart-utilities {display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:16px 0;}
.cart-totals {display:grid;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);}
.cart-totals > div {display:flex;justify-content:space-between;gap:14px;font-size:1rem;}
.cart-totals .cart-total-line {font-size:1.25rem;}
.cart-payment {padding:0;margin:24px 0 18px;border:0;}
.cart-payment legend {margin-bottom:12px;font-size:1rem;font-weight:700;}
.cart-payment .segmented-control span {font-size:.9375rem;}
.cart-payment-summary {display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px;border-radius:12px;color:var(--ink);background:#ffd3b1;font-size:1rem;}
.cart-payment-summary strong {font-size:1.2rem;}
.cart-payment-summary small {grid-column:1/-1;font-size:.875rem;}
.cart-payment-note {margin:18px 0;font-size:.9375rem;color:var(--muted);line-height:1.6;}
#cart-send {width:100%;text-align:center;font-size:.9375rem;}
.cart-checkout-section{margin:20px 0;padding:18px;border:1px solid #d8c7af;border-radius:18px;background:#fffcf5}
.cart-checkout-section .cart-payment-note{margin:0 0 16px;color:#61503d}
#cart-checkout{width:100%;justify-content:center;text-align:center;min-height:52px;font-size:.9375rem}
#cart-checkout:disabled{opacity:.55;cursor:wait}
#checkout-status{margin:12px 0 0;font-size:.875rem;line-height:1.5}
#checkout-status:empty{display:none}.checkout-link{display:block;margin-top:14px;min-height:44px;padding:10px 0;font-weight:700;text-underline-offset:4px}
.checkout-link[hidden]{display:none}
#checkout-handoff[hidden],#checkout-link-fallback[hidden]{display:none}
#checkout-handoff{margin-top:18px;padding-top:18px;border-top:1px solid #d8c7af}
#checkout-copy-link{width:100%;justify-content:center;min-height:52px;text-align:center}
#checkout-link-fallback{width:100%;min-height:48px;margin-top:12px;padding:12px;border:1px solid #8a7965;border-radius:8px;font:inherit;font-size:1rem}
#checkout-copy-status{font-size:.9375rem;line-height:1.5;overflow-wrap:anywhere}
#checkout-copy-status:empty{display:none}
.cart-copy {display:block;margin:12px auto;}
.cart-status {margin:16px 0;color:#69401e;font-size:.9375rem;line-height:1.6;}
#cart-copy-fallback {width:100%;padding:12px;border:1px solid var(--line);font:inherit;font-size:.875rem;}
body.cart-open {overflow:hidden;}
.optical-gallery-heading {margin:0 0 24px;}
.optical-gallery-heading h3,.color-gallery-heading {margin:0 0 12px;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.035em;}
.optical-gallery-heading p {max-width:660px;margin:0;color:var(--muted);font-size:1rem;line-height:1.6;}
.optical-gallery-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:26px;}
.color-gallery-heading {margin-bottom:26px;}
.gallery-dialog-actions {display:grid;gap:10px;}
.gallery-dialog .gallery-dialog-actions .button-primary {color:var(--ink);background:var(--sun);border:0;}
.gallery-dialog-actions a {border:1px solid #ffffff60;color:var(--paper);font-size:.9375rem;text-align:center;}
@media(max-width:1050px) {.header-actions {gap:14px;}.cart-toggle-label {display:none;}}
@media(max-width:560px) {
  html {scroll-padding-top:130px;}
  .site-header {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;}
  .header-actions {flex-direction:column-reverse;align-items:flex-end;gap:3px;}
  .header-actions .header-cta {min-height:34px;font-size:.8125rem;max-width:none;}
  .cart-toggle {min-height:44px;padding:8px 10px;}
  .cart-dialog {padding:20px 16px;padding-bottom:calc(24px + env(safe-area-inset-bottom));}
  .cart-item {flex-direction:column;gap:12px;}
  .cart-item-image {width:110px;height:90px;}
  .cart-item-actions {gap:12px;}
  .selected-style {align-items:flex-start;flex-direction:column;gap:8px;}
  .optical-gallery-grid {grid-template-columns:1fr;gap:0;margin-bottom:20px;}
  .cart-dialog h2 {font-size:2rem;}
}

.order-form{padding:20px 0;border-top:1px solid #d8d3c6;margin-top:22px}.order-form h3{font-size:22px}.order-form p{font-size:14px;line-height:1.6}.order-form>label,.order-form .field-pair>label{display:grid;gap:8px;margin:14px 0;font-size:15px}.order-form input:not([type=checkbox]),.order-form select{width:100%;min-height:48px;font:inherit;font-size:16px;padding:12px;border:1px solid #a7a28e;border-radius:10px;background:#fff;color:#171713}.order-form .consent{display:flex;align-items:start;gap:10px}.order-form .consent input{min-width:22px;min-height:22px;margin-top:2px}.order-form a{color:#70390c;overflow-wrap:anywhere}.order-form [hidden]{display:none}.purchase-benefits{color:#493b2e;font-size:14px;line-height:1.5;padding:13px 15px;border-left:3px solid #f9954b;background:#fff7ec;border-radius:0 10px 10px 0}@media(max-width:540px){.order-form .field-pair{display:block}}

/* Keep the direct contact action easy to tap alongside the basket on small screens. */
@media(max-width:560px){.site-header .header-actions{flex-direction:row;gap:8px;align-items:center;}.site-header .header-actions .contact-direct{font-size:.875rem;min-height:46px;padding:10px 12px;gap:6px;}.site-header{grid-template-columns:minmax(0,1fr) auto;}.site-header .logo-small{width:42px;height:42px;}.site-header .brand-wordmark{font-size:1.125rem;}.site-header .brand{gap:8px;}}
@media(max-width:390px){.site-header .header-actions{grid-column:1/-1;justify-content:space-between;}.site-header .brand-wordmark>span{display:inline;}.site-header .brand-wordmark{font-size:1.3rem;}}
.history-consent{padding:15px;border:1px solid #d9cfc0;border-radius:12px;background:#faf5ee;}

/* Address entry: large controls, one reading order on a phone. */
.order-form .address-fields { border:1px solid #d8d3ca; border-radius:16px; padding:18px; margin:14px 0; min-width:0; }
.order-form .address-fields legend { font-size:1rem; font-weight:700; padding:0 8px; }
.address-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.address-grid label { min-width:0; }
.address-grid input,.address-grid select { width:100%; min-height:48px; font-size:16px; }
.address-wide { grid-column:1 / -1; }
.delivery-estimate { border:1px solid #ebba8d; border-radius:16px; padding:20px; background:#ffeddd; margin:16px 0; }
.delivery-estimate strong { display:block; font-size:1.12rem; line-height:1.4; }
.delivery-estimate p { line-height:1.6; margin:10px 0; }
.delivery-estimate small { display:block; line-height:1.5; color:#594537; }
@media(max-width:440px){.address-grid{grid-template-columns:1fr}.address-wide{grid-column:auto}.order-form .address-fields{padding:14px}}

/* The consent fields share the address form's spacing and touch targets. */
.order-form :is(fieldset,label) { min-width:0; }
.order-form input:not([type=checkbox]), .order-form select { min-width:0; max-width:100%; }
.order-form #health-details { margin:20px 0; padding:18px; border:1px solid #d8d3ca; border-radius:16px; }
.order-form #health-details legend { max-width:100%; padding:0 8px; font-size:1rem; font-weight:700; }
.order-form #health-details > label { display:grid; gap:8px; margin:16px 0; font-size:1rem; line-height:1.5; }
.order-form .consent { min-height:48px; padding-top:8px; padding-bottom:8px; }
.order-form .consent input { flex:0 0 24px; width:24px; height:24px; }
.order-form .consent span { min-width:0; overflow-wrap:anywhere; }
.cart-payment-summary { grid-template-columns:minmax(0,1fr) auto; }
.cart-totals > div { flex-wrap:wrap; }
.cart-dialog :is(button,a) { overflow-wrap:anywhere; }
@media(max-width:560px) {
  .order-form .address-grid { grid-template-columns:minmax(0,1fr); }
  .order-form .address-wide { grid-column:auto; }
  .order-form #health-details { padding:14px; }
}
@media(max-width:360px) {
  .cart-payment-summary { grid-template-columns:minmax(0,1fr); }
}

.quote-options{display:grid;gap:14px;margin:20px 0}.quote-options label{display:grid;gap:7px;font-size:14px;font-weight:600;color:#fffdf7}.quote-options select{width:100%;min-height:48px;padding:11px 12px;border:1px solid #716f66;border-radius:10px;background:#fffdf7;color:#171713;font:inherit;font-size:16px}.quote-options select:focus-visible{outline:3px solid #ff9b55;outline-offset:3px}.quote-card .selected-style{margin:12px 0}.quote-card .selected-style small{color:#dad7ce}
