/*
Theme Name:  RA Chocolatier
Theme URI:   https://rachocolatier.com
Author:      RA Chocolatier
Description: Luxury artisan chocolatier theme. WooCommerce & Elementor ready.
Version:     1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License:     GPL v2+
Text Domain: ra-choc
*/

/* ═══════════════════ TOKENS ═══════════════════ */
:root {
    --gold:   #c8a25d;
    --gold2:  #dfc078;
    --gold3:  #9a7535;
    --choc:   #2b1a12;
    --choc2:  #3a2418;
    --cream:  #f5efe6;
    --ivory:  #faf7f2;
    --parch:  #ede5d8;
    --serif:  'Cormorant Garamond', Georgia, serif;
    --sans:   'Poppins', system-ui, sans-serif;
    --t1: .22s ease;
    --t2: .42s cubic-bezier(.16,1,.3,1);
    --t3: .72s cubic-bezier(.16,1,.3,1);
    --bdr: 1px solid rgba(200,162,93,.18);
    --shadow: 0 12px 48px rgba(43,26,18,.13);
    --glow:   0 8px 36px rgba(200,162,93,.22);
    --hdr: 84px;
}

/* ═══════════════════ RESET ═══════════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body {
    font-family:var(--sans);
    font-weight:300;
    color:var(--choc);
    background-color:var(--ivory);
    background-image:url(assets/images/bg-texture.png);
    background-size:600px;
    overflow-x:hidden;
    line-height:1.8;
}
img { max-width:100%; height:auto; display:block; }
a   { color:var(--gold3); text-decoration:none; transition:color var(--t1); }
a:hover { color:var(--gold); }
ul  { list-style:none; }
h1,h2,h3,h4,h5,h6 { font-family:var(--serif); font-weight:400; line-height:1.05; color:var(--choc); }
p   { color:var(--choc2); font-size:.88rem; line-height:1.9; margin-bottom:.9rem; }
button { font-family:var(--sans); cursor:pointer; }
::selection { background:rgba(200,162,93,.2); color:var(--choc); }
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-thumb { background:var(--gold); }

/* ═══════════════════ LAYOUT ═══════════════════ */
.ra-w  { max-width:1380px; margin:0 auto; padding:0 4rem; width:100%; }
.ra-s  { padding:7rem 0; }
.ra-sm { padding:4rem 0; }
.tc    { text-align:center; }

/* ═══════════════════ UTILITY ═══════════════════ */
.eyebrow {
    display:block; font-size:.57rem; letter-spacing:.4em;
    text-transform:uppercase; color:var(--gold);
    font-family:var(--sans); margin-bottom:.8rem;
}
.gold-i { color:var(--gold); font-style:italic; }
.divider {
    display:flex; align-items:center; justify-content:center;
    gap:1.2rem; margin:1.4rem auto; width:fit-content;
}
.divider::before, .divider::after {
    content:''; width:50px; height:1px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
}

/* Scroll reveal */
.rv   { opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.rv-l { opacity:0; transform:translateX(-36px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.rv-r { opacity:0; transform:translateX(36px);  transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.rv.in, .rv-l.in, .rv-r.in { opacity:1; transform:none; }
.d1{transition-delay:.08s} .d2{transition-delay:.17s} .d3{transition-delay:.27s} .d4{transition-delay:.38s}

/* ═══════════════════ BUTTONS ═══════════════════ */
.btn {
    display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
    font-family:var(--sans); font-size:.59rem; font-weight:500;
    letter-spacing:.22em; text-transform:uppercase;
    padding:.95rem 2.6rem; cursor:pointer;
    transition:all var(--t2); text-decoration:none;
    border:none; white-space:nowrap; line-height:1;
}
.btn-gold { background:var(--gold); color:var(--choc) !important; box-shadow:0 4px 18px rgba(200,162,93,.28); }
.btn-gold:hover { background:var(--gold2); transform:translateY(-3px); box-shadow:var(--glow); color:var(--choc) !important; }
.btn-out  { background:transparent; border:1.5px solid var(--gold); color:var(--gold) !important; }
.btn-out:hover  { background:var(--gold); color:var(--choc) !important; transform:translateY(-2px); }
.btn-dark { background:var(--choc); color:var(--cream) !important; }
.btn-dark:hover { background:var(--choc2); transform:translateY(-2px); color:var(--cream) !important; }
.btn-lt   { background:transparent; border:1px solid rgba(245,239,230,.3); color:rgba(245,239,230,.88) !important; }
.btn-lt:hover   { border-color:var(--gold); color:var(--gold) !important; }
.btn-sm   { padding:.6rem 1.7rem; font-size:.57rem; }
.btn-lg   { padding:1.1rem 3.2rem; font-size:.63rem; }
.btn-blk  { display:flex; width:100%; }

/* ═══════════════════ LOADER ═══════════════════ */
#ra-loader {
    position:fixed; inset:0; z-index:99999;
    background:var(--choc);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.8rem;
    transition:opacity .8s ease, visibility .8s;
}
#ra-loader.out { opacity:0; visibility:hidden; pointer-events:none; }
.ld-logo { max-height:90px; filter:drop-shadow(0 0 24px rgba(200,162,93,.5)); }
.ld-bar  { width:120px; height:1px; background:rgba(200,162,93,.1); overflow:hidden; position:relative; }
.ld-bar::after {
    content:''; position:absolute; inset:0;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
    animation:ldscan 1.5s ease-in-out infinite;
}
@keyframes ldscan { 0%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }

/* ═══════════════════ HEADER ═══════════════════ */
#ra-hdr {
    position:fixed; inset:0 0 auto; z-index:9000;
    height:var(--hdr);
    display:flex; align-items:center;
    padding:0 3rem; gap:1.5rem;
    background:linear-gradient(to bottom, rgba(43,26,18,.7), transparent);
    transition:all var(--t2);
}
#ra-hdr.scrolled {
    background:rgba(250,247,242,.97);
    backdrop-filter:blur(24px);
    box-shadow:0 1px 0 rgba(200,162,93,.14), 0 4px 20px rgba(43,26,18,.07);
    height:68px;
}
.hdr-logo img {
    height:52px; filter:drop-shadow(0 2px 8px rgba(200,162,93,.4));
    transition:height var(--t2);
}
#ra-hdr.scrolled .hdr-logo img { height:42px; }

/* Primary nav */
.hdr-nav  { display:flex; flex:1; }
.nav-list { display:flex; }
.nav-item { position:relative; }
.nav-link {
    display:flex; align-items:center; gap:.3rem;
    padding:0 .95rem; height:var(--hdr);
    font-size:.59rem; letter-spacing:.15em; text-transform:uppercase;
    color:rgba(245,239,230,.88); font-family:var(--sans);
    transition:color var(--t1); position:relative; white-space:nowrap;
}
#ra-hdr.scrolled .nav-link { color:var(--choc2); height:68px; }
.nav-link::after {
    content:''; position:absolute; bottom:0; left:.95rem; right:.95rem;
    height:1.5px; background:var(--gold);
    transform:scaleX(0); transform-origin:left; transition:transform var(--t2);
}
.nav-link:hover, .current-menu-item .nav-link { color:var(--gold); }
.nav-link:hover::after { transform:scaleX(1); }

/* Dropdown */
.nav-drop {
    position:absolute; top:100%; left:0; min-width:200px;
    background:var(--ivory); border:var(--bdr);
    box-shadow:var(--shadow); padding:.5rem 0;
    opacity:0; visibility:hidden; transform:translateY(8px);
    transition:all var(--t2);
}
.nav-item:hover .nav-drop { opacity:1; visibility:visible; transform:translateY(0); }
.nav-drop a {
    display:block; padding:.58rem 1.3rem;
    font-size:.75rem; color:var(--choc2);
    border-bottom:1px solid rgba(200,162,93,.05);
    transition:all var(--t1);
}
.nav-drop a:hover { background:var(--cream); color:var(--gold3); padding-left:1.8rem; }

/* Actions */
.hdr-actions { display:flex; align-items:center; gap:.2rem; margin-left:auto; }
.hdr-btn {
    width:42px; height:42px; background:none; border:none;
    display:flex; align-items:center; justify-content:center;
    color:rgba(245,239,230,.8); border-radius:50%;
    transition:all var(--t1); cursor:pointer; position:relative; font-size:.95rem;
}
#ra-hdr.scrolled .hdr-btn { color:var(--choc2); }
.hdr-btn svg { width:18px; height:18px; }
.hdr-btn:hover { background:rgba(200,162,93,.15); color:var(--gold); }
.cart-count {
    position:absolute; top:3px; right:3px;
    width:16px; height:16px; border-radius:50%;
    background:var(--gold); color:var(--choc);
    font-size:.48rem; font-weight:600;
    display:flex; align-items:center; justify-content:center;
    border:2px solid var(--ivory);
}
.hdr-cta { display:none; }
#ra-hdr.scrolled .hdr-cta { display:inline-flex; }

/* Hamburger */
.hdr-ham {
    display:none; flex-direction:column; gap:5px;
    background:none; border:none; cursor:pointer; padding:6px; width:40px;
}
.hdr-ham span {
    display:block; height:1.5px;
    background:rgba(245,239,230,.88);
    transition:all var(--t2);
}
#ra-hdr.scrolled .hdr-ham span { background:var(--choc); }
.hdr-ham.open span:nth-child(1) { transform:rotate(45deg) translate(4px,4px); }
.hdr-ham.open span:nth-child(2) { opacity:0; }
.hdr-ham.open span:nth-child(3) { transform:rotate(-45deg) translate(4px,-4px); }

/* Mobile nav */
#mob-nav {
    position:fixed; inset:0; z-index:8900;
    background:var(--choc);
    transform:translateX(-100%);
    transition:transform var(--t3);
    padding:calc(var(--hdr) + 2rem) 2.5rem 2rem;
    overflow-y:auto; display:flex; flex-direction:column;
}
#mob-nav.open { transform:translateX(0); }
.mob-link {
    display:block; padding:1rem 0;
    border-bottom:1px solid rgba(200,162,93,.1);
    font-family:var(--serif); font-size:1.9rem;
    color:rgba(245,239,230,.85); transition:color var(--t1);
}
.mob-link:hover { color:var(--gold); }
.mob-actions { display:flex; flex-direction:column; gap:.8rem; margin-top:2rem; padding-top:1.8rem; border-top:var(--bdr); }

/* Search overlay */
#search-ov {
    position:fixed; inset:0; z-index:99000;
    background:rgba(43,26,18,.97);
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden; transition:all var(--t2);
}
#search-ov.open { opacity:1; visibility:visible; }
.search-box { width:min(680px,90vw); position:relative; }
.search-box input {
    width:100%; font-family:var(--serif);
    font-size:clamp(2rem,5vw,3.2rem);
    background:none; border:none;
    border-bottom:1px solid rgba(200,162,93,.35);
    padding:.8rem 0; color:var(--cream); outline:none;
}
.search-box input::placeholder { color:rgba(245,239,230,.2); }
.search-close {
    position:absolute; top:-3.5rem; right:0;
    background:none; border:none; color:rgba(200,162,93,.5);
    font-size:1.3rem; cursor:pointer;
}

/* Cart drawer */
#cart-ov {
    position:fixed; inset:0;
    background:rgba(43,26,18,.5); backdrop-filter:blur(4px);
    z-index:9980; opacity:0; visibility:hidden; transition:all var(--t2);
}
#cart-ov.open { opacity:1; visibility:visible; }
#cart-drawer {
    position:fixed; top:0; right:0; bottom:0; width:410px;
    background:var(--ivory); z-index:9990;
    transform:translateX(100%); transition:transform var(--t3);
    display:flex; flex-direction:column; border-left:var(--bdr);
}
#cart-drawer.open { transform:translateX(0); }
.cd-head {
    display:flex; align-items:center; justify-content:space-between;
    padding:1.7rem 2rem; border-bottom:var(--bdr);
}
.cd-title { font-family:var(--serif); font-size:1.6rem; }
.cd-sub   { font-size:.57rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); display:block; }
.cd-close {
    background:none; border:none; font-size:1rem; cursor:pointer;
    color:var(--choc2); width:36px; height:36px;
    display:flex; align-items:center; justify-content:center;
    border-radius:50%; transition:background var(--t1);
}
.cd-close:hover { background:var(--parch); }
#cd-items { flex:1; overflow-y:auto; padding:1.4rem 2rem; }
.cd-item  { display:flex; gap:1rem; padding-bottom:1.4rem; margin-bottom:1.4rem; border-bottom:var(--bdr); }
.cd-img   { width:72px; height:72px; object-fit:cover; border:var(--bdr); flex-shrink:0; }
.cd-img-ph{ width:72px; height:72px; background:var(--parch); display:flex; align-items:center; justify-content:center; font-size:1.8rem; flex-shrink:0; }
.cd-info  { flex:1; }
.cd-name  { font-family:var(--serif); font-size:.95rem; display:block; margin-bottom:.2rem; }
.cd-price { font-size:.85rem; color:var(--gold3); display:block; margin-bottom:.4rem; }
.cd-qty   { display:flex; align-items:center; gap:.5rem; }
.cd-minus, .cd-plus {
    width:26px; height:26px; border:var(--bdr);
    background:none; color:var(--gold3);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; font-size:.85rem; transition:all var(--t1);
}
.cd-minus:hover, .cd-plus:hover { background:var(--gold); color:var(--choc); border-color:var(--gold); }
.cd-n  { font-size:.82rem; min-width:20px; text-align:center; }
.cd-rm { background:none; border:none; color:rgba(90,61,40,.3); cursor:pointer; margin-left:auto; font-size:.9rem; transition:color var(--t1); }
.cd-rm:hover { color:#b14d68; }
.cd-foot  { padding:1.4rem 2rem; border-top:var(--bdr); background:rgba(237,229,216,.3); }
.cd-total { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:1.2rem; }
.cd-total-lbl { font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--choc2); }
#cart-total { font-family:var(--serif); font-size:1.9rem; }

/* Quick view */
#qv-ov {
    position:fixed; inset:0; z-index:9970;
    background:rgba(43,26,18,.6); backdrop-filter:blur(8px);
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden; transition:all var(--t2);
}
#qv-ov.open { opacity:1; visibility:visible; }
#qv-modal {
    background:var(--ivory); max-width:820px; width:94vw;
    max-height:90vh; overflow-y:auto;
    border:var(--bdr); box-shadow:0 24px 80px rgba(43,26,18,.28);
    position:relative;
    transform:scale(.93); transition:transform var(--t2);
}
#qv-ov.open #qv-modal { transform:scale(1); }
.qv-inner { display:grid; grid-template-columns:1fr 1fr; }
.qv-img   { background:var(--parch); min-height:340px; display:flex; align-items:center; justify-content:center; font-size:7rem; overflow:hidden; }
.qv-img img { width:100%; height:100%; object-fit:cover; }
.qv-body  { padding:2.8rem; display:flex; flex-direction:column; gap:.8rem; }
.qv-close {
    position:absolute; top:.8rem; right:.8rem;
    background:none; border:none; cursor:pointer;
    color:var(--choc2); width:36px; height:36px;
    display:flex; align-items:center; justify-content:center;
    border-radius:50%; z-index:2; transition:background var(--t1);
}
.qv-close:hover { background:var(--parch); }

/* Toast */
#ra-toast {
    position:fixed; bottom:2.5rem; left:50%;
    transform:translateX(-50%) translateY(80px);
    background:var(--choc); color:var(--cream);
    border-top:2px solid var(--gold);
    padding:1rem 2rem; font-size:.75rem; z-index:99999;
    transition:transform .4s cubic-bezier(.16,1,.3,1);
    white-space:nowrap; display:flex; align-items:center; gap:.8rem;
    pointer-events:none;
}
#ra-toast.show { transform:translateX(-50%) translateY(0); }
.toast-gem { color:var(--gold); font-size:.7rem; }

/* ═══════════════════ HERO ═══════════════════ */
.hero {
    min-height:100svh; display:grid; grid-template-columns:1fr 1fr;
    position:relative; overflow:hidden;
}
.hero-left {
    display:flex; flex-direction:column; justify-content:center; gap:1.6rem;
    padding:calc(var(--hdr) + 5rem) 4.5rem 6rem 5rem;
    background:var(--choc);
    background-image:url(assets/images/bg-texture.png);
    background-size:600px; background-blend-mode:soft-light;
    position:relative; z-index:2;
}
.hero-right { position:relative; background:var(--choc2); overflow:hidden; }
.hero-right img {
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; opacity:.7;
}
.hero-right::after {
    content:''; position:absolute; inset:0;
    background:linear-gradient(to right, var(--choc) 0%, transparent 30%),
               linear-gradient(to top,   rgba(43,26,18,.6) 0%, transparent 55%);
}
.hero-ey {
    display:flex; align-items:center; gap:.8rem;
    font-size:.56rem; letter-spacing:.34em;
    text-transform:uppercase; color:var(--gold);
}
.hero-ey::before { content:''; width:28px; height:1px; background:var(--gold); }
.hero h1 { color:var(--cream); font-size:clamp(3rem,5.5vw,6.5rem); line-height:.96; }
.hero h1 em { color:var(--gold); font-style:italic; display:block; }
.hero-sub { font-size:.87rem; color:rgba(245,239,230,.52); line-height:2; max-width:420px; }
.hero-btns { display:flex; gap:1rem; flex-wrap:wrap; }
.hero-stats {
    display:flex; gap:2.5rem; padding-top:2rem;
    border-top:1px solid rgba(200,162,93,.15); margin-top:.3rem;
}
.stat-n { font-family:var(--serif); font-size:2.7rem; color:var(--gold); line-height:1; display:block; }
.stat-l { font-size:.52rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(245,239,230,.3); margin-top:.3rem; display:block; }
.hero-badge { position:absolute; bottom:3rem; left:0; z-index:3; background:var(--gold); padding:1.1rem 1.6rem; }
.hero-badge small { display:block; font-size:.52rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(43,26,18,.6); margin-bottom:.2rem; }
.hero-badge strong { display:block; font-family:var(--serif); font-size:1.35rem; color:var(--choc); }
.hero-scroll {
    position:absolute; bottom:2.5rem; right:0; width:50%;
    display:flex; flex-direction:column; align-items:center; gap:.5rem; z-index:3;
    color:rgba(200,162,93,.38); font-size:.53rem; letter-spacing:.24em; text-transform:uppercase;
}
.scroll-line { width:1px; height:48px; background:rgba(200,162,93,.3); animation:scr 2s ease-in-out infinite; }
@keyframes scr { 0%,100%{opacity:.4;transform:scaleY(1)} 50%{opacity:1;transform:scaleY(.45)} }

/* ═══════════════════ MARQUEE ═══════════════════ */
.marquee {
    background:linear-gradient(90deg, var(--choc2), var(--choc), var(--choc2));
    padding:.9rem 0; overflow:hidden; white-space:nowrap;
}
.marquee-track { display:inline-flex; animation:mq 30s linear infinite; }
.marquee:hover .marquee-track { animation-play-state:paused; }
.mq-item { display:inline-flex; align-items:center; gap:1.8rem; padding:0 1.8rem; font-size:.55rem; letter-spacing:.28em; text-transform:uppercase; color:rgba(245,239,230,.36); }
.mq-gem  { color:var(--gold); opacity:.5; }
@keyframes mq { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ═══════════════════ COLLECTIONS ═══════════════════ */
.colls { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--choc2); }
.coll  { position:relative; overflow:hidden; aspect-ratio:3/4; display:flex; align-items:flex-end; cursor:pointer; background:var(--choc); }
.coll-bg {
    position:absolute; inset:0; background:var(--parch);
    background-image:url(assets/images/bg-texture.png);
    background-size:400px; background-blend-mode:overlay;
    display:flex; align-items:center; justify-content:center;
    font-size:7.5rem; transition:transform var(--t3);
    overflow:hidden;
}
.coll:hover .coll-bg { transform:scale(1.07); }
.coll-body {
    position:relative; z-index:2; width:100%;
    padding:2.5rem 2.2rem;
    background:linear-gradient(transparent, rgba(43,26,18,.92));
    transition:background var(--t2);
}
.coll:hover .coll-body { background:linear-gradient(transparent 0%, rgba(43,26,18,.97) 40%); }
.coll-lbl { font-size:.52rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:.35rem; }
.coll h3  { color:var(--cream); font-size:2rem; margin-bottom:.8rem; }
.coll-cta {
    font-size:.58rem; letter-spacing:.16em; text-transform:uppercase;
    color:var(--gold); display:inline-flex; align-items:center; gap:.4rem;
    opacity:0; transform:translateY(8px); transition:all var(--t2);
}
.coll:hover .coll-cta { opacity:1; transform:translateY(0); }

/* ═══════════════════ PRODUCT CARD ═══════════════════ */
.ra-card {
    background:var(--ivory);
    background-image:url(assets/images/bg-texture.png);
    background-size:340px;
    border:var(--bdr); position:relative; overflow:hidden;
    display:flex; flex-direction:column;
    transition:all var(--t2);
}
.ra-card:hover { border-color:rgba(200,162,93,.42); transform:translateY(-5px); box-shadow:var(--glow); }
.card-img {
    position:relative; overflow:hidden; height:260px;
    background:var(--parch); background-image:url(assets/images/bg-texture.png);
    background-size:300px;
    display:flex; align-items:center; justify-content:center; font-size:5.5rem;
}
.card-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform var(--t3); }
.ra-card:hover .card-img img { transform:scale(1.08); }
.card-badge { position:absolute; top:1rem; left:1rem; z-index:2; font-size:.51rem; letter-spacing:.13em; text-transform:uppercase; padding:.25rem .75rem; font-weight:600; }
.b-gold { background:var(--gold); color:var(--choc); }
.b-rose { background:#c9956c; color:#fff; }
.b-dark { background:var(--choc); color:var(--cream); }
.card-actions {
    position:absolute; bottom:0; left:0; right:0; z-index:3;
    background:linear-gradient(transparent, rgba(43,26,18,.8));
    padding:3rem 1.1rem 1.1rem;
    display:flex; gap:.45rem;
    opacity:0; transform:translateY(5px); transition:all var(--t2);
}
.ra-card:hover .card-actions { opacity:1; transform:translateY(0); }
.card-atc {
    flex:1; background:var(--gold); color:var(--choc);
    border:none; padding:.68rem 1rem;
    font-family:var(--sans); font-size:.56rem; font-weight:500;
    letter-spacing:.15em; text-transform:uppercase;
    cursor:pointer; transition:background var(--t1);
}
.card-atc:hover { background:var(--gold2); }
.card-ico {
    width:36px; height:36px;
    border:1px solid rgba(245,239,230,.35);
    background:rgba(250,247,242,.1); backdrop-filter:blur(4px);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; color:#fff; font-size:.85rem; transition:all var(--t1);
}
.card-ico:hover { background:rgba(200,162,93,.3); border-color:var(--gold); }
.card-body { padding:1.4rem; display:flex; flex-direction:column; flex:1; }
.card-cat  { font-size:.53rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold3); margin-bottom:.35rem; display:block; }
.card-cat a { color:inherit; }
.card-name { font-family:var(--serif); font-size:1.22rem; margin-bottom:.4rem; line-height:1.1; }
.card-name a { color:var(--choc); }
.card-name a:hover { color:var(--gold3); }
.card-desc { font-size:.74rem; color:var(--choc2); line-height:1.8; flex:1; margin-bottom:1rem; }
.card-foot { display:flex; align-items:center; justify-content:space-between; }
.card-price { font-family:var(--serif); font-size:1.38rem; color:var(--choc); }
.card-add   {
    width:34px; height:34px; border:var(--bdr);
    background:none; color:var(--gold3);
    display:flex; align-items:center; justify-content:center;
    font-size:1.1rem; cursor:pointer; transition:all var(--t1);
}
.card-add:hover { background:var(--gold); color:var(--choc); border-color:var(--gold); }

/* Grids */
.ra-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(265px,1fr)); gap:1.3rem; }
.g3 { grid-template-columns:repeat(3,1fr); }
.g4 { grid-template-columns:repeat(4,1fr); }

/* Tabs */
.tabs { display:flex; justify-content:center; gap:.45rem; flex-wrap:wrap; margin-bottom:3rem; }
.tab  {
    background:none; border:1.5px solid rgba(200,162,93,.2);
    color:var(--choc2); padding:.58rem 1.7rem;
    font-size:.58rem; letter-spacing:.15em; text-transform:uppercase;
    font-family:var(--sans); cursor:pointer; transition:all var(--t2);
}
.tab.on, .tab:hover { border-color:var(--gold); color:var(--gold3); background:rgba(200,162,93,.06); }

/* ═══════════════════ STORY ═══════════════════ */
.story { display:grid; grid-template-columns:1fr 1fr; background:var(--choc); background-image:url(assets/images/bg-texture.png); background-size:600px; background-blend-mode:soft-light; }
.story-img { position:relative; overflow:hidden; min-height:520px; display:flex; align-items:center; justify-content:center; font-size:11rem; background:var(--choc2); }
.story-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.68; }
.story-img::after { content:''; position:absolute; inset:0; background:linear-gradient(to right, transparent 55%, var(--choc)); }
.story-body { padding:5.5rem 4.5rem; display:flex; flex-direction:column; justify-content:center; gap:1.2rem; }
.story-body h2 { color:var(--cream); }
.story-body p  { color:rgba(245,239,230,.5); }
.story-sig { font-family:var(--serif); font-size:3.4rem; color:var(--gold); font-style:italic; margin-top:.8rem; opacity:.7; }

/* ═══════════════════ PACKAGING ═══════════════════ */
.pack-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; }
.pack-item { text-align:center; }
.pack-box  {
    height:220px; background:linear-gradient(135deg, var(--parch), var(--cream));
    background-image:url(assets/images/bg-texture.png);
    background-size:300px; background-blend-mode:overlay;
    border:var(--bdr); display:flex; align-items:center; justify-content:center;
    font-size:5rem; margin-bottom:1.1rem; transition:all var(--t2);
}
.pack-item:hover .pack-box { box-shadow:var(--glow); transform:translateY(-4px); border-color:rgba(200,162,93,.4); }
.pack-name { font-family:var(--serif); font-size:1.05rem; display:block; margin-bottom:.3rem; }
.pack-sub  { font-size:.72rem; color:var(--choc2); }

/* ═══════════════════ CORPORATE ═══════════════════ */
.corp-grid  { display:grid; grid-template-columns:1.1fr 1fr; gap:5rem; align-items:center; }
.corp-feats { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:2rem; }
.corp-feat  { background:var(--ivory); border:var(--bdr); padding:1.4rem; transition:all var(--t2); }
.corp-feat:hover { border-color:var(--gold); box-shadow:0 6px 20px rgba(200,162,93,.1); }
.corp-feat-ico { font-size:1.4rem; margin-bottom:.5rem; display:block; }
.corp-feat h5  { font-family:var(--serif); font-size:.95rem; margin-bottom:.2rem; }
.corp-feat p   { font-size:.73rem; margin:0; }
.corp-visual   {
    background:var(--parch); background-image:url(assets/images/bg-texture.png);
    background-size:400px; background-blend-mode:overlay;
    border:var(--bdr); min-height:400px;
    display:flex; align-items:center; justify-content:center;
    font-size:10rem; position:relative;
}
.corp-badge {
    position:absolute; bottom:-1.2rem; right:-1.2rem;
    width:118px; height:118px; background:var(--gold);
    display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
}
.corp-badge strong { font-family:var(--serif); font-size:2.1rem; color:var(--choc); line-height:1; display:block; }
.corp-badge span   { font-size:.51rem; letter-spacing:.1em; text-transform:uppercase; color:var(--choc2); }

/* ═══════════════════ TESTIMONIALS ═══════════════════ */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.testi-card { background:rgba(255,253,249,.04); border:1px solid rgba(200,162,93,.1); padding:2.3rem; transition:all var(--t2); }
.testi-card:hover { background:rgba(255,253,249,.09); border-color:rgba(200,162,93,.25); }
.testi-stars { color:var(--gold); font-size:.82rem; margin-bottom:.9rem; }
.testi-text  { font-family:var(--serif); font-size:1.06rem; line-height:1.88; color:rgba(245,239,230,.72); font-style:italic; margin-bottom:1.3rem; }
.testi-au    { display:flex; align-items:center; gap:.9rem; }
.testi-av    { width:52px; height:52px; border-radius:50%; border:2px solid rgba(200,162,93,.5); background:rgba(200,162,93,.1); display:flex; align-items:center; justify-content:center; font-family:var(--serif); color:var(--gold); overflow:hidden; flex-shrink:0; }
.testi-name  { font-size:.8rem; color:var(--cream); display:block; }
.testi-city  { font-size:.58rem; color:rgba(245,239,230,.3); }

/* ═══════════════════ INSTAGRAM ═══════════════════ */
.insta-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:3px; }
.insta-tile { position:relative; aspect-ratio:1; overflow:hidden; background:var(--parch); display:flex; align-items:center; justify-content:center; font-size:2.8rem; cursor:pointer; }
.insta-ov   { position:absolute; inset:0; background:rgba(43,26,18,.55); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity var(--t2); }
.insta-ov span { color:var(--gold); font-size:1.2rem; }
.insta-tile:hover .insta-ov { opacity:1; }

/* ═══════════════════ NEWSLETTER ═══════════════════ */
.nl-sec { background:var(--choc); background-image:url(assets/images/bg-texture.png); background-size:600px; background-blend-mode:soft-light; padding:5rem 0; text-align:center; border-top:2px solid var(--gold); }
.nl-sec h2 { color:var(--cream); }
.nl-sec p  { color:rgba(245,239,230,.42); max-width:480px; margin:0 auto 2.2rem; }
.nl-form   { display:flex; max-width:480px; margin:0 auto; }
.nl-inp    { flex:1; background:rgba(250,247,242,.07); border:1px solid rgba(200,162,93,.2); border-right:none; color:var(--cream); padding:1rem 1.4rem; font-family:var(--sans); font-size:.84rem; outline:none; }
.nl-inp:focus { border-color:var(--gold); }
.nl-inp::placeholder { color:rgba(245,239,230,.2); }
.nl-btn { background:var(--gold); color:var(--choc); border:none; padding:1rem 1.8rem; font-family:var(--sans); font-size:.59rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; cursor:pointer; transition:background var(--t1); }
.nl-btn:hover { background:var(--gold2); }

/* ═══════════════════ CONTACT ═══════════════════ */
.contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:5rem; align-items:start; }
.contact-row  { display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.3rem; }
.contact-ico  { width:44px; height:44px; border:var(--bdr); display:flex; align-items:center; justify-content:center; font-size:.95rem; color:var(--gold); background:var(--cream); flex-shrink:0; }
.socials { display:flex; gap:.7rem; margin-top:1.6rem; }
.social-a { width:42px; height:42px; border:var(--bdr); display:flex; align-items:center; justify-content:center; font-size:.85rem; color:var(--choc2); transition:all var(--t2); }
.social-a:hover { border-color:var(--gold); color:var(--gold3); transform:translateY(-3px); }

/* Forms */
input[type=text],input[type=email],input[type=tel],input[type=number],
input[type=date],input[type=search],textarea,select {
    width:100%; background:var(--ivory); border:var(--bdr); color:var(--choc);
    padding:.85rem 1.1rem; font-family:var(--sans); font-size:.83rem;
    font-weight:300; outline:none; transition:border-color var(--t1);
    border-radius:0; -webkit-appearance:none;
}
input:focus,textarea:focus,select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,162,93,.08); }
::placeholder { color:rgba(58,36,24,.24); }
label { display:block; font-size:.63rem; letter-spacing:.12em; text-transform:uppercase; color:var(--choc2); margin-bottom:.4rem; }
textarea { resize:vertical; min-height:120px; }
.cf-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.cf-fb   { display:none; padding:.85rem 1rem; font-size:.8rem; border-left:3px solid var(--gold); margin-bottom:1rem; }
.cf-fb.ok  { background:rgba(138,158,106,.1); border-color:#8a9e6a; color:#8a9e6a; display:block; }
.cf-fb.err { background:rgba(177,77,104,.08); border-color:#b14d68; color:#b14d68; display:block; }

/* ═══════════════════ PAGE HERO ═══════════════════ */
.page-hero {
    background:var(--choc); background-image:url(assets/images/bg-texture.png);
    background-size:600px; background-blend-mode:soft-light;
    padding:calc(var(--hdr) + 5rem) 0 5rem; text-align:center;
}
.page-hero h1 { color:var(--cream); }
.page-hero p  { color:rgba(245,239,230,.44); max-width:500px; margin:.7rem auto 0; }

/* ═══════════════════ FAQ ═══════════════════ */
.faq-item { border-bottom:var(--bdr); }
.faq-q    { display:flex; align-items:center; justify-content:space-between; width:100%; text-align:left; background:none; border:none; padding:1.4rem 0; font-family:var(--serif); font-size:1.2rem; color:var(--choc); cursor:pointer; transition:color var(--t1); }
.faq-q:hover { color:var(--gold3); }
.faq-ico  { width:26px; height:26px; border:var(--bdr); display:flex; align-items:center; justify-content:center; color:var(--gold); flex-shrink:0; font-size:1.3rem; transition:transform var(--t2); }
.faq-item.open .faq-ico { transform:rotate(45deg); }
.faq-ans  { display:none; padding-bottom:1.4rem; }
.faq-ans p { font-size:.86rem; margin:0; }

/* ═══════════════════ FOOTER ═══════════════════ */
.ra-footer { background:var(--choc); background-image:url(assets/images/bg-texture.png); background-size:600px; background-blend-mode:soft-light; border-top:2px solid var(--gold); }
.ft-top    { padding:5.5rem 0 4.5rem; }
.ft-grid   { display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:3.5rem; }
.ft-logo   { max-height:60px; margin-bottom:1.2rem; filter:drop-shadow(0 2px 6px rgba(200,162,93,.28)); }
.ft-desc   { font-size:.74rem; color:rgba(245,239,230,.3); line-height:1.9; max-width:265px; }
.ft-socials{ display:flex; gap:.6rem; margin-top:1.4rem; }
.ft-sa     { width:36px; height:36px; border:1px solid rgba(200,162,93,.15); display:flex; align-items:center; justify-content:center; color:rgba(245,239,230,.3); font-size:.85rem; transition:all var(--t2); }
.ft-sa:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-3px); }
.ft-col h4 { font-family:var(--serif); font-size:1rem; color:var(--cream); margin-bottom:1.2rem; font-weight:400; }
.ft-col h4::after { content:''; display:block; width:24px; height:1px; background:var(--gold); margin-top:.4rem; }
.ft-links  { display:flex; flex-direction:column; gap:.52rem; }
.ft-links a{ font-size:.72rem; color:rgba(245,239,230,.3); transition:all var(--t1); }
.ft-links a:hover { color:var(--gold); padding-left:.35rem; }
.ft-nl     { margin-top:1.6rem; }
.ft-nl p   { font-size:.68rem; color:rgba(245,239,230,.28); margin-bottom:.65rem; }
.ft-nl-form{ display:flex; max-width:255px; }
.ft-nl-inp { flex:1; background:rgba(250,247,242,.06); border:1px solid rgba(200,162,93,.15); border-right:none; color:var(--cream); padding:.68rem .9rem; font-family:var(--sans); font-size:.74rem; outline:none; }
.ft-nl-btn { background:var(--gold); color:var(--choc); border:none; padding:.68rem .9rem; font-size:.54rem; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; white-space:nowrap; }
.ft-nl-btn:hover { background:var(--gold2); }
.ft-btm    { padding:1.3rem 0; border-top:var(--bdr); }
.ft-btm-in { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.8rem; }
.ft-copy   { font-size:.63rem; color:rgba(245,239,230,.18); }
.ft-legal  { display:flex; gap:1.8rem; }
.ft-legal a{ font-size:.63rem; color:rgba(245,239,230,.18); transition:color var(--t1); }
.ft-legal a:hover { color:var(--gold); }
.pay-icons { display:flex; gap:.35rem; }
.pay-ico   { background:rgba(245,239,230,.05); border:1px solid rgba(245,239,230,.04); padding:.26rem .52rem; font-size:.52rem; color:rgba(245,239,230,.2); }



/* ═══════════════════ WOOCOMMERCE ═══════════════════ */
.woocommerce-page { padding-top:var(--hdr); }
.ra-wc-main { max-width:1380px; margin:0 auto; padding:3rem 4rem 6rem; }
.woocommerce ul.products { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(255px,1fr)); gap:1.3rem; }
.woocommerce ul.products li.product { margin:0 !important; padding:0 !important; }
.woocommerce span.onsale { background:#c9956c; color:#fff; border-radius:0; font-size:.5rem; text-transform:uppercase; letter-spacing:.1em; padding:.24rem .7rem; min-width:auto; min-height:auto; top:1rem; left:1rem; line-height:1; }
.woocommerce .woocommerce-message, .woocommerce-info, .woocommerce-error { border-left:3px solid var(--gold); background:var(--cream); color:var(--choc); padding:1rem 1.4rem; margin-bottom:1.5rem; font-size:.84rem; border-radius:0; }
.woocommerce div.product p.price { font-family:var(--serif); font-size:2.4rem; color:var(--choc); margin:1rem 0; }
.woocommerce div.product form.cart .single_add_to_cart_button { background:var(--gold); color:var(--choc); border-radius:0; padding:0 2.8rem; height:48px; font-family:var(--sans); font-size:.62rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; border:none; cursor:pointer; transition:all var(--t2); }
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background:var(--gold2); }
.woocommerce .star-rating::before, .woocommerce .star-rating span::before { color:var(--gold); }
table.shop_table { width:100%; border-collapse:collapse; }
table.shop_table th { background:var(--cream); font-size:.59rem; letter-spacing:.16em; text-transform:uppercase; padding:.95rem 1rem; border-bottom:var(--bdr); font-family:var(--sans); font-weight:500; text-align:left; }
table.shop_table td { padding:1.3rem 1rem; border-bottom:var(--bdr); font-size:.84rem; vertical-align:middle; }
.cart_totals { background:var(--cream); border:var(--bdr); padding:1.8rem; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { background:var(--gold); color:var(--choc) !important; font-size:.63rem; letter-spacing:.16em; text-transform:uppercase; padding:1rem 1.8rem; display:block; text-align:center; font-weight:500; border-radius:0; }
#place_order { background:var(--gold); color:var(--choc); width:100%; padding:1.1rem; font-family:var(--sans); font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; border:none; cursor:pointer; }
.woocommerce-MyAccount-navigation ul { list-style:none; padding:0; }
.woocommerce-MyAccount-navigation ul li a { display:block; padding:.75rem 1.1rem; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; border:var(--bdr); border-bottom:none; color:var(--choc2); transition:all var(--t1); }
.woocommerce-MyAccount-navigation ul li:last-child a { border-bottom:var(--bdr); }
.woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-MyAccount-navigation ul li a:hover { background:var(--gold); color:var(--choc); border-color:var(--gold); }

/* ═══════════════════ ELEMENTOR ═══════════════════ */
body.elementor-editor-active #ra-loader { display:none !important; }

/* ═══════════════════ RESPONSIVE ═══════════════════ */
@media (max-width:1200px) {
    .ra-w { padding:0 2.5rem; }
    .ft-grid { grid-template-columns:1fr 1fr; gap:2.5rem; }
    .testi-grid { grid-template-columns:repeat(2,1fr); }
    .pack-grid { grid-template-columns:repeat(2,1fr); }
    .corp-grid { grid-template-columns:1fr; gap:3rem; }
    .story { grid-template-columns:1fr; }
    .story-img { height:360px; min-height:unset; }
    .story-img::after { background:linear-gradient(to top, var(--choc), transparent); }
}
@media (max-width:1024px) {
    #ra-hdr { padding:0 2rem; }
    .hdr-nav { display:none; }
    .hdr-ham { display:flex; }
    .hero { grid-template-columns:1fr; }
    .hero-right { height:50vh; }
    .hero-left { padding:calc(var(--hdr) + 3.5rem) 2.5rem 4.5rem; text-align:center; }
    .hero-ey, .hero-btns, .hero-stats { justify-content:center; }
    .hero-sub { margin-inline:auto; }
    .colls { grid-template-columns:1fr 1fr; }
    .contact-grid { grid-template-columns:1fr; }
    .qv-inner { grid-template-columns:1fr; }
    .cart-drawer { width:100%; max-width:420px; }
}
@media (max-width:768px) {
    :root { --hdr:66px; }
    .ra-w { padding:0 1.4rem; }
    .ra-s { padding:5rem 0; }
    .g3, .g4 { grid-template-columns:repeat(2,1fr); }
    .woocommerce ul.products { grid-template-columns:repeat(2,1fr); }
    .colls { grid-template-columns:1fr; }
    .testi-grid { grid-template-columns:1fr; }
    .insta-grid { grid-template-columns:repeat(3,1fr); }
    .pack-grid { grid-template-columns:repeat(2,1fr); }
    .ft-grid { grid-template-columns:1fr; }
    .ft-btm-in { flex-direction:column; text-align:center; }
    .nl-form { flex-direction:column; }
    .nl-inp, .nl-btn { width:100%; }
    .cf-grid { grid-template-columns:1fr; }
}
@media (max-width:480px) {
    .g3, .g4 { grid-template-columns:1fr; }
    .woocommerce ul.products { grid-template-columns:1fr; }
    .hero h1 { font-size:2.8rem; }
    .insta-grid { grid-template-columns:repeat(2,1fr); }
}

/* ═══════════════════ ANIMATION IMPROVEMENTS ═══════════════════ */

/* Stagger delays extended */
.d5{transition-delay:.50s} .d6{transition-delay:.65s}

/* Hero entrance animations */
.hero-left .hero-ey    { animation:fadeSlideUp .7s cubic-bezier(.16,1,.3,1) .2s both; }
.hero-left h1          { animation:fadeSlideUp .8s cubic-bezier(.16,1,.3,1) .35s both; }
.hero-left .hero-sub   { animation:fadeSlideUp .8s cubic-bezier(.16,1,.3,1) .5s both; }
.hero-left .hero-btns  { animation:fadeSlideUp .8s cubic-bezier(.16,1,.3,1) .62s both; }
.hero-left .hero-stats { animation:fadeSlideUp .8s cubic-bezier(.16,1,.3,1) .75s both; }
@keyframes fadeSlideUp {
    from { opacity:0; transform:translateY(28px); }
    to   { opacity:1; transform:translateY(0); }
}

/* Hero image subtle zoom */
.hero-right img { animation:heroZoom 12s ease-in-out infinite alternate; }
@keyframes heroZoom {
    from { transform:scale(1); }
    to   { transform:scale(1.06); }
}

/* Card hover - smoother lift */
.ra-card {
    transition:transform .4s cubic-bezier(.16,1,.3,1),
               box-shadow .4s cubic-bezier(.16,1,.3,1),
               border-color .3s ease;
}
.ra-card:hover { transform:translateY(-7px) scale(1.008); }

/* Card image zoom smoother */
.ra-card:hover .card-img img { transform:scale(1.1); transition:transform .9s cubic-bezier(.16,1,.3,1); }

/* Collection tile parallax feel */
.coll-bg { transition:transform .9s cubic-bezier(.16,1,.3,1); }
.coll:hover .coll-bg { transform:scale(1.08); }

/* Button ripple-press feel */
.btn:active { transform:translateY(0) scale(.97); transition:transform .1s ease; }

/* Nav underline smoother */
.nav-link::after { transition:transform .35s cubic-bezier(.16,1,.3,1); }

/* Testimonial card hover */
.testi-card { transition:transform .4s cubic-bezier(.16,1,.3,1), background .3s ease, border-color .3s ease; }
.testi-card:hover { transform:translateY(-4px); }

/* Pack box hover */
.pack-box { transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease, border-color .3s ease; }
.pack-item:hover .pack-box { transform:translateY(-6px) scale(1.02); }

/* Corp feat hover */
.corp-feat { transition:transform .35s cubic-bezier(.16,1,.3,1), border-color .3s ease, box-shadow .3s ease; }
.corp-feat:hover { transform:translateY(-3px); }

/* Instagram tile hover */
.insta-tile img { transition:transform .7s cubic-bezier(.16,1,.3,1); }
.insta-tile:hover img { transform:scale(1.08); }

/* Marquee smooth pause */
.marquee-track { will-change:transform; }

/* Social icon hover bounce */
.social-a, .ft-sa {
    transition:transform .35s cubic-bezier(.16,1,.3,1), border-color .25s ease, color .25s ease;
}
.social-a:hover, .ft-sa:hover { transform:translateY(-4px) scale(1.1); }

/* Scroll reveal - smoother stagger for grid children */
.ra-grid .rv { transition:opacity .75s cubic-bezier(.16,1,.3,1), transform .75s cubic-bezier(.16,1,.3,1); }
.ra-grid .rv:nth-child(1) { transition-delay:.05s; }
.ra-grid .rv:nth-child(2) { transition-delay:.12s; }
.ra-grid .rv:nth-child(3) { transition-delay:.19s; }
.ra-grid .rv:nth-child(4) { transition-delay:.26s; }
.ra-grid .rv:nth-child(5) { transition-delay:.33s; }
.ra-grid .rv:nth-child(6) { transition-delay:.40s; }
.ra-grid .rv:nth-child(7) { transition-delay:.47s; }
.ra-grid .rv:nth-child(8) { transition-delay:.54s; }

/* Coll tile entrance */
.coll.rv { transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }

/* Testi grid stagger */
.testi-grid .rv:nth-child(1){transition-delay:.05s}
.testi-grid .rv:nth-child(2){transition-delay:.15s}
.testi-grid .rv:nth-child(3){transition-delay:.25s}
.testi-grid .rv:nth-child(4){transition-delay:.10s}
.testi-grid .rv:nth-child(5){transition-delay:.20s}
.testi-grid .rv:nth-child(6){transition-delay:.30s}

/* Pack grid stagger */
.pack-grid .rv:nth-child(1){transition-delay:.05s}
.pack-grid .rv:nth-child(2){transition-delay:.14s}
.pack-grid .rv:nth-child(3){transition-delay:.23s}
.pack-grid .rv:nth-child(4){transition-delay:.32s}

/* Gold shimmer on logo */
@keyframes goldShimmer {
    0%,100%  { filter:drop-shadow(0 2px 8px rgba(200,162,93,.35)); }
    50%      { filter:drop-shadow(0 2px 16px rgba(200,162,93,.65)); }
}
.hdr-logo img { animation:goldShimmer 4s ease-in-out infinite; }

/* Scroll reveal refined */
.rv   { opacity:0; transform:translateY(28px); transition:opacity .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1); }
.rv-l { opacity:0; transform:translateX(-40px); transition:opacity .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1); }
.rv-r { opacity:0; transform:translateX(40px);  transition:opacity .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1); }

/* ═══════════════════ ANIMATION IMPROVEMENTS ═══════════════════ */
.d5{transition-delay:.50s} .d6{transition-delay:.65s}
.hero-left .hero-ey    { animation:ra-fsu .7s cubic-bezier(.16,1,.3,1) .2s  both; }
.hero-left h1          { animation:ra-fsu .8s cubic-bezier(.16,1,.3,1) .35s both; }
.hero-left .hero-sub   { animation:ra-fsu .8s cubic-bezier(.16,1,.3,1) .5s  both; }
.hero-left .hero-btns  { animation:ra-fsu .8s cubic-bezier(.16,1,.3,1) .62s both; }
.hero-left .hero-stats { animation:ra-fsu .8s cubic-bezier(.16,1,.3,1) .75s both; }
@keyframes ra-fsu { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
.hero-right img { animation:ra-hzoom 14s ease-in-out infinite alternate; }
@keyframes ra-hzoom { from{transform:scale(1)} to{transform:scale(1.07)} }
.ra-card { transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s cubic-bezier(.16,1,.3,1), border-color .3s ease; }
.ra-card:hover { transform:translateY(-7px) scale(1.008); }
.ra-card:hover .card-img img { transform:scale(1.1); transition:transform .9s cubic-bezier(.16,1,.3,1); }
.coll-bg { transition:transform .9s cubic-bezier(.16,1,.3,1); }
.coll:hover .coll-bg { transform:scale(1.08); }
.btn:active { transform:translateY(0) scale(.97) !important; transition:transform .1s ease !important; }
.testi-card { transition:transform .4s cubic-bezier(.16,1,.3,1), background .3s ease, border-color .3s ease; }
.testi-card:hover { transform:translateY(-4px); }
.pack-box { transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease; }
.pack-item:hover .pack-box { transform:translateY(-6px) scale(1.02); }
.corp-feat { transition:transform .35s cubic-bezier(.16,1,.3,1), border-color .3s ease, box-shadow .3s ease; }
.corp-feat:hover { transform:translateY(-3px); }
.insta-tile img { transition:transform .7s cubic-bezier(.16,1,.3,1); }
.insta-tile:hover img { transform:scale(1.1); }
.social-a,.ft-sa { transition:transform .35s cubic-bezier(.16,1,.3,1), border-color .25s ease; }
.social-a:hover,.ft-sa:hover { transform:translateY(-4px) scale(1.1); }
.ra-grid .rv:nth-child(1){transition-delay:.04s}.ra-grid .rv:nth-child(2){transition-delay:.11s}
.ra-grid .rv:nth-child(3){transition-delay:.18s}.ra-grid .rv:nth-child(4){transition-delay:.25s}
.ra-grid .rv:nth-child(5){transition-delay:.32s}.ra-grid .rv:nth-child(6){transition-delay:.39s}
.ra-grid .rv:nth-child(7){transition-delay:.46s}.ra-grid .rv:nth-child(8){transition-delay:.53s}
.testi-grid .rv:nth-child(1){transition-delay:.05s}.testi-grid .rv:nth-child(2){transition-delay:.14s}
.testi-grid .rv:nth-child(3){transition-delay:.23s}.testi-grid .rv:nth-child(4){transition-delay:.08s}
.testi-grid .rv:nth-child(5){transition-delay:.17s}.testi-grid .rv:nth-child(6){transition-delay:.26s}
.pack-grid .rv:nth-child(1){transition-delay:.05s}.pack-grid .rv:nth-child(2){transition-delay:.14s}
.pack-grid .rv:nth-child(3){transition-delay:.23s}.pack-grid .rv:nth-child(4){transition-delay:.32s}
@keyframes ra-shimmer { 0%,100%{filter:drop-shadow(0 2px 8px rgba(200,162,93,.35))} 50%{filter:drop-shadow(0 2px 18px rgba(200,162,93,.7))} }
.hdr-logo img { animation:ra-shimmer 4s ease-in-out infinite; }
.rv  { opacity:0; transform:translateY(28px);  transition:opacity .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1); }
.rv-l{ opacity:0; transform:translateX(-40px); transition:opacity .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1); }
.rv-r{ opacity:0; transform:translateX(40px);  transition:opacity .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1); }

/* ═══════════════════ BUG FIXES ═══════════════════ */
/* Checkout responsive */
@media(max-width:768px){
  .woocommerce-checkout .ra-wc-main > div[style*="grid-template-columns"] { grid-template-columns:1fr !important; }
}
/* Fix testi-av image display */
.testi-av { overflow:hidden; padding:0 !important; }
.testi-av img { width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; }
/* Fix insta-tile position for image */
.insta-tile { position:relative; }
/* Fix pack-box height consistency */
.pack-box { min-height:200px; }
/* Fix corp-visual min height */
.corp-visual { min-height:400px; }
/* Fix footer social icon alignment */
.ft-sa { align-items:center; justify-content:center; }
.ft-sa img { display:block; }
/* Fix contact-ico size */
.contact-ico { width:46px; height:46px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
/* Fix search overlay input focus ring */
.search-box input:focus { outline:none; border-bottom-color:var(--gold); }
/* Fix mobile nav overflow */
#mob-nav { overflow-y:auto; -webkit-overflow-scrolling:touch; }
/* Fix hero badge z-index */
.hero-badge { z-index:4; }
/* Fix card actions z-index on touch */
@media(hover:none){
  .ra-card .card-actions { opacity:1; transform:translateY(0); }
  .coll .coll-cta { opacity:1; transform:translateY(0); }
}
