/** Shopify CDN: Minification failed

Line 562:14 Unexpected ".404"
Line 563:18 Unexpected ".404"
Line 570:0 Unexpected ".404__subtext"

**/
/* ============================================================
   ELLIOT'S KELLER — Brand CSS (v3 final · cleaned)
   File: assets/ek-custom.css

   Cleanup pass:
   - Deduplicated cart icon rules (kept the working descendant-selector version)
   - Deduplicated section-rhythm rules (consolidated to "no margin, internal padding only")
   - Deduplicated footer flush rules (single block covering both Dawn and EK footers)
   - Removed orphan rules that did nothing

   Structure:
     1. Design tokens
     2. Base typography
     3. Atoms (buttons, links, chips, forms, eyebrows, hand)
     4. Layout & section spacing
     5. EK shared classes
     6. Dawn surface polish
     7. Age gate
     8. Cart icon
     9. Mobile
   ============================================================ */


/* ────────────────────────────────────────────
   1. DESIGN TOKENS
   ──────────────────────────────────────────── */

:root {
  /* PAPER palette (default) */
  --paper: #f4ede0;
  --paper-2: #ebe2d2;
  --paper-3: #d9ccb3;
  --ink: #1c1612;
  --ink-2: #3a2f27;
  --ink-3: #6c5e4f;
  --ink-4: #a3957f;
  --wine: #9d2d3e;
  --wine-deep: #7b1f30;
  --wine-glow: #c14a5b;
  --sage: #6b6f50;
  --sage-deep: #4f5239;
  --gold: #b9883b;
  --rule: rgba(28,22,18,0.18);
  --rule-strong: rgba(28,22,18,0.35);

  --f-display: "Instrument Serif", "Cormorant Garamond", "EB Garamond", serif;
  --f-sans: "Geist", "Inter", ui-sans-serif, system-ui, sans-serif;
  --f-hand: "Caveat", cursive;
  --f-mono: "DM Mono", "IBM Plex Mono", monospace;

  --container: 1320px;
  --pad: clamp(20px, 4vw, 64px);

  /* EK aliases — keeps installed sections working without edits */
  --ek-paper: var(--paper);
  --ek-paper-2: var(--paper-2);
  --ek-paper-3: var(--paper-3);
  --ek-cream: var(--paper);
  --ek-cream-2: var(--paper-2);
  --ek-cream-3: var(--paper-3);
  --ek-ink: var(--ink);
  --ek-dark: var(--ink);
  --ek-ink-2: var(--ink-2);
  --ek-ink-3: var(--ink-3);
  --ek-muted: var(--ink-3);
  --ek-muted-2: var(--ink-4);
  --ek-red: var(--wine);
  --ek-red-dark: var(--wine-deep);
  --ek-wine: var(--wine);
  --ek-wine-deep: var(--wine-deep);
  --ek-wine-glow: var(--wine-glow);
  --ek-gold: var(--gold);
  --ek-sage: var(--sage);
  --ek-border: var(--rule);
  --ek-border-2: var(--rule-strong);
  --ek-serif: var(--f-display);
  --ek-body: var(--f-sans);
  --ek-hand: var(--f-hand);
  --ek-radius: 6px;
  --ek-transition: 0.2s ease;

  /* Pill button radii (Dawn) */
  --buttons-radius: 999px;
  --buttons-radius-outset: 999px;
  --inputs-radius: 999px;
  --inputs-radius-outset: 999px;
}

[data-palette="cellar"] {
  --paper: #1c1612; --paper-2: #251c16; --paper-3: #322620;
  --ink: #f5ecd9; --ink-2: #ddd0b6; --ink-3: #ac9c80; --ink-4: #6a5d4a;
  --wine: #c44156; --wine-deep: #9d2d3e; --wine-glow: #e26878;
  --sage: #aebb84; --sage-deep: #889769;
  --rule: rgba(245,236,217,0.16); --rule-strong: rgba(245,236,217,0.35);
}
[data-palette="bone"]    { --paper:#efe9df; --paper-2:#e6dfd2; --paper-3:#d2c8b5; --ink:#181614; --wine:#3a3a30; --wine-deep:#25251e; --wine-glow:#75664a; --sage:#7d8062; }
[data-palette="orchard"] { --paper:#f0ece2; --ink:#1a1f17; --wine:#4a6b2d; --wine-deep:#324a1f; --wine-glow:#8aab66; --sage:#b85a2a; }


/* ────────────────────────────────────────────
   2. BASE TYPOGRAPHY
   ──────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--f-sans);
  color: var(--ink);
  background: var(--paper);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  background-image:
    radial-gradient(at 12% 18%, rgba(125,42,26,0.04) 0, transparent 45%),
    radial-gradient(at 88% 82%, rgba(28,22,18,0.04) 0, transparent 45%);
}

img { max-width: 100%; display: block; }

h1, h2, h3, h4,
.h0, .h1, .h2, .h3, .h4,
.product__title, .title, .card__heading,
.ek-title, .k-display {
  font-family: var(--f-display) !important;
  font-weight: 400;
  letter-spacing: -0.018em;
  line-height: 0.98;
}

.k-italic { font-style: italic; }

.k-hand, .ek-hw, .hand {
  font-family: var(--f-hand);
  font-weight: 700;
  color: var(--wine);
}

.k-eyebrow, .ek-eyebrow {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-3);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.k-eyebrow::before, .ek-eyebrow::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 1px;
  background: currentColor;
  opacity: 0.7;
}


/* ────────────────────────────────────────────
   3. ATOMS
   ──────────────────────────────────────────── */

/* Container */
.k-container, .ek-container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding-left: var(--pad);
  padding-right: var(--pad);
}

/* Buttons */
.button, .k-btn, .btn, button[type="submit"] {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
  border-radius: 999px !important;
}
.button:before, .button:after,
.shopify-challenge__button:before, .shopify-challenge__button:after,
.product-form__submit:before, .product-form__submit:after,
.cart__checkout-button:before, .cart__checkout-button:after {
  border-radius: 999px !important;
}
.button--primary, .product-form__submit, .cart__checkout-button, .k-btn-wine {
  background: var(--wine) !important;
  border-color: var(--wine) !important;
  color: #fff !important;
}
.button--primary:hover, .product-form__submit:hover, .cart__checkout-button:hover, .k-btn-wine:hover {
  background: var(--wine-deep) !important;
  border-color: var(--wine-deep) !important;
}
.button--secondary, .k-btn-ghost {
  background: transparent;
  border: 1px solid var(--ink);
  color: var(--ink);
}
.button--secondary:hover, .k-btn-ghost:hover {
  background: var(--ink);
  color: var(--paper);
}

/* Product-page quantity → pill at all breakpoints (desktop was rendering square) */
.product-form__buttons .quantity,
.product-form__input .quantity,
.product__info-container .quantity,
quantity-input.quantity {
  border-radius: 999px !important;
  overflow: hidden;
}

/* Product-page price — make it the focal figure, not fine print */
.product__info-container .price .price-item--regular,
.product__info-container .price .price-item--sale,
.product__info-container .price__regular .price-item {
  font-family: var(--f-display) !important;
  font-size: clamp(28px, 3vw, 34px) !important;
  line-height: 1 !important;
  color: var(--ink) !important;
}

.product__info-container .price { margin: 8px 0 6px; }

/* Links */
.k-link, .ek-more-link, .link {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 1px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.k-link:hover, .ek-more-link:hover, .link:hover {
  color: var(--wine);
  border-color: var(--wine);
}

/* Chips */
.k-chip, .chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 5px 10px;
  border: 1px solid var(--rule-strong);
  border-radius: 999px;
  color: var(--ink-2);
  background: transparent;
  white-space: nowrap;
}
.k-chip-wine, .chip-wine { background: var(--wine); color: #fff; border-color: var(--wine); }
.k-chip-sage             { background: var(--sage); color: #fff; border-color: var(--sage); }

/* EK chip aliases — producer/region sections use .ek-chip*; match the site pill */
.ek-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 5px 10px;
  border: 1px solid var(--rule-strong);
  border-radius: 999px;
  color: var(--ink-2);
  background: transparent;
  white-space: nowrap;
}
.ek-chip-wine { background: var(--wine); color: #fff; border-color: var(--wine); }
.ek-chip-sage { background: var(--sage); color: #fff; border-color: var(--sage); }

/* Grid badges sit on photos — lift them so the outline variants stay legible */
.ek-pdir__card-badges .ek-chip { box-shadow: 0 2px 8px rgba(20,12,8,.20); }
.ek-pdir__card-badges .ek-chip:not(.ek-chip-sage):not(.ek-chip-wine) {
  background: rgba(244,237,224,.92);
  color: var(--ink);
  border-color: rgba(28,22,18,.12);
}

/* Forms */
input, select, textarea {
  font-family: var(--f-sans) !important;
  border-radius: 999px !important;
  border: 1px solid var(--rule-strong) !important;
}
textarea { border-radius: 16px !important; }

.field { margin-bottom: 16px; }
.field__input, .text-area, .select {
  border-radius: 999px !important;
  border: 1px solid var(--ek-border-2) !important;
  font-family: var(--ek-body) !important;
  padding: 12px 18px;
  background: var(--ek-paper);
}
.text-area { border-radius: 16px !important; padding: 14px 18px; }
.field__label {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ek-ink-3);
}


/* ────────────────────────────────────────────
   4. LAYOUT & SECTION SPACING
   ──────────────────────────────────────────── */

/* Reset stray top padding on main wrappers */
main,
main#MainContent,
#MainContent,
.shopify-section,
[id^="shopify-section-template"] {
  padding-top: 0;
}

/* Section rhythm: sections rely on their own internal padding for breathing
   room. No inter-section margin is added. If a specific section ends with
   content flush against the next section, add padding-bottom to that specific
   section's wrapper class (see .ek-care__resident in section 5 as an example). */
.shopify-section { margin: 0; }

/* Cart notification: Dawn renders this in-flow even when hidden, creating a
   phantom gap below the header. Take it out of flow. */
cart-notification {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 4;
  width: auto;
  pointer-events: none;
}
cart-notification:not([active]) .cart-notification-wrapper { display: none; }
.cart-notification-wrapper { pointer-events: auto; }

/* Page wrapper + hero padding is owned by each section file's own stylesheet
   (.ek-pdir, .ek-eidx, etc.) to keep them identical. Do not set it here —
   a second source caused double/40px-off padding. */
.ek-pdir, .ek-rdir, .ek-eidx, .ek-tidx, .ek-abt, .ek-cnt, .ek-lgl {
  padding-bottom: 80px;
}

/* Footer flush: footer sits directly against the section above it.
   Covers both Dawn's default footer (.footer) and EK's custom footer (.ek-footer). */
footer.footer,
footer.ek-footer,
.shopify-section--footer,
.shopify-section:has(.ek-footer),
.shopify-section-group-footer-group:last-child {
  margin-top: 0 !important;
}

/* Dawn's default footer needs explicit top padding (EK custom footer has its own) */
footer.footer { padding-top: 60px !important; }

/* Newsletter cards get bottom space before the footer */
.ek-news, .ek-eidx__nl, .ek-tidx__nl {
  margin-bottom: 60px;
}
.shopify-section-group-footer-group:not(:last-child) {
  margin-bottom: 60px;
}


/* ────────────────────────────────────────────
   5. EK SHARED CLASSES
   ──────────────────────────────────────────── */

.ek-feeling-tag {
  background: rgba(157,45,62,0.06);
  border: 1px solid rgba(157,45,62,0.22);
  color: var(--wine-deep);
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--f-sans);
  font-weight: 500;
}
.ek-feeling-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0; }

.ek-vibe {
  background: rgba(157,45,62,0.05);
  border: 1px solid rgba(157,45,62,0.18);
  border-radius: 10px;
  padding: 16px 18px;
  margin: 16px 0;
}
.ek-vibe__text {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 1.15rem;
  color: var(--wine-deep);
}

.ek-section--dark { background: var(--ink); color: var(--paper); }
.ek-section--warm { background: var(--paper-2); }

.ek-act-marker {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 54px;
  color: var(--wine);
  opacity: .55;
}
.ek-fade-in { opacity: 1; }

/* Specific section padding fixes — add to this list as new ones surface */
.ek-care__resident { padding-bottom: 80px; }

/* Product cards */
.card__heading {
  font-family: var(--f-display);
  font-size: 1.25rem;
  font-weight: 400;
}
.card__vendor {
  font-family: var(--f-sans);
  font-size: 13px;
  color: var(--ink-3);
  text-transform: none;
  letter-spacing: 0;
}
.price__regular .price-item {
  font-family: var(--f-display);
  font-size: 1.1rem;
}


/* ────────────────────────────────────────────
   6. DAWN SURFACE POLISH
   ──────────────────────────────────────────── */

/* Header */
.header__heading-link { font-family: var(--f-display); font-size: 1.7rem; }
.header__menu-item, .list-menu__item {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--ink);
}
.header__menu-item:hover { color: var(--wine); text-decoration: none; }

/* Announcement bar */
.announcement-bar, .utility-bar {
  background: var(--ek-paper-2) !important;
  color: var(--ek-ink-3) !important;
  border-bottom: 1px solid var(--ek-border);
  font-size: 12px;
  letter-spacing: 0.01em;
}
.announcement-bar a, .utility-bar a { color: var(--ek-ink) !important; }
.announcement-bar a:hover { color: var(--ek-wine) !important; }

/* Header search */
.search__input, input[type="search"] {
  background: var(--ek-paper-2);
  border: 1px solid var(--ek-border) !important;
  border-radius: 999px !important;
  font-family: var(--ek-body);
  color: var(--ek-ink);
}
.search__input:focus { border-color: var(--ek-wine) !important; }
.search-modal { background: var(--ek-paper); }
.predictive-search {
  background: var(--ek-paper);
  border: 1px solid var(--ek-border);
  border-radius: 12px;
}
.predictive-search__heading {
  font-family: var(--ek-serif);
  color: var(--ek-ink-3);
}

/* Cart drawer */
.drawer__inner, cart-drawer { background: var(--ek-paper); color: var(--ek-ink); }
.drawer__header {
  border-bottom: 1px solid var(--ek-border);
  padding: 22px 24px;
}
.drawer__heading {
  font-family: var(--ek-serif);
  font-weight: 400;
  font-size: 28px;
  letter-spacing: -0.01em;
}
.cart-drawer .cart-items, .cart .cart-items { padding: 8px 24px; }
.cart-drawer .cart-item, .cart .cart-item {
  border-bottom: 1px solid var(--ek-border);
  padding: 18px 0;
}
.cart-item__name { font-family: var(--ek-serif); font-size: 17px; font-weight: 400; }
.cart-item__name:hover { color: var(--ek-wine); }
.cart-item__details .product-option {
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.01em;
  color: var(--ek-ink-3);
}
.cart-item__meta-row {
  display: flex;
  align-items: center;
  gap: 16px; /* was likely 0 or a small default */
}
.cart-drawer__footer, .cart__footer {
  background: var(--ek-paper-2);
  border-top: 1px solid var(--ek-border);
  padding: 24px;
}
.totals__total            { font-family: var(--ek-serif); font-size: 22px; }
.totals__subtotal-value   { font-family: var(--ek-serif); font-size: 22px; color: var(--ek-ink); }
.cart__empty-text {
  font-family: var(--ek-serif);
  font-size: 28px;
  line-height: 1.15;
  color: var(--ek-ink);
}
.cart__warnings .button { border-radius: 999px !important; }

/* Quantity */
.quantity {
  border: 1px solid var(--ek-border-2);
  border-radius: 999px;
  overflow: hidden;
}
.quantity__button { color: var(--ek-ink); }
.quantity__input  { font-family: var(--ek-body); }

/* Cart notification */
cart-notification, .cart-notification {
  background: var(--ek-paper);
  border: 1px solid var(--ek-border);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(33,25,19,0.10);
}
.cart-notification__header { font-family: var(--ek-serif); }

/* 404 */
.template-404 .404 { padding: 80px 0; text-align: center; }
.template-404 h1, .404 h1 {
  font-family: var(--ek-serif);
  font-size: clamp(64px, 9vw, 140px);
  color: var(--ek-wine);
  line-height: 1;
  margin: 0 0 14px;
}
.404__subtext {
  font-family: var(--ek-serif);
  font-style: italic;
  font-size: 26px;
  color: var(--ek-ink-2);
}

/* Customer pages */
.customer { max-width: 480px; margin: 0 auto; padding: 60px 24px; }
.customer h1, .customer h2 { font-family: var(--ek-serif); font-weight: 400; }
.customer input {
  border-radius: 999px !important;
  border: 1px solid var(--ek-border-2) !important;
  padding: 12px 18px;
}
.customer .button { width: 100%; }

/* Menu drawer */
.menu-drawer { background: var(--ek-paper); color: var(--ek-ink); }
.menu-drawer__navigation a {
  font-family: var(--ek-serif);
  font-size: 22px;
  color: var(--ek-ink);
}
.menu-drawer__navigation a:hover { color: var(--ek-wine); }

/* Quick-add */
.quick-add__submit, .card-product .button {
  border-radius: 999px !important;
  font-family: var(--ek-body);
}

/* Pagination */
.pagination__list { gap: 6px; }
.pagination__item {
  border-radius: 999px;
  font-family: var(--ek-body);
  color: var(--ek-ink-2);
}
.pagination__item--current { background: var(--ek-ink); color: var(--ek-paper); }

/* Dawn's default footer (kept for fallback / before EK Footer is selected) */
.footer {
  background: var(--ek-ink) !important;
  color: var(--ek-paper) !important;
  padding: 56px 0 30px;
}
.footer__content-top { padding: 0; }
.footer a {
  font-size: 14px;
  color: rgba(244,237,224,0.65);
  text-decoration: none;
  transition: color .15s;
}
.footer a:hover { color: var(--ek-wine-glow); }
.footer-block__heading {
  font-family: var(--ek-body) !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ek-paper) !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}
.footer__copyright {
  color: rgba(244,237,224,0.45);
  font-size: 12px;
}
.footer .newsletter-form__field-wrapper input {
  background: rgba(244,237,224,0.10) !important;
  border: 1px solid rgba(244,237,224,0.3) !important;
  border-radius: 999px !important;
  color: var(--ek-paper) !important;
}
.footer .newsletter-form__field-wrapper input::placeholder {
  color: rgba(244,237,224,0.5);
}


/* ────────────────────────────────────────────
   7. AGE GATE
   ──────────────────────────────────────────── */

#ek-age-gate {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
#ek-age-gate[hidden] { display: none !important; }

.ek-age-gate__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 440px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: var(--ek-paper);
  padding: 2rem 1.5rem;
}
.ek-age-gate__logo {
  width: 160px;
  height: auto;
  margin-bottom: 28px;
}
.ek-age-gate__eyebrow {
  font-family: var(--ek-body);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(244, 237, 224, 0.6);
  margin: 0 0 14px;
}
.ek-age-gate__title {
  font-family: var(--ek-serif);
  font-size: clamp(28px, 4vw, 36px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin: 0 0 18px;
  color: var(--ek-paper);
}
.ek-age-gate__desc {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(244, 237, 224, 0.8);
  margin: 0 0 22px;
  max-width: 360px;
}
.ek-age-gate__hw {
  font-family: var(--ek-hand);
  font-size: 20px;
  color: var(--ek-wine-glow);
  margin: 0 0 26px;
  display: block;
}
.ek-age-gate__btn {
  background: var(--ek-wine);
  color: var(--ek-paper);
  border: none;
  padding: 14px 32px;
  font-family: var(--ek-body);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 999px;
  margin-bottom: 12px;
  width: 240px;
  font-weight: 500;
  transition: background 0.15s;
}
.ek-age-gate__btn:hover { background: var(--ek-wine-deep); }
.ek-age-gate__no {
  font-size: 11px;
  color: rgba(244, 237, 224, 0.4);
  text-decoration: none;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 6px 12px;
  margin-bottom: 22px;
}
.ek-age-gate__no:hover { color: rgba(244, 237, 224, 0.65); }
.ek-age-gate__legal {
  font-size: 11px;
  line-height: 1.6;
  color: rgba(244, 237, 224, 0.4);
  margin: 0;
  max-width: 360px;
}
.ek-age-gate__legal a {
  color: rgba(244, 237, 224, 0.65);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ek-age-gate__legal a:hover { color: var(--ek-wine-glow); }


/* ────────────────────────────────────────────
   8. CART ICON (bottle progression)
   ──────────────────────────────────────────── */

/* Hide Dawn's default cart SVG immediately so it never flashes before the
   EK bottle image is injected by JS. The custom image is revealed once present. */
#cart-icon-bubble svg,
#cart-icon-bubble .svg-wrapper,
#cart-icon-bubble .icon-cart,
#cart-icon-bubble .icon-cart-empty {
  display: none !important;
}
/* Fallback: if JS fails and no custom image gets injected, show the default
   again so the cart icon is never invisible. */
#cart-icon-bubble:not(:has(#ek-cart-img)) .svg-wrapper {
  display: inline-flex !important;
}

.ek-cart-icon__img {
  display: block;
  width: 26px;
  height: 26px;
  object-fit: contain;
}

#cart-icon-bubble .cart-count-bubble {
  position: absolute;
  top: -2px;
  right: -4px;
}


/* ────────────────────────────────────────────
   9. MOBILE
   ──────────────────────────────────────────── */

@media (max-width: 749px) {
  .ek-container, .k-container { padding: 0 18px; }
  .header { padding: 12px 0; }
  .header__heading { font-size: 1.4rem; }
  .footer { padding: 40px 0 24px; }
  .footer-block { margin-bottom: 24px; }
}

/* ============================================================
   EK v3 — Header & announcement bar cleanup
   Append to bottom of ek-custom.css
   REPLACES the previous "Announcement bar tighter" block.

   Fixes:
   - Removes the awkward line between announcement and menu
   - Removes the line between menu and hero
   - Removes underlines on menu items
   - Tightens announcement bar to single-line height
   ============================================================ */

.announcement-bar,
.utility-bar {
  border-bottom: none !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}
.announcement-bar__message {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: auto !important;
}

.header,
header.header,
.shopify-section-header,
.shopify-section--header {
  border-bottom: none !important;
}

.header__menu-item,
.header__menu-item a,
.list-menu__item,
.list-menu__item a,
.header__inline-menu a {
  text-decoration: none !important;
}

/* ============================================================
   EK v3 — Section padding REVISED
   Append to bottom of ek-custom.css
   REPLACES the previous .ek-section padding rule

   - Single-direction padding (bottom only) so adjacent sections don't double up
   - Hero gets a small top breathing room
   - Override .ek-care__resident extra padding (it was needed when .ek-section
     had no padding; now redundant)
   ============================================================ */

.ek-section {
  padding-top: 18px;
  padding-bottom: 36px;
}

.ek-hero {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.ek-care__resident {
  padding-bottom: 0;
}

/* ============================================================
   EK v3 — Reset <p> margins inside titles (v2, stronger)
   Append to bottom of ek-custom.css
   REPLACES the previous .ek-title p block
   ============================================================ */

h1.ek-title p,
h2.ek-title p,
h3.ek-title p,
h4.ek-title p,
.ek-title p,
.ek-somm__name p,
.ek-act__title p,
.ek-care__title p,
.ek-hero__head p,
.ek-share__trip-title p {
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================================
   EK v3 — Mobile fixes
   Append to bottom of ek-custom.css
   ============================================================ */

@media (max-width: 749px) {
  /* Hero: taller aspect on mobile so content fits without clipping.
     !important is required to beat the inline aspect-ratio: 16/9 */
  .ek-hero__frame {
    aspect-ratio: 3 / 4 !important;
  }

  /* Stats: stack into a single column instead of inline rows */
  .ek-hero__stats {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  /* Tighten the hero title size on narrow viewports */
  .ek-hero__head {
    font-size: clamp(40px, 11vw, 64px) !important;
  }
}