/* ============================================================
   ZIA APPLE UI LAYER, 2026-10-23
   Loaded last (end of body) on every page so it refines the page
   styles without touching them. Apple HIG used for structure only:
   8pt spacing, one radius scale, 44px touch targets, sentence case
   labels, hairlines instead of heavy borders, calm motion, focus.
   Brand stays: Fraunces + DM Sans, plum #5B414A, teal #108474,
   lilac #D49FF5, ink #2B2126, secondary #6B5A62.
   Radii: 12 small, 18 cards, 24 large media, 980px pills.
   Literal values only (fact_check reads CSS custom properties).
   Roll back by removing the one <link> line from each page.
   ============================================================ */

html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

/* == Focus: visible ring for keyboard users only == */
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid rgba(91,65,74,0.55);
    outline-offset: 3px;
    border-radius: 6px;
}

/* ============================================================
   1. SHARED THEME CHROME (collections, products, store pages,
      gift guides, homepage)
   ============================================================ */

/* Top announcement bar: 12.75px text was below the 15px label floor */
.zia-visit-banner { font-size: 15px !important; line-height: 1.4; padding: 10px 16px !important; }
.zia-visit-banner a { display: inline-block; padding: 4px 2px; }

/* Header: translucent material and a hairline instead of a solid slab */
.section-site-header .site-header {
    background: rgba(255,255,255,0.78) !important;
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 1px solid rgba(43,33,38,0.08);
}
.section-site-header .site-header nav > div.pointer-events-none { background: transparent !important; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .section-site-header .site-header { background: #fff !important; }
}
/* Visit Stores: pill, 44px. Mobile keeps the existing 44px icon pill. */
[data-utility-links] a[href*="store-location"] {
    border-radius: 980px !important;
    min-height: 44px;
    transition: background-color .2s cubic-bezier(0.25,0.1,0.25,1), transform .2s cubic-bezier(0.25,0.1,0.25,1);
}
[data-utility-links] a[href*="store-location"]:active { transform: scale(0.97); }
@media (min-width: 1024px) {
    [data-utility-links] a[href*="store-location"] { font-size: 15px !important; padding: 10px 20px !important; }
}

/* Desktop dropdown menus: floating card instead of a square slab */
.main-menu .maindiv {
    border-radius: 18px !important;
    background: rgba(255,255,255,0.92) !important;
    -webkit-backdrop-filter: saturate(180%) blur(24px);
    backdrop-filter: saturate(180%) blur(24px);
    box-shadow: 0 0 0 1px rgba(43,33,38,0.08), 0 24px 60px rgba(0,0,0,0.10) !important;
    padding: 8px !important;
    margin-top: 8px;
}
.main-menu .maindiv a, .main-menu .maindiv button {
    border-radius: 12px;
    transition: background-color .2s cubic-bezier(0.25,0.1,0.25,1);
}
.main-menu .maindiv a:hover, .main-menu .maindiv button:hover { background: rgba(91,65,74,0.07); }

/* Mobile drawer: inset list rows, 52px, hairline dividers */
#left-drawer-slot .sidebar-nav > ul > li { border-bottom: 1px solid rgba(43,33,38,0.08); margin-top: 0 !important; }
#left-drawer-slot .sidebar-nav > ul > li > a,
#left-drawer-slot .sidebar-nav > ul > li > button,
#left-drawer-slot .sidebar-nav > ul > li > details > summary { min-height: 52px; display: flex !important; align-items: center; padding-top: 8px !important; padding-bottom: 8px !important; }

/* Walk in only: the old online store account system was switched off 2026-05-15, so the register link was dead */
#customer_register_link, li:has(> #customer_register_link) { display: none !important; }

/* Footer link lists: 20px tall links to 44px rows */
footer ul.list-none > li { margin-top: 0 !important; }
footer ul.list-none a.secondary-text-link { display: inline-flex; align-items: center; min-height: 44px; }

/* Section titles on theme sections: one large title scale */
main h2.heading-standard, main .zia-block h2 {
    font-size: clamp(2rem, 3.6vw, 2.75rem) !important;
    font-weight: 600;
    letter-spacing: -0.015em !important;
    line-height: 1.08 !important;
}

/* Theme buttons (push-btn): pill, no drop shadow, press state */
.push-btn__surface, .rounded-button {
    border-radius: 980px !important;
    box-shadow: none !important;
    transition: background-color .2s cubic-bezier(0.25,0.1,0.25,1), transform .2s cubic-bezier(0.25,0.1,0.25,1) !important;
}
.push-btn:active .push-btn__surface, .rounded-button:active { transform: scale(0.97) !important; }
.push-btn__surface:not(.p-2) { min-height: 48px; padding-left: 24px; padding-right: 24px; font-size: 1rem; letter-spacing: 0; text-transform: none; }

/* Reading rhythm: theme copy ran at 1.2 line height and card titles at 1.0 */
.rte p, .rte li, .card__surface p, .card__surface li, .faq-section p, .faq-section li { line-height: 1.55 !important; }
.card__surface h2, .card__surface h3, .faq-section h3 { line-height: 1.18 !important; }
.faq-section .faq-item + .faq-item { margin-top: 24px; }

/* Media and product tiles: one card radius, gentle motion */
.product-tile__container, .product-tile__featured-media, .card__surface { border-radius: 18px !important; }
.product-tile__featured-media img { transition: transform .8s cubic-bezier(0.25,0.1,0.25,1); }
.product-tile:hover .product-tile__featured-media img { transform: scale(1.03); }
.media.default > img.media__styled-element { border-radius: 18px !important; }
.gifting-column-image { border-radius: 18px !important; }
.category-slider-image { border-radius: 24px !important; }
.zia-diwali { border-radius: 24px !important; }
.zp-icon { border-radius: 12px !important; box-shadow: none !important; }
.zp-card-desc { font-size: 15px !important; line-height: 1.45 !important; color: #6B5A62 !important; }

/* Floating Visit our stores pill: 35px tall and 12.75px text, now 44px / 15px */
.zia-fab {
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 10px 20px !important;
    font-size: 15px !important;
    border-radius: 980px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.16) !important;
    transition: background-color .2s cubic-bezier(0.25,0.1,0.25,1), transform .2s cubic-bezier(0.25,0.1,0.25,1);
}
.zia-fab:active { transform: scale(0.97); }

/* Footer "Plan Your Visit" card (inline styled in the theme footer) */
footer [style*="background:#1b1e2f"][style*="border-radius:8px"],
[style*="background:#1b1e2f;padding:24px;border-radius:8px"] { border-radius: 18px !important; padding: 32px 24px !important; }
[style*="background:#1b1e2f;padding:24px;border-radius:8px"] > div { font-size: 1rem !important; line-height: 1.55 !important; }
[style*="background:#1b1e2f;padding:24px;border-radius:8px"] > a {
    border-radius: 980px !important;
    min-height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 12px 28px !important;
}

/* Sticky WhatsApp (Pratap Nagar 99754 75812). Replaces the old third party
   widget, which served a dead number from its own server. Deeper WhatsApp
   green: white icon on #25D366 measured 1.98:1, on #168A46 it is 4.41:1. */
.zia-wa-sticky, .whatsapp-sticky {
    position: fixed; bottom: 16px; z-index: 9997;
    width: 56px; height: 56px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: #168A46 !important; color: #fff !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.16) !important;
    transition: transform .2s cubic-bezier(0.25,0.1,0.25,1);
}
.zia-wa-sticky { left: 16px; }
.zia-wa-sticky svg, .whatsapp-sticky svg { width: 30px; height: 30px; }
.zia-wa-sticky:hover, .whatsapp-sticky:hover { transform: scale(1.04); color: #fff !important; }
.zia-wa-sticky:active, .whatsapp-sticky:active { transform: scale(0.97); }

/* Social share circles: 40px to 44px */
.social-share .share-btn { width: 44px !important; height: 44px !important; }

/* ============================================================
   2. PRODUCT PAGE BLOCKS (zia-*)
   ============================================================ */
.zia-block { padding-top: 48px !important; padding-bottom: 48px !important; border-top: 1px solid rgba(43,33,38,0.08) !important; }
.zia-block h2 { color: #2B2126 !important; margin-bottom: 24px !important; }
.zia-block p { font-size: 1.0625rem; }

/* Walk in box under the price: hairline, card radius */
.zia-visit-stores { border: 1px solid rgba(91,65,74,0.16) !important; border-radius: 18px !important; padding: 24px !important; }
.zia-visit-stores a { border-radius: 980px !important; min-height: 44px; }
/* Two line map buttons (store name + address) read better as cards than as capsules */
.zia-visit-stores a[style*="display:block"] { border-radius: 18px !important; }
.zia-visit-stores a[style*="flex:1"] { display: inline-flex !important; align-items: center; justify-content: center; font-size: 15px !important; }

.zia-mrp { font-size: 15px !important; color: #6B5A62 !important; }
.zia-ratenum { font-size: 15px !important; }
.zia-ratecount { font-size: 15px !important; }
.zia-ratebadge { min-height: 44px; }

/* Feature chips: 11.7px tracked text to 14px sentence case */
.zia-chips { gap: 8px !important; }
.zia-chips li { font-size: 14px !important; letter-spacing: 0 !important; padding: 8px 14px !important; border: 0 !important; }

/* Spec table inside a rounded frame */
.zia-spectable { border-radius: 18px; overflow: hidden; box-shadow: 0 0 0 1px rgba(43,33,38,0.08); }
.zia-spectable th, .zia-spectable td { padding: 14px 16px !important; border-bottom-color: rgba(43,33,38,0.08) !important; font-size: 1rem; }
.zia-spectable tr:last-child th, .zia-spectable tr:last-child td { border-bottom: 0 !important; }

/* FAQ: inset grouped list, 56px rows, rotating chevron */
.zia-faq { border: 1px solid rgba(43,33,38,0.08) !important; border-radius: 0 !important; margin: 0 0 -1px !important; }
.zia-faq:first-of-type { border-radius: 18px 18px 0 0 !important; }
.zia-faq:last-of-type { border-radius: 0 0 18px 18px !important; margin-bottom: 0 !important; }
.zia-faq:only-of-type { border-radius: 18px !important; }
.zia-faq summary {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    min-height: 56px; padding: 16px 22px !important; font-size: 1.0625rem !important; color: #2B2126 !important;
}
.zia-faq summary::after {
    content: "" !important; float: none !important; flex: none;
    width: 9px; height: 9px;
    border-right: 2px solid #6B5A62; border-bottom: 2px solid #6B5A62;
    transform: rotate(45deg) translate(-2px, -2px);
    transition: transform .3s cubic-bezier(0.25,0.1,0.25,1);
}
.zia-faq[open] summary::after { content: "" !important; transform: rotate(-135deg); }
.zia-faq > div { padding: 0 22px 20px !important; font-size: 1rem !important; color: #6B5A62 !important; line-height: 1.6 !important; }

/* Reviews */
.zia-revsum { border: 0 !important; border-radius: 18px !important; padding: 24px !important; }
.zia-revsum__big span, .zia-revsum__big em { font-size: 14px !important; }
.zia-bar { font-size: 14px !important; }
.zia-bar__t { border-radius: 980px !important; }
.zia-rev { border: 0 !important; box-shadow: 0 0 0 1px rgba(43,33,38,0.08); border-radius: 18px !important; padding: 20px !important; }
.zia-rev__st { font-size: 14px !important; letter-spacing: 0 !important; }
.zia-rev__who { font-size: 15px !important; }
.zia-rev__b { font-size: 15px !important; color: #6B5A62 !important; }

/* Related product cards */
.zia-grid { gap: 20px !important; }
.zia-card a {
    border: 0 !important;
    box-shadow: 0 0 0 1px rgba(43,33,38,0.08);
    border-radius: 18px !important;
    transition: transform .4s cubic-bezier(0.25,0.1,0.25,1), box-shadow .4s cubic-bezier(0.25,0.1,0.25,1) !important;
}
.zia-card a:hover { transform: translateY(-4px) !important; box-shadow: 0 18px 40px rgba(0,0,0,0.08) !important; }
.zia-card__n { font-size: 15px !important; padding: 12px 14px 4px !important; }
.zia-card__p { font-size: 15px !important; padding: 0 14px 14px !important; }

/* Store cards and call / WhatsApp buttons */
.zia-store { border: 0 !important; box-shadow: 0 0 0 1px rgba(43,33,38,0.08); border-radius: 18px !important; padding: 24px !important; }
.zia-store span { font-size: 15px !important; }
.zia-store__ph { letter-spacing: 0 !important; font-size: 1rem !important; }
.zia-store__b { gap: 8px !important; margin-top: 16px !important; }
.zia-btn {
    border-radius: 980px !important;
    font-size: 15px !important;
    min-height: 44px;
    transition: opacity .2s cubic-bezier(0.25,0.1,0.25,1), transform .2s cubic-bezier(0.25,0.1,0.25,1);
}
.zia-btn:active { transform: scale(0.97); }

/* ============================================================
   3. CONTENT TEMPLATE (gift guides, blog posts, lean landing
      pages): header, hero, panels, stores, CTA, FAQ, footer
   ============================================================ */
.header {
    background: rgba(255,255,255,0.78) !important;
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 1px solid rgba(43,33,38,0.08) !important;
}
.header .store-btn {
    border-radius: 980px !important;
    font-size: 15px !important;
    padding: 10px 20px !important;
    transition: background-color .2s cubic-bezier(0.25,0.1,0.25,1), transform .2s cubic-bezier(0.25,0.1,0.25,1);
}
.header .store-btn:active { transform: scale(0.97); }
.header .zia-blog-nav a { font-size: 15px !important; min-height: 44px !important; }

/* Hero: tiny tracked caps badge becomes a sentence case pill */
.hero { padding: 64px 24px 48px !important; }
.hero .badge {
    font-size: 14px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    border-radius: 980px !important;
    padding: 6px 14px !important;
    margin-bottom: 16px !important;
}
.hero h1 { letter-spacing: -0.015em; line-height: 1.12 !important; }
.hero p { font-size: 1.125rem !important; line-height: 1.5; }
.hero-btns { gap: 12px !important; }
.hero-btns a, .cta-box a, .cta-band a, .zia-lean .btn, .btn-whatsapp {
    border-radius: 980px !important;
    min-height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 12px 28px !important;
    font-size: 1rem !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    transition: background-color .2s cubic-bezier(0.25,0.1,0.25,1), color .2s cubic-bezier(0.25,0.1,0.25,1), transform .2s cubic-bezier(0.25,0.1,0.25,1);
}
.hero-btns a:active, .cta-box a:active, .cta-band a:active, .zia-lean .btn:active, .btn-whatsapp:active { transform: scale(0.97); }
.btn-outline { border-width: 1.5px !important; }

/* Byline and breadcrumbs: #777 / #888 fail calm contrast, use secondary */
.meta, .breadcrumb, .breadcrumb a { color: #6B5A62 !important; font-size: 15px !important; }
.meta { padding-top: 16px !important; }

/* Body sections: hairline under h2 instead of a 2px rule */
.section { padding: 48px 0 8px !important; }
.section h2 {
    font-size: clamp(1.5rem, 2.6vw, 1.875rem) !important;
    letter-spacing: -0.01em;
    line-height: 1.2;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(91,65,74,0.18) !important;
    margin-bottom: 16px !important;
}

/* Summary and callout boxes: soft filled panels, no 4px side bars */
.tldr, .callout {
    border: 0 !important;
    border-radius: 18px !important;
    padding: 20px 24px !important;
    margin: 32px 0 !important;
}

/* Tables: hairline grid inside a rounded frame */
.section table, .container > table, .zia-lean table {
    border-radius: 18px;
    box-shadow: 0 0 0 1px rgba(43,33,38,0.08);
    margin: 24px 0 !important;
}
.section td, .container > table td, .zia-lean td { border-color: rgba(43,33,38,0.08) !important; padding: 12px 14px !important; }
.section th, .container > table th, .zia-lean th { padding: 12px 14px !important; }

/* Store panel and cards */
.stores, .related, .walkin, #zia-walkin {
    border-radius: 24px !important;
    padding: 32px 24px !important;
    margin: 48px 0 !important;
}
.stores h2, .related h2 { border-bottom-width: 1px !important; }
.store-grid { gap: 16px !important; }
.store-card {
    border: 0 !important;
    border-radius: 18px !important;
    box-shadow: 0 0 0 1px rgba(43,33,38,0.08);
    padding: 20px !important;
}
.store-card p { font-size: 15px !important; color: #6B5A62 !important; }
.related li { border-bottom-color: rgba(16,132,116,0.14) !important; padding: 10px 0 !important; }

/* FAQ in content pages: 56px rows with hairlines */
.faq-item { border-bottom: 1px solid rgba(43,33,38,0.08) !important; padding: 4px 0 !important; }
.faq-q { font-size: 1.0625rem !important; padding: 16px 0 8px !important; }
.faq-a { font-size: 1rem !important; color: #6B5A62 !important; line-height: 1.6 !important; }

/* CTA box */
.cta-box, .cta-band { border-radius: 24px !important; padding: 48px 24px !important; margin: 48px 0 !important; }

/* Lean landing pages: tile and category grids */
.zia-lean .tilegrid, .zia-lean .cat-grid { gap: 16px !important; }
.zia-lean .tile, .zia-lean .cat-card {
    border: 0 !important;
    border-radius: 18px !important;
    box-shadow: 0 0 0 1px rgba(43,33,38,0.08) !important;
    transition: transform .4s cubic-bezier(0.25,0.1,0.25,1), box-shadow .4s cubic-bezier(0.25,0.1,0.25,1) !important;
}
.zia-lean .tile:hover, .zia-lean .cat-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,0.08) !important; }
.zia-lean .tile span, .zia-lean .cat-card .cat-name { font-size: 15px !important; }
.zia-lean > div[style*="border-radius"] { border-radius: 18px !important; }

/* Related landing page chips (inline styled): 12px text, 28px tall */
p[style*="font-size:.82rem;color:#555"] { font-size: 15px !important; color: #6B5A62 !important; }
a[style*="border-radius:20px;font-size:.8rem"] {
    border-radius: 980px !important;
    font-size: 15px !important;
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
    padding: 10px 18px !important;
}

/* Walk in box: store address line under each map button */
.zia-visit-stores a span[style*="font-size:0.85rem"] { font-size: 15px !important; }

/* "See ZIA first on Google" panel (inline styled) */
div[style*="background:#f5f0f2;border:1px solid #d9cdd2;border-radius:10px"] { border-radius: 18px !important; border-color: rgba(91,65,74,0.12) !important; padding: 32px 24px !important; }
a[href*="google.com/preferences/source"] {
    border-radius: 980px !important;
    min-height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 12px 28px !important;
    font-size: 1rem !important;
}
p[style*="color:#888;font-size:0.77rem"] { font-size: 14px !important; color: #6B5A62 !important; }
img[src*="zia-logo-lilac-2026"][style*="border-radius:10px"] { border-radius: 12px !important; }
.zia-lean em { color: #6B5A62 !important; font-size: 15px !important; }

/* Article images */
.section img { border-radius: 18px; }

/* Footer tagline: plain, not italic */
.footer-bottom .tagline { font-style: normal !important; }
.whatsapp-sticky { box-shadow: 0 8px 24px rgba(0,0,0,0.16) !important; }

/* ============================================================
   3b. ONE OFF TEMPLATES (links page, store locator, enquiry
       forms, sale collection, legacy product page, blog index)
   ============================================================ */

/* Secondary text that used #666 / #6b6b6b / #7a6b73 greys */
.zp-heading p, .breadcrumbs, .breadcrumbs a, .product-card-price del, .product-price-line del,
.product-description p, .product-meta p, .store-pickup p, .stores > p,
.zia-store__meta, .zia-store__email, .zia-store__email a,
.zia-fr-sub, .zia-fr-alt, .zia-fr-alt a, .form-alt { color: #6B5A62 !important; }
.zia-store__email, .zia-store__email a, .zia-fr-alt, .zia-fr-alt a, .form-alt { font-size: 15px !important; }

/* Generic .btn (theme blog index, main.css pages): pill, 44px+ */
.btn { border-radius: 980px !important; min-height: 44px; }
.inline-block > a.btn, .cta-row .btn, .hero-ctas .btn {
    display: inline-flex !important; align-items: center; justify-content: center;
    min-height: 48px; padding-left: 24px !important; padding-right: 24px !important;
    transition: background-color .2s cubic-bezier(0.25,0.1,0.25,1), transform .2s cubic-bezier(0.25,0.1,0.25,1);
}
.inline-block > a.btn { min-height: 44px; }
.btn:active { transform: scale(0.97); }

/* Cards and panels on one off pages */
.product-grid > a.product-card, .product-meta, .store-pickup, .storeblock, .zia-store__map,
[id^="reviews-summary-"], .zia-newbox > img, .offer { border-radius: 18px !important; }
.product-gallery > img#mainImage, .object-wrapper-none > img.media__styled-element { border-radius: 24px !important; }
.media:not(.ellipse) > img.media__styled-element { border-radius: 18px; }

/* Store locator buttons: Call, WhatsApp, Directions */
.zia-act {
    border-radius: 980px !important; min-height: 44px;
    display: inline-flex !important; align-items: center; justify-content: center;
    transition: background-color .2s cubic-bezier(0.25,0.1,0.25,1), transform .2s cubic-bezier(0.25,0.1,0.25,1);
}
.zia-act:active { transform: scale(0.97); }

/* Enquiry forms (corporate gifting, franchise): 48px fields, 12px radius, hairline */
.zia-fr-field input, .zia-fr-field select, .zia-fr-field textarea,
input[id^="cf_"], select[id^="cf_"], textarea[id^="cf_"] {
    border-radius: 12px !important;
    min-height: 48px;
    font-size: 1rem !important;
    border: 1px solid rgba(43,33,38,0.16) !important;
    transition: border-color .2s cubic-bezier(0.25,0.1,0.25,1), box-shadow .2s cubic-bezier(0.25,0.1,0.25,1);
}
.zia-fr-field textarea, textarea[id^="cf_"] { min-height: 120px; }
.zia-fr-field input:focus, .zia-fr-field select:focus, .zia-fr-field textarea:focus,
input[id^="cf_"]:focus, select[id^="cf_"]:focus, textarea[id^="cf_"]:focus {
    border-color: #5B414A !important; box-shadow: 0 0 0 4px rgba(91,65,74,0.15) !important; outline: none;
}
.zia-fr-field > label { font-size: 15px !important; letter-spacing: 0 !important; text-transform: none !important; font-weight: 600; }
.zia-fr-submit, button.form-submit {
    border-radius: 980px !important; min-height: 48px; font-size: 1rem !important;
    letter-spacing: 0 !important; text-transform: none !important;
    transition: background-color .2s cubic-bezier(0.25,0.1,0.25,1), transform .2s cubic-bezier(0.25,0.1,0.25,1);
}
.zia-fr-submit:active, button.form-submit:active { transform: scale(0.97); }

/* Links page (/links/): legible labels, no tiny tracked caps */
.masthead .trust, .masthead .trust b { font-size: 15px !important; color: #6B5A62 !important; }
.badges > span { font-size: 14px !important; border-radius: 980px !important; letter-spacing: 0 !important; text-transform: none !important; }
.page > h2.sec {
    font-size: 1.0625rem !important; letter-spacing: 0 !important; text-transform: none !important;
    font-weight: 600; color: #2B2126 !important;
}
.store-addr, .store-rating, .store-rating b, .store-open .open-txt, .q-sub, .sister-sub, .foot-text, .foot-text a, .foot-text span {
    font-size: 14px !important;
}
.store-addr, .store-rating, .q-sub, .sister-sub, .foot-text, .foot-text span { color: #6B5A62 !important; }
.actions > a.act {
    font-size: 15px !important; border-radius: 980px !important; min-height: 44px;
    display: inline-flex !important; align-items: center; justify-content: center;
}
.foot .foot-tag { font-style: normal !important; }

/* Search fields (header overlay and mobile drawer) */
#header-search, input#Search { border-radius: 12px !important; min-height: 44px; }
.container > p.lead { color: #6B5A62 !important; }

/* Small labels on single pages */
#zia-entity-foot { font-size: 14px !important; }
.wrap > span.tag { font-size: 14px !important; letter-spacing: 0 !important; text-transform: none !important; }
.zia-rakhi-offer > p:first-child { font-size: 14px !important; letter-spacing: 0 !important; text-transform: none !important; }
.zia-rakhi-offer a[style*="border-radius:30px"] { border-radius: 980px !important; min-height: 44px; display: inline-flex !important; align-items: center; }

/* ============================================================
   3c. CONTRAST (WCAG AA). White on lilac #D49FF5 measures 2.08:1
       and fails; ink #2B2126 on the same lilac is 7.5:1. The theme
       paints the footer (scheme3), lilac cards and lilac badges
       with white text, so its scheme variables are repointed to ink.
       Lilac stays the background everywhere; only text changes.
   ============================================================ */
[data-color-scheme="scheme3"] { --color-scheme-text: 43, 33, 38 !important; }
:root, [data-color-scheme="scheme1"], [data-color-scheme="scheme3"],
[data-color-scheme="scheme-dc906e72-9266-43a1-b2c4-2e1c21e4dc24"] {
    --color-scheme-accent-1-contrast: 43, 33, 38 !important;
}
:root, [data-color-scheme] {
    --color-scheme-accent-2-contrast: 43, 33, 38 !important;
    --color-scheme-card-text: 43, 33, 38 !important;
}

/* Product page tab labels: #71717a / lilac text measured 3.6:1 */
.station-tabs .station-tabs-tab { color: #5B414A !important; border-color: rgba(91,65,74,0.3) !important; }
.station-tabs .station-tabs-tab .station-tabs-tabtext, .station-tabs-tabtext { color: #5B414A !important; }

/* Body links inside policy and terms articles: lilac on white measured 2.08:1 */
article p a, article li a { color: #5B414A !important; text-decoration: underline; text-underline-offset: 3px; }

.article a { color: #5B414A !important; text-underline-offset: 3px; }

/* Content template teal on tinted panels and zebra rows (4.2 to 4.4:1) */
.stores a, .tldr a, .callout a, .section td a, .quick-answer strong, .quick-answer a { color: #0D6E61 !important; }

/* Links page: subtitle inside the plum primary row, purple footer tag */
.q.q-primary .q-sub { color: rgba(255,255,255,0.82) !important; }
.foot .foot-tag { color: #5B414A !important; }
.page > .offer span { font-size: 14px !important; color: rgba(255,255,255,0.92) !important; }
/* Offer ribbon faded to #9C74D4, where white text measured 3.6:1; end on plum instead */
.page > .offer { background: linear-gradient(135deg,#5B414A 0%,#6A4390 100%) !important; padding: 16px !important; }
.page > .offer b { font-size: 15px !important; letter-spacing: 0 !important; }
a[style*="border-radius:30px"] { border-radius: 980px !important; }
body:has(.product-grid) .container > p { color: #6B5A62 !important; }

/* Franchise page: walk in note sits on a lilac card */
.card__surface p[style*="color:#7a6d72"] { color: #2B2126 !important; font-size: 15px !important; }
.card__surface a[style*="color:#108474"] { color: #2B2126 !important; text-decoration: underline !important; }

/* Review page buttons: lilac text on plum measured 4.38:1 */
.cta-row .btn-primary { color: #fff !important; }

/* Corporate gifting page runs a lighter purple accent (#9C74D4): white on it
   and it on white both measured 3.3 to 3.6:1. Same hue, deeper value. */
body:has(#cf_name) .hero, body:has(#cf_name) .cta-box { background: linear-gradient(135deg,#7A4E9E 0%,#5E3A80 100%) !important; }
body:has(#cf_name) .btn-primary, body:has(#cf_name) .tldr strong, body:has(#cf_name) .section h2,
body:has(#cf_name) .section h3, body:has(#cf_name) .form-grid label, body:has(#cf_name) .faq-q,
body:has(#cf_name) .store-card h3, body:has(#cf_name) .store-card a { color: #6A4390 !important; }
body:has(#cf_name) th, body:has(#cf_name) .steps li:before { background: #6A4390 !important; }
body:has(#cf_name) .cta-box a { color: #6A4390 !important; }

/* Review summary chip link */
[id^="reviews-summary-"] a { color: #0D6E61 !important; }

/* Sale stickers on purple accent: white measured 4.07:1, a deeper purple clears 4.5 */
[data-color-scheme="scheme-95b65921-f3bd-48d9-95ad-5a4fa3f15660"],
[data-color-scheme="scheme-2a4565c8-e931-4fab-b988-33836c014cd3"] { --color-scheme-accent-1: 126, 79, 160 !important; }

/* Teal links on tinted panels measured 4.2:1; a deeper teal clears 4.5 */
.related a, .related h2, .walkin a, .walkin h3, #zia-walkin a, #zia-walkin h3,
.zia-diwali a, .form-wrap a { color: #0D6E61 !important; }
.related h2 { border-color: rgba(13,110,97,0.3) !important; }

/* main.css pages (404, sale, terms, policies): WhatsApp buttons and footer links */
.btn-whatsapp, .btn-whatsapp:hover { color: #2B2126 !important; }
.site-footer a { color: #E8CBFA; }
.site-footer a.btn-whatsapp { color: #2B2126 !important; }

/* ============================================================
   4. MOBILE
   ============================================================ */
@media (max-width: 767px) {
    main h2.heading-standard, main .zia-block h2 { font-size: 1.75rem !important; line-height: 1.12 !important; }
    .zia-block { padding-top: 32px !important; padding-bottom: 32px !important; }
    .hero { padding: 48px 16px 32px !important; }
    .header .zia-blog-nav { flex-wrap: wrap; row-gap: 0 !important; }
    .header .zia-blog-nav a { font-size: 15px !important; min-height: 44px !important; }
    .stores, .related, .cta-box, .cta-band, .walkin, #zia-walkin { padding: 24px 16px !important; margin: 32px 0 !important; }
    .section { padding-top: 32px !important; }
    .zia-faq summary { padding: 14px 18px !important; }
    .zia-faq > div { padding: 0 18px 18px !important; }
    .zia-fab { padding: 10px 18px !important; }

    /* Theme copy blocks ran at 1.2 line height and titles at 1.0, with no gap between them */
    main h1.heading-feature { line-height: 1.12 !important; margin-bottom: 16px !important; }
    .section-content .text-left.w-full p { line-height: 1.55 !important; }
    .section-content .text-left.w-full > p { margin-bottom: 12px; }

    /* Section titles that sat flush against both screen edges */
    main .section-content > h2.heading-standard { padding-left: 16px; padding-right: 16px; }

    /* Promise cards carousel: arrows covered the card text, move them below the row */
    .swiper:has(.zp-card) { padding-bottom: 56px !important; }
    .swiper:has(.zp-card) .swiper-button-prev, .swiper:has(.zp-card) .swiper-button-next,
    .swiper:has(.zp-card) ~ .swiper-button-prev, .swiper:has(.zp-card) ~ .swiper-button-next {
        top: auto !important; bottom: 0 !important; margin: 0 !important;
        width: 44px !important; height: 44px !important;
    }
    .swiper:has(.zp-card) .swiper-button-prev, .swiper:has(.zp-card) ~ .swiper-button-prev { left: 50% !important; margin-left: -52px !important; right: auto !important; }
    .swiper:has(.zp-card) .swiper-button-next, .swiper:has(.zp-card) ~ .swiper-button-next { right: 50% !important; margin-right: -52px !important; left: auto !important; }

    /* Floating buttons must never hide the last lines of a page */
    body { padding-bottom: 80px; }

    /* Phone reading floor: body copy and table cells never under 15px.
       The theme root is 15px on phones, so rem based sizes landed at 13 to 14.7px. */
    td, .zia-lean ul.why-list li, .zia-lean .storeblock p, .zia-store__meta, .zia-fr-form .zia-fr-sub,
    .zp-heading p, .footer-bottom p, .footer p, .zia-legal-lastupdated, .foot .foot-text, .zia-rakhi-offer > p:first-child,
    p[style*="font-size:.7"], p[style*="font-size:0.7"], p[style*="font-size:.8"], p[style*="font-size:0.8"],
    p[style*="font-size:.9"], p[style*="font-size:0.9"] { font-size: 15px !important; }
}

/* ============================================================
   5. REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
    .product-tile:hover .product-tile__featured-media img, .zia-card a:hover, .zia-lean .tile:hover, .zia-lean .cat-card:hover { transform: none !important; }
}
