/* Approved blue refinement. Only home, checkout and review are in this round.
   :has() follows existing visible states without changing order logic or catalog styles. */
.brand>.blue-name {display:none}
body:is(:has(#home:not([hidden])),:has(#orders:not([hidden]))) {
 --ink:#0b3455;--muted:#4c6473;--paper:#fcf8ef;--cream:#f5ecd9;--surface:#fffdf8;--orange:#bb4c1e;--pale:#faeddd;--line:#d6d8d2;--green:#24715d;--focus:#00728b;
 background:var(--paper);color:var(--ink);font-family:Heebo,Arial,sans-serif;line-height:1.65;
 & h1,& h2,& h3 {letter-spacing:0;font-family:Heebo,Arial,sans-serif;font-weight:700;line-height:1.22}
 & button,& input,& select,& textarea {font-family:inherit}
 & .wrap {width:min(1200px,calc(100% - 64px))}
 & .header {min-height:104px;padding-block:12px;gap:24px;flex-wrap:nowrap;border-bottom:0}
 & .brand {gap:18px;flex-shrink:0}
 & .brand img {width:76px;height:76px}
 & .brand>.legacy-name {display:none}
 & .brand>.blue-name {display:flex;flex-direction:column;font-size:25px;line-height:1.13;font-weight:700;white-space:nowrap}
 & .brand>.blue-name>span {font-size:inherit;font-weight:inherit}
 & .header nav {gap:26px;font-size:17px;font-weight:600;margin-inline:auto}
 & .header nav>.button {display:none}
 & .header .mobile-visit {display:flex;border:1.5px solid var(--ink);border-radius:7px;padding:10px 16px;font-size:17px;min-height:50px;white-space:nowrap;text-decoration:none;gap:10px}
 & .header .waze-address {display:none}
 & .header .waze-icon {width:25px;height:25px;background:transparent;padding:0}
 & .header .theme-control {padding:9px;width:44px;height:44px;border-color:var(--line);background:transparent;justify-content:center;flex-shrink:0}
 & .theme-label {display:none}
 & .button {background:var(--orange);border-color:var(--orange);color:#fff;border-radius:7px;font-size:19px;min-height:56px;padding:13px 28px;gap:24px}
 & .button:hover {background:#9f3d17;border-color:#9f3d17}
 & .button.outline {background:transparent;color:var(--ink);border-color:var(--ink)}
 & .button.outline:hover {background:var(--cream)}
 & a:focus-visible,& button:focus-visible,& input:focus-visible,& select:focus-visible,& textarea:focus-visible {outline:3px solid var(--focus);outline-offset:4px}
 & .hero.wrap {width:100%;grid-template-columns:minmax(0,600px) minmax(0,530px);justify-content:center;gap:36px;background:#093d5c;color:#fff;padding:16px max(32px,calc((100vw - 1200px)/2)) 0;min-height:486px;overflow:hidden}
 & .hero-copy {padding-block:16px 20px}
 & .hero .eyebrow {display:none}
 & .hero h1 {font-size:clamp(48px,7.4vw,86px);line-height:1.13;margin:0 0 24px;max-width:none;letter-spacing:0;color:#fff}
 & .hero-copy .lead {color:#f5f2eb;font-size:21px;line-height:1.65;margin:0 0 26px;max-width:560px}
 & .hero .button {min-width:400px;justify-content:space-between;font-size:27px;min-height:64px}
 & .hero-benefit {display:none}
 & .hero-shipping {display:none}
 & .hero .text-link {display:block;color:#e9f0f3;font-size:15px;margin-top:14px;width:fit-content}
 & .hero-art {display:flex;align-self:end;align-items:end;justify-content:center;min-height:0;height:470px;padding:0;background:transparent;border-radius:0;overflow:visible}
 & .hero-art>img {display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center bottom;border-radius:0;box-shadow:none}
 & .service-bar {background:var(--cream);border:0}
 & .service-inner {display:grid;grid-template-columns:1fr 1fr;max-width:1060px;gap:0;padding:16px 0 0;text-align:right}
 & .service-item {display:flex;justify-content:center;align-items:center;gap:26px;padding-inline:26px}
 & .service-item+ .service-item {border-inline-start:1px solid #bb4c1e80}
 & .service-item svg {color:var(--orange);width:60px;height:60px;flex-shrink:0;stroke-width:1.65}
 & .service-item strong {display:block;font-size:25px;line-height:1.3}
 & .service-item span {display:block;font-size:19px}
 & .service-item small {font-size:16px;color:var(--ink)}
 & .service-details {display:block;width:fit-content;margin:auto;min-height:44px;padding:9px 16px;font-size:14px}
 & .section {padding-block:70px}
 & .section-heading {margin-bottom:30px}
 & .section h2 {font-size:38px}
 & #how {text-align:center;padding-block:30px 38px}
 & #how .section-heading {margin-bottom:22px}
 & #how .eyebrow {display:none}
 & #how .steps {gap:44px}
 & #how .steps article {border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:0}
 & #how .number {display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--orange);color:white;font-size:20px;margin:0 0 8px}
 & #how svg {width:48px;height:48px;stroke-width:1.7;margin-bottom:8px}
 & #how article:last-child svg {color:var(--green)}
 & #how h3 {font-size:23px;margin-bottom:8px}
 & #how p {max-width:320px;font-size:16px;line-height:1.6;color:var(--muted);margin:0}
 & .tinted {background:var(--cream)}
 & .categories {grid-template-columns:repeat(4,1fr);gap:16px}
 & .category {background:var(--surface);border-color:var(--line);border-radius:10px;padding:25px;min-height:0}
 & .category h3 {font-size:27px}
 & .category p {font-size:16px;max-width:none}
 & .category .eyebrow {color:var(--orange)}
 & .category-link {margin-top:18px;font-size:16px}
 & .delivery {gap:64px}
 & .delivery-cards article {background:var(--surface);border-radius:10px;border-color:var(--line);padding:28px}
 & .delivery-cards small {font-size:14px}
 & .delivery .tag {background:var(--cream);color:var(--ink);font-size:14px}
 & .review {background:#eaf0ef;border:1px solid var(--line);border-radius:12px;padding:42px 24px}
 & .visit-title {border-inline-start:3px solid var(--orange)}
 & .visit dl>div {max-width:none;padding-block:12px}
 & .faq {max-width:900px}
 & .faq summary {font-size:20px;padding-block:24px}
 & #cancellation-options {padding-top:30px;padding-bottom:55px}
 & #cancellation-options h2 {font-size:27px}
 & .closing {background:#093d5c;color:#fff}
 & .closing .button {background:var(--orange);border-color:var(--orange);color:white}
 & footer {background:var(--cream);color:var(--ink)}
 & .footer-inner {gap:20px;font-size:15px}
 & #orders {padding-block:24px 70px}
 & #order-form {max-width:690px;margin:auto}
 & .checkout-title {font-size:36px;margin:0 0 8px}
 & #back-catalog {font-size:16px;min-height:44px;margin-bottom:8px}
 & #checkout-cart {background:var(--cream);padding:18px 22px;font-size:16px;border-radius:8px;margin:6px 0 26px}
 & .form-section {padding:28px 0}
 & .form-section h2 {font-size:26px;margin-bottom:20px}
 & .form-section h2>span {font-size:16px;margin-left:8px}
 & .choice-grid {grid-template-columns:1fr 1fr;gap:12px}
 & .choice-grid label {position:relative;border:1px solid var(--line);background:var(--surface);min-height:110px;padding:15px;border-radius:7px;gap:12px;text-align:center}
 & .choice-grid label>span {flex:1}
 & .choice-grid input {position:absolute;top:12px;right:9px;margin:0}
 & .choice-grid svg {display:block;width:30px;height:30px;margin:0 auto 5px}
 & .choice-grid strong {font-size:18px;display:block}
 & .choice-grid small {font-size:14px;color:var(--muted)}
 & .choice-grid label:has(input:checked),& .address-type-options label:has(input:checked) {border:2px solid var(--green);background:#eaf5ef;padding:14px;color:var(--ink)}
 & input[type=radio] {accent-color:var(--green);width:21px;height:21px}
 & label,& .address-type-fieldset legend {font-size:18px;line-height:1.4;margin-top:22px}
 & .optional,& .required {font-size:15px;color:var(--muted)}
 & textarea,& input[type=text],& select {background:var(--surface);color:var(--ink);border:1px solid #a0aaa9;min-height:52px;padding:12px 14px;border-radius:6px;font-size:17px}
 & textarea::placeholder,& input::placeholder {color:#68757b}
 & .address-type-options {gap:10px}
 & .address-type-options label {background:var(--surface);border:1px solid var(--line);color:var(--ink);margin:0;min-height:100px;padding:15px 6px;border-radius:7px;font-size:16px}
 & .address-type-options label:has(input:checked) {padding:14px 5px}
 & .address-type-options input.sr-only {position:static;clip-path:none;width:18px;height:18px;overflow:visible;margin:0}
 & .address-type-options svg {width:27px;height:27px}
 & .address-type-options label {gap:5px}
 & .address-detail-grid {gap:0 16px}
 & small,& .form-section small {font-size:14px}
 & .delivery-note {background:var(--cream);padding:16px;font-size:15px;line-height:1.7}
 & .form-bottom .button {font-size:21px}
 & .form-bottom p,& .form-bottom small {font-size:15px;line-height:1.7}
 & .summary {padding:30px;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:10px;background:var(--surface)}
 & .summary h2 {font-size:31px}
 & .summary-field,& .summary-explanation {font-size:17px}
 & .summary .price-row {font-size:17px}
 & .summary .summary-total {font-size:22px}
 & .summary-actions {gap:12px}
 & #edit {border:1px solid var(--ink);border-radius:7px;padding:12px 24px;font-size:18px;font-weight:600;text-decoration:none;min-height:56px;min-width:150px}
 & #edit:hover {background:var(--cream)}
 & #copy {font-size:16px;min-height:48px}
 & #message-details summary {font-size:16px;min-height:48px}
 & .error {color:#a0251a;font-size:15px}
 & [aria-invalid=true] {border-color:#a0251a}
 & .choice-grid label:has([aria-invalid=true]),& .address-type-options label:has([aria-invalid=true]) {border-color:#a0251a}
 @media(max-width:1120px) {
  & .header {gap:18px}
  & .header nav {gap:16px;font-size:15px}
  & .brand>.blue-name {font-size:23px}
  & .brand img {width:64px;height:64px}
  & .header .mobile-visit {font-size:15px;padding:10px}
  & .hero-art {height:415px}
 }
 @media(max-width:900px) {
  & .header nav {display:none}
  & .header .mobile-visit {margin-inline-start:auto}
  & .hero.wrap {gap:18px;min-height:450px}
  & .hero h1 {font-size:48px}
  & .hero-copy .lead {font-size:18px}
  & .hero .button {min-width:0;width:100%;font-size:21px}
  & .hero-art {height:380px}
  & .categories {grid-template-columns:1fr 1fr}
  & .delivery {gap:30px}
 }
 @media(max-width:620px) {
  & .wrap {width:calc(100% - 36px)}
  & .header {display:grid;grid-template-columns:1fr auto;gap:10px 16px;padding-block:14px;min-height:0}
  & .header .brand {grid-row:1;grid-column:1;gap:12px}
  & .brand>.blue-name {font-size:21px;line-height:1.15}
  & .header .brand img {width:57px;height:57px}
  & .header .theme-control {grid-column:2;grid-row:1;margin:0;justify-self:end}
  & .header .mobile-visit {grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:center;margin:0;min-height:44px;padding:6px 12px;font-size:15px}
  & .hero.wrap {grid-template-columns:1fr;padding:26px 22px 0;gap:10px;min-height:0;text-align:center}
  & .hero-copy {padding:0}
  & .hero h1 {font-size:46px;margin-bottom:16px;line-height:1.13}
  & .hero-copy .lead {font-size:17px;line-height:1.6;margin:0 0 20px}
  & .hero .button {font-size:21px;min-height:57px;justify-content:center}
  & .hero .text-link {margin:5px auto 0;font-size:14px;padding:9px;min-height:44px}
  & .hero-art {height:260px;max-width:320px;width:100%;margin-inline:auto}
  & .service-inner {width:100%;padding:20px 12px 2px;gap:0}
  & .service-item {flex-direction:column;gap:8px;padding:0 10px;text-align:center}
  & .service-item svg {width:34px;height:34px}
  & .service-item strong {font-size:21px}
  & .service-item span {font-size:15px;line-height:1.5}
  & .service-item small {font-size:14px}
  & .section {padding-block:44px}
  & .section h2 {font-size:30px}
  & #how {padding-block:30px}
  & #how .steps {grid-template-columns:1fr;gap:24px;text-align:right}
  & #how .steps article {display:grid;grid-template-columns:42px 1fr;column-gap:14px;align-items:start}
  & #how .number {grid-column:1;grid-row:1;margin:0;width:32px;height:32px;font-size:18px}
  & #how svg {grid-column:1;grid-row:2;width:36px;height:36px;margin-top:6px}
  & #how h3 {grid-column:2;grid-row:1;margin:3px 0 8px;font-size:22px}
  & #how p {grid-column:2;grid-row:2;max-width:none;font-size:16px}
  & .categories {grid-template-columns:1fr 1fr;gap:12px}
  & .category {padding:20px 16px}
  & .category h3 {font-size:24px}
  & .category p {font-size:15px}
  & .category-link {font-size:15px}
  & .delivery-cards article {padding:22px}
  & .visit {gap:24px}
  & .visit .links {gap:14px}
  & .review {padding:30px 18px}
  & .review h2 {font-size:28px}
  & .faq summary {font-size:18px}
  & #orders {padding-top:20px}
  & .checkout-title {font-size:32px}
  & #order-form {max-width:100%}
  & #checkout-cart {padding:16px;font-size:15px}
  & .form-section h2 {font-size:24px}
  & .choice-grid label {padding:12px 9px;gap:8px;min-height:110px}
  & .choice-grid label:has(input:checked) {padding:11px 8px}
  & .choice-grid strong {font-size:17px}
  & .choice-grid small {font-size:13px}
  & label,& .address-type-fieldset legend {font-size:17px}
  & .summary {padding:22px 18px}
  & .summary-actions {flex-direction:column}
  & #edit {width:100%}
 }
 @media(max-width:359px) {
  & .wrap {width:calc(100% - 28px)}
  & .header {gap:10px}
  & .brand>.blue-name {font-size:18px}
  & .header .brand img {width:48px;height:48px}
  & .header .brand {gap:9px}
  & .hero h1 {font-size:40px}
  & .hero.wrap {padding-inline:16px}
  & .categories {grid-template-columns:1fr}
  & .choice-grid label {gap:5px}
  & .choice-grid strong {font-size:16px}
 }
}
html[data-theme=dark] body:is(:has(#home:not([hidden])),:has(#orders:not([hidden]))) {
 --ink:#edf3f4;--muted:#b9c8d0;--paper:#132532;--cream:#1b303f;--surface:#192d3c;--orange:#bb4c1e;--pale:#203c43;--line:#4f6674;--green:#68c7a6;--focus:#8addf1;
 & .hero.wrap,& .closing {background:#0b314b}
 & .hero-art {background:transparent}
 & .service-item svg {color:#ffae79}
 & .category,& .review {background:var(--surface)}
 & .category .eyebrow {color:#ffae79}
 & .form-section h2>span {color:#ffae79}
 & input,& textarea,& select {color-scheme:dark}
 & input::placeholder,& textarea::placeholder {color:#b8c5cd}
 & .choice-grid label:has(input:checked),& .address-type-options label:has(input:checked) {background:#203e3b;color:var(--ink)}
 & .error {color:#ffb7ac}
 & [aria-invalid=true] {border-color:#ffb7ac}
 & .choice-grid label:has([aria-invalid=true]),& .address-type-options label:has([aria-invalid=true]) {border-color:#ffb7ac}
}
