/*
 Theme Name:   House of 789
 Theme URI:    https://houseof789.com
 Description:  Custom child theme of Storefront for House of 789 — inherits Storefront's tested WooCommerce behavior (cart, checkout, product pages) and layers our own branding/design on top.
 Author:       House of 789
 Template:     storefront
 Version:      1.3.5
 Text Domain:  house-of-789
*/

  :root{
    --teal:        #214a49;
    --teal-soft:   #2c5c5a;
    --gold:        #CCB261;
    --gold-soft:   #E4D9B8;
    --gold-deep:   #8A6414;
    --gold-rich:   #9C6F0B;
    --gold-bright: #F0D998;
    --ivory:       #FDFBF8;
    --ivory-deep:  #FDFBF8;
    --ink-muted:   #6E6858;
    --ring:        rgba(33,74,73,0.12);
    --shadow:      0 10px 30px rgba(33,74,73,0.08);
    /* metallic-white finish tokens kept for reference / future use */
    --metal-base:      #F3F4F3;
    --metal-highlight: rgba(255,255,255,0.95);
    --metal-mid:       rgba(226,227,224,0.55);
    --metal-shadow:    rgba(196,198,194,0.35);
    /* fabric grain lifted from the logo's own background texture — tiled
       seamlessly and laid over any teal fill via background-blend-mode */
    --fabric:      url("data:image/webp;base64,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");
  }

  /* Ticker strip: flat, uniform teal — no texture blend, so the band of
     color reads as one clean solid rather than a mottled/patchy fill. */
  .h789-ticker{
    /* Slightly lighter than --teal on purpose: sitting in a thin band
       between white on both sides, --teal alone reads darker than the
       identical color does across the footer's large solid area
       (simultaneous contrast). --teal-soft compensates for that so the
       two visually read as the same weight of color. */
    background-color:var(--teal-soft);
    border-bottom:1px solid transparent;
    border-image:linear-gradient(90deg,
      rgba(204,178,97,0) 0%,
      rgba(204,178,97,.55) 50%,
      rgba(204,178,97,0) 100%) 1;
  }

  *{ box-sizing:border-box; }
  html,body{ margin:0; padding:0; }
  body{
    background-color:#FDFBF8;
    font-family:'Jost', sans-serif;
  }

  /* ============ SITE HEADER WRAPPER ============ */
  .h789-header{
    position:sticky;
    top:0;
    z-index:100;
    width:100%;
    font-family:'Jost', sans-serif;
  }

  /* ============ TICKER STRIP ============ */
  .h789-ticker{
    color:var(--gold);
    display:flex;
    align-items:stretch;
    padding:0 clamp(20px, 4vw, 56px);
  }

  /* Desktop: all four messages laid out evenly, edge to edge */
  .h789-ticker__row{
    display:flex;
    align-items:center;
    width:100%;
    min-height:44px;
  }
  .h789-ticker__item{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    flex:1 1 0;
    padding:10px 22px;
    white-space:nowrap;
    font-size:13.5px;
    font-weight:400;
    letter-spacing:.01em;
    border-left:1px solid rgba(204,178,97,0.28);
  }
  .h789-ticker__item:first-child{
    border-left:none;
    padding-left:0;
    justify-content:flex-start;
  }
  .h789-ticker__item:last-child{
    padding-right:0;
    justify-content:flex-end;
  }
  .h789-ticker__item svg{ width:15px; height:15px; flex:0 0 auto; }

  /* Desktop row: offers drop in one by one, left to right, then all
     clear together and the sequence loops. See script at page end. */
  .h789-ticker__row .h789-ticker__item{
    opacity:0;
    transform:translateY(-14px);
    transition:opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1);
  }
  .h789-ticker__row .h789-ticker__item.is-dropped{
    opacity:1;
    transform:translateY(0);
  }

  /* Mobile: single rotating message, centered */
  .h789-ticker__mobile{
    display:none;
    align-items:center;
    justify-content:center;
    gap:12px;
    width:100%;
    min-height:40px;
  }
  .h789-ticker__mobile .h789-ticker__chevron{
    color:var(--gold-soft);
    opacity:.55;
    flex:0 0 auto;
    display:flex;
  }
  .h789-ticker__mobile .h789-ticker__chevron svg{ width:9px; height:9px; }
  .h789-ticker__stage{
    position:relative;
    height:16px;
    width:min(78vw, 460px);
    overflow:hidden;
  }
  .h789-ticker__stage .h789-ticker__item{
    position:absolute;
    inset:0;
    flex:none;
    border-left:none;
    padding:0;
    font-size:12.5px;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-weight:500;
    opacity:0;
    transform:translateY(6px);
    transition:opacity .5s ease, transform .5s ease;
    pointer-events:none;
  }
  .h789-ticker__stage .h789-ticker__item.is-active{
    opacity:1;
    transform:translateY(0);
  }

  /* ============ MAIN HEADER ROW ============ */
  .h789-main{
    background:var(--ivory);
    border-bottom:1px solid var(--ring);
    display:flex;
    align-items:center;
    gap:28px;
    padding:16px clamp(20px, 4vw, 56px);
  }

  /* ---- Brand lockup (icon + wordmark + rotating tagline) ---- */
  .h789-brand{
    display:flex;
    align-items:center;
    gap:14px;
    flex:0 0 auto;
    text-decoration:none;
    cursor:pointer;
  }
  .h789-brand__mark{
    width:58px;
    height:58px;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .h789-brand__mark img{
    width:100%;
    height:100%;
    object-fit:contain;
  }
  .h789-brand__text{
    display:flex;
    flex-direction:column;
    justify-content:center;
    line-height:1;
  }
  .h789-brand__name{
    font-family:'Fraunces', serif;
    font-optical-sizing:auto;
    font-weight:700;
    font-size:32px;
    color:var(--teal);
    letter-spacing:.005em;
    white-space:nowrap;
    font-variant-numeric: lining-nums proportional-nums;
    font-feature-settings: "lnum" 1, "pnum" 1;
    margin:0 0 6px 0;
  }
  .h789-tagline{
    position:relative;
    height:22px;
    overflow:hidden;
    width:305px;
    max-width:100%;
  }
  .h789-tagline__item{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:700;
    font-size:17.5px;
    color:var(--gold-deep);
    letter-spacing:.02em;
    white-space:nowrap;
    opacity:0;
    transform:translateY(-100%);
    transition:transform .65s cubic-bezier(.4,0,.2,1), opacity .5s ease;
  }
  .h789-tagline__item.is-active{
    opacity:1;
    transform:translateY(0);
  }

  /* ---- Search ---- */
  .h789-search{
    flex:1 1 auto;
    display:flex;
    justify-content:center;
    min-width:0;
  }
  .h789-search__field{
    position:relative;
    width:100%;
    max-width:520px;
  }
  .h789-search__field input{
    width:100%;
    height:46px;
    border:1.5px solid var(--teal);
    border-radius:9px;
    background:var(--ivory-deep);
    padding:0 46px 0 18px;
    font-family:'Jost', sans-serif;
    font-size:14px;
    color:var(--teal);
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .h789-search__field input::placeholder{
    color:#9C9686;
    font-style:italic;
  }
  .h789-search__field input:focus{
    border-color:var(--teal-soft);
    box-shadow:0 0 0 3px rgba(33,74,73,0.18);
  }
  /* Suppress the browser's native "clear" (x) icon that type="search"
     inputs add once text is entered — the theme has its own custom
     search icon on the right, and the two would otherwise overlap. */
  .h789-search__field input[type="search"]::-webkit-search-cancel-button,
  .h789-search__field input[type="search"]::-webkit-search-decoration{
    -webkit-appearance:none;
    appearance:none;
  }
  .h789-search__icon{
    position:absolute;
    right:15px;
    top:50%;
    transform:translateY(-50%);
    color:var(--teal);
    display:flex;
    pointer-events:none;
  }
  .h789-search__icon svg{ width:19px; height:19px; stroke-width:2.1; }

  /* The icon is now a real <button type="submit"> (it used to be a
     decorative, unclickable <span>), so it needs pointer-events
     re-enabled and the browser's default button chrome stripped off
     to stay visually identical to before. */
  button.h789-search__icon{
    pointer-events:auto;
    background:none;
    border:none;
    padding:0;
    margin:0;
    cursor:pointer;
    line-height:0;
  }

  /* ---- Icon cluster ---- */
  .h789-actions{
    display:flex;
    align-items:center;
    flex:0 0 auto;
  }
  .h789-icon-btn{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:6px 12px;
    border-radius:10px;
    color:var(--teal);
    background:transparent;
    border:none;
    cursor:pointer;
    text-decoration:none;
    transition:background .2s ease;
  }
  .h789-icon-btn:hover{
    background:rgba(33,74,73,0.06);
  }
  .h789-icon-btn__glyph{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
  }
  .h789-icon-btn__glyph svg{ width:22px; height:22px; }
  .h789-icon-btn__glyph--filled{
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--gold);
    color:var(--teal);
  }
  .h789-icon-btn__glyph--filled svg{ width:16px; height:16px; }
  .h789-icon-btn__label{
    font-size:10.5px;
    font-weight:500;
    letter-spacing:.02em;
    color:var(--teal);
    white-space:nowrap;
  }
  .h789-icon-btn__badge{
    position:absolute;
    top:-4px;
    right:-8px;
    min-width:15px;
    height:15px;
    padding:0 3px;
    border-radius:8px;
    background:var(--gold);
    color:var(--teal);
    font-size:9.5px;
    font-weight:600;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
  }

  .h789-divider{
    width:1px;
    height:30px;
    background:var(--ring);
    margin:0 4px;
    flex:0 0 auto;
  }

  /* ============ CATEGORY NAV ============ */
  .h789-nav{
    background-color:var(--ivory);
    background-image:linear-gradient(180deg, rgba(33,74,73,0.07) 0%, rgba(33,74,73,0) 62%);
    border-bottom:1px solid transparent;
    border-image:linear-gradient(90deg,
      rgba(204,178,97,0) 0%,
      rgba(204,178,97,.45) 50%,
      rgba(204,178,97,0) 100%) 1;
  }
  .h789-nav__row{
    display:flex;
    align-items:center;
    gap:clamp(22px, 2.6vw, 38px);
    padding:15px clamp(20px, 4vw, 56px) 8px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .h789-nav__row::-webkit-scrollbar{ display:none; }
  .h789-nav__link{
    position:relative;
    display:inline-flex;
    flex:0 0 auto;
    padding-bottom:13px;
    text-decoration:none;
  }
  .h789-nav__link::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:2px;
    width:0;
    height:2px;
    background:var(--gold);
    transform:translateX(-50%);
    transition:width .25s ease;
  }
  .h789-nav__link:hover::after{ width:100%; }
  .h789-nav__item{
    position:relative;
    display:inline-grid;
    align-items:center;
    height:19px;
    overflow:hidden;
  }
  .h789-nav__hi,
  .h789-nav__en{
    grid-area:1 / 1;
    font-family:'Jost', sans-serif;
    font-size:14px;
    font-weight:500;
    letter-spacing:.015em;
    white-space:nowrap;
    line-height:19px;
    transition:transform .35s cubic-bezier(.4,0,.2,1), opacity .3s ease;
  }
  .h789-nav__hi{
    color:var(--teal);
    transform:translateY(0);
    opacity:1;
  }
  .h789-nav__en{
    color:var(--gold-deep);
    font-style:italic;
    transform:translateY(115%);
    opacity:0;
  }
  .h789-nav__link:hover .h789-nav__hi{
    transform:translateY(-115%);
    opacity:0;
  }
  .h789-nav__link:hover .h789-nav__en{
    transform:translateY(0);
    opacity:1;
  }

  /* ---- Shop by Fabric dropdown ---- */
  .h789-nav__dropdown{
    position:relative;
    flex:0 0 auto;
  }
  .h789-nav__link--has-sub{
    align-items:center;
    gap:6px;
  }
  .h789-nav__chevron{
    width:10px;
    height:10px;
    flex:0 0 auto;
    color:var(--gold-deep);
    transition:transform .25s ease;
  }
  .h789-nav__dropdown.is-open .h789-nav__chevron{
    transform:rotate(180deg);
  }
  .h789-nav__submenu{
    position:fixed;
    z-index:500;
    min-width:200px;
    padding:10px 0;
    background:var(--ivory);
    border:1px solid var(--ring);
    border-radius:8px;
    box-shadow:0 16px 32px rgba(33,74,73,.16);
    opacity:0;
    visibility:hidden;
    transform:translateY(6px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  }
  .h789-nav__dropdown.is-open .h789-nav__submenu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .h789-nav__submenu-link{
    display:block;
    padding:9px 18px;
    font-family:'Jost', sans-serif;
    font-size:13.5px;
    font-weight:500;
    letter-spacing:.015em;
    color:var(--teal);
    text-decoration:none;
    white-space:nowrap;
    transition:background-color .15s ease, color .15s ease;
  }
  .h789-nav__submenu-link:hover{
    background-color:rgba(204,178,97,.14);
    color:var(--gold-deep);
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 980px){
    .h789-tagline{ width:250px; }
    .h789-search__field{ max-width:320px; }
  }

  @media (max-width: 860px){
    .h789-ticker__row{ display:none; }
    .h789-ticker__mobile{ display:flex; }
    .h789-ticker{ padding:0 16px; }
    .h789-nav__row{ padding:13px 16px 8px; gap:24px; }
  }

  @media (max-width: 720px){
    .h789-main{ gap:14px; padding:14px 16px; }
    .h789-brand__mark{ width:48px; height:48px; }
    .h789-brand__name{ font-size:24px; margin-bottom:4px; }
    .h789-tagline{ display:none; }
    .h789-search__field{ max-width:none; }
    .h789-icon-btn__label{ display:none; }
    .h789-icon-btn{ padding:8px; }
    .h789-icon-btn__glyph--filled{ width:32px; height:32px; }
    .h789-icon-btn__glyph--filled svg{ width:18px; height:18px; }
    .h789-divider{ display:none; }
  }

  @media (max-width: 460px){
    .h789-search{ order:3; flex-basis:100%; margin-top:10px; }
    .h789-main{ flex-wrap:wrap; }
    .h789-search__field{ max-width:none; }
  }

  @media (prefers-reduced-motion: reduce){
    .h789-ticker__item, .h789-tagline__item, .h789-nav__hi, .h789-nav__en{ transition:none !important; }
    .h789-ticker__row .h789-ticker__item{ opacity:1 !important; transform:none !important; }
  }

  /* ================================================================
     HERO SECTION — 3D fanned card carousel, one card per nav category
     ================================================================ */
  .h789-hero{
    position:relative;
    overflow:hidden;
    padding:clamp(48px, 7vw, 76px) 20px clamp(40px, 6vw, 64px);
    background:var(--ivory);
    isolation:isolate;
  }

  /* fine grain, echoes the fabric-grain treatment used elsewhere in the header */
  .h789-hero::before{
    content:"";
    position:absolute; inset:0;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/></svg>");
    opacity:.04;
    mix-blend-mode:multiply;
    pointer-events:none;
  }

  /* thin gold corner brackets framing the hero — same corner-tick language
     used on the card hover state, tying the section together as a
     deliberately "framed" panel rather than a plain block */
  .h789-hero::after{
    content:"";
    position:absolute;
    inset:18px;
    background-image:
      linear-gradient(var(--gold), var(--gold)), linear-gradient(var(--gold), var(--gold)),
      linear-gradient(var(--gold), var(--gold)), linear-gradient(var(--gold), var(--gold)),
      linear-gradient(var(--gold), var(--gold)), linear-gradient(var(--gold), var(--gold)),
      linear-gradient(var(--gold), var(--gold)), linear-gradient(var(--gold), var(--gold));
    background-repeat:no-repeat;
    background-size:
      64px 7px, 7px 64px,
      64px 7px, 7px 64px,
      64px 7px, 7px 64px,
      64px 7px, 7px 64px;
    background-position:
      top left, top left,
      top right, top right,
      bottom left, bottom left,
      bottom right, bottom right;
    opacity:.9;
    filter:drop-shadow(0 0 5px rgba(204,178,97,.45));
    pointer-events:none;
  }

  .h789-hero__inner{
    position:relative;
    z-index:1;
    max-width:1300px;
    margin:0 auto;
    text-align:center;
  }

  /* ================================================================
     Ambient video layer — ONE clip fills the hero at a time (full-bleed,
     object-fit:cover so it always shows as a clean widescreen shot
     rather than being squeezed into a vertical strip). A light ivory
     wash sits on top just to keep the eyebrow/title/subtitle and cards
     legible — dialed back so the footage itself stays clearly visible.
     Sits behind .h789-hero__inner (z-index:1) via z-index:0.
     Playback cycling (swap to next clip every ~6s / on 'ended') is
     handled by the script near the end of the file.
     ================================================================ */
  .h789-hero__bgvideos{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
    pointer-events:none;
    /* fade the top and bottom edges to transparent so the footage
       dissolves into the section's ivory background instead of
       ending in a hard rectangular line against the menu bar above
       and the card row below */
    -webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 130px, #000 calc(100% - 130px), transparent 100%);
            mask-image:linear-gradient(to bottom, transparent 0, #000 130px, #000 calc(100% - 130px), transparent 100%);
  }
  .h789-hero__bgvideo{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity .8s ease;
    /* Isolates the video on its own compositor layer so other work on
       the page (like the card-tilt effect above) can never block its
       decode/paint, even under heavy main-thread load. */
    will-change:opacity;
    transform:translateZ(0);
  }
  .h789-hero__bgvideo.is-active{
    opacity:1;
  }
  /* light ivory wash — enough to keep text legible without hiding the
     footage; tune the opacity values below to taste (lower = more
     visible video, higher = more legible text) */
  .h789-hero__bgvideos::after{
    content:"";
    position:absolute; inset:0;
    background:
      radial-gradient(ellipse 70% 60% at 50% 42%, rgba(253,251,248,.58) 0%, rgba(253,251,248,.48) 55%, rgba(253,251,248,.36) 100%);
  }

  @media (prefers-reduced-motion: reduce){
    .h789-hero__bgvideos{ display:none; }
  }
  /* Video now plays on mobile too, at the user's request. Note this
     does mean phones on slower connections / limited data plans will
     download video instead of just a static hero — if that ever
     becomes a problem, re-add a max-width:720px rule here to hide
     .h789-hero__bgvideos on small screens again. */

  /* Light background now, so the heading borrows the same teal + gold
     pairing as the logo lockup (brand name teal, tagline gold-deep italic) */
  .h789-hero__eyebrow{
    display:inline-block;
    font-family:'Jost', sans-serif;
    font-size:clamp(15px, 1.9vw, 18px);
    font-weight:600;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:16px;
    /* richer, more saturated gold + a slow glitter sweep across the letters */
    background-image:linear-gradient(100deg,
      var(--gold-rich) 0%,
      var(--gold-rich) 38%,
      var(--gold-bright) 50%,
      var(--gold-rich) 62%,
      var(--gold-rich) 100%);
    background-size:260% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:var(--gold-rich);
    text-shadow:0 0 14px rgba(156,111,11,.25);
    animation:h789Glitter 5.5s linear infinite;
  }

  @keyframes h789Glitter{
    0%{ background-position:220% 0; }
    100%{ background-position:-60% 0; }
  }

  .h789-hero__title{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:clamp(2rem, 5vw, 3.6rem);
    line-height:1.1;
    margin:0 0 14px;
    color:var(--teal);
    /* Same continuous-sweep pattern as the eyebrow glitter above (a
       single 0%→100% linear loop, no hold/pause keyframes) — the
       previous hold-then-jump version stalled visually on the first
       word because the eased pause segments ate most of the cycle. */
    background-image:linear-gradient(100deg,
      var(--teal) 0%,
      var(--teal) 44%,
      var(--gold-bright) 50%,
      var(--teal) 56%,
      var(--teal) 100%);
    background-size:300% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:h789TitleShine 15s ease-in-out infinite;
  }

  @keyframes h789TitleShine{
    0%   { background-position:220% 0; }
    100% { background-position:-120% 0; }
  }

  .h789-hero__subtitle{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:600;
    font-size:clamp(1.25rem, 2.1vw, 1.65rem);
    color:var(--gold-rich);
    text-shadow:0 1px 14px rgba(253,251,248,.85), 0 1px 12px rgba(156,111,11,.18);
    max-width:600px;
    margin:0 auto clamp(32px, 5vw, 52px);
  }

  /* perspective wrapper for the fanned 3D cards */
  .h789-stage{
    --lift: -46px;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:flex-end;
    perspective:1500px;
    padding:36px 0 4px;
    transition:transform .5s cubic-bezier(.2,.8,.2,1);
    will-change:transform;
  }

  /* soft gold halo blurred behind the fan — gives the cards a sense of
     depth/lift off the page instead of sitting flat on white */
  .h789-stage::before{
    content:"";
    position:absolute;
    left:50%;
    top:54%;
    width:112%;
    height:130%;
    transform:translate(-50%,-50%);
    background:radial-gradient(ellipse at center, rgba(204,178,97,.32) 0%, rgba(204,178,97,.14) 38%, rgba(204,178,97,0) 72%);
    filter:blur(22px);
    z-index:-1;
    pointer-events:none;
  }

  .h789-card{
    all:unset;
    position:relative;
    display:block;
    cursor:pointer;
    width:clamp(102px, 10.6vw, 156px);
    aspect-ratio:9/16;
    margin-left:clamp(-32px, -3.2vw, -18px);
    border-radius:16px 7px 16px 7px;
    overflow:hidden;
    box-shadow:0 16px 34px rgba(15,39,37,.32), 0 2px 0 rgba(228,217,184,.10) inset;
    outline:2px solid transparent;
    outline-offset:3px;
    transform-style:preserve-3d;
    transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease, filter .5s ease;
  }
  .h789-card:first-child{ margin-left:0; }
  .h789-card:focus-visible{ outline-color:var(--gold); }

  /* premium gradient border frame — sits above the photo/media and label,
     drawn as a thin ring (mask-out the centre) so whatever you upload as
     --photo shows cleanly inside it without the teal placeholder ever
     bleeding through at the edges */
  .h789-card::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    padding:2.6px;
    background:linear-gradient(150deg,
      var(--gold-bright) 0%,
      var(--gold) 22%,
      var(--teal-soft) 52%,
      var(--gold-deep) 78%,
      var(--gold-bright) 100%);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
    opacity:.9;
    transition:opacity .4s ease, padding .4s ease;
  }
  .h789-card:hover::after,
  .h789-card:focus-visible::after{
    padding:3.2px;
    opacity:1;
  }

  /* corner bracket ticks — two thin gold L-marks that fade in on hover,
     like the register marks on a framed print or museum label. Reads as
     refined framing rather than an icon or logo. */
  .h789-card::before{
    content:"";
    position:absolute;
    top:9px; left:9px; right:9px; bottom:9px;
    background-image:
      linear-gradient(var(--gold-bright), var(--gold-bright)),
      linear-gradient(var(--gold-bright), var(--gold-bright)),
      linear-gradient(var(--gold-bright), var(--gold-bright)),
      linear-gradient(var(--gold-bright), var(--gold-bright));
    background-repeat:no-repeat;
    background-size:11px 1.5px, 1.5px 11px, 11px 1.5px, 1.5px 11px;
    background-position:
      top left, top left,
      bottom right, bottom right;
    opacity:0;
    transition:opacity .4s ease;
    pointer-events:none;
    z-index:4;
  }
  .h789-card:hover::before,
  .h789-card:focus-visible::before{
    opacity:.85;
  }
  .h789-card:hover::before,
  .h789-card:focus-visible::before{
    opacity:1;
    transform:scale(1) rotate(0deg);
  }

  /* fanned resting position — angled and offset a little differently per
     card, echoing the wave from the reference screenshot */
  .h789-card:nth-child(1){ transform:rotate(-9deg)  translateY(24px); z-index:4; }
  .h789-card:nth-child(2){ transform:rotate(6deg)   translateY(-6px); z-index:6; }
  .h789-card:nth-child(3){ transform:rotate(-5deg)  translateY(16px); z-index:8; }
  .h789-card:nth-child(4){ transform:rotate(3deg)   translateY(-2px); z-index:9; }
  .h789-card:nth-child(5){ transform:rotate(0deg)   translateY(-18px); z-index:10; }
  .h789-card:nth-child(6){ transform:rotate(-3deg)  translateY(-2px); z-index:9; }
  .h789-card:nth-child(7){ transform:rotate(5deg)   translateY(16px); z-index:8; }
  .h789-card:nth-child(8){ transform:rotate(-6deg)  translateY(-6px); z-index:6; }
  .h789-card:nth-child(9){ transform:rotate(9deg)   translateY(24px); z-index:4; }

  .h789-card:hover,
  .h789-card:focus-visible{
    transform:rotate(0deg) translateY(var(--lift)) translateZ(64px) scale(1.07) !important;
    z-index:50 !important;
    box-shadow:
      0 34px 64px rgba(15,39,37,.4),
      0 0 0 1px rgba(204,178,97,.18),
      0 18px 40px rgba(156,111,11,.16),
      0 2px 0 rgba(228,217,184,.18) inset;
  }

  /* neighbours recede slightly so the hovered card reads as the focal point
     — pure CSS, no JS needed: any hover inside the stage dims cards that
     aren't themselves being hovered */
  .h789-stage:hover .h789-card:not(:hover){
    filter:saturate(.75) brightness(.94);
  }

  .h789-card__media{
    position:absolute; inset:0;
    background-image:var(--photo, linear-gradient(158deg, var(--teal-soft) 0%, var(--teal) 100%));
    background-size:cover;
    background-position:center;
    transform-origin:center;
    animation:h789KenBurns 18s ease-in-out infinite alternate;
  }

  /* Slow, cinematic zoom — 1.0 to 1.12 scale over 18s, alternating back
     and forth forever. Kept subtle (12%) and slow so it reads as gentle
     ambient motion rather than an obvious "effect". */
  @keyframes h789KenBurns{
    0%   { transform:scale(1); }
    100% { transform:scale(1.12); }
  }

  /* Negative animation-delays start each card mid-cycle instead of all
     beginning at scale(1) together — the stack immediately looks
     organically offset instead of syncing up and drifting apart slowly. */
  .h789-card:nth-child(2) .h789-card__media{ animation-delay:-3s; }
  .h789-card:nth-child(3) .h789-card__media{ animation-delay:-11s; }
  .h789-card:nth-child(4) .h789-card__media{ animation-delay:-6s; }
  .h789-card:nth-child(5) .h789-card__media{ animation-delay:-15s; }
  .h789-card:nth-child(6) .h789-card__media{ animation-delay:-9s; }
  .h789-card:nth-child(7) .h789-card__media{ animation-delay:-2s; }
  .h789-card:nth-child(8) .h789-card__media{ animation-delay:-13s; }
  .h789-card:nth-child(9) .h789-card__media{ animation-delay:-5s; }

  /* placeholder motif — purely decorative so empty cards don't look like
     broken assets; it sits underneath whatever photo you add via --photo */
  .h789-card__media::after{
    content:"";
    position:absolute; inset:0;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M50 20c14 0 22 10 22 24 0 16-12 22-12 32 0 6 5 8 10 8v4c-10 2-22-3-22-16 0-13 12-20 12-32 0-9-5-16-16-16s-18 8-18 18c0 8 5 13 12 13v4c-10 0-18-8-18-19 0-16 13-28 30-28z' fill='none' stroke='%23E4D9B8' stroke-width='1.1' opacity='0.28'/></svg>");
    background-repeat:no-repeat;
    background-position:center 20%;
    background-size:30% auto;
    pointer-events:none;
  }

  /* gentle wash across the whole photo so text keeps contrast no matter
     what's behind it, plus a frosted pill sitting right behind the label */
  .h789-card__scrim{
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(15,39,37,.06) 0%, rgba(15,39,37,.10) 55%, rgba(15,39,37,.30) 100%),
      radial-gradient(120% 90% at 50% 50%, rgba(15,39,37,0) 55%, rgba(15,39,37,.24) 100%);
  }

  .h789-card__label{
    position:absolute; left:12px; right:12px; top:50%;
    transform:translateY(-50%);
    display:grid;
    height:32px;
    border-radius:8px;
    overflow:hidden;
    background:linear-gradient(135deg, rgba(33,74,73,.80) 0%, rgba(15,39,37,.90) 100%);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    box-shadow:
      0 6px 16px rgba(15,39,37,.32),
      inset 0 0 0 1px rgba(228,217,184,.30),
      inset 0 1px 0 rgba(255,255,255,.08);
    z-index:3;
  }
  .h789-card__hi,
  .h789-card__en{
    grid-area:1 / 1;
    font-family:'Jost', sans-serif;
    font-size:12.5px;
    font-weight:500;
    letter-spacing:.03em;
    line-height:32px;
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    padding:0 10px;
    transition:transform .4s cubic-bezier(.4,0,.2,1), opacity .35s ease;
  }
  .h789-card__hi{ color:var(--ivory); transform:translateY(0); opacity:1; }
  .h789-card__en{
    color:var(--gold-soft);
    font-style:italic;
    font-variant:small-caps;
    letter-spacing:.05em;
    transform:translateY(115%);
    opacity:0;
  }

  .h789-card:hover .h789-card__hi,
  .h789-card:focus-visible .h789-card__hi{ transform:translateY(-115%); opacity:0; }
  .h789-card:hover .h789-card__en,
  .h789-card:focus-visible .h789-card__en{ transform:translateY(0); opacity:1; }

  @media (prefers-reduced-motion: reduce){
    .h789-stage, .h789-card, .h789-card__hi, .h789-card__en{ transition:none !important; }
    .h789-hero__eyebrow{ animation:none !important; background-position:0 0; }
    .h789-hero__title{ animation:none !important; background-position:0 0; }
    .h789-card__media{ animation:none !important; transform:scale(1) !important; }
  }

  /* mobile — fan collapses into a swipeable row; hover doesn't exist on
     touch, so links just work like tapping a nav item does today */
  @media (max-width: 720px){
    .h789-stage{
      justify-content:flex-start;
      overflow-x:auto;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:none;
      padding-left:6vw;
      padding-right:6vw;
    }
    .h789-stage::-webkit-scrollbar{ display:none; }
    .h789-card{
      width:132px;
      margin-left:16px;
      scroll-snap-align:center;
      transform:none !important;
      flex:0 0 auto;
    }
    .h789-card:first-child{ margin-left:0; }
  }

  /* ============ Trust strip — below hero ============ */
  .h789-trust{
    position:relative;
    background-color:var(--ivory);
    padding:clamp(32px, 5vw, 56px) 6vw clamp(40px, 6vw, 64px);
    border-top:1px solid transparent;
    border-image:linear-gradient(90deg,
      rgba(204,178,97,0) 0%,
      rgba(204,178,97,.18) 50%,
      rgba(204,178,97,0) 100%) 1;
  }
  .h789-trust__row{
    max-width:1240px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
  }
  .h789-trust__card{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:34px 20px 26px;
    border-radius:14px 6px 14px 6px;
    background:linear-gradient(180deg, #FDFBF8 0%, var(--ivory) 100%);
    border:2px solid rgba(33,74,73,.55);
    box-shadow:0 10px 26px rgba(33,74,73,.10);
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    text-decoration:none;
  }
  .h789-trust__card:hover{
    transform:translateY(-4px);
    border-color:var(--teal);
    box-shadow:0 18px 36px rgba(33,74,73,.22);
  }
  /* thin gold corner ticks, same family as the hero cards, kept static
     here (not hover-only) since these cards read best with a constant
     touch of framing rather than a reveal */
  .h789-trust__card::before, .h789-trust__card::after{
    content:"";
    position:absolute;
    width:20px; height:20px;
    border:3px solid var(--gold-deep);
    opacity:.85;
  }
  .h789-trust__card::before{ top:8px; left:8px; border-right:none; border-bottom:none; }
  .h789-trust__card::after{ bottom:8px; right:8px; border-left:none; border-top:none; }

  .h789-trust__icon{
    width:60px; height:60px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:2.2px solid rgba(204,178,97,.75);
    background:radial-gradient(circle at 50% 28%, rgba(204,178,97,.14), rgba(204,178,97,0) 72%);
    color:var(--teal);
    margin-bottom:18px;
  }
  .h789-trust__icon svg{ width:28px; height:28px; }

  .h789-trust__headline{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:15.5px;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--teal);
    margin:0 0 8px;
  }
  .h789-trust__desc{
    font-family:'Jost', sans-serif;
    font-size:12.5px;
    line-height:1.55;
    color:#5b6f6c;
    margin:0 0 20px;
    max-width:220px;
  }
  .h789-trust__cta{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-family:'Jost', sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold-rich);
    border:1.8px solid rgba(156,111,11,.55);
    border-radius:999px;
    padding:9px 18px;
    background:transparent;
    transition:background .3s ease, color .3s ease, border-color .3s ease;
  }
  .h789-trust__cta svg{ width:11px; height:11px; transition:transform .3s ease; }
  .h789-trust__card:hover .h789-trust__cta{
    background:var(--teal);
    color:var(--ivory);
    border-color:var(--teal);
  }
  .h789-trust__card:hover .h789-trust__cta svg{ transform:translate(2px,-2px); }

  @media (max-width: 980px){
    .h789-trust__row{ grid-template-columns:repeat(2, 1fr); }
  }
  @media (max-width: 560px){
    .h789-trust__row{ grid-template-columns:1fr; }
  }

  @media (prefers-reduced-motion: reduce){
    .h789-trust__card, .h789-trust__cta, .h789-trust__cta svg{ transition:none !important; }
  }

  /* ============ Shop by Category — product shelves below trust strip ============ */
  .h789-shelf-section{
    position:relative;
    background-color:var(--ivory);
    padding:clamp(8px, 2vw, 16px) 6vw clamp(48px, 6vw, 72px);
  }
  .h789-shelf{
    max-width:1240px;
    margin:0 auto;
    padding:clamp(30px, 4vw, 42px) 0;
  }
  .h789-shelf + .h789-shelf{
    border-top:1px solid rgba(33,74,73,.10);
  }

  .h789-shelf__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:20px;
  }
  .h789-shelf__title{
    position:relative;
    display:inline-grid;
    align-items:center;
    height:44px;
    overflow:hidden;
    cursor:default;
  }
  .h789-shelf__hi, .h789-shelf__en{
    grid-area:1 / 1;
    white-space:nowrap;
    transition:transform .4s cubic-bezier(.4,0,.2,1), opacity .3s ease;
  }
  .h789-shelf__hi{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:clamp(19px, 2.1vw, 25px);
    color:var(--teal);
    transform:translateY(0);
    opacity:1;
  }
  .h789-shelf__en{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:700;
    font-size:clamp(24px, 2.9vw, 34px);
    letter-spacing:.01em;
    color:var(--gold-deep);
    transform:translateY(115%);
    opacity:0;
  }
  .h789-shelf__title:hover .h789-shelf__hi{ transform:translateY(-115%); opacity:0; }
  .h789-shelf__title:hover .h789-shelf__en{ transform:translateY(0); opacity:1; }

  .h789-shelf__viewall{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-family:'Jost', sans-serif;
    font-size:11.5px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold-rich);
    border:1.8px solid rgba(156,111,11,.55);
    border-radius:999px;
    padding:9px 18px;
    background:transparent;
    text-decoration:none;
    white-space:nowrap;
    transition:background .3s ease, color .3s ease, border-color .3s ease;
  }
  .h789-shelf__viewall svg{ width:11px; height:11px; transition:transform .3s ease; }
  .h789-shelf__viewall:hover{
    background:var(--teal);
    color:var(--ivory);
    border-color:var(--teal);
  }
  .h789-shelf__viewall:hover svg{ transform:translate(2px,-2px); }

  .h789-shelf__strip{ position:relative; }

  .h789-shelf__track{
    display:flex;
    gap:16px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;
    padding:4px 6px 14px;
    -ms-overflow-style:none;
    scrollbar-width:none;
  }
  .h789-shelf__track::-webkit-scrollbar{ display:none; }

  .h789-shelf__item{
    all:unset;
    position:relative;
    display:block;
    cursor:pointer;
    flex:0 0 auto;
    width:clamp(122px, 12vw, 168px);
    aspect-ratio:3/4;
    border-radius:12px 6px 12px 6px;
    overflow:hidden;
    background-image:var(--photo, linear-gradient(158deg, var(--teal-soft) 0%, var(--teal) 100%));
    background-size:cover;
    background-position:center;
    border:1px solid rgba(33,74,73,.14);
    box-shadow:0 8px 20px rgba(33,74,73,.10);
    scroll-snap-align:start;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  /* placeholder motif — same paisley used on the hero cards, so empty
     slots don't look like broken images before you add real photos */
  .h789-shelf__item::after{
    content:"";
    position:absolute; inset:0;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M50 20c14 0 22 10 22 24 0 16-12 22-12 32 0 6 5 8 10 8v4c-10 2-22-3-22-16 0-13 12-20 12-32 0-9-5-16-16-16s-18 8-18 18c0 8 5 13 12 13v4c-10 0-18-8-18-19 0-16 13-28 30-28z' fill='none' stroke='%23E4D9B8' stroke-width='1.1' opacity='0.22'/></svg>");
    background-repeat:no-repeat;
    background-position:center 22%;
    background-size:34% auto;
    pointer-events:none;
  }
  .h789-shelf__item:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 28px rgba(33,74,73,.20);
  }

  .h789-shelf__badge{
    position:absolute;
    top:8px; left:8px;
    font-family:'Jost', sans-serif;
    font-size:9.5px;
    font-weight:600;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:var(--teal);
    background:var(--gold-bright);
    border-radius:999px;
    padding:3px 9px;
    box-shadow:0 2px 6px rgba(33,74,73,.18);
    z-index:2;
  }

  .h789-shelf__arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:38px; height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1.6px solid rgba(204,178,97,.65);
    background:rgba(255,255,255,.94);
    color:var(--teal);
    cursor:pointer;
    box-shadow:0 8px 20px rgba(33,74,73,.16);
    transition:background .3s ease, color .3s ease, border-color .3s ease, opacity .3s ease;
    z-index:3;
  }
  .h789-shelf__arrow svg{ width:15px; height:15px; }
  .h789-shelf__arrow:hover{
    background:var(--teal);
    color:var(--ivory);
    border-color:var(--teal);
  }
  .h789-shelf__arrow--prev{ left:-8px; }
  .h789-shelf__arrow--next{ right:-8px; }
  .h789-shelf__arrow:disabled{
    opacity:0;
    pointer-events:none;
  }

  @media (max-width: 980px){
    .h789-shelf__arrow--prev{ left:-4px; }
    .h789-shelf__arrow--next{ right:-4px; }
  }
  @media (max-width: 560px){
    .h789-shelf__head{ gap:10px; margin-bottom:14px; }
    .h789-shelf__viewall{ padding:7px 14px; font-size:10.5px; }
  }
  @media (hover: none){
    .h789-shelf__arrow{ display:none; }
  }

  @media (prefers-reduced-motion: reduce){
    .h789-shelf__hi, .h789-shelf__en, .h789-shelf__item,
    .h789-shelf__viewall, .h789-shelf__viewall svg{ transition:none !important; }
  }

  /* ============ Every Drape in Motion — video-preview cards inside a shelf ============ */
  /* Applied together with .h789-shelf__item (e.g. on a <div>), so it only
     adds what's different for a video card rather than resetting anything. */
  .h789-shelf__item--video{
    cursor:pointer;
  }
  .h789-shelf__video{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    background:var(--teal-soft);
    pointer-events:none;
  }
  /* bottom scrim so the tag + shop chip stay readable over any footage */
  .h789-shelf__item--video::before{
    content:"";
    position:absolute; left:0; right:0; bottom:0; height:50%;
    background:linear-gradient(180deg, rgba(15,39,37,0) 0%, rgba(15,39,37,.62) 100%);
    pointer-events:none;
    z-index:1;
  }
  .h789-shelf__video-tag{
    position:absolute; top:8px; left:8px;
    font-family:'Jost', sans-serif;
    font-size:9px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ivory);
    background:rgba(33,74,73,.72);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    border-radius:999px;
    padding:3px 9px;
    z-index:2;
  }
  .h789-shelf__play{
    position:absolute; inset:0;
    display:grid;
    place-items:center;
    z-index:2;
    pointer-events:none;
    transition:opacity .25s ease;
  }
  .h789-shelf__play span{
    width:38px; height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    box-shadow:0 6px 16px rgba(15,39,37,.32);
  }
  .h789-shelf__play svg{ width:14px; height:14px; margin-left:2px; fill:var(--teal); }
  .h789-shelf__item--video.is-playing .h789-shelf__play{ opacity:0; }

  .h789-shelf__shop-chip{
    position:absolute; left:8px; right:8px; bottom:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    font-family:'Jost', sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ivory);
    background:rgba(33,74,73,.88);
    border:1px solid rgba(228,217,184,.35);
    border-radius:999px;
    padding:7px 10px;
    text-decoration:none;
    z-index:3;
    transition:background .25s ease;
  }
  .h789-shelf__shop-chip:hover{ background:var(--teal); }

  @media (prefers-reduced-motion: reduce){
    .h789-shelf__play{ transition:none !important; }
  }

  /* ============ Customer Love — testimonial strip (sits directly below
     "Every Drape in Motion"). Background is the site teal at low opacity,
     just enough to separate this block from the white shelves above it
     while staying much lighter than the solid teal used up top / that
     the footer will use. ============ */
  .h789-testi-section{
    position:relative;
    background-color:rgba(33,74,73,.07);
    padding:clamp(48px, 6vw, 76px) 6vw clamp(56px, 7vw, 84px);
  }
  .h789-testi{
    max-width:1240px;
    margin:0 auto;
  }
  .h789-testi__head{
    text-align:center;
    margin-bottom:clamp(28px, 4vw, 40px);
  }
  .h789-testi__heading{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:clamp(22px, 2.6vw, 32px);
    color:var(--teal);
    letter-spacing:.01em;
  }

  .h789-testi__strip{ position:relative; }

  .h789-testi__track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;
    padding:4px 6px 10px;
    -ms-overflow-style:none;
    scrollbar-width:none;
  }
  .h789-testi__track::-webkit-scrollbar{ display:none; }

  .h789-testi__card{
    flex:0 0 auto;
    width:clamp(240px, 26vw, 300px);
    background:var(--ivory);
    border:1px solid rgba(33,74,73,.12);
    border-radius:14px 6px 14px 6px;
    box-shadow:0 10px 26px rgba(33,74,73,.08);
    padding:22px 22px 20px;
    scroll-snap-align:start;
    display:flex;
    flex-direction:column;
    gap:10px;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .h789-testi__card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 32px rgba(33,74,73,.14);
  }
  .h789-testi__stars{
    display:flex;
    gap:2px;
    color:var(--gold);
  }
  .h789-testi__stars svg{ width:15px; height:15px; }
  .h789-testi__quote{
    font-family:'Jost', sans-serif;
    font-size:14px;
    line-height:1.55;
    color:var(--ink-muted);
    flex:1;
  }
  .h789-testi__name{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:14.5px;
    color:var(--teal);
  }
  .h789-testi__date{
    font-family:'Jost', sans-serif;
    font-size:11px;
    letter-spacing:.04em;
    color:var(--ink-muted);
    opacity:.75;
  }

  .h789-testi__arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:38px; height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1.6px solid rgba(204,178,97,.65);
    background:rgba(255,255,255,.94);
    color:var(--teal);
    cursor:pointer;
    box-shadow:0 8px 20px rgba(33,74,73,.16);
    transition:background .3s ease, color .3s ease, border-color .3s ease, opacity .3s ease;
    z-index:3;
  }
  .h789-testi__arrow svg{ width:15px; height:15px; }
  .h789-testi__arrow:hover{
    background:var(--teal);
    color:var(--ivory);
    border-color:var(--teal);
  }
  .h789-testi__arrow--prev{ left:-8px; }
  .h789-testi__arrow--next{ right:-8px; }
  .h789-testi__arrow:disabled{
    opacity:0;
    pointer-events:none;
  }

  .h789-testi__foot{
    text-align:center;
    margin-top:clamp(28px, 4vw, 38px);
  }
  .h789-testi__viewall{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:'Jost', sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--ivory);
    background:var(--teal);
    border:1.8px solid var(--teal);
    border-radius:999px;
    padding:13px 30px;
    text-decoration:none;
    white-space:nowrap;
    transition:background .3s ease, color .3s ease, border-color .3s ease;
  }
  .h789-testi__viewall svg{ width:12px; height:12px; transition:transform .3s ease; }
  .h789-testi__viewall:hover{
    background:transparent;
    color:var(--teal);
  }
  .h789-testi__viewall:hover svg{ transform:translate(2px,-2px); }

  @media (max-width: 980px){
    .h789-testi__arrow--prev{ left:-4px; }
    .h789-testi__arrow--next{ right:-4px; }
  }
  @media (hover: none){
    .h789-testi__arrow{ display:none; }
  }
  @media (prefers-reduced-motion: reduce){
    .h789-testi__card, .h789-testi__viewall, .h789-testi__viewall svg{ transition:none !important; }
  }

  /* ================================================================
     FOOTER — reuses the exact same tokens as the header/hero above
     (--teal, --gold family, Fraunces/Cormorant Garamond/Jost) so it
     reads as one continuous brand system rather than a bolted-on piece.
     ================================================================ */
  .h789-footer{
    position:relative;
    background-color:var(--teal);
    color:var(--gold-soft);
    font-family:'Jost', sans-serif;
    border-top:1px solid transparent;
    border-image:linear-gradient(90deg,
      rgba(204,178,97,0) 0%,
      rgba(204,178,97,.55) 50%,
      rgba(204,178,97,0) 100%) 1;
  }

  .h789-footer__main{
    max-width:1300px;
    margin:0 auto;
    padding:clamp(48px, 6vw, 72px) clamp(20px, 4vw, 56px) clamp(36px, 5vw, 52px);
    display:grid;
    grid-template-columns: 1.35fr 1fr 1fr 1.15fr;
    gap:clamp(28px, 4vw, 56px);
  }

  .h789-footer__brand{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    margin-bottom:22px;
  }
  .h789-footer__mark{
    width:44px; height:44px; flex:0 0 auto;
    display:flex; align-items:center; justify-content:center;
  }
  .h789-footer__mark img{ width:100%; height:100%; object-fit:contain; }
  .h789-footer__wordmark{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:24px;
    color:var(--ivory);
    letter-spacing:.005em;
    white-space:nowrap;
  }

  .h789-footer__manuf-label{
    font-family:'Jost', sans-serif;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:var(--gold);
    margin:0 0 10px;
  }
  .h789-footer__legal-name{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:15px;
    color:var(--ivory);
    margin:0 0 8px;
  }
  .h789-footer__address{
    font-size:13.5px;
    line-height:1.7;
    color:var(--gold-soft);
    opacity:.85;
    margin:0 0 10px;
    max-width:280px;
  }
  .h789-footer__origin{
    font-size:13px;
    color:var(--gold-soft);
    opacity:.85;
  }
  .h789-footer__origin b{
    color:var(--ivory);
    font-weight:600;
  }

  .h789-footer__heading{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:14px;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:var(--gold-bright);
    margin:0 0 20px;
  }
  .h789-footer__links{
    list-style:none;
    margin:0; padding:0;
    display:flex;
    flex-direction:column;
    gap:13px;
  }
  .h789-footer__links a{
    position:relative;
    display:inline-flex;
    align-items:center;
    color:var(--gold-soft);
    text-decoration:none;
    font-size:13.5px;
    letter-spacing:.01em;
    width:max-content;
    transition:color .25s ease;
  }
  .h789-footer__links a::after{
    content:"";
    position:absolute;
    left:0; bottom:-3px;
    width:0; height:1px;
    background:var(--gold);
    transition:width .25s ease;
  }
  .h789-footer__links a:hover{ color:var(--ivory); }
  .h789-footer__links a:hover::after{ width:100%; }

  .h789-footer__lede{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:600;
    font-size:15px;
    line-height:1.5;
    color:var(--gold-soft);
    margin:0 0 18px;
    max-width:270px;
  }

  .h789-footer__form{
    display:flex;
    align-items:center;
    border:1.5px solid rgba(228,217,184,.4);
    border-radius:9px;
    background:var(--teal-deep, #163332);
    overflow:hidden;
    transition:border-color .25s ease, box-shadow .25s ease;
  }
  .h789-footer__form:focus-within{
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(204,178,97,.18);
  }
  .h789-footer__form input{
    flex:1 1 auto;
    min-width:0;
    height:46px;
    border:none;
    background:transparent;
    padding:0 14px;
    font-family:'Jost', sans-serif;
    font-size:13.5px;
    color:var(--ivory);
    outline:none;
  }
  .h789-footer__form input::placeholder{
    color:rgba(228,217,184,.55);
    font-style:italic;
  }
  .h789-footer__form button{
    flex:0 0 auto;
    width:46px; height:46px;
    border:none;
    background:var(--gold);
    color:var(--teal);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    transition:background .25s ease;
  }
  .h789-footer__form button:hover{ background:var(--gold-bright); }
  .h789-footer__form button svg{ width:16px; height:16px; }

  .h789-footer__trust{
    margin-top:18px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-radius:12px 5px 12px 5px;
    background:rgba(228,217,184,.06);
    border:1px solid rgba(228,217,184,.22);
  }
  .h789-footer__trust-icon{
    width:34px; height:34px; flex:0 0 auto;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:var(--gold);
    color:var(--teal);
  }
  .h789-footer__trust-icon svg{ width:17px; height:17px; }
  .h789-footer__trust-text{ line-height:1.35; }
  .h789-footer__trust-title{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:12.5px;
    color:var(--ivory);
  }
  .h789-footer__trust-sub{
    font-size:11px;
    color:var(--gold-soft);
    opacity:.8;
  }

  .h789-footer__social{
    max-width:1300px;
    margin:0 auto;
    padding:0 clamp(20px, 4vw, 56px) clamp(32px, 4vw, 44px);
    display:flex;
    justify-content:center;
    gap:14px;
  }
  .h789-footer__social a{
    width:38px; height:38px;
    display:flex; align-items:center; justify-content:center;
    border-radius:50%;
    border:1.4px solid rgba(228,217,184,.35);
    color:var(--gold-soft);
    text-decoration:none;
    transition:background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
  }
  .h789-footer__social a svg{ width:16px; height:16px; }
  .h789-footer__social a:hover{
    background:var(--gold);
    border-color:var(--gold);
    color:var(--teal);
    transform:translateY(-2px);
  }

  .h789-footer__legal{
    border-top:1px solid rgba(228,217,184,.16);
    padding:20px clamp(20px, 4vw, 56px);
  }
  .h789-footer__legal-row{
    max-width:1300px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
  }
  .h789-footer__copy{
    font-size:12px;
    color:var(--gold-soft);
    opacity:.75;
    letter-spacing:.02em;
  }
  .h789-footer__copy b{ color:var(--gold); font-weight:600; }

  .h789-footer__payments{
    display:flex;
    align-items:center;
    gap:8px;
  }
  .h789-footer__payments span{
    height:26px;
    padding:0 10px;
    display:flex; align-items:center; justify-content:center;
    border-radius:5px;
    background:rgba(255,255,255,.9);
    color:var(--teal);
    font-family:'Jost', sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:.03em;
  }

  @media (max-width: 980px){
    .h789-footer__main{
      grid-template-columns: 1fr 1fr;
      row-gap:40px;
    }
  }

  @media (max-width: 620px){
    .h789-footer__main{ grid-template-columns: 1fr; }
    .h789-footer__legal-row{ flex-direction:column; align-items:flex-start; }
  }

  @media (prefers-reduced-motion: reduce){
    .h789-footer__links a, .h789-footer__links a::after,
    .h789-footer__social a, .h789-footer__form button{ transition:none !important; }
  }


/* ================================================================
   WHOLESALE / B2B PAGE — page-wholesale.php
   Deliberately uses a simple solid-color heading (not the animated
   gradient-sweep title from the homepage hero) — a calmer, more
   "business" tone fits a B2B landing page better, and it sidesteps
   any risk of that more complex effect rendering oddly here.
   ================================================================ */

.h789-b2b-intro{
  background: linear-gradient(180deg, var(--ivory) 0%, #F7F1E4 100%);
  padding: 88px 6vw 72px;
  text-align: center;
}
.h789-b2b-intro__inner{
  max-width: 720px;
  margin: 0 auto;
}
.h789-b2b-intro__eyebrow{
  display:inline-block;
  font-family:'Jost', sans-serif;
  font-size:clamp(13px, 1.6vw, 15px);
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold-rich);
  margin-bottom:16px;
}
.h789-b2b-intro__title{
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:clamp(2rem, 4.4vw, 3.1rem);
  line-height:1.15;
  color:var(--teal);
  margin:0 0 18px;
}
.h789-b2b-intro__subtitle{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:600;
  font-size:clamp(1.15rem, 2vw, 1.5rem);
  color:var(--ink-muted);
  max-width:560px;
  margin:0 auto 34px;
  line-height:1.5;
}
.h789-b2b-intro__whatsapp{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'Jost', sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ivory);
  background:var(--teal);
  border:1.8px solid var(--teal);
  border-radius:999px;
  padding:14px 30px;
  box-shadow:var(--shadow);
  transition:background .3s ease, transform .3s ease, box-shadow .3s ease;
}
.h789-b2b-intro__whatsapp svg{ width:20px; height:20px; }
.h789-b2b-intro__whatsapp:hover{
  background:var(--teal-soft);
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(33,74,73,.16);
}

/* ---- Album content area (the_content() — Heading + Gallery blocks) ---- */
.h789-b2b-albums{
  max-width:1200px;
  margin:0 auto;
  padding:64px 6vw 100px;
}
.h789-b2b-albums h2,
.h789-b2b-albums h3,
.h789-b2b-albums h4,
.h789-b2b-albums .wp-block-heading{
  font-family:'Fraunces', serif !important;
  font-weight:700 !important;
  font-size:clamp(1.5rem, 2.6vw, 2.1rem) !important;
  color:var(--teal) !important;
  margin:64px 0 8px;
  position:relative;
}
.h789-b2b-albums > *:first-child h2,
.h789-b2b-albums > *:first-child h3,
.h789-b2b-albums > *:first-child h4,
.h789-b2b-albums > *:first-child .wp-block-heading,
.h789-b2b-albums h2:first-child,
.h789-b2b-albums h3:first-child,
.h789-b2b-albums h4:first-child,
.h789-b2b-albums .wp-block-heading:first-child{
  margin-top:0;
}
.h789-b2b-albums h2::after,
.h789-b2b-albums h3::after,
.h789-b2b-albums h4::after,
.h789-b2b-albums .wp-block-heading::after{
  content:"";
  display:block;
  width:56px;
  height:3px;
  background:var(--gold);
  margin-top:14px;
  border-radius:2px;
}
.h789-b2b-albums .wp-block-gallery{
  margin-top:28px;
  gap:14px !important;
}
.h789-b2b-albums .wp-block-image img{
  border-radius:10px;
  box-shadow:var(--shadow);
  transition:transform .35s ease, box-shadow .35s ease;
}
.h789-b2b-albums .wp-block-image:hover img{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(33,74,73,.14);
}
.h789-b2b-albums .wp-block-image figcaption{
  font-family:'Jost', sans-serif;
  font-size:12px;
  color:var(--ink-muted);
  text-align:center;
  margin-top:8px;
}
.h789-b2b-albums p{
  font-family:'Jost', sans-serif;
  font-size:15px;
  line-height:1.7;
  color:var(--ink-muted);
  max-width:760px;
}

@media (max-width: 720px){
  .h789-b2b-intro{ padding:64px 6vw 48px; }
  .h789-b2b-albums{ padding:40px 6vw 64px; }
  .h789-b2b-albums h2{ margin-top:44px; }
}

/* ---- Album covers — horizontal row of square tiles ---- */
.h789-b2b-album-covers{
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  margin-top:4px;
}
.h789-b2b-album-cover{
  flex:1 1 200px;
  max-width:260px;
  background:none;
  border:none;
  padding:0;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.h789-b2b-album-cover__img{
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:12px;
  box-shadow:var(--shadow);
}
.h789-b2b-album-cover__img img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.h789-b2b-album-cover:hover .h789-b2b-album-cover__img img{
  transform:scale(1.06);
}
.h789-b2b-album-cover__label{
  display:block;
  margin-top:12px;
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:1.05rem;
  color:var(--teal);
}
.h789-b2b-album-cover__label em{
  display:block;
  font-style:normal;
  font-family:'Jost', sans-serif;
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--ink-muted);
  margin-top:3px;
}

/* ---- Opened album — square photo tile grid ---- */
.h789-b2b-album-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:none;
  border:none;
  padding:0;
  margin-bottom:22px;
  font-family:'Jost', sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--gold-rich);
  cursor:pointer;
}
.h789-b2b-album-back:hover{ color:var(--teal); }
.h789-b2b-album-detail__title{
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:clamp(1.5rem, 2.6vw, 2.1rem);
  color:var(--teal);
  margin:0 0 24px;
}
.h789-b2b-album-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(170px, 1fr));
  gap:14px;
}
.h789-b2b-tile{
  position:relative;
  aspect-ratio:1/1;
  border-radius:10px;
  overflow:hidden;
  box-shadow:var(--shadow);
  cursor:pointer;
}
.h789-b2b-tile img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.h789-b2b-tile:hover img{ transform:scale(1.05); }
.h789-b2b-tile__wa,
.h789-b2b-tile__share{
  position:absolute;
  bottom:8px;
  width:34px; height:34px;
  padding:0;
  margin:0;
  box-sizing:border-box;
  border-radius:50%;
  -webkit-appearance:none;
  appearance:none;
  outline:none;
  font:inherit;
  line-height:1;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.28);
  transition:transform .2s ease, background .2s ease;
}
.h789-b2b-tile__wa{
  right:8px;
  background:var(--teal);
  border:none;
  color:var(--ivory);
}
.h789-b2b-tile__wa svg{ width:18px; height:18px; display:block; }
.h789-b2b-tile__wa:hover{
  background:var(--teal-soft);
  transform:scale(1.12);
}
.h789-b2b-tile__share{
  left:8px;
  border:none;
  background:rgba(20,20,18,.55);
  color:var(--ivory);
}
.h789-b2b-tile__share svg{ width:16px; height:16px; display:block; }
.h789-b2b-tile__share:hover{
  background:rgba(20,20,18,.8);
  transform:scale(1.12);
}

/* ---- Lightbox ---- */
.h789-b2b-lightbox{
  position:fixed;
  inset:0;
  background:rgba(20,20,18,.92);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:5vh 5vw;
  z-index:9999;
}
.h789-b2b-lightbox__img{
  max-width:min(600px, 90vw);
  max-height:68vh;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}
.h789-b2b-lightbox__close{
  position:absolute;
  top:20px; right:24px;
  background:none;
  border:none;
  font-size:34px;
  line-height:1;
  color:var(--ivory);
  cursor:pointer;
}
.h789-b2b-lightbox__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}
.h789-b2b-lightbox__wa,
.h789-b2b-lightbox__share{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:'Jost', sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  border-radius:999px;
  padding:13px 28px;
  cursor:pointer;
}
.h789-b2b-lightbox__wa{
  color:var(--ivory);
  background:var(--teal);
  border:1.8px solid var(--teal);
}
.h789-b2b-lightbox__wa svg{ width:18px; height:18px; }
.h789-b2b-lightbox__wa:hover{ background:var(--teal-soft); }
.h789-b2b-lightbox__share{
  color:var(--ivory);
  background:transparent;
  border:1.8px solid var(--ivory);
}
.h789-b2b-lightbox__share svg{ width:17px; height:17px; }
.h789-b2b-lightbox__share:hover{ background:rgba(255,255,255,.12); }

@media (max-width: 720px){
  .h789-b2b-album-cover{ flex:1 1 42%; max-width:none; }
  .h789-b2b-album-grid{ grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); }
}

/* ============================================================
   Product Category / Archive Grid (archive-product.php)
   Adds matching styles for the h789-category-* / h789-product-*
   classes used by the custom WooCommerce archive template.
   Without this block those classes have no CSS at all, which is
   why the category page was rendering as plain unstyled text.
   ============================================================ */

.h789-category-page{
  background:var(--ivory);
  padding-bottom:clamp(48px, 6vw, 80px);

  /*
   * The custom archive is rendered inside Storefront's `.col-full`
   * wrapper. Storefront intentionally constrains that wrapper, which
   * causes a custom CSS-grid archive to inherit a narrow content width
   * and collapse to one product column. Break this archive section out
   * to the viewport while keeping the actual product grid centred below.
   */
  width:100vw;
  max-width:none !important;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  float:none !important;
  margin-right:0 !important;
}

/* Neutralise Storefront/WooCommerce layout constraints on this custom archive. */
.h789-category-page.site-main{
  width:100vw !important;
  max-width:none !important;
  float:none !important;
  margin-right:0 !important;
}

/* ---- Heading ---- */
.h789-category-head{
  text-align:center;
  max-width:900px;
  margin:0 auto;
  padding:clamp(48px, 7vw, 76px) 6vw clamp(28px, 4vw, 40px);
}
.h789-category-head__eyebrow{
  display:inline-block;
  font-family:'Jost', sans-serif;
  font-size:clamp(12px, 1.4vw, 14px);
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold-rich);
  margin-bottom:14px;
}
.h789-category-head__title{
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:clamp(1.9rem, 4vw, 2.9rem);
  line-height:1.15;
  color:var(--teal);
  margin:0 0 14px;
}
.h789-category-head__description{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(1.05rem, 1.8vw, 1.3rem);
  color:var(--ink-muted);
  line-height:1.55;
}
.h789-category-head__description p{ margin:0 0 8px; }
.h789-category-head__description p:last-child{ margin-bottom:0; }

/* ---- Result count + sort toolbar ---- */
.h789-category-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  max-width:1600px;
  margin:0 auto;
  padding:0 6vw 20px;
  border-bottom:1px solid rgba(33,74,73,.10);
}
.h789-category-toolbar .woocommerce-result-count{
  font-family:'Jost', sans-serif;
  font-size:16px;
  text-align:left;
  color:var(--ink-muted);
  margin:0;
  padding:0;
  float:none;
  width:auto;
}
.h789-category-toolbar .woocommerce-ordering select{
  font-family:'Jost', sans-serif;
  font-size:16px;
  color:var(--teal);
  background-color:var(--ivory);
  border:1.4px solid rgba(33,74,73,.25);
  border-radius:8px;
  padding:10px 34px 10px 16px;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23214a49' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:14px;
}

/* ---- Product grid ---- */
.h789-product-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:clamp(14px, 1.4vw, 22px);
  max-width:1600px;
  margin:0 auto;
  padding:clamp(28px, 3vw, 40px) 6vw 0;
}

@media (max-width:1100px){
  .h789-product-grid{ grid-template-columns:repeat(4, 1fr); }
}
@media (max-width:800px){
  .h789-product-grid{ grid-template-columns:repeat(3, 1fr); gap:16px; }
}

.h789-product-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:14px 6px 14px 6px;
  overflow:hidden;
  border:1px solid rgba(33,74,73,.10);
  box-shadow:0 8px 20px rgba(33,74,73,.08);
  transition:transform .3s ease, box-shadow .3s ease;
}
.h789-product-card:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 32px rgba(33,74,73,.16);
}

.h789-product-card__image{
  position:relative;
  display:block;
  aspect-ratio:3/4;
  overflow:hidden;
  background:linear-gradient(158deg, var(--teal-soft) 0%, var(--teal) 100%);
}
.h789-product-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}
.h789-product-card:hover .h789-product-card__image img{
  transform:scale(1.06);
}
.h789-product-card__badge{
  position:absolute;
  top:10px; left:10px;
  font-family:'Jost', sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--teal);
  background:var(--gold-bright);
  border-radius:999px;
  padding:4px 11px;
  box-shadow:0 2px 6px rgba(33,74,73,.18);
  z-index:2;
}

.h789-product-card__body{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding:16px 18px 20px;
  flex:1;
}
.h789-product-card__title{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1.05rem;
  line-height:1.3;
  color:var(--teal);
  margin:0;
}
.h789-product-card__title a{
  color:inherit;
  text-decoration:none;
}
.h789-product-card__title a:hover{ color:var(--gold-deep); }

.h789-product-card__price{
  font-family:'Jost', sans-serif;
  font-size:.95rem;
}
.h789-product-card__price .price{ color:var(--gold-rich); font-weight:600; }
.h789-product-card__price del{ color:var(--ink-muted); opacity:.65; text-decoration:line-through; margin-right:7px; font-weight:400; }
.h789-product-card__price ins{ text-decoration:none; }

.h789-product-card__button{
  display:inline-block;
  margin-top:auto;
  align-self:stretch;
  text-align:center;
  font-family:'Jost', sans-serif;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--teal);
  background:transparent;
  border:1.5px solid var(--teal);
  border-radius:999px;
  padding:10px 18px;
  text-decoration:none;
  transition:background .3s ease, color .3s ease;
}
.h789-product-card__button:hover{
  background:var(--teal);
  color:var(--ivory);
}

/* ---- Pagination ---- */
.h789-category-pagination{
  max-width:1600px;
  margin:0 auto;
  padding:clamp(32px, 4vw, 48px) 6vw 0;
  display:flex;
  justify-content:center;
}
.h789-category-pagination nav.woocommerce-pagination ul{
  display:flex;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0;
}
.h789-category-pagination nav.woocommerce-pagination ul li{ display:block; }
.h789-category-pagination nav.woocommerce-pagination ul li a,
.h789-category-pagination nav.woocommerce-pagination ul li span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px; height:38px;
  border-radius:50%;
  font-family:'Jost', sans-serif;
  font-size:13px;
  color:var(--teal);
  border:1.4px solid rgba(33,74,73,.2);
  text-decoration:none;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
}
.h789-category-pagination nav.woocommerce-pagination ul li a:hover,
.h789-category-pagination nav.woocommerce-pagination ul li span.current{
  background:var(--teal);
  color:var(--ivory);
  border-color:var(--teal);
}

/* ---- Empty state ---- */
.h789-category-empty{
  max-width:1600px;
  margin:0 auto;
  padding:clamp(48px, 6vw, 80px) 6vw;
  text-align:center;
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:1.2rem;
  color:var(--ink-muted);
}

@media (max-width:560px){
  .h789-product-grid{ grid-template-columns:repeat(2, 1fr); gap:14px; }
  .h789-product-card__body{ padding:12px 14px 16px; }
}

/* ============================================================
   HOUSE OF 789 — SINGLE PRODUCT PAGE v2
   Full-width premium layout + WhatsApp-first ordering
   Added 23 Aug 2026
   ============================================================ */

/* The custom single-product template sits inside Storefront's
   WooCommerce wrapper. Remove Storefront's default narrow/sidebar
   constraints on product pages. */
body.single-product .site-content,
body.single-product .content-area,
body.single-product #primary,
body.single-product .site-main {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.single-product .widget-area {
  display: none !important;
}

body.single-product .site-main {
  background: var(--ivory, #FDFBF8);
}

body.single-product .h789-single-product {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 32px 70px;
  box-sizing: border-box;
}

/* Breadcrumb */
body.single-product .h789-product-breadcrumb {
  width: 100%;
  margin: 0 auto;
  padding: 26px 0 20px;
  color: #777;
  font-size: 13px;
}

body.single-product .h789-product-breadcrumb .woocommerce-breadcrumb {
  margin: 0;
  padding: 0;
  color: #777;
  font-size: 13px;
}

body.single-product .h789-product-breadcrumb a {
  color: var(--teal, #214a49);
  text-decoration: none;
}

/* Main 3-column product area */
body.single-product .h789-product-layout {
  display: grid;
  grid-template-columns: minmax(360px, 1.08fr) minmax(360px, .94fr) minmax(270px, .62fr);
  gap: 38px;
  align-items: start;
  width: 100%;
}

body.single-product .h789-product-gallery-column,
body.single-product .h789-product-summary-column {
  min-width: 0;
}

/* Gallery */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper,
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image {
  margin: 0;
}

/* Contain WooCommerce's zoom lens (jquery.zoom) to the image frame.
   Without position:relative + overflow:hidden here, the zoomed-in
   copy of the image isn't clipped and just balloons over the page
   instead of behaving like a magnifier. */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
}

body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image .zoomImg {
  border-radius: 5px;
}

body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
}

/* Only the active slide is shown as the big main photo. All slides stay
   in the DOM (full quality, srcset intact) — .h789-gallery-thumbs below
   is the real clickable thumbnail strip; WooCommerce's own FlexSlider
   thumbnail markup ('.flex-control-thumbs') is never generated because
   the slider script itself is never started on this theme. */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image {
  display: none;
}
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image.h789-slide-active {
  display: block;
}

body.single-product .h789-product-gallery-column .h789-gallery-thumbs {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px;
  margin: 14px 0 0 !important;
  padding: 0;
}

body.single-product .h789-product-gallery-column .h789-gallery-thumbs li {
  width: 74px !important;
  margin: 0 !important;
  list-style: none;
}

body.single-product .h789-product-gallery-column .h789-gallery-thumbs img {
  width: 74px !important;
  height: 74px !important;
  object-fit: cover;
  border-radius: 4px;
  opacity: .68;
  cursor: pointer;
  transition: opacity .2s ease, border-color .2s ease;
  border: 1px solid transparent;
}

body.single-product .h789-product-gallery-column .h789-gallery-thumbs img:hover,
body.single-product .h789-product-gallery-column .h789-gallery-thumbs img.h789-thumb-active {
  opacity: 1;
  border-color: var(--gold, #CCB261);
}

/* Summary */
body.single-product .h789-product-summary-column .summary {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

body.single-product .h789-product-summary-column .onsale {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  background: var(--gold, #CCB261) !important;
  color: #fff !important;
  border-radius: 4px !important;
  min-width: auto !important;
  min-height: auto !important;
  padding: 6px 10px !important;
  margin: 0 0 17px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
}

body.single-product .h789-product-summary-column .product_title {
  margin: 0 0 24px !important;
  color: var(--teal, #214a49) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(32px, 3.1vw, 48px) !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  letter-spacing: -.02em;
}

body.single-product .h789-product-summary-column .price {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 8px !important;
  color: var(--gold-rich, #9C6F0B) !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

body.single-product .h789-product-summary-column .price del {
  color: #999 !important;
  font-size: 21px !important;
}

body.single-product .h789-product-summary-column .price ins {
  color: var(--gold-rich, #9C6F0B) !important;
  text-decoration: none !important;
}

body.single-product .h789-product-summary-column .price::after {
  content: 'SALE';
  display: inline-flex;
  align-items: center;
  border: 1px solid #d5bb77;
  border-radius: 18px;
  padding: 5px 10px;
  background: #faf5e7;
  color: #8a6414;
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  line-height: 1;
  font-weight: 600;
}

body.single-product .h789-product-summary-column .woocommerce-product-details__short-description {
  margin: 20px 0 22px !important;
  padding-top: 20px;
  border-top: 1px solid rgba(33,74,73,.13);
  color: #45423c;
  font-size: 15px;
  line-height: 1.75;
}

/* Cart form — quantity + Add to Cart button. Styled further down in the
   "CART + WHATSAPP CART CHECKOUT" block appended at the end of this file,
   which wins the cascade without disturbing these base rules. */
body.single-product .h789-product-summary-column form.cart {
  margin: 20px 0 4px;
}

/* Highlights */
body.single-product .h789-product-highlights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 20px 0 22px;
  padding: 0 0 20px;
  border-bottom: 1px solid rgba(33,74,73,.13);
}

body.single-product .h789-highlight {
  min-width: 0;
  padding: 0 10px;
  text-align: center;
  border-right: 1px solid rgba(33,74,73,.12);
}

body.single-product .h789-highlight:last-child {
  border-right: 0;
}

body.single-product .h789-highlight-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 auto 9px;
  border-radius: 50%;
  background: #f6f1e4;
  border: 1px solid rgba(33,74,73,.08);
  color: var(--teal, #214a49);
}

body.single-product .h789-highlight-icon svg {
  width: 20px;
  height: 20px;
}

body.single-product .h789-highlight strong,
body.single-product .h789-highlight small {
  display: block;
}

body.single-product .h789-highlight strong {
  color: var(--teal, #214a49);
  font-size: 12px;
  font-weight: 600;
}

body.single-product .h789-highlight small {
  margin-top: 2px;
  color: #777;
  font-size: 10px;
}

/* WhatsApp order */
body.single-product .h789-product-order {
  margin-top: 16px;
}

body.single-product .h789-stock-status {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: #2f8a42;
  font-size: 13px;
  font-weight: 600;
}

body.single-product .h789-stock-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #39a451;
}

body.single-product .h789-whatsapp-order {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 54px;
  padding: 0 18px;
  box-sizing: border-box;
  background: var(--teal, #214a49) !important;
  color: #fff !important;
  border: 1px solid var(--teal, #214a49) !important;
  border-radius: 4px;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

body.single-product .h789-whatsapp-order:hover {
  background: #173c3b !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(33,74,73,.18);
}

body.single-product .h789-whatsapp-order svg {
  width: 21px;
  height: 21px;
  fill: currentColor;
}

body.single-product .h789-order-note {
  margin-top: 9px;
  color: #777;
  font-size: 11px;
  line-height: 1.5;
  text-align: center;
}

/* Meta — hidden: SKU/Categories line removed, closes the gap so content below sits flush */
body.single-product .h789-product-summary-column .product_meta {
  display: none !important;
}


/* Right-hand assurance/details column */
body.single-product .h789-product-side {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.single-product .h789-side-card {
  padding: 20px;
  background: #fff;
  border: 1px solid rgba(33,74,73,.08);
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(33,74,73,.06);
}

body.single-product .h789-side-feature {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(33,74,73,.09);
}

body.single-product .h789-side-feature:first-child {
  padding-top: 0;
}

body.single-product .h789-side-feature:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

body.single-product .h789-side-icon {
  flex: 0 0 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #faf6e9;
  border: 1px solid rgba(33,74,73,.08);
  color: var(--teal, #214a49);
}

body.single-product .h789-side-icon svg {
  width: 18px;
  height: 18px;
}

body.single-product .h789-side-feature strong {
  display: block;
  margin-bottom: 3px;
  color: var(--teal, #214a49);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 15px;
}

body.single-product .h789-side-feature span {
  display: block;
  color: #777;
  font-size: 11px;
}

body.single-product .h789-details-card h3,
body.single-product .h789-help-card h3 {
  margin: 0 0 13px;
  color: var(--teal, #214a49);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 19px;
}

body.single-product .h789-detail-row {
  display: grid;
  grid-template-columns: .9fr 1.2fr;
  gap: 12px;
  padding: 9px 0;
  border-top: 1px solid rgba(33,74,73,.09);
  color: #333;
  font-size: 11px;
}

body.single-product .h789-detail-row span {
  color: #666;
}

body.single-product .h789-detail-row strong {
  color: #333;
  font-weight: 500;
}

body.single-product .h789-help-card p {
  margin: 0 0 15px;
  color: #666;
  font-size: 12px;
  line-height: 1.6;
}

body.single-product .h789-help-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid var(--teal, #214a49);
  border-radius: 4px;
  color: var(--teal, #214a49);
  text-decoration: none;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
}

body.single-product .h789-help-card a:hover {
  background: var(--teal, #214a49);
  color: #fff;
}

/* Tabs and related products stay full width underneath */
body.single-product .h789-product-tabs {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  grid-column: 1 / -1 !important;
  flex: 1 1 100% !important;
  margin-top: 46px;
}

body.single-product .h789-product-tabs > .woocommerce-tabs {
  display: block !important;
  width: 100% !important;
  max-width: none;
  margin: 0 0 45px;
  padding: 0;
}

body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  gap: 36px;
  margin: 0 0 25px;
  padding: 0;
  border-bottom: 1px solid rgba(33,74,73,.13);
}

body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs::before,
body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs::after {
  display: none;
}

body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs li {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  white-space: nowrap;
}

body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0 0 12px;
  color: #777;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  white-space: nowrap;
}

body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs li.active a {
  color: var(--teal, #214a49);
  border-bottom: 2px solid var(--gold, #CCB261);
}

body.single-product .h789-product-tabs .woocommerce-tabs .panel h2 {
  color: var(--teal, #214a49);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 27px;
}

/* Related products */
body.single-product .h789-product-tabs .related.products {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Remove accidental Storefront page/sidebar wrappers around the custom layout */
body.single-product .site-main > .woocommerce {
  width: 100%;
  max-width: none;
}

/* Tablet */
@media (max-width: 1120px) {
  body.single-product .h789-product-layout {
    grid-template-columns: minmax(340px, 1fr) minmax(340px, 1fr);
    gap: 30px;
  }

  body.single-product .h789-product-side {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  body.single-product .h789-help-card {
    grid-column: 1 / -1;
  }
}

/* Mobile */
@media (max-width: 720px) {
  body.single-product .h789-single-product {
    padding: 0 18px 50px;
  }

  body.single-product .h789-product-breadcrumb {
    padding: 18px 0 14px;
  }

  body.single-product .h789-product-layout {
    display: block;
  }

  body.single-product .h789-product-summary-column {
    margin-top: 28px;
  }

  body.single-product .h789-product-summary-column .product_title {
    font-size: 32px !important;
  }

  body.single-product .h789-product-highlights {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 17px;
  }

  body.single-product .h789-highlight:nth-child(2) {
    border-right: 0;
  }

  body.single-product .h789-product-side {
    display: block;
    margin-top: 32px;
  }

  body.single-product .h789-side-card {
    margin-bottom: 15px;
  }

  body.single-product .h789-product-tabs {
    margin-top: 35px;
  }

  body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs {
    gap: 22px;
    overflow-x: auto;
    white-space: nowrap;
  }
}


/* ============================================================
   SINGLE PRODUCT — FINAL OUTER-WRAPPER FIX
   The custom template uses Storefront/WooCommerce's own wrapper.
   These rules prevent any inherited Storefront width from shrinking
   the header/content area while leaving category pages untouched.
   ============================================================ */
@media (min-width: 721px) {
  body.single-product .site-content > .col-full,
  body.single-product .site-content > .woocommerce,
  body.single-product .site-content > .site-main,
  body.single-product .site-content > main.site-main {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-product .h789-single-product {
    width: min(100%, 1400px) !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    padding-left: clamp(20px, 3vw, 42px) !important;
    padding-right: clamp(20px, 3vw, 42px) !important;
  }
}

body.single-product .h789-product-layout {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

body.single-product .h789-product-layout > * {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.single-product .h789-product-gallery-column img,
body.single-product .h789-product-gallery-column .woocommerce-product-gallery,
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper {
  max-width: 100% !important;
}

@media (max-width: 1150px) and (min-width: 721px) {
  body.single-product .h789-product-layout {
    grid-template-columns: minmax(320px, 1.05fr) minmax(320px, .95fr) !important;
  }
  body.single-product .h789-product-side {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.single-product .h789-help-card {
    grid-column: 1 / -1 !important;
  }
}


/* ============================================================
   HOUSE OF 789 — PRODUCT ICONS / ATTRIBUTE DETAILS FINAL FIX
   These rules are intentionally scoped to single-product pages so
   category/archive pages are not affected.
   ============================================================ */
body.single-product .h789-product-highlights .h789-highlight-icon {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  margin: 0 auto 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #f7f2e5 !important;
  border: 1px solid rgba(33,74,73,.10) !important;
  color: #214a49 !important;
  box-sizing: border-box !important;
}

body.single-product .h789-product-highlights .h789-highlight-icon svg {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  margin: 0 !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.6 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.single-product .h789-product-highlights .h789-highlight-icon svg circle[fill="currentColor"] {
  fill: currentColor !important;
  stroke: none !important;
}

body.single-product .h789-product-side .h789-side-icon {
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #f7f2e5 !important;
  border: 1px solid rgba(33,74,73,.10) !important;
  color: #214a49 !important;
  box-sizing: border-box !important;
}

body.single-product .h789-product-side .h789-side-icon svg {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  margin: 0 !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.6 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.single-product .h789-side-feature > div {
  min-width: 0 !important;
}

body.single-product .h789-side-feature strong {
  white-space: nowrap !important;
}

body.single-product .h789-side-feature span {
  white-space: normal !important;
}

/* Keep the four highlight columns evenly spaced like the reference. */
body.single-product .h789-product-highlights {
  align-items: start !important;
}

/* Product Details rows generated from WooCommerce attributes. */
body.single-product .h789-details-card .h789-detail-row {
  display: grid !important;
  grid-template-columns: 42% 58% !important;
  gap: 8px !important;
  align-items: start !important;
  padding: 9px 0 !important;
  border-top: 1px solid rgba(33,74,73,.10) !important;
  color: #333 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body.single-product .h789-details-card .h789-detail-row span {
  color: #444 !important;
  font-weight: 400 !important;
}

body.single-product .h789-details-card .h789-detail-row strong {
  color: #333 !important;
  font-weight: 400 !important;
}

@media (max-width: 720px) {
  body.single-product .h789-product-side .h789-side-icon {
    flex-basis: 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

/* ============================================================
   HOUSE OF 789 — PRODUCT PAGE 3 FIXES
   1) WooCommerce tabs: only the selected tab panel is visible.
   2) Gallery thumbnails remain clickable and switch the main image.
   3) Zoom uses the mouse-position lens instead of enlarging the page.
   ============================================================ */

/* --- Gallery: do not let the generic image rule resize WooCommerce's zoom copy --- */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image > img:not(.zoomImg) {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
}

body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image .zoomImg {
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  border-radius: 5px;
  cursor: crosshair;
}

/* The zoomed copy is clipped to the product-image frame. */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image {
  position: relative;
  overflow: hidden;
}

/* Make the thumbnail strip sit above any gallery controls and remain clickable. */
body.single-product .h789-product-gallery-column .h789-gallery-thumbs {
  position: relative;
  z-index: 20;
  pointer-events: auto !important;
}

body.single-product .h789-product-gallery-column .h789-gallery-thumbs li,
body.single-product .h789-product-gallery-column .h789-gallery-thumbs img {
  cursor: pointer;
}


/* ============================================================
   HOUSE OF 789 — FINAL FIX V2
   ============================================================ */

/* The custom template is full width on product pages. */
body.single-product #primary.h789-single-product,
body.single-product .h789-single-product {
  width: 100% !important;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(20px, 3vw, 42px) !important;
  padding-right: clamp(20px, 3vw, 42px) !important;
  box-sizing: border-box !important;
}

/* Keep the three main columns intact. */
body.single-product .h789-product-layout {
  display: grid !important;
  grid-template-columns: minmax(360px, 1.08fr) minmax(360px, .94fr) minmax(270px, .62fr) !important;
  gap: 38px !important;
  align-items: start !important;
}

/* ---------- TABS: ONLY ONE PANEL AT A TIME ----------
   Visibility is driven by JS toggling .h789-active-tab on the panel
   (see h789_product_gallery_fallback_js in functions.php). This is the
   single source of truth for tab CSS — no other tab rules exist elsewhere
   in this file.

   IMPORTANT: the hide-all rule below is scoped to .woocommerce-tabs.h789-tabs-js,
   a class the JS adds only once it has found the tabs and is actively driving
   them. Previously this rule hid every panel unconditionally, so if the JS
   ever failed to run (wrong selector, script error, etc.) Description,
   Additional Information and Reviews all rendered permanently blank —
   nothing in the CSS could ever reveal them again. Scoping to .h789-tabs-js
   means: JS working -> normal one-panel-at-a-time behaviour; JS not running
   -> panels fall back to plain stacked visibility, so content is never lost. */
body.single-product .h789-product-tabs .woocommerce-tabs.h789-tabs-js .wc-tab,
body.single-product .h789-product-tabs .woocommerce-tabs.h789-tabs-js .woocommerce-Tabs-panel,
body.single-product .h789-product-tabs .woocommerce-tabs.h789-tabs-js .panel {
  display: none !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .h789-product-tabs .woocommerce-tabs.h789-tabs-js .wc-tab.h789-active-tab,
body.single-product .h789-product-tabs .woocommerce-tabs.h789-tabs-js .woocommerce-Tabs-panel.h789-active-tab,
body.single-product .h789-product-tabs .woocommerce-tabs.h789-tabs-js .panel.h789-active-tab {
  display: block !important;
}

body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 56px !important;
  width: 100% !important;
  margin: 0 0 30px !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(33,74,73,.13) !important;
  list-style: none !important;
}

body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs li {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs li a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 0 14px !important;
  color: #777 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  word-spacing: .06em !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important; /* reserved so hover/active never shifts the layout */
  transition: color .2s ease, border-color .2s ease !important;
}

/* Strip any leftover accordion/dashicon arrow so the tab label never wraps
   onto its own line — this was the "arrow showing below the word" bug. */
body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs li a::before,
body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs li a::after {
  content: none !important;
  display: none !important;
}

/* Hover: teal text + gold underline, same visual language as the active tab. */
body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs li a:hover {
  color: #214a49 !important;
  border-bottom-color: #CCB261 !important;
}

body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs li.active a,
body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs li.h789-tab-active a {
  color: #214a49 !important;
  border-bottom: 2px solid #CCB261 !important;
}

/* ---------- GALLERY: only the ACTIVE slide is ever visible; JS toggles
   which original, full-quality slide is active on thumbnail click
   instead of copying URLs into a shared <img src> (that copying step
   was the source of the low-resolution bug) — and never depends on
   FlexSlider initialising. */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {
  display: none !important;
}
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image.h789-slide-active {
  display: block !important;
}

/* Description typography/alignment. */
body.single-product .h789-product-tabs .woocommerce-Tabs-panel h2,
body.single-product .h789-product-tabs .woocommerce-Tabs-panel h3,
body.single-product .h789-product-tabs .woocommerce-Tabs-panel .h2 {
  color: #214a49 !important;
  font-family: Georgia, 'Times New Roman', serif !important;
}

body.single-product .h789-product-tabs .woocommerce-Tabs-panel p {
  max-width: 1000px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* ---------- GALLERY ---------- */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}

body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Hide WooCommerce's clone zoom image; V2 supplies a reliable
   mouse-position zoom layer below. */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image .zoomImg {
  display: none !important;
}

body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image > img:not(.zoomImg) {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}

/* Our zoom layer follows the mouse position over the image. */
.h789-custom-zoom {
  position: absolute !important;
  inset: 0 !important;
  z-index: 12 !important;
  display: none;
  pointer-events: none !important;
  background-repeat: no-repeat !important;
  background-color: #fff !important;
}

.h789-custom-zoom.is-active {
  display: block !important;
}

/* Thumbnails must remain above the image controls and clickable. */
body.single-product .h789-product-gallery-column .h789-gallery-thumbs {
  position: relative !important;
  z-index: 30 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  pointer-events: auto !important;
  margin-top: 14px !important;
}

body.single-product .h789-product-gallery-column .h789-gallery-thumbs li {
  float: none !important;
  width: 74px !important;
  margin: 0 !important;
  list-style: none !important;
  cursor: pointer !important;
}

body.single-product .h789-product-gallery-column .h789-gallery-thumbs img {
  display: block !important;
  width: 74px !important;
  height: 74px !important;
  object-fit: cover !important;
  cursor: pointer !important;
  opacity: .68 !important;
  border: 1px solid transparent !important;
  border-radius: 4px !important;
}

body.single-product .h789-product-gallery-column .h789-gallery-thumbs img.h789-thumb-active {
  opacity: 1 !important;
  border-color: #CCB261 !important;
}

/* Product details rows. */
body.single-product .h789-details-card .h789-detail-row {
  display: grid !important;
  grid-template-columns: 42% 58% !important;
  gap: 8px !important;
  padding: 9px 0 !important;
  border-top: 1px solid rgba(33,74,73,.10) !important;
}

/* Responsive. */
@media (max-width: 1120px) and (min-width: 721px) {
  body.single-product .h789-product-layout {
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr) !important;
  }
  body.single-product .h789-product-side {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 720px) {
  body.single-product .h789-product-layout {
    display: block !important;
  }
  body.single-product .h789-product-summary-column {
    margin-top: 28px !important;
  }
  body.single-product .h789-product-side {
    display: block !important;
    margin-top: 30px !important;
  }
  body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs {
    gap: 28px !important;
    overflow-x: auto !important;
  }
}

/* ============================================================
   HOUSE OF 789 — GALLERY: AUTHORITATIVE OVERRIDE (LOAD-ORDER SAFE)
   Appended last on purpose. If an old cached copy of an earlier
   gallery rule ever lingers (browser cache, host-level page cache,
   CDN), this block still wins because it is the last thing in the
   cascade at equal specificity + !important. Nothing above this
   comment should need touching again for gallery bugs — fix it here.
   ============================================================ */

/* Every WooCommerce gallery image is hidden except the one JS marks
   active. This also hides WooCommerce's own lightbox trigger icon
   for non-active slides, since it lives inside the same element. */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
  display: none !important;
}
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image.h789-slide-active {
  display: block !important;
  width: 100% !important;
  position: relative !important;
  overflow: hidden !important;
}
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image.h789-slide-active img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
/* Keep WooCommerce's zoom-to-fullscreen trigger visible only on the
   active slide, pinned to its corner. */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__trigger {
  position: absolute !important;
  top: .8em !important;
  right: .8em !important;
  z-index: 15 !important;
}

/* Our own thumbnail strip — built by JS from the real gallery images,
   always rendered directly under the main photo. */
body.single-product .h789-product-gallery-column .h789-gallery-thumbs {
  list-style: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}
body.single-product .h789-product-gallery-column .h789-gallery-thumbs li {
  list-style: none !important;
  width: 74px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product .h789-product-gallery-column .h789-gallery-thumbs img {
  display: block !important;
  width: 74px !important;
  height: 74px !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  opacity: .68 !important;
  cursor: pointer !important;
  border: 1px solid transparent !important;
  transition: opacity .2s ease, border-color .2s ease;
}
body.single-product .h789-product-gallery-column .h789-gallery-thumbs img:hover,
body.single-product .h789-product-gallery-column .h789-gallery-thumbs img.h789-thumb-active {
  opacity: 1 !important;
  border-color: var(--gold, #CCB261) !important;
}
/* Hard-hide WooCommerce/FlexSlider's native thumbnail nav — the site
   uses its own .h789-gallery-thumbs strip instead. */
body.single-product .h789-product-gallery-column .flex-control-nav,
body.single-product .h789-product-gallery-column .flex-direction-nav {
  display: none !important;
}
/* All slides load in parallel from the start — display:none was
   preventing the browser from even fetching hidden slides' images
   until the moment they were revealed, which caused the blurry
   flash when clicking thumbnails 2/3/4. */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper {
  position: relative !important;
  aspect-ratio: 2 / 3 !important; /* matches your 416x624 slide images */
}
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 1;
  transition: opacity .18s ease !important;
}
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image.h789-slide-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 2;
}
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
body.single-product .h789-product-breadcrumb .storefront-breadcrumb,
body.single-product .h789-product-breadcrumb .col-full {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Scrolling saree/beauty quote strip — one random quote, full width, above the tabs. */
body.single-product .h789-product-quotes {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 46px 0 0 !important;
  padding: 22px 0 !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  min-height: 60px;
  background: linear-gradient(90deg, rgba(33,74,73,.08) 0%, rgba(204,178,97,.16) 50%, rgba(33,74,73,.08) 100%), #FBF8F1;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
body.single-product .h789-product-quotes::before,
body.single-product .h789-product-quotes::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
}
body.single-product .h789-product-quotes::before {
  top: 0;
  background: linear-gradient(90deg, transparent, rgba(204,178,97,.75) 50%, transparent);
}
body.single-product .h789-product-quotes::after {
  bottom: 0;
  background: linear-gradient(90deg, transparent, rgba(33,74,73,.55) 50%, transparent);
}
body.single-product .h789-quotes-track {
  display: inline-flex !important;
  align-items: center !important;
  gap: 16px;
  white-space: nowrap !important;
  animation: h789-quotes-scroll-rtl var(--h789-quote-duration, 32s) linear infinite;
  will-change: transform;
}
body.single-product .h789-quotes-track:hover {
  animation-play-state: paused; /* lets people pause and actually read it */
}
body.single-product .h789-quote {
  display: inline-block;
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: 17px;
  letter-spacing: .01em;
  color: #214a49;
}
body.single-product .h789-quote-mark {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 24px;
  line-height: 1;
  color: #CCB261;
  opacity: .9;
}
@keyframes h789-quotes-scroll-rtl {
  from { transform: translateX(110vw); }
  to   { transform: translateX(-60vw); }
}
@media (prefers-reduced-motion: reduce) {
  body.single-product .h789-quotes-track { animation: none !important; transform: none !important; }
}
@media (max-width: 720px) {
  body.single-product .h789-quote { font-size: 15px; }
  body.single-product .h789-quotes-track { animation-duration: 24s; }
}




/* ============================================================
   HOUSE OF 789 — PREMIUM SINGLE PRODUCT REDESIGN V1
   Safe override block: appended after the existing stylesheet so
   it wins without disturbing the rest of the Storefront child theme.
   ============================================================ */

body.single-product #primary.h789-single-product {
  max-width: 1480px !important;
  padding-left: clamp(18px, 3.2vw, 52px) !important;
  padding-right: clamp(18px, 3.2vw, 52px) !important;
  padding-bottom: 40px !important;
}

body.single-product .h789-product-breadcrumb {
  padding: 14px 0 18px !important;
  color: #8a8375 !important;
  font-size: 11px !important;
  letter-spacing: .04em !important;
}

body.single-product .h789-product-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr) !important;
  gap: clamp(38px, 5vw, 76px) !important;
  align-items: start !important;
}

/* -------------------- Gallery -------------------- */

body.single-product .h789-product-gallery-column {
  position: relative !important;
  min-width: 0 !important;
  padding-left: 92px !important;
}

body.single-product .h789-product-gallery-column .woocommerce-product-gallery {
  width: 100% !important;
  margin: 0 !important;
}

body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper {
  width: 100% !important;
  aspect-ratio: 2 / 3 !important;
  border-radius: 5px !important;
  overflow: hidden !important;
  background: #f4f0e8 !important;
}

body.single-product .h789-product-gallery-column .h789-gallery-thumbs {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 74px !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 30 !important;
}

body.single-product .h789-product-gallery-column .h789-gallery-thumbs li,
body.single-product .h789-product-gallery-column .h789-gallery-thumbs img {
  width: 74px !important;
  height: 92px !important;
}

body.single-product .h789-product-gallery-column .h789-gallery-thumbs img {
  object-fit: cover !important;
  border-radius: 4px !important;
  opacity: .58 !important;
  border: 1px solid rgba(33,74,73,.12) !important;
}

body.single-product .h789-product-gallery-column .h789-gallery-thumbs img:hover,
body.single-product .h789-product-gallery-column .h789-gallery-thumbs img.h789-thumb-active {
  opacity: 1 !important;
  border-color: #CCB261 !important;
  box-shadow: 0 0 0 1px rgba(204,178,97,.25) !important;
}

/* -------------------- Summary -------------------- */

body.single-product .h789-product-summary-column {
  min-width: 0 !important;
}

body.single-product .h789-product-summary-column .summary {
  position: sticky !important;
  top: 24px !important;
  width: 100% !important;
  margin: 0 !important;
}

body.single-product .h789-product-summary-column .product_title {
  position: relative !important;
  margin: 0 0 18px !important;
  padding-top: 28px !important;
  color: #214a49 !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(34px, 3.2vw, 52px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.025em !important;
}

body.single-product .h789-product-summary-column .product_title::before {
  content: 'HANDPICKED COLLECTION';
  position: absolute;
  left: 0;
  top: 0;
  color: #9C6F0B;
  font-family: 'Jost', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  line-height: 1;
}

body.single-product .h789-product-summary-column .price {
  margin: 0 0 16px !important;
  font-size: 29px !important;
  line-height: 1.15 !important;
}

body.single-product .h789-product-summary-column .price del {
  font-size: 18px !important;
  color: #a5a19a !important;
}

body.single-product .h789-product-summary-column .woocommerce-product-details__short-description {
  margin: 12px 0 18px !important;
  padding: 15px 0 0 !important;
  border-top: 1px solid rgba(33,74,73,.12) !important;
  color: #575249 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

body.single-product .h789-product-highlights {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: 14px 0 18px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid rgba(33,74,73,.12) !important;
}

body.single-product .h789-product-highlights .h789-highlight {
  min-width: 0 !important;
  padding: 0 12px !important;
}

body.single-product .h789-product-highlights .h789-highlight:first-child {
  padding-left: 0 !important;
}

body.single-product .h789-product-highlights .h789-highlight:last-child {
  padding-right: 0 !important;
}

body.single-product .h789-product-highlights .h789-highlight-icon {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  margin-bottom: 7px !important;
}

body.single-product .h789-product-highlights .h789-highlight strong {
  font-size: 12px !important;
  letter-spacing: .02em !important;
}

body.single-product .h789-product-highlights .h789-highlight small {
  font-size: 10px !important;
}

/* -------------------- WhatsApp CTA -------------------- */

body.single-product .h789-product-order {
  margin: 0 0 18px !important;
}

body.single-product .h789-stock-status {
  margin-bottom: 10px !important;
  font-size: 12px !important;
  color: #2f8050 !important;
}

body.single-product .h789-whatsapp-order {
  min-height: 54px !important;
  border-radius: 3px !important;
  background: #214a49 !important;
  box-shadow: none !important;
  letter-spacing: .045em !important;
}

body.single-product .h789-whatsapp-order:hover {
  background: linear-gradient(135deg, #35706d 0%, #1f4d4b 55%, #123130 100%) !important;
  border-color: var(--gold-bright, #F0D998) !important;
  box-shadow: 0 14px 34px rgba(20,45,44,.35), 0 0 0 1px rgba(204,178,97,.4) !important;
  transform: translateY(-1px);
}

body.single-product .h789-order-note {
  margin-top: 10px !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #8a8375 !important;
}

/* -------------------- Compact trust + details -------------------- */

body.single-product .h789-product-extra {
  margin-top: 8px !important;
}

body.single-product .h789-trust-strip {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 14px 0 !important;
  border-top: 1px solid rgba(33,74,73,.11) !important;
  border-bottom: 1px solid rgba(33,74,73,.11) !important;
}

body.single-product .h789-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
  padding: 0 10px !important;
  border-right: 1px solid rgba(33,74,73,.10) !important;
}

body.single-product .h789-trust-item:first-child {
  padding-left: 0 !important;
}

body.single-product .h789-trust-item:last-child {
  padding-right: 0 !important;
  border-right: 0 !important;
}

body.single-product .h789-trust-item .h789-side-icon {
  flex: 0 0 32px !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  background: #f7f2e5 !important;
}

body.single-product .h789-trust-item .h789-side-icon svg {
  width: 16px !important;
  height: 16px !important;
}

body.single-product .h789-trust-item strong {
  display: block !important;
  color: #214a49 !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

body.single-product .h789-trust-item span:not(.h789-side-icon) {
  display: block !important;
  margin-top: 2px !important;
  color: #817b70 !important;
  font-size: 9px !important;
  line-height: 1.25 !important;
}

body.single-product .h789-inline-details {
  margin-top: 20px !important;
}

body.single-product .h789-inline-details__head {
  padding-bottom: 9px !important;
  border-bottom: 1px solid rgba(33,74,73,.12) !important;
  color: #9C6F0B !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .15em !important;
}

body.single-product .h789-inline-details .h789-detail-row {
  display: grid !important;
  grid-template-columns: 38% 62% !important;
  gap: 8px !important;
  padding: 8px 0 !important;
  border-top: 1px solid rgba(33,74,73,.08) !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
}

body.single-product .h789-inline-details .h789-detail-row span {
  color: #777166 !important;
}

body.single-product .h789-inline-details .h789-detail-row strong {
  color: #33312d !important;
  font-weight: 500 !important;
}

body.single-product .h789-help-inline {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: 15px !important;
  padding-top: 13px !important;
  border-top: 1px solid rgba(33,74,73,.10) !important;
}

body.single-product .h789-help-inline > span {
  color: #777166 !important;
  font-size: 10.5px !important;
}

body.single-product .h789-help-inline a {
  color: #214a49 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
}

body.single-product .h789-help-inline a:hover {
  color: #9C6F0B !important;
}

/* Remove old third-column assumptions if any cached CSS remains. */
body.single-product .h789-product-side {
  display: none !important;
}

/* The quote strip acts as a refined editorial divider, teal-and-gold toned. */
body.single-product .h789-product-quotes {
  margin-top: 58px !important;
  padding: 18px 0 !important;
  background: linear-gradient(90deg, rgba(33,74,73,.08) 0%, rgba(204,178,97,.16) 50%, rgba(33,74,73,.08) 100%), #FBF8F1 !important;
}

/* Product tabs: tighter, more editorial. */
body.single-product .h789-product-tabs {
  grid-column: 1 / -1 !important;
  margin-top: 42px !important;
  padding-top: 4px !important;
}

body.single-product .h789-product-tabs .woocommerce-tabs {
  margin-bottom: 30px !important;
}

body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs {
  gap: 34px !important;
  margin-bottom: 20px !important;
}

body.single-product .h789-product-tabs .woocommerce-tabs ul.tabs li a {
  font-size: 11px !important;
  letter-spacing: .09em !important;
}

/* -------------------- Responsive -------------------- */

@media (max-width: 1120px) and (min-width: 721px) {
  body.single-product .h789-product-layout {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr) !important;
    gap: 30px !important;
  }

  body.single-product .h789-product-gallery-column {
    padding-left: 84px !important;
  }

  body.single-product .h789-product-gallery-column .h789-gallery-thumbs,
  body.single-product .h789-product-gallery-column .h789-gallery-thumbs li,
  body.single-product .h789-product-gallery-column .h789-gallery-thumbs img {
    width: 66px !important;
  }

  body.single-product .h789-product-gallery-column .h789-gallery-thumbs img {
    height: 82px !important;
  }
}

@media (max-width: 720px) {
  body.single-product #primary.h789-single-product {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.single-product .h789-product-layout {
    display: block !important;
  }

  body.single-product .h789-product-gallery-column {
    padding-left: 0 !important;
  }

  body.single-product .h789-product-summary-column {
    margin-top: 30px !important;
  }

  body.single-product .h789-product-summary-column .summary {
    position: static !important;
  }

  body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper {
    aspect-ratio: 2 / 3 !important;
  }

  body.single-product .h789-product-gallery-column .h789-gallery-thumbs {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    margin-top: 10px !important;
    padding-bottom: 3px !important;
  }

  body.single-product .h789-product-gallery-column .h789-gallery-thumbs li,
  body.single-product .h789-product-gallery-column .h789-gallery-thumbs img {
    flex: 0 0 64px !important;
    width: 64px !important;
  }

  body.single-product .h789-product-gallery-column .h789-gallery-thumbs img {
    height: 78px !important;
  }

  body.single-product .h789-product-summary-column .product_title {
    font-size: 34px !important;
  }

  body.single-product .h789-product-highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.single-product .h789-trust-strip {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.single-product .h789-trust-item,
  body.single-product .h789-trust-item:first-child,
  body.single-product .h789-trust-item:last-child {
    padding: 7px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(33,74,73,.08) !important;
  }

  body.single-product .h789-trust-item:last-child {
    border-bottom: 0 !important;
  }

  body.single-product .h789-help-inline {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  body.single-product .h789-product-tabs {
    margin-top: 36px !important;
  }
}


/* ============================================================
   HOUSE OF 789 — PREMIUM SINGLE PRODUCT V2
   Desktop layout correction: use the full available viewport,
   keep gallery + product information balanced, and make the
   trust/details area read as one premium information panel.
   ============================================================ */

@media (min-width: 1151px) {
  body.single-product .site-content,
  body.single-product .site-content > .col-full,
  body.single-product .site-content > .woocommerce,
  body.single-product .site-content > .site-main,
  body.single-product .site-content > main.site-main,
  body.single-product #primary.h789-single-product {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-product #primary.h789-single-product {
    padding-left: clamp(28px, 4vw, 64px) !important;
    padding-right: clamp(28px, 4vw, 64px) !important;
  }

  body.single-product .h789-product-breadcrumb,
  body.single-product .h789-product-layout {
    width: min(100%, 1480px) !important;
    max-width: 1480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.single-product .h789-product-layout {
    grid-template-columns: minmax(0, 1.02fr) minmax(500px, .98fr) !important;
    gap: clamp(48px, 5vw, 82px) !important;
  }

  body.single-product .h789-product-gallery-column {
    padding-left: 86px !important;
  }

  body.single-product .h789-product-summary-column {
    padding-right: 8px !important;
  }
}

/* Give the gallery a strong editorial frame without making it bulky. */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper {
  box-shadow: 0 18px 50px rgba(33,74,73,.07) !important;
}

/* Product title: premium, but not oversized on wide screens. */
body.single-product .h789-product-summary-column .product_title {
  max-width: 620px !important;
  font-size: clamp(36px, 3vw, 50px) !important;
  line-height: 1.05 !important;
  margin-bottom: 20px !important;
}

/* Keep price close to title and visually dominant. */
body.single-product .h789-product-summary-column .price {
  margin-bottom: 18px !important;
}

/* Highlights: a single elegant row. */
body.single-product .h789-product-highlights {
  width: 100% !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 0 !important;
  margin: 14px 0 20px !important;
  padding: 0 0 18px !important;
}

body.single-product .h789-product-highlights .h789-highlight {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  min-height: 84px !important;
  padding: 0 18px !important;
  border-right: 1px solid rgba(33,74,73,.10) !important;
}

body.single-product .h789-product-highlights .h789-highlight:first-child {
  padding-left: 0 !important;
}

body.single-product .h789-product-highlights .h789-highlight:last-child {
  padding-right: 0 !important;
  border-right: 0 !important;
}

body.single-product .h789-product-highlights .h789-highlight-icon {
  margin: 0 auto 8px !important;
  width: 44px !important;
  height: 44px !important;
}

/* Stock + WhatsApp: give the purchase action more presence. */
body.single-product .h789-product-order {
  padding: 18px 0 20px !important;
  border-bottom: 1px solid rgba(33,74,73,.12) !important;
}

body.single-product .h789-whatsapp-order {
  min-height: 58px !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
}

/* Trust information is a true three-column strip — no stacked cards. */
body.single-product .h789-product-extra {
  margin-top: 0 !important;
}

body.single-product .h789-trust-strip {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 18px 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(33,74,73,.12) !important;
}

body.single-product .h789-trust-item,
body.single-product .h789-trust-item:first-child,
body.single-product .h789-trust-item:last-child {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  padding: 0 16px !important;
  border-right: 1px solid rgba(33,74,73,.10) !important;
  border-bottom: 0 !important;
}

body.single-product .h789-trust-item:first-child { padding-left: 0 !important; }
body.single-product .h789-trust-item:last-child {
  padding-right: 0 !important;
  border-right: 0 !important;
}

body.single-product .h789-trust-item > div {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

body.single-product .h789-trust-item strong {
  white-space: nowrap !important;
  font-size: 12px !important;
}

body.single-product .h789-trust-item span:not(.h789-side-icon) {
  white-space: nowrap !important;
  font-size: 9.5px !important;
}

/* Product details: make it feel like a boutique specification panel. */
body.single-product .h789-inline-details {
  margin-top: 24px !important;
  padding: 0 !important;
}

body.single-product .h789-inline-details__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 0 12px !important;
  color: #214a49 !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  border-bottom: 1px solid rgba(33,74,73,.16) !important;
}

body.single-product .h789-inline-details .h789-detail-row {
  grid-template-columns: 42% 58% !important;
  min-height: 38px !important;
  align-items: center !important;
  padding: 9px 0 !important;
  font-size: 12px !important;
}

body.single-product .h789-inline-details .h789-detail-row span {
  color: #777166 !important;
}

body.single-product .h789-inline-details .h789-detail-row strong {
  color: #252522 !important;
  font-weight: 500 !important;
}

/* Help becomes a quiet premium link rather than another card. */
body.single-product .h789-help-inline {
  margin-top: 17px !important;
  padding: 13px 0 0 !important;
}

/* Don't let the editorial quote strip create an unexplained gap. */
body.single-product .h789-product-quotes {
  margin-top: 54px !important;
}

/* Desktop: the lower content should span the entire product page. */
@media (min-width: 721px) {
  body.single-product .h789-product-tabs,
  body.single-product .h789-product-quotes {
    width: min(100%, 1480px) !important;
    max-width: 1480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Tablet */
@media (max-width: 1150px) and (min-width: 721px) {
  body.single-product #primary.h789-single-product {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  body.single-product .h789-product-layout {
    grid-template-columns: minmax(0, 1fr) minmax(420px, .95fr) !important;
    gap: 36px !important;
  }

  body.single-product .h789-product-gallery-column {
    padding-left: 76px !important;
  }
}

/* Mobile */
@media (max-width: 720px) {
  body.single-product .h789-trust-strip {
    grid-template-columns: 1fr !important;
    padding: 10px 0 !important;
  }

  body.single-product .h789-trust-item,
  body.single-product .h789-trust-item:first-child,
  body.single-product .h789-trust-item:last-child {
    padding: 9px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(33,74,73,.08) !important;
  }

  body.single-product .h789-trust-item:last-child {
    border-bottom: 0 !important;
  }

  body.single-product .h789-trust-item span:not(.h789-side-icon) {
    white-space: normal !important;
  }
}


/* ============================================================
   HOUSE OF 789 — PRODUCT PAGE V3 FINAL POLISH
   Fixes: gallery grey void, tiny typography, stray quote column,
   and oversized whitespace. This block intentionally loads last.
   ============================================================ */

/* --- Gallery: let the real image determine the frame height. --- */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper {
  aspect-ratio: auto !important;
  height: auto !important;
  min-height: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  position: relative !important;
}

body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: auto !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
  background: transparent !important;
}

body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image.h789-slide-active {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  background: transparent !important;
}

/* The blank area seen under the image is not part of the photo — it is the
   old forced 2:3 gallery frame. Remove every possible height/background source. */
body.single-product .h789-product-gallery-column .woocommerce-product-gallery,
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__wrapper,
body.single-product .h789-product-gallery-column .woocommerce-product-gallery__image {
  background: transparent !important;
}

/* --- Desktop layout: exactly two product columns. --- */
@media (min-width: 1151px) {
  body.single-product .h789-product-layout {
    grid-template-columns: minmax(0, 1.02fr) minmax(500px, .98fr) !important;
    gap: clamp(42px, 4vw, 72px) !important;
    align-items: start !important;
  }

  body.single-product .h789-product-gallery-column {
    padding-left: 70px !important;
  }

  body.single-product .h789-product-tabs {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* --- Readable luxury typography --- */
body.single-product .h789-product-summary-column {
  color: #383732 !important;
}

body.single-product .h789-product-breadcrumb,
body.single-product .h789-product-breadcrumb .woocommerce-breadcrumb {
  font-size: 16px !important;
  line-height: 1.6 !important;
}

body.single-product .h789-product-summary-column .product_title {
  font-size: clamp(38px, 3.2vw, 54px) !important;
  line-height: 1.04 !important;
  margin-bottom: 22px !important;
}

body.single-product .h789-product-summary-column .price {
  font-size: 29px !important;
  line-height: 1.25 !important;
  margin-bottom: 20px !important;
}

body.single-product .h789-product-summary-column .price del {
  font-size: 21px !important;
}

body.single-product .h789-product-summary-column .price::after {
  font-size: 11px !important;
  padding: 6px 11px !important;
}

/* Highlight labels are intentionally larger than the previous V2 version. */
body.single-product .h789-product-highlights {
  margin: 16px 0 22px !important;
  padding-bottom: 20px !important;
}

body.single-product .h789-product-highlights .h789-highlight {
  min-height: 96px !important;
  padding: 0 20px !important;
}

body.single-product .h789-product-highlights .h789-highlight-icon {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  margin-bottom: 9px !important;
}

body.single-product .h789-product-highlights .h789-highlight-icon svg {
  width: 23px !important;
  height: 23px !important;
}

body.single-product .h789-product-highlights .h789-highlight strong {
  font-size: 16px !important;
  line-height: 1.25 !important;
  color: #173f3e !important;
}

body.single-product .h789-product-highlights .h789-highlight small {
  font-size: 13px !important;
  line-height: 1.3 !important;
  margin-top: 3px !important;
  color: #777166 !important;
}

/* Stock and CTA. */
body.single-product .h789-stock-status,
body.single-product .h789-product-order .h789-stock-status {
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}

body.single-product .h789-whatsapp-order {
  min-height: 62px !important;
  font-size: 14px !important;
  letter-spacing: .06em !important;
  background: linear-gradient(135deg, #2c5c5a 0%, #1a403f 55%, #102b2a 100%) !important;
  border: 1.5px solid var(--gold, #CCB261) !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 26px rgba(20,45,44,.28), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

body.single-product .h789-whatsapp-order svg {
  color: var(--gold-bright, #F0D998) !important;
}

/* Pressed state: button dips slightly and a soft gold reflection glows
   in below it, like light catching a polished surface. */
body.single-product .h789-whatsapp-order:active {
  transform: translateY(1px) !important;
  background: linear-gradient(135deg, #234b49 0%, #163634 55%, #0c2322 100%) !important;
  box-shadow:
    0 3px 10px rgba(20,45,44,.35) !important,
    0 22px 26px -14px rgba(204,178,97,.55) !important;
}

body.single-product .h789-product-order > p,
body.single-product .h789-product-order .h789-whatsapp-note,
body.single-product .h789-whatsapp-order + p {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* --- Trust strip: no tiny text. --- */
body.single-product .h789-trust-strip {
  padding: 20px 0 !important;
  border-top: 1px solid rgba(33,74,73,.12) !important;
}

body.single-product .h789-trust-item {
  gap: 12px !important;
}

body.single-product .h789-trust-item .h789-side-icon {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
}

body.single-product .h789-trust-item .h789-side-icon svg {
  width: 20px !important;
  height: 20px !important;
}

body.single-product .h789-trust-item strong {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  white-space: normal !important;
}

body.single-product .h789-trust-item span:not(.h789-side-icon) {
  display: block !important;
  margin-top: 3px !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  color: #777166 !important;
}

/* --- Product details: readable on a desktop monitor. --- */
body.single-product .h789-inline-details {
  margin-top: 26px !important;
}

body.single-product .h789-inline-details__head {
  padding-bottom: 13px !important;
  font-size: 21px !important;
  line-height: 1.3 !important;
  letter-spacing: .04em !important;
}

body.single-product .h789-inline-details .h789-detail-row {
  grid-template-columns: 40% 60% !important;
  min-height: 44px !important;
  padding: 10px 0 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.single-product .h789-inline-details .h789-detail-row span {
  font-size: 13px !important;
  color: #6f6a61 !important;
}

body.single-product .h789-inline-details .h789-detail-row strong {
  font-size: 14px !important;
  color: #262622 !important;
  font-weight: 600 !important;
}

/* Remove any accidental blank/legacy side column. */
body.single-product .h789-product-side {
  display: none !important;
}

@media (max-width: 1150px) and (min-width: 721px) {
  body.single-product .h789-product-layout {
    grid-template-columns: minmax(0, 1fr) minmax(420px, .95fr) !important;
    gap: 32px !important;
  }
  body.single-product .h789-product-gallery-column {
    padding-left: 54px !important;
  }
}

@media (max-width: 720px) {
  body.single-product .h789-product-summary-column .product_title {
    font-size: 34px !important;
  }
  body.single-product .h789-product-summary-column .price {
    font-size: 25px !important;
  }
  body.single-product .h789-product-highlights .h789-highlight strong {
    font-size: 15px !important;
  }
  body.single-product .h789-product-highlights .h789-highlight small {
    font-size: 13px !important;
  }
  body.single-product .h789-inline-details .h789-detail-row {
    font-size: 13px !important;
  }
  body.single-product .h789-inline-details .h789-detail-row span,
  body.single-product .h789-inline-details .h789-detail-row strong {
    font-size: 13px !important;
  }
}


/* ============================================================
   HOUSE OF 789 — CART + WHATSAPP CART CHECKOUT
   Appended last so it wins the cascade over earlier !important
   rules without editing them. Covers:
   1. The quantity + "Add to Cart" form on the single-product page
      (native WooCommerce cart, restored — see functions.php).
   2. The header cart icon badge (unchanged markup, already themed).
   3. The "Place Order on WhatsApp" button that replaces WooCommerce's
      "Proceed to Checkout" on the cart page (see
      woocommerce/cart/proceed-to-checkout-button.php).
   ============================================================ */

body.single-product .h789-product-summary-column form.cart {
  display: flex !important;
  align-items: stretch !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

body.single-product .h789-product-summary-column form.cart .quantity {
  display: flex !important;
  margin: 0 !important;
}

body.single-product .h789-product-summary-column form.cart .qty {
  width: 68px !important;
  height: 54px !important;
  padding: 0 !important;
  border: 1px solid rgba(33,74,73,.22) !important;
  border-radius: 3px !important;
  background: #fff !important;
  color: #214a49 !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 15px !important;
  text-align: center !important;
}

body.single-product .h789-product-summary-column form.cart .single_add_to_cart_button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  min-height: 54px !important;
  padding: 0 18px !important;
  margin: 0 !important;
  background: #9C6F0B !important;
  color: #fff !important;
  border: 1px solid #9C6F0B !important;
  border-radius: 3px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}

body.single-product .h789-product-summary-column form.cart .single_add_to_cart_button:hover {
  background: #7d5a09 !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(156,111,11,.28) !important;
}

body.single-product .h789-product-summary-column form.cart .single_add_to_cart_button.disabled,
body.single-product .h789-product-summary-column form.cart .single_add_to_cart_button.disabled:hover {
  background: #b7ab8c !important;
  border-color: #b7ab8c !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: not-allowed !important;
}

@media (max-width: 480px) {
  body.single-product .h789-product-summary-column form.cart {
    flex-wrap: wrap !important;
  }
  body.single-product .h789-product-summary-column form.cart .quantity,
  body.single-product .h789-product-summary-column form.cart .qty {
    width: 100% !important;
  }
  body.single-product .h789-product-summary-column form.cart .single_add_to_cart_button {
    width: 100% !important;
  }
}

/* WooCommerce "added to cart" / info notices — brand-consistent instead
   of the default green/blue Storefront banners. Appears above the main
   content area on the single-product and cart pages. */
.woocommerce-message,
.woocommerce-info {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 20px !important;
  padding: 14px 18px !important;
  background: #f6f1e4 !important;
  border-top: 3px solid #CCB261 !important;
  border-radius: 3px !important;
  color: #214a49 !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  list-style: none !important;
}

/* The default WooCommerce/Storefront notice icon is an absolutely
   positioned ::before pseudo-element sized for the original block
   layout's reserved left padding. Since the flex+gap layout above
   removes that reserved space, the icon was rendering on top of the
   first word instead of beside it — simplest fix is to drop it, since
   the gold top border already signals "success" without it. */
.woocommerce-message::before,
.woocommerce-info::before {
  display: none !important;
  content: none !important;
}

.woocommerce-message .button,
.woocommerce-info .button {
  background: #214a49 !important;
  color: #fff !important;
  border-radius: 3px !important;
  padding: 8px 14px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
  text-decoration: none !important;
}

.woocommerce-error {
  margin: 0 0 20px !important;
  padding: 14px 18px !important;
  background: #fdf1ef !important;
  border-top: 3px solid #c0392b !important;
  border-radius: 3px !important;
  color: #7a2419 !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  list-style: none !important;
}

/* -------------------- Cart page: WhatsApp checkout button -------------------- */

.h789-cart-whatsapp-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 18px !important;
  box-sizing: border-box !important;
  background: #214a49 !important;
  color: #fff !important;
  border: 1px solid #214a49 !important;
  border-radius: 3px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}

.h789-cart-whatsapp-button:hover {
  background: #173c3b !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(33,74,73,.25) !important;
}

.h789-cart-whatsapp-button svg {
  width: 21px !important;
  height: 21px !important;
  fill: currentColor !important;
  flex: 0 0 auto !important;
}

.h789-cart-whatsapp-note {
  margin: 10px 0 0 !important;
  color: #777 !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

/* ============================================================
   HOUSE OF 789 — BUY ROW: Add to Cart + Order on WhatsApp
   side by side, with a shared "premium" button treatment
   (rounded corners, permanent shadow) so gold and teal read as
   a matched pair. Appended last so it wins the cascade over the
   earlier rules above without editing them.
   ============================================================ */

body.single-product .h789-buy-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin: 16px 0 0 !important;
}

/* The cart form (quantity + Add to Cart) becomes one flexible
   half of the row instead of a full-width block. */
body.single-product .h789-buy-row form.cart,
body.single-product .h789-product-summary-column form.cart {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* Add to Cart: gold, matching the WhatsApp button's rounded
   corners and permanent elevated shadow instead of the flatter
   sharp-cornered look it had before. */
body.single-product .h789-product-summary-column form.cart .single_add_to_cart_button {
  min-height: 58px !important;
  background: linear-gradient(135deg, var(--gold-bright, #F0D998) 0%, var(--gold, #CCB261) 45%, var(--gold-rich, #9C6F0B) 100%) !important;
  color: var(--teal, #214a49) !important;
  border: 1.5px solid var(--gold-rich, #9C6F0B) !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 26px rgba(156,111,11,.30), inset 0 1px 0 rgba(255,255,255,.35) !important;
}

body.single-product .h789-product-summary-column form.cart .single_add_to_cart_button:hover {
  background: linear-gradient(135deg, var(--gold, #CCB261) 0%, var(--gold-rich, #9C6F0B) 100%) !important;
  box-shadow: 0 12px 28px rgba(156,111,11,.38), inset 0 1px 0 rgba(255,255,255,.30) !important;
}

body.single-product .h789-product-summary-column form.cart .single_add_to_cart_button:active {
  transform: translateY(1px) !important;
  box-shadow: 0 4px 12px rgba(156,111,11,.35) !important;
}

/* WhatsApp button becomes the row's other flexible half instead
   of a separate full-width block, matched to the same height. */
body.single-product .h789-whatsapp-order {
  flex: 1 1 0 !important;
  width: auto !important;
  min-height: 58px !important;
}

/* Stock status + live cart count, side by side below the row. */
body.single-product .h789-buy-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  margin: 14px 0 0 !important;
}

body.single-product .h789-buy-meta .h789-stock-status {
  margin: 0 !important;
}

body.single-product .h789-cart-count {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: var(--teal, #214a49) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

body.single-product .h789-cart-count svg {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 auto !important;
  color: var(--gold-rich, #9C6F0B) !important;
}

body.single-product .h789-buy-meta + .h789-order-note {
  margin-top: 9px !important;
}

@media (max-width: 480px) {
  body.single-product .h789-buy-row {
    flex-wrap: wrap !important;
  }
  body.single-product .h789-buy-row form.cart,
  body.single-product .h789-whatsapp-order {
    flex: 1 1 100% !important;
  }
}

/* ============================================================
   FINAL FIX — divider directly below the WhatsApp order note
   and immediately above Free Shipping / Secure Payment /
   Quality Assured.
   ============================================================ */
body.single-product .h789-product-order {
  border-bottom: 0 !important;
}

body.single-product .h789-order-note {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(33,74,73,.12) !important;
}

body.single-product .h789-trust-strip {
  border-top: 0 !important;
}

/* ============================================================
   YITH WISHLIST — sizing fix
   The plugin's default table renders tiny thumbnails and small
   text in the browser's default font. This rescales it to match
   the rest of the site (Jost font, teal/gold palette, comfortable
   row height) without touching the plugin's own files, so it
   survives plugin updates.

   YITH's actual markup is <table class="shop_table cart
   wishlist_table"> — NOT "products" (that was wrong in an earlier
   pass, which is why nothing changed). wishlist_table is unique
   to this table, so it's safe to target directly with no wrapper
   class needed.
   ============================================================ */
table.wishlist_table,
table.wishlist_table * {
  font-family: 'Jost', sans-serif !important;
}

table.wishlist_table {
  width: 100% !important;
  font-size: 18px !important;
}

table.wishlist_table th,
table.wishlist_table td {
  padding: 22px 16px !important;
  font-size: 18px !important;
  vertical-align: middle !important;
  border-bottom: 1px solid var(--ring, rgba(33,74,73,0.12)) !important;
}

table.wishlist_table th {
  font-size: 15px !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--teal, #214a49) !important;
}

/* Product thumbnail column */
table.wishlist_table td.product-thumbnail {
  width: 140px !important;
}

table.wishlist_table td.product-thumbnail img {
  width: 120px !important;
  height: 120px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}

/* Product name link */
table.wishlist_table td.product-name a {
  font-size: 19px !important;
  line-height: 1.4 !important;
  color: var(--teal, #214a49) !important;
}

/* Price column */
table.wishlist_table td.product-price,
table.wishlist_table td.product-price del,
table.wishlist_table td.product-price ins {
  font-size: 18px !important;
}

/* Add to cart button — match theme buttons */
table.wishlist_table td.product-add-to-cart a,
table.wishlist_table td.wishlist-action-buttons a {
  font-size: 16px !important;
  padding: 12px 20px !important;
  background: var(--teal, #214a49) !important;
  color: #fff !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  display: inline-block !important;
}

table.wishlist_table td.product-add-to-cart a:hover,
table.wishlist_table td.wishlist-action-buttons a:hover {
  background: var(--teal-soft, #2c5c5a) !important;
}

/* Stock status */
table.wishlist_table td.product-stock-status {
  font-size: 16px !important;
}

@media (max-width: 600px) {
  table.wishlist_table td.product-thumbnail img {
    width: 80px !important;
    height: 80px !important;
  }
  table.wishlist_table td.product-name a {
    font-size: 16px !important;
  }
}

/* ============================================================
   WISHLIST PAGE — heading fix
   The page title ("Wishlist") and YITH's own "My wishlist"
   heading were falling back to the parent Storefront theme's
   default font, since nothing in this stylesheet had ever
   touched them. Scoped to .h789-wishlist-page (added via
   body_class in functions.php) so it only affects this page.
   ============================================================ */
body.h789-wishlist-page .entry-title,
body.h789-wishlist-page .page-title {
  font-family: 'Fraunces', serif !important;
  font-weight: 700 !important;
  font-size: clamp(2rem, 4vw, 2.75rem) !important;
  color: var(--teal, #214a49) !important;
  letter-spacing: .005em !important;
  margin-top: 48px !important;
}

/* Belt-and-braces: margin-top on the heading can collapse against
   the parent container in some browsers, so pad the wrapper too. */
body.h789-wishlist-page .site-content,
body.h789-wishlist-page .content-area {
  padding-top: 32px !important;
}

body.h789-wishlist-page .wishlist-title h2,
body.h789-wishlist-page .yith-wcwl-wishlist h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-style: italic !important;
  font-weight: 600 !important;
  font-size: clamp(1.4rem, 2.4vw, 1.9rem) !important;
  color: var(--gold-deep, #8A6414) !important;
  letter-spacing: .01em !important;
  margin: 0 0 20px !important;
}

/* ============================================================
   MY ACCOUNT PAGE — heading & form fix
   Same issue as the wishlist page above: the "My account" title
   and the "Login"/"Register" sub-headings were falling back to
   the parent Storefront theme's default font. WooCommerce adds
   its own "woocommerce-account" body class automatically, so no
   PHP helper is needed here (unlike the wishlist page, which
   needed one because it's just a plain page under the hood).
   ============================================================ */
body.woocommerce-account .entry-title,
body.woocommerce-account .page-title {
  font-family: 'Fraunces', serif !important;
  font-weight: 700 !important;
  font-size: clamp(2rem, 4vw, 2.75rem) !important;
  color: var(--teal, #214a49) !important;
  letter-spacing: .005em !important;
  margin-top: 48px !important;
}

body.woocommerce-account .site-content,
body.woocommerce-account .content-area {
  padding-top: 32px !important;
}

body.woocommerce-account .woocommerce form.login h2,
body.woocommerce-account .woocommerce form.register h2,
body.woocommerce-account .woocommerce-form-login h2,
body.woocommerce-account .woocommerce-form-register h2,
body.woocommerce-account .u-columns h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-style: italic !important;
  font-weight: 600 !important;
  font-size: clamp(1.4rem, 2.4vw, 1.9rem) !important;
  color: var(--gold-deep, #8A6414) !important;
  letter-spacing: .01em !important;
  margin: 0 0 20px !important;
}

body.woocommerce-account .woocommerce form,
body.woocommerce-account .woocommerce form * {
  font-family: 'Jost', sans-serif !important;
}

body.woocommerce-account .woocommerce form label {
  color: var(--teal, #214a49) !important;
  font-size: 15px !important;
}

body.woocommerce-account .woocommerce form .button {
  background: var(--teal, #214a49) !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-size: 15px !important;
  padding: 12px 24px !important;
}

body.woocommerce-account .woocommerce form .button:hover {
  background: var(--teal-soft, #2c5c5a) !important;
}

/* ------------------------------------------------------------
   ACCOUNT DASHBOARD — sidebar nav (Dashboard/Orders/Downloads/
   Addresses/Account details/Log out) and the "Hello X" welcome
   text. These had no custom styling at all, so they were falling
   back to generic default link colors/fonts — and Storefront's
   default icon-before-each-link was absolutely positioned for a
   layout with reserved padding that was never actually set here,
   so the icon rendered on top of the text instead of beside it.
   ------------------------------------------------------------ */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ring, rgba(33,74,73,0.12)) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--ring, rgba(33,74,73,0.12)) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  border-bottom: 0 !important;
}

/* Real flex row for icon + label, whatever form the icon actually
   takes (a pseudo-element, an inline SVG, or a real child node) —
   this guarantees they sit side by side instead of overlapping. */
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 18px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  color: var(--teal, #214a49) !important;
  text-decoration: none !important;
  background: var(--ivory, #FDFBF8) !important;
  transition: background .2s ease, color .2s ease !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--gold-soft, #E4D9B8) !important;
}

/* Storefront's icon-before-link, if the icon font actually loads,
   sized and positioned in normal flow instead of absolute. */
body.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
  position: static !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: var(--gold-deep, #8A6414) !important;
}

/* Currently active page in the sidebar */
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--teal, #214a49) !important;
  color: #fff !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before {
  color: var(--gold, #CCB261) !important;
}

/* "Hello X (not X? Log out)" + the dashboard's intro paragraph */
body.woocommerce-account .woocommerce-MyAccount-content > p {
  font-family: 'Jost', sans-serif !important;
  font-size: 15px !important;
  color: var(--teal, #214a49) !important;
  line-height: 1.7 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content > p a {
  color: var(--gold-deep, #8A6414) !important;
}
