/* =========================================================
   ASTHARACHANA — COMPLETE SITE CSS
   Faith + Creation
   Matches home.blade.php + layouts/app.blade.php
========================================================= */

:root{
    --green:#173c32;
    --green-dark:#0d2d25;
    --green-mid:#285747;
    --green-soft:#eaf1ed;
    --gold:#b9934b;
    --gold-light:#d8bd7a;
    --gold-pale:#f5eddc;
    --cream:#faf7f0;
    --cream-2:#f3ede1;
    --white:#ffffff;
    --ink:#1f2925;
    --muted:#737a75;
    --line:rgba(23,60,50,.12);
    --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
    --sans:"DM Sans","Segoe UI",Arial,sans-serif;
    --shadow:0 18px 50px rgba(13,45,37,.09);
    --shadow-lg:0 30px 80px rgba(13,45,37,.16);
    --ease:cubic-bezier(.22,.61,.36,1);
}

/* =========================================================
   RESET / GLOBAL
========================================================= */

html{
    scroll-behavior:smooth;
    scroll-padding-top:90px;
}

body{
    margin:0;
    padding:0;
    overflow-x:hidden;
    background:var(--cream);
    color:var(--ink);
    font-family:var(--sans);
    font-size:15px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

img{
    display:block;
    max-width:100%;
    height:auto;
}

svg{
    max-width:100%;
}

a{
    color:inherit;
    text-decoration:none;
}

button,
input,
textarea,
select{
    font:inherit;
}

button{
    cursor:pointer;
}

button:disabled{
    cursor:not-allowed;
    opacity:.7;
}

::selection{
    background:var(--gold);
    color:#fff;
}

.container{
    position:relative;
    z-index:2;
}

.section-padding{
    padding:105px 0;
}

.section-heading{
    max-width:780px;
    margin-left:auto;
    margin-right:auto;
}

.section-heading-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
}

.section-heading-row > div{
    max-width:720px;
}

.section-eyebrow{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:18px;
    color:var(--gold);
    font-size:10px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.section-eyebrow span{
    width:30px;
    height:1px;
    flex:0 0 30px;
    background:currentColor;
}

.section-eyebrow.light{
    color:var(--gold-light);
}

.section-heading.text-center .section-eyebrow{
    justify-content:center;
}

.section-heading h2,
.section-heading-row h2{
    margin:0;
    color:var(--green);
    font-family:var(--serif);
    font-size:clamp(42px,5vw,64px);
    font-weight:600;
    line-height:1.02;
    letter-spacing:-.025em;
}

.section-heading h2 em,
.section-heading-row h2 em,
.story-content h2 em,
.finder-content h2 em,
.newsletter-card h2 em{
    color:var(--gold);
    font-style:italic;
}

.section-heading p,
.section-heading-row p{
    margin:16px 0 0;
    color:var(--muted);
    font-size:14px;
    line-height:1.8;
}

.text-link{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--green);
    font-size:11px;
    line-height:1.2;
    font-weight:700;
    transition:gap .25s var(--ease),color .25s ease;
}

.text-link:hover{
    color:var(--gold);
    gap:13px;
}

/* =========================================================
   BUTTONS
========================================================= */

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:46px;
    padding:12px 22px;
    border:1px solid transparent;
    border-radius:999px;
    font-size:11px;
    line-height:1.2;
    font-weight:700;
    transition:
        transform .25s var(--ease),
        box-shadow .25s ease,
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.btn:hover{
    transform:translateY(-2px);
}

.btn-gold{
    background:var(--gold);
    border-color:var(--gold);
    color:#fff;
    box-shadow:0 12px 30px rgba(185,147,75,.25);
}

.btn-gold:hover{
    background:#a9823e;
    border-color:#a9823e;
    color:#fff;
    box-shadow:0 17px 38px rgba(185,147,75,.3);
}

.btn-dark{
    background:var(--green);
    border-color:var(--green);
    color:#fff;
}

.btn-dark:hover{
    background:var(--green-dark);
    border-color:var(--green-dark);
    color:#fff;
}

.btn-light-outline{
    background:transparent;
    border-color:rgba(255,255,255,.45);
    color:#fff;
}

.btn-light-outline:hover{
    background:#fff;
    border-color:#fff;
    color:var(--green);
}

.btn-outline-dark{
    background:transparent;
    border-color:var(--green);
    color:var(--green);
}

.btn-outline-dark:hover{
    background:var(--green);
    color:#fff;
}

/* =========================================================
   ANNOUNCEMENT BAR
========================================================= */

.announcement-bar{
    position:relative;
    z-index:1040;
    min-height:32px;
    background:var(--green-dark);
    color:rgba(255,255,255,.78);
    font-size:9px;
    line-height:1.2;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.announcement-inner{
    min-height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
}

.announcement-inner > span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.announcement-inner i{
    color:var(--gold-light);
}

.announcement-divider{
    width:1px;
    height:12px;
    flex:0 0 1px;
    background:rgba(255,255,255,.16);
}

/* =========================================================
   HEADER
========================================================= */

.site-header{
    position:sticky;
    top:0;
    z-index:1030;
    background:rgba(250,247,240,.94);
    border-bottom:1px solid transparent;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    transition:
        background .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.site-header.header-scrolled{
    background:rgba(255,255,255,.98);
    border-bottom-color:var(--line);
    box-shadow:0 8px 30px rgba(13,41,34,.08);
}

.header-main{
    min-height:80px;
    display:flex;
    align-items:center;
    gap:28px;
}

.brand-logo{
    display:inline-flex;
    align-items:center;
    gap:11px;
    flex:0 0 auto;
    color:var(--green);
}

.brand-mark{
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    flex:0 0 43px;
    border:1px solid rgba(185,147,75,.45);
    border-radius:50%;
    color:var(--gold);
    font-family:Georgia,"Times New Roman",serif;
    font-size:21px;
    line-height:1;
}

.brand-text strong{
    display:block;
    color:inherit;
    font-family:var(--serif);
    font-size:25px;
    font-weight:700;
    line-height:.9;
    letter-spacing:.02em;
}

.brand-text small{
    display:block;
    margin-top:6px;
    color:var(--gold);
    font-size:7px;
    line-height:1;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.main-nav{
    display:flex;
    align-items:center;
    gap:3px;
    margin-left:auto;
}

.main-nav > a{
    position:relative;
    padding:10px 13px;
    color:var(--ink);
    font-size:11px;
    line-height:1.2;
    font-weight:600;
}

.main-nav > a::after{
    content:"";
    position:absolute;
    left:13px;
    right:13px;
    bottom:3px;
    height:1px;
    background:var(--gold);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .25s ease;
}

.main-nav > a:hover,
.main-nav > a.active{
    color:var(--green);
}

.main-nav > a:hover::after,
.main-nav > a.active::after{
    transform:scaleX(1);
}

.main-nav .find-link{
    color:var(--gold);
    font-weight:700;
}

.header-actions{
    display:flex;
    align-items:center;
    gap:5px;
}

.header-icon{
    position:relative;
    width:39px;
    height:39px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:var(--green);
    font-size:17px;
    line-height:1;
    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.header-icon:hover{
    background:var(--gold-pale);
    color:var(--gold);
    transform:translateY(-1px);
}

.cart-icon .cart-count{
    position:absolute;
    top:-1px;
    right:-1px;
    min-width:17px;
    height:17px;
    display:grid;
    place-items:center;
    padding:0 4px;
    border:2px solid var(--cream);
    border-radius:50px;
    background:var(--gold);
    color:#fff;
    font-size:8px;
    line-height:1;
    font-weight:800;
}

.mobile-menu-btn{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    background:transparent;
    color:var(--green);
    font-size:24px;
    line-height:1;
}

/* =========================================================
   SEARCH OVERLAY
========================================================= */

.search-overlay{
    position:fixed;
    inset:0;
    z-index:3000;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:115px 20px 30px;
    background:rgba(9,34,28,.84);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease,visibility .25s ease;
}

.search-overlay.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.search-overlay-inner{
    position:relative;
    width:min(760px,100%);
    min-height:300px;
    display:flex;
    align-items:center;
    border-radius:28px;
    background:var(--cream);
    box-shadow:var(--shadow-lg);
    overflow:hidden;
}

.search-content{
    width:100%;
    padding:50px;
}

.search-eyebrow{
    display:block;
    color:var(--gold);
    font-size:9px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.search-content h2{
    margin:10px 0 28px;
    color:var(--green);
    font-family:var(--serif);
    font-size:43px;
    line-height:1;
    font-weight:600;
}

.search-box{
    min-height:55px;
    display:flex;
    align-items:center;
    padding-left:16px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    overflow:hidden;
}

.search-box > i{
    color:var(--gold);
}

.search-box input{
    min-width:0;
    flex:1;
    padding:0 13px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--green);
    font-size:13px;
}

.search-box input::placeholder{
    color:#9b9f9b;
}

.search-box button{
    height:45px;
    margin-right:5px;
    padding:0 22px;
    border:0;
    border-radius:999px;
    background:var(--green);
    color:#fff;
    font-size:10px;
    line-height:1;
    font-weight:700;
}

.search-close{
    position:absolute;
    top:18px;
    right:18px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    border-radius:50%;
    background:var(--cream-2);
    color:var(--green);
}

/* =========================================================
   MOBILE OFFCANVAS
========================================================= */

.mobile-menu{
    width:min(340px,88vw);
    background:var(--cream);
    color:var(--green);
}

.mobile-menu .offcanvas-header{
    padding:22px;
    border-bottom:1px solid var(--line);
}

.mobile-menu .offcanvas-body{
    min-height:0;
    display:flex;
    flex-direction:column;
    padding:10px 22px 25px;
}

.mobile-nav{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.mobile-nav > a{
    display:flex;
    align-items:center;
    gap:13px;
    padding:13px 12px;
    border-radius:12px;
    color:var(--green);
    font-size:12px;
    line-height:1.2;
    font-weight:600;
}

.mobile-nav > a:hover{
    background:var(--gold-pale);
    color:var(--gold);
}

.mobile-nav > a i{
    width:20px;
    color:var(--gold);
    font-size:16px;
    line-height:1;
}

.mobile-nav-divider{
    height:1px;
    margin:10px 0;
    background:var(--line);
}

.mobile-menu-footer{
    margin-top:auto;
    padding:20px 12px 0;
    border-top:1px solid var(--line);
}

.mobile-menu-footer span{
    color:var(--gold);
    font-size:9px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.mobile-menu-footer p{
    margin:6px 0 0;
    color:var(--muted);
    font-size:11px;
    line-height:1.6;
}

/* =========================================================
   HERO
========================================================= */

.hero-section{
    position:relative;
    min-height:720px;
    display:flex;
    align-items:center;
    overflow:hidden;
    padding:90px 0 105px;
    background:
        radial-gradient(circle at 79% 43%,rgba(185,147,75,.18),transparent 27%),
        linear-gradient(135deg,#faf7f0 0%,#f0e8d8 100%);
}

.hero-pattern{
    position:absolute;
    inset:0;
    opacity:.22;
    pointer-events:none;
    background-image:radial-gradient(rgba(185,147,75,.25) 1px,transparent 1px);
    background-size:30px 30px;
    -webkit-mask-image:linear-gradient(to right,transparent,black 45%,black 100%);
    mask-image:linear-gradient(to right,transparent,black 45%,black 100%);
}

.hero-bottom-fade{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    height:90px;
    background:linear-gradient(to top,var(--cream),transparent);
    pointer-events:none;
}

.hero-content{
    position:relative;
    z-index:3;
}

.hero-content h1{
    max-width:670px;
    margin:0;
    color:var(--green);
    font-family:var(--serif);
    font-size:clamp(51px,6.2vw,82px);
    font-weight:600;
    line-height:.94;
    letter-spacing:-.035em;
}

.hero-content h1 em{
    color:var(--gold);
    font-style:italic;
}

.hero-content > p{
    max-width:550px;
    margin:25px 0 28px;
    color:var(--muted);
    font-size:15px;
    line-height:1.85;
}

.hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.hero-trust{
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    margin-top:28px;
}

.hero-trust > div{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--muted);
    font-size:9px;
    line-height:1.3;
    font-weight:600;
}

.hero-trust i{
    color:var(--gold);
    font-size:14px;
    line-height:1;
}

/* =========================================================
   HERO ART
========================================================= */

.hero-art-wrapper{
    position:relative;
    min-height:545px;
    display:grid;
    place-items:center;
}

.hero-glow{
    position:absolute;
    width:330px;
    height:330px;
    border-radius:50%;
    background:rgba(185,147,75,.16);
    filter:blur(55px);
    animation:heroGlow 5s ease-in-out infinite;
}

.hero-yantra{
    position:relative;
    z-index:2;
    width:min(445px,82vw);
    aspect-ratio:1;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:radial-gradient(circle,rgba(216,189,122,.16),rgba(23,60,50,.03) 55%,transparent 70%);
    animation:yantraFloat 6s ease-in-out infinite;
}

.hero-yantra::before,
.hero-yantra::after{
    content:"";
    position:absolute;
    border:1px solid rgba(185,147,75,.42);
    border-radius:50%;
}

.hero-yantra::before{
    inset:7%;
}

.hero-yantra::after{
    inset:15%;
    border-color:rgba(185,147,75,.25);
}

.yantra-inner{
    width:76%;
    height:76%;
    display:grid;
    place-items:center;
}

.yantra-inner svg{
    width:100%;
    height:100%;
    overflow:visible;
}

.hero-orbit{
    position:absolute;
    border:1px solid rgba(185,147,75,.2);
    border-radius:50%;
    pointer-events:none;
}

.orbit-one{
    width:570px;
    height:570px;
    transform:rotate(20deg);
    animation:orbitRotate 30s linear infinite;
}

.orbit-two{
    width:500px;
    height:500px;
    border-style:dashed;
    opacity:.55;
    animation:orbitRotateReverse 38s linear infinite;
}

.hero-floating-card{
    position:absolute;
    z-index:4;
    display:flex;
    align-items:center;
    gap:11px;
    padding:13px 17px;
    border:1px solid rgba(23,60,50,.09);
    border-radius:16px;
    background:rgba(255,255,255,.94);
    box-shadow:0 16px 38px rgba(13,45,37,.12);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

.hero-floating-card i{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:var(--gold-pale);
    color:var(--gold);
}

.hero-floating-card strong{
    display:block;
    color:var(--green);
    font-size:10px;
    line-height:1.2;
}

.hero-floating-card span{
    display:block;
    margin-top:2px;
    color:var(--muted);
    font-size:8px;
    line-height:1.2;
}

.hero-card-top{
    top:15%;
    right:2%;
    animation:floatingCard 4.5s ease-in-out infinite;
}

.hero-card-bottom{
    bottom:13%;
    left:0;
    animation:floatingCard 5s ease-in-out infinite reverse;
}

/* =========================================================
   SIMPLE YANTRA SVG SUPPORT
========================================================= */

.yantra-ring{
    fill:none;
    stroke:var(--gold);
    stroke-width:2;
}

.yantra-ring.thin{
    stroke-width:1;
    opacity:.55;
}

.triangles path{
    fill:none;
    stroke:var(--gold);
    stroke-width:2;
    stroke-linejoin:round;
}

.bindu{
    fill:var(--gold);
}

/* =========================================================
   TRUST STRIP
========================================================= */

.trust-strip{
    position:relative;
    z-index:10;
    margin-top:-34px;
}

.trust-strip .row{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--shadow);
}

.trust-item{
    min-height:102px;
    display:flex;
    align-items:center;
    gap:13px;
    padding:20px 23px;
    border-right:1px solid var(--line);
}

.trust-icon{
    width:43px;
    height:43px;
    flex:0 0 43px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--gold-pale);
    color:var(--gold);
    font-size:17px;
}

.trust-item strong{
    display:block;
    color:var(--green);
    font-size:10px;
    line-height:1.3;
}

.trust-item span{
    display:block;
    margin-top:2px;
    color:var(--muted);
    font-size:8px;
    line-height:1.4;
}

/* =========================================================
   PURPOSE
========================================================= */

.purpose-section{
    background:#fff;
}

.purpose-section .section-eyebrow{
    justify-content:center;
}

.purpose-card{
    position:relative;
    display:block;
    height:100%;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--cream);
    transition:
        transform .3s var(--ease),
        box-shadow .3s ease,
        border-color .3s ease;
}

.purpose-card:hover{
    transform:translateY(-8px);
    border-color:rgba(185,147,75,.35);
    box-shadow:var(--shadow);
}

.purpose-art{
    position:relative;
    height:175px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:linear-gradient(145deg,#f6efdf,#eee4d0);
}

.purpose-art::before,
.purpose-art::after{
    content:"";
    position:absolute;
    border:1px solid rgba(185,147,75,.22);
    border-radius:50%;
}

.purpose-art::before{
    width:170px;
    height:170px;
}

.purpose-art::after{
    width:110px;
    height:110px;
}

.purpose-art span{
    position:relative;
    z-index:2;
    color:var(--gold);
    font-family:Georgia,"Times New Roman",serif;
    font-size:65px;
    line-height:1;
    text-shadow:0 8px 20px rgba(185,147,75,.18);
}

.prosperity-art{
    background:radial-gradient(circle at 50% 45%,rgba(185,147,75,.2),transparent 65%),#f5eddd;
}

.protection-art{
    background:radial-gradient(circle at 50% 45%,rgba(23,60,50,.11),transparent 65%),#edf1ed;
}

.success-art{
    background:radial-gradient(circle at 50% 45%,rgba(185,147,75,.17),transparent 65%),#f2ecdf;
}

.peace-art{
    background:radial-gradient(circle at 50% 45%,rgba(23,60,50,.08),transparent 65%),#f0f1ed;
}

.purpose-content{
    position:relative;
    padding:20px 21px 22px;
}

.purpose-number{
    display:block;
    color:var(--gold);
    font-size:8px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.12em;
}

.purpose-content h3{
    margin:5px 0 4px;
    color:var(--green);
    font-family:var(--serif);
    font-size:28px;
    line-height:1;
    font-weight:600;
}

.purpose-content p{
    margin:0;
    color:var(--muted);
    font-size:10px;
    line-height:1.6;
}

.purpose-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:15px;
    color:var(--green);
    font-size:9px;
    line-height:1.2;
    font-weight:700;
}

.purpose-link i{
    color:var(--gold);
}

/* =========================================================
   FEATURED PRODUCTS
========================================================= */

.featured-section{
    background:var(--cream);
}

.product-card{
    height:100%;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    transition:
        transform .3s var(--ease),
        box-shadow .3s ease,
        border-color .3s ease;
}

.product-card:hover{
    transform:translateY(-7px);
    border-color:rgba(185,147,75,.3);
    box-shadow:var(--shadow);
}

.product-image-wrapper{
    position:relative;
    overflow:hidden;
    background:var(--cream-2);
}

.product-image{
    position:relative;
    height:285px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:
        radial-gradient(circle,rgba(185,147,75,.16),transparent 67%),
        #f3ead9;
}

.product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s var(--ease);
}

.product-card:hover .product-image img{
    transform:scale(1.05);
}

.product-badge{
    position:absolute;
    z-index:5;
    top:12px;
    left:12px;
    padding:6px 9px;
    border-radius:999px;
    background:var(--green);
    color:#fff;
    font-size:8px;
    line-height:1;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.product-wishlist{
    position:absolute;
    z-index:5;
    top:12px;
    right:12px;
    width:37px;
    height:37px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(23,60,50,.08);
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:var(--green);
    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.product-wishlist:hover,
.product-wishlist.active{
    background:var(--gold);
    color:#fff;
    transform:scale(1.05);
}

.quick-add-btn{
    position:absolute;
    z-index:6;
    right:12px;
    bottom:12px;
    left:12px;
    min-height:42px;
    border:0;
    border-radius:12px;
    background:rgba(23,60,50,.96);
    color:#fff;
    font-size:10px;
    line-height:1;
    font-weight:700;
    opacity:0;
    transform:translateY(10px);
    transition:
        opacity .25s ease,
        transform .25s ease,
        background .2s ease;
}

.product-card:hover .quick-add-btn,
.quick-add-btn:focus{
    opacity:1;
    transform:translateY(0);
}

.quick-add-btn:hover{
    background:var(--gold);
}

.product-placeholder{
    width:100%;
    height:100%;
    min-height:285px;
    display:grid;
    place-items:center;
}

.mini-yantra{
    width:180px;
    height:180px;
    display:grid;
    place-items:center;
}

.mini-yantra svg{
    width:100%;
    height:100%;
}

.product-info{
    padding:18px 18px 21px;
}

.product-category{
    margin-bottom:5px;
    color:var(--gold);
    font-size:8px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.product-name{
    display:block;
    color:var(--green);
    font-family:var(--serif);
    font-size:24px;
    line-height:1.05;
    font-weight:600;
}

.product-name:hover{
    color:var(--gold);
}

.product-rating{
    display:flex;
    align-items:center;
    gap:6px;
    margin-top:10px;
}

.product-rating span{
    color:var(--gold);
    font-size:9px;
    line-height:1;
    letter-spacing:1px;
}

.product-rating small{
    color:var(--muted);
    font-size:8px;
    line-height:1;
}

.product-price{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:11px;
}

.product-price strong{
    color:var(--green);
    font-size:17px;
    line-height:1.2;
}

.product-price del{
    color:#9b9b9b;
    font-size:10px;
}

.product-price > span{
    padding:3px 5px;
    border-radius:4px;
    background:var(--gold-pale);
    color:var(--gold);
    font-size:8px;
    line-height:1;
    font-weight:700;
}

.empty-products{
    padding:65px 20px;
    border:1px dashed rgba(23,60,50,.16);
    border-radius:22px;
    background:#fff;
    text-align:center;
}

.empty-icon{
    width:60px;
    height:60px;
    display:grid;
    place-items:center;
    margin:0 auto 15px;
    border-radius:50%;
    background:var(--gold-pale);
    color:var(--gold);
    font-size:23px;
}

.empty-products h3{
    margin:0;
    color:var(--green);
    font-family:var(--serif);
    font-size:30px;
    line-height:1.1;
}

.empty-products p{
    margin:8px 0 18px;
    color:var(--muted);
    font-size:12px;
}

/* =========================================================
   FINDER
========================================================= */

.finder-section{
    padding:105px 0;
    background:var(--cream);
}

.finder-card{
    position:relative;
    overflow:hidden;
    padding:65px 70px;
    border-radius:30px;
    background:linear-gradient(135deg,var(--green-dark),var(--green));
    box-shadow:var(--shadow-lg);
}

.finder-pattern{
    position:absolute;
    inset:0;
    opacity:.16;
    background:
        radial-gradient(circle at 80% 50%,rgba(216,189,122,.4),transparent 35%);
}

.finder-content{
    position:relative;
    z-index:2;
}

.finder-content h2{
    max-width:620px;
    margin:0;
    color:#fff;
    font-family:var(--serif);
    font-size:clamp(42px,5vw,61px);
    font-weight:600;
    line-height:.98;
}

.finder-content h2 em{
    color:var(--gold-light);
}

.finder-content p{
    max-width:570px;
    margin:18px 0 25px;
    color:rgba(255,255,255,.68);
    font-size:13px;
    line-height:1.85;
}

.finder-visual{
    position:relative;
    min-height:320px;
    display:grid;
    place-items:center;
}

.finder-ring{
    position:absolute;
    border:1px solid rgba(216,189,122,.25);
    border-radius:50%;
}

.ring-one{
    width:310px;
    height:310px;
}

.ring-two{
    width:235px;
    height:235px;
    border-style:dashed;
}

.finder-symbol{
    position:relative;
    z-index:2;
    width:205px;
    height:205px;
    display:grid;
    place-items:center;
    animation:yantraFloat 6s ease-in-out infinite;
}

.finder-symbol svg{
    width:100%;
    height:100%;
}

.finder-question{
    position:absolute;
    color:var(--gold-light);
    font-size:25px;
    line-height:1;
}

.q-one{
    top:8%;
    right:16%;
}

.q-two{
    bottom:12%;
    left:13%;
    font-size:19px;
}

.q-three{
    top:24%;
    left:10%;
    font-size:14px;
}

/* =========================================================
   WHY ASTHARACHANA
========================================================= */

.why-section{
    background:#fff;
}

.why-card{
    position:relative;
    height:100%;
    padding:38px 30px 32px;
    border:1px solid var(--line);
    border-radius:23px;
    background:var(--cream);
    transition:
        transform .3s var(--ease),
        box-shadow .3s ease;
}

.why-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow);
}

.why-number{
    position:absolute;
    top:19px;
    right:21px;
    color:rgba(185,147,75,.45);
    font-size:9px;
    line-height:1;
    font-weight:700;
    letter-spacing:.08em;
}

.why-icon{
    width:55px;
    height:55px;
    display:grid;
    place-items:center;
    margin-bottom:20px;
    border-radius:17px;
    background:var(--gold-pale);
    color:var(--gold);
    font-size:23px;
}

.why-card h3{
    margin:0;
    color:var(--green);
    font-family:var(--serif);
    font-size:30px;
    line-height:1;
    font-weight:600;
}

.why-card p{
    margin:11px 0 0;
    color:var(--muted);
    font-size:11px;
    line-height:1.8;
}

/* =========================================================
   STORY
========================================================= */

.story-section{
    background:var(--cream);
}

.story-visual{
    position:relative;
    min-height:500px;
}

.story-image-placeholder{
    position:relative;
    height:500px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid rgba(185,147,75,.14);
    border-radius:30px;
    background:
        radial-gradient(circle at center,rgba(185,147,75,.16),transparent 57%),
        linear-gradient(145deg,#f0e6d2,#e7dcc8);
}

.story-yantra{
    width:340px;
    height:340px;
    display:grid;
    place-items:center;
}

.story-yantra svg{
    width:100%;
    height:100%;
}

.story-caption{
    position:absolute;
    left:25px;
    bottom:25px;
    display:flex;
    flex-direction:column;
    padding:13px 18px;
    border-radius:13px;
    background:rgba(255,255,255,.94);
    box-shadow:var(--shadow);
}

.story-caption span{
    color:var(--gold);
    font-size:8px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.14em;
}

.story-caption strong{
    color:var(--green);
    font-family:var(--serif);
    font-size:19px;
    line-height:1.1;
}

.story-content h2{
    margin:0;
    color:var(--green);
    font-family:var(--serif);
    font-size:clamp(43px,5vw,61px);
    line-height:.98;
    font-weight:600;
}

.story-content p{
    max-width:560px;
    margin:19px 0 0;
    color:var(--muted);
    font-size:13px;
    line-height:1.9;
}

.story-content .text-link{
    margin-top:23px;
}

/* =========================================================
   REVIEWS
========================================================= */

.reviews-section{
    background:#fff;
}

.review-card{
    height:100%;
    padding:31px;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--cream);
    transition:
        transform .3s var(--ease),
        box-shadow .3s ease;
}

.review-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow);
}

.review-stars{
    color:var(--gold);
    font-size:10px;
    line-height:1;
    letter-spacing:3px;
}

.review-card blockquote{
    margin:17px 0 24px;
    color:var(--green);
    font-family:var(--serif);
    font-size:22px;
    line-height:1.35;
}

.review-author{
    display:flex;
    align-items:center;
    gap:10px;
}

.review-avatar{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    flex:0 0 34px;
    border-radius:50%;
    background:var(--green);
    color:#fff;
    font-size:10px;
    line-height:1;
    font-weight:700;
}

.review-author strong{
    display:block;
    color:var(--green);
    font-size:9px;
    line-height:1.2;
}

.review-author span{
    display:block;
    margin-top:1px;
    color:var(--muted);
    font-size:8px;
    line-height:1.2;
}

/* =========================================================
   JOURNAL
========================================================= */

.journal-section{
    background:var(--cream);
}

.journal-card{
    height:100%;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
    transition:
        transform .3s var(--ease),
        box-shadow .3s ease;
}

.journal-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow);
}

.journal-image{
    position:relative;
    height:220px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:
        radial-gradient(circle,rgba(185,147,75,.22),transparent 60%),
        #f0e5d1;
}

.journal-image::before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    border:1px solid rgba(185,147,75,.27);
    border-radius:50%;
}

.journal-image::after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    border:1px dashed rgba(185,147,75,.25);
    border-radius:50%;
}

.journal-image span{
    position:relative;
    z-index:2;
    color:var(--gold);
    font-family:Georgia,"Times New Roman",serif;
    font-size:70px;
    line-height:1;
}

.journal-image-two{
    background:
        radial-gradient(circle,rgba(23,60,50,.12),transparent 60%),
        #e9eeea;
}

.journal-image-three{
    background:
        radial-gradient(circle,rgba(185,147,75,.17),transparent 60%),
        #f2ecdf;
}

.journal-content{
    padding:22px;
}

.journal-content > span{
    color:var(--gold);
    font-size:8px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.13em;
}

.journal-content h3{
    margin:7px 0 14px;
    color:var(--green);
    font-family:var(--serif);
    font-size:25px;
    line-height:1.1;
    font-weight:600;
}

.journal-content > a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--green);
    font-size:9px;
    line-height:1.2;
    font-weight:700;
}

.journal-content > a:hover{
    color:var(--gold);
}

/* =========================================================
   NEWSLETTER
========================================================= */

.newsletter-section{
    padding:0 0 105px;
    background:var(--cream);
}

.newsletter-card{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:45px;
    padding:55px 60px;
    border-radius:30px;
    background:linear-gradient(135deg,var(--green-dark),var(--green));
    box-shadow:var(--shadow-lg);
}

.newsletter-card::after{
    content:"";
    position:absolute;
    top:-170px;
    right:-170px;
    width:360px;
    height:360px;
    border:1px solid rgba(216,189,122,.18);
    border-radius:50%;
}

.newsletter-card .section-eyebrow{
    position:relative;
    z-index:2;
}

.newsletter-card h2{
    position:relative;
    z-index:2;
    margin:0;
    color:#fff;
    font-family:var(--serif);
    font-size:clamp(38px,4.2vw,53px);
    line-height:.98;
    font-weight:600;
}

.newsletter-card h2 em{
    color:var(--gold-light);
}

.newsletter-card p{
    position:relative;
    z-index:2;
    max-width:520px;
    margin:15px 0 0;
    color:rgba(255,255,255,.66);
    font-size:12px;
    line-height:1.7;
}

.newsletter-form{
    position:relative;
    z-index:3;
    display:flex;
    gap:8px;
}

.newsletter-input{
    min-width:0;
    flex:1;
    height:52px;
    display:flex;
    align-items:center;
    padding:0 15px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:rgba(255,255,255,.09);
}

.newsletter-input i{
    color:var(--gold-light);
    font-size:15px;
}

.newsletter-input input{
    min-width:0;
    flex:1;
    padding:0 10px;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    font-size:11px;
}

.newsletter-input input::placeholder{
    color:rgba(255,255,255,.52);
}

.newsletter-form .btn{
    height:52px;
    white-space:nowrap;
}

/* =========================================================
   FOOTER
========================================================= */

.site-footer{
    padding:70px 0 22px;
    background:var(--green-dark);
    color:rgba(255,255,255,.62);
}

.footer-main{
    display:grid;
    grid-template-columns:1.7fr repeat(3,1fr);
    gap:55px;
}

.footer-brand .brand-logo{
    color:#fff;
}

.footer-brand .brand-mark{
    color:var(--gold-light);
    border-color:rgba(216,189,122,.4);
}

.footer-brand .brand-text strong{
    color:#fff;
}

.footer-brand .brand-text small{
    color:var(--gold-light);
}

.footer-brand > p{
    max-width:370px;
    margin:20px 0;
    color:rgba(255,255,255,.5);
    font-size:11px;
    line-height:1.8;
}

.social-links{
    display:flex;
    gap:7px;
}

.social-links a{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.13);
    border-radius:50%;
    color:rgba(255,255,255,.7);
    font-size:13px;
    line-height:1;
    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease;
}

.social-links a:hover{
    background:var(--gold);
    border-color:var(--gold);
    color:#fff;
}

.footer-column h5{
    margin:3px 0 17px;
    color:#fff;
    font-size:9px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.footer-column > a{
    display:block;
    margin:0 0 9px;
    color:rgba(255,255,255,.53);
    font-size:10px;
    line-height:1.5;
}

.footer-column > a:hover{
    color:var(--gold-light);
}

.footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:50px;
    padding-top:19px;
    border-top:1px solid rgba(255,255,255,.09);
    color:rgba(255,255,255,.35);
    font-size:8px;
    line-height:1.5;
}

.footer-secure{
    display:flex;
    align-items:center;
    gap:6px;
}

/* =========================================================
   MOBILE BOTTOM NAV
========================================================= */

.mobile-bottom-bar{
    position:fixed;
    right:10px;
    bottom:10px;
    left:10px;
    z-index:2000;
    display:flex;
    align-items:center;
    justify-content:space-around;
    min-height:64px;
    padding:5px;
    border:1px solid rgba(23,60,50,.1);
    border-radius:20px;
    background:rgba(255,255,255,.96);
    box-shadow:0 15px 45px rgba(13,45,37,.16);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.mobile-bottom-bar > a{
    position:relative;
    min-width:50px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
    color:var(--muted);
    font-size:8px;
    line-height:1.2;
    font-weight:600;
}

.mobile-bottom-bar > a i{
    font-size:18px;
    line-height:1;
}

.mobile-bottom-bar > a.active{
    color:var(--green);
}

.mobile-bottom-bar .mobile-find-btn span{
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    margin-top:-19px;
    border:4px solid var(--cream);
    border-radius:50%;
    background:var(--gold);
    color:#fff;
    box-shadow:0 8px 20px rgba(185,147,75,.3);
}

.mobile-bottom-bar .mobile-find-btn i{
    font-size:18px;
}

/* =========================================================
   GENERIC SUPPORT FOR OTHER PAGES
========================================================= */

.page-header{
    padding:75px 0;
    background:linear-gradient(135deg,var(--green-dark),var(--green));
    color:#fff;
    text-align:center;
}

.page-header h1{
    margin:0;
    font-family:var(--serif);
    font-size:55px;
    line-height:1;
    font-weight:600;
}

.content-page,
.cart-page,
.checkout-page,
.dashboard-page,
.tracking-page{
    padding:80px 0;
    background:var(--cream);
}

.content-card,
.cart-card,
.checkout-card,
.order-summary,
.dashboard-card,
.tracking-card{
    padding:30px;
    border:1px solid var(--line);
    border-radius:24px;
    background:#fff;
    box-shadow:var(--shadow);
}

.order-summary{
    position:sticky;
    top:100px;
}

.product-detail-section{
    padding:90px 0;
    background:var(--cream);
}

.product-detail-visual{
    min-height:540px;
    display:grid;
    place-items:center;
    border:1px solid var(--line);
    border-radius:30px;
    background:#fff;
}

.large-yantra{
    width:min(480px,90%);
    height:480px;
}

.large-yantra svg{
    width:100%;
    height:100%;
}

.form-control,
.form-select{
    min-height:48px;
    border-color:var(--line);
    border-radius:12px;
}

.form-control:focus,
.form-select:focus{
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(185,147,75,.1);
}

/* =========================================================
   TOAST / SWEETALERT
========================================================= */

.swal2-popup.astha-swal{
    width:min(430px,calc(100% - 30px)) !important;
    border-radius:22px !important;
    padding:28px !important;
    font-family:var(--sans) !important;
}

.swal2-title{
    color:var(--green) !important;
    font-family:var(--serif) !important;
    font-weight:600 !important;
}

.swal2-html-container{
    color:var(--muted) !important;
    font-size:13px !important;
}

.swal2-confirm{
    border-radius:999px !important;
    padding:11px 24px !important;
    background:var(--green) !important;
    font-family:var(--sans) !important;
    font-size:12px !important;
    font-weight:700 !important;
}

.swal2-cancel{
    border-radius:999px !important;
    padding:11px 24px !important;
    font-family:var(--sans) !important;
    font-size:12px !important;
    font-weight:700 !important;
}

.swal2-icon{
    transform:scale(.82);
}

.astha-toast{
    border-radius:14px !important;
    background:var(--green-dark) !important;
    color:#fff !important;
    box-shadow:0 15px 45px rgba(0,0,0,.18) !important;
}

.astha-toast .swal2-title{
    color:#fff !important;
    font-family:var(--sans) !important;
    font-size:13px !important;
    font-weight:600 !important;
}

.astha-toast .swal2-icon{
    transform:scale(.55);
    margin:0 8px 0 0 !important;
}

/* =========================================================
   ACCESSIBILITY
========================================================= */

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
    outline:2px solid var(--gold);
    outline-offset:3px;
}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes heroGlow{
    0%,100%{transform:scale(.96);opacity:.65}
    50%{transform:scale(1.05);opacity:1}
}

@keyframes yantraFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-8px)}
}

@keyframes floatingCard{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-7px)}
}

@keyframes orbitRotate{
    from{transform:rotate(20deg)}
    to{transform:rotate(380deg)}
}

@keyframes orbitRotateReverse{
    from{transform:rotate(360deg)}
    to{transform:rotate(0deg)}
}

/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media(max-width:1199px){

    .hero-section{
        min-height:650px;
    }

    .hero-content h1{
        font-size:68px;
    }

    .hero-art-wrapper{
        min-height:500px;
    }

    .footer-main{
        gap:30px;
    }
}

/* =========================================================
   RESPONSIVE — BELOW LG
========================================================= */

@media(max-width:991px){

    .header-main{
        min-height:72px;
        gap:12px;
    }

    .header-actions{
        margin-left:auto;
    }

    .hero-section{
        min-height:auto;
        padding:70px 0 90px;
        text-align:center;
    }

    .hero-content .section-eyebrow{
        justify-content:center;
    }

    .hero-content h1,
    .hero-content > p{
        margin-right:auto;
        margin-left:auto;
    }

    .hero-buttons,
    .hero-trust{
        justify-content:center;
    }

    .hero-art-wrapper{
        min-height:460px;
        margin-top:30px;
    }

    .trust-strip .trust-item{
        border-bottom:1px solid var(--line);
    }

    .trust-strip .col-6:nth-child(2n) .trust-item{
        border-right:0;
    }

    .trust-strip .col-lg-3:nth-last-child(-n+2) .trust-item{
        border-bottom:0;
    }

    .finder-card{
        padding:50px 38px;
    }

    .finder-visual{
        margin-top:20px;
    }

    .newsletter-card{
        grid-template-columns:1fr;
        padding:45px;
    }

    .footer-main{
        grid-template-columns:1.5fr 1fr 1fr;
        gap:35px;
    }

    .footer-column:last-child{
        grid-column:2;
    }
}

/* =========================================================
   RESPONSIVE — MOBILE
========================================================= */

@media(max-width:767px){

    body{
        padding-bottom:78px;
    }

    .section-padding{
        padding:72px 0;
    }

    .announcement-inner{
        gap:9px;
        font-size:7px;
    }

    .announcement-inner > span:nth-of-type(2),
    .announcement-inner .announcement-divider:nth-of-type(2){
        display:none;
    }

    .header-main{
        min-height:68px;
    }

    .brand-mark{
        width:38px;
        height:38px;
        flex-basis:38px;
        font-size:18px;
    }

    .brand-text strong{
        font-size:22px;
    }

    .brand-text small{
        font-size:6px;
    }

    .hero-section{
        padding:58px 0 70px;
    }

    .hero-content h1{
        font-size:48px;
    }

    .hero-content > p{
        font-size:13px;
    }

    .hero-trust{
        gap:13px;
    }

    .hero-trust > div{
        font-size:8px;
    }

    .hero-art-wrapper{
        min-height:370px;
    }

    .hero-yantra{
        width:315px;
    }

    .hero-orbit.orbit-one{
        width:390px;
        height:390px;
    }

    .hero-orbit.orbit-two{
        width:345px;
        height:345px;
    }

    .hero-card-top{
        top:5%;
        right:0;
    }

    .hero-card-bottom{
        bottom:3%;
        left:0;
    }

    .hero-floating-card{
        padding:10px 12px;
    }

    .hero-floating-card strong{
        font-size:8px;
    }

    .hero-floating-card span{
        font-size:7px;
    }

    .trust-strip{
        margin-top:-18px;
    }

    .trust-item{
        min-height:84px;
        padding:15px 14px;
    }

    .trust-item strong{
        font-size:9px;
    }

    .trust-item span{
        font-size:7px;
    }

    .section-heading h2,
    .section-heading-row h2{
        font-size:42px;
    }

    .section-heading-row{
        align-items:flex-start;
    }

    .purpose-art{
        height:135px;
    }

    .purpose-art span{
        font-size:50px;
    }

    .purpose-content{
        padding:16px;
    }

    .purpose-content h3{
        font-size:23px;
    }

    .purpose-content p{
        font-size:9px;
    }

    .product-image{
        height:205px;
    }

    .product-placeholder{
        min-height:205px;
    }

    .quick-add-btn{
        opacity:1;
        transform:none;
    }

    .product-info{
        padding:14px;
    }

    .product-name{
        font-size:21px;
    }

    .product-price strong{
        font-size:15px;
    }

    .finder-card{
        padding:40px 23px;
    }

    .finder-content h2{
        font-size:42px;
    }

    .finder-visual{
        min-height:280px;
    }

    .ring-one{
        width:270px;
        height:270px;
    }

    .ring-two{
        width:205px;
        height:205px;
    }

    .finder-symbol{
        width:175px;
        height:175px;
    }

    .why-card{
        padding:30px 23px;
    }

    .story-image-placeholder{
        height:370px;
    }

    .story-visual{
        min-height:370px;
    }

    .story-yantra{
        width:250px;
        height:250px;
    }

    .story-content h2{
        font-size:43px;
    }

    .newsletter-section{
        padding-bottom:72px;
    }

    .newsletter-card{
        padding:38px 23px;
        border-radius:24px;
    }

    .newsletter-form{
        flex-direction:column;
    }

    .newsletter-form .btn{
        width:100%;
    }

    .newsletter-input{
        width:100%;
    }

    .footer-main{
        grid-template-columns:1fr 1fr;
        gap:30px;
    }

    .footer-brand{
        grid-column:1/-1;
    }

    .footer-column:last-child{
        grid-column:auto;
    }

    .footer-bottom{
        align-items:flex-start;
        flex-direction:column;
    }

    .search-content{
        padding:35px 25px;
    }

    .search-content h2{
        font-size:36px;
    }
}

/* =========================================================
   RESPONSIVE — SMALL MOBILE
========================================================= */

@media(max-width:575px){

    .section-padding{
        padding:60px 0;
    }

    .hero-content h1{
        font-size:43px;
    }

    .hero-buttons .btn{
        width:100%;
    }

    .hero-trust{
        display:grid;
        grid-template-columns:1fr 1fr;
        text-align:left;
    }

    .hero-trust > div{
        justify-content:flex-start;
    }

    .hero-art-wrapper{
        min-height:335px;
    }

    .hero-yantra{
        width:275px;
    }

    .hero-card-top{
        right:-4px;
    }

    .hero-card-bottom{
        left:-4px;
    }

    .hero-floating-card{
        max-width:170px;
    }

    .trust-strip .row{
        border-radius:16px;
    }

    .trust-item{
        min-height:75px;
    }

    .trust-icon{
        width:36px;
        height:36px;
        flex-basis:36px;
        font-size:14px;
    }

    .purpose-content h3{
        font-size:21px;
    }

    .purpose-link{
        margin-top:10px;
    }

    .product-image{
        height:180px;
    }

    .product-placeholder{
        min-height:180px;
    }

    .mini-yantra{
        width:125px;
        height:125px;
    }

    .product-badge{
        font-size:6px;
    }

    .product-wishlist{
        width:32px;
        height:32px;
        font-size:13px;
    }

    .product-info{
        padding:12px;
    }

    .product-category{
        font-size:6px;
    }

    .product-name{
        font-size:18px;
    }

    .product-rating{
        margin-top:7px;
    }

    .product-price{
        margin-top:8px;
        gap:5px;
    }

    .product-price strong{
        font-size:13px;
    }

    .product-price del,
    .product-price > span{
        font-size:7px;
    }

    .finder-content h2{
        font-size:38px;
    }

    .why-card h3{
        font-size:27px;
    }

    .story-image-placeholder{
        height:320px;
    }

    .story-visual{
        min-height:320px;
    }

    .story-yantra{
        width:210px;
        height:210px;
    }

    .newsletter-card h2{
        font-size:38px;
    }

    .footer-main{
        grid-template-columns:1fr;
    }

    .footer-brand,
    .footer-column:last-child{
        grid-column:auto;
    }

    .footer-bottom{
        margin-top:35px;
    }

    .search-overlay{
        padding-top:80px;
    }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

    html{
        scroll-behavior:auto !important;
    }

    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }
}


/* =========================================================
   SEARCH POPUP - REMOVE FOCUS BORDER
========================================================= */

#searchOverlay input,
#searchOverlay input[type="search"],
#searchOverlay input[type="text"] {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

#searchOverlay input:focus,
#searchOverlay input:focus-visible,
#searchOverlay input:active {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* Search input wrapper should also remain clean */
#searchOverlay .search-input-wrap,
#searchOverlay .search-box,
#searchOverlay .search-field,
#searchOverlay .search-form {
    outline: none !important;
    box-shadow: none !important;
}

/* Prevent Bootstrap/browser focus styling */
#searchOverlay .form-control:focus {
    outline: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* Keep accessibility focus on the popup controls,
   but not as an ugly inner input border */
#searchOverlay button:focus,
#searchOverlay button:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* =========================================================
   AUTH PAGES (Login / Register / OTP / Forgot / Reset)
========================================================= */

.auth-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:1fr 1fr;
    background:var(--cream);
}

.auth-visual{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:56px 60px;
    background:
        radial-gradient(circle at 20% 20%,rgba(185,147,75,.18),transparent 55%),
        linear-gradient(160deg,var(--green) 0%,var(--green-dark) 100%);
    color:#fff;
    overflow:hidden;
}

.auth-visual-yantra{
    position:absolute;
    right:-90px;
    bottom:-90px;
    width:460px;
    height:460px;
    opacity:.14;
}

.auth-visual-yantra svg .yantra-ring{
    fill:none;
    stroke:var(--gold-light);
    stroke-width:1.4;
}

.auth-visual-yantra svg .triangles path{
    fill:none;
    stroke:var(--gold-light);
    stroke-width:1.2;
}

.auth-visual-yantra svg .bindu{
    fill:var(--gold-light);
}

.auth-visual-top .brand-logo{color:#fff;}
.auth-visual-top .brand-logo .brand-mark{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);}
.auth-visual-top .brand-logo strong{color:#fff;}
.auth-visual-top .brand-logo small{color:rgba(255,255,255,.65);}

.auth-visual-quote{
    position:relative;
    z-index:2;
    max-width:420px;
}

.auth-visual-quote span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold-light);
}

.auth-visual-quote h2{
    margin:18px 0 0;
    font-family:var(--serif);
    font-weight:600;
    font-size:clamp(28px,3vw,38px);
    line-height:1.25;
    color:#fff;
}

.auth-visual-quote p{
    margin:16px 0 0;
    color:rgba(255,255,255,.72);
    font-size:14px;
    line-height:1.8;
}

.auth-visual-badges{
    position:relative;
    z-index:2;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.auth-visual-badges span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.16);
    font-size:11.5px;
    color:rgba(255,255,255,.85);
}

.auth-panel{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:48px 32px;
}

.auth-card{
    width:100%;
    max-width:440px;
}

.auth-panel-brand{
    display:none;
}

.auth-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold);
}

.auth-eyebrow::before{
    content:"";
    width:26px;
    height:1px;
    background:var(--gold);
}

.auth-title{
    margin:14px 0 8px;
    font-family:var(--serif);
    font-weight:600;
    font-size:clamp(28px,4vw,36px);
    color:var(--green-dark);
}

.auth-sub{
    margin:0 0 30px;
    color:var(--muted);
    font-size:14.5px;
    line-height:1.7;
}

.auth-sub a,
.auth-foot a{
    color:var(--green);
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:3px;
}

.form-field{
    margin-bottom:18px;
}

.form-field label{
    display:block;
    margin-bottom:8px;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.02em;
    color:var(--green-dark);
}

.form-control,
.astha-input{
    width:100%;
    min-height:50px;
    padding:12px 16px;
    border:1.5px solid var(--line);
    border-radius:12px;
    background:#fff;
    font-family:var(--sans);
    font-size:14px;
    color:var(--ink);
    transition:border-color .2s ease,box-shadow .2s ease;
}

textarea.form-control{
    min-height:120px;
    resize:vertical;
}

.form-control:focus,
.astha-input:focus{
    outline:none;
    border-color:var(--gold);
    box-shadow:0 0 0 4px rgba(185,147,75,.15);
}

.form-control.is-invalid{
    border-color:#c0392b;
}

.input-icon-group{
    position:relative;
}

.input-icon-group i{
    position:absolute;
    top:50%;
    left:16px;
    transform:translateY(-50%);
    color:var(--muted);
    font-size:15px;
}

.input-icon-group .form-control{
    padding-left:44px;
}

.input-icon-group .toggle-password{
    position:absolute;
    top:50%;
    right:14px;
    transform:translateY(-50%);
    background:none;
    border:0;
    color:var(--muted);
    padding:4px;
}

.field-error{
    display:block;
    margin-top:7px;
    font-size:12px;
    font-weight:600;
    color:#c0392b;
}

.form-check-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:22px;
    flex-wrap:wrap;
}

.form-check-row label{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:var(--muted);
}

.form-check-row input[type=checkbox]{
    width:17px;
    height:17px;
    accent-color:var(--green);
}

.form-check-row a{
    font-size:13px;
    font-weight:700;
    color:var(--gold);
}

.btn-block{
    width:100%;
    min-height:52px;
    font-size:12px;
    letter-spacing:.05em;
}

.auth-divider{
    display:flex;
    align-items:center;
    gap:14px;
    margin:26px 0;
    color:var(--muted);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.auth-divider::before,
.auth-divider::after{
    content:"";
    flex:1;
    height:1px;
    background:var(--line);
}

.auth-foot{
    margin-top:26px;
    text-align:center;
    font-size:13.5px;
    color:var(--muted);
}

.auth-alert{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:13px 16px;
    border-radius:12px;
    font-size:13px;
    margin-bottom:22px;
    line-height:1.55;
}

.auth-alert-success{
    background:var(--green-soft);
    color:var(--green-dark);
    border:1px solid rgba(23,60,50,.15);
}

.auth-alert-error{
    background:#fdecea;
    color:#a33;
    border:1px solid #f3c6c1;
}

.auth-alert-info{
    background:var(--gold-pale);
    color:#7a5c22;
    border:1px solid rgba(185,147,75,.3);
}

/* OTP boxes */

.otp-boxes{
    display:flex;
    gap:12px;
    justify-content:center;
    margin:6px 0 8px;
}

.otp-boxes input{
    width:58px;
    height:64px;
    text-align:center;
    font-size:26px;
    font-weight:700;
    color:var(--green-dark);
    border:1.5px solid var(--line);
    border-radius:14px;
    background:#fff;
    transition:border-color .2s ease,box-shadow .2s ease;
}

.otp-boxes input:focus{
    outline:none;
    border-color:var(--gold);
    box-shadow:0 0 0 4px rgba(185,147,75,.15);
}

.otp-email-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    border-radius:999px;
    background:var(--green-soft);
    color:var(--green-dark);
    font-size:12.5px;
    font-weight:700;
    margin-bottom:26px;
}

.otp-timer{
    text-align:center;
    font-size:12.5px;
    color:var(--muted);
    margin-top:18px;
}

.otp-timer button{
    background:none;
    border:0;
    padding:0;
    font-weight:700;
    color:var(--gold);
    text-decoration:underline;
    text-underline-offset:3px;
}

.otp-timer button:disabled{
    color:var(--muted);
    text-decoration:none;
    cursor:not-allowed;
}


/* =========================================================
   DASHBOARD SHELL (User + Admin)
========================================================= */

.dash-shell{
    display:flex;
    min-height:100vh;
    background:var(--cream);
}

.dash-sidebar{
    position:sticky;
    top:0;
    align-self:flex-start;
    width:270px;
    flex-shrink:0;
    height:100vh;
    display:flex;
    flex-direction:column;
    background:linear-gradient(185deg,var(--green) 0%,var(--green-dark) 100%);
    color:#fff;
    padding:26px 20px;
    z-index:40;
}

.dash-sidebar .brand-logo{color:#fff;}
.dash-sidebar .brand-logo .brand-mark{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);}
.dash-sidebar .brand-logo strong{color:#fff;font-size:15px;}
.dash-sidebar .brand-logo small{color:rgba(255,255,255,.6);}

.dash-sidebar-scope{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin:18px 0 22px;
    padding:7px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.16);
    font-size:10.5px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--gold-light);
    width:fit-content;
}

.dash-nav{
    display:flex;
    flex-direction:column;
    gap:4px;
    flex:1;
    overflow-y:auto;
}

.dash-nav a{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-radius:12px;
    font-size:13.5px;
    font-weight:600;
    color:rgba(255,255,255,.72);
    transition:background .2s ease,color .2s ease;
}

.dash-nav a i{
    font-size:16px;
    width:20px;
    text-align:center;
}

.dash-nav a:hover{
    background:rgba(255,255,255,.08);
    color:#fff;
}

.dash-nav a.active{
    background:var(--gold);
    color:#fff;
    box-shadow:0 10px 24px rgba(185,147,75,.3);
}

.dash-nav-divider{
    margin:14px 4px 8px;
    font-size:10px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,.4);
}

.dash-sidebar-foot{
    margin-top:14px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.14);
}

.dash-sidebar-foot form button{
    display:flex;
    align-items:center;
    gap:12px;
    width:100%;
    padding:12px 14px;
    border-radius:12px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);
    color:#fff;
    font-size:13px;
    font-weight:700;
}

.dash-sidebar-foot form button:hover{
    background:rgba(255,255,255,.14);
}

.dash-main{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
}

.dash-topbar{
    position:sticky;
    top:0;
    z-index:30;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:16px 30px;
    background:rgba(250,247,240,.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
}

.dash-topbar-title h1{
    margin:0;
    font-family:var(--serif);
    font-weight:600;
    font-size:22px;
    color:var(--green-dark);
}

.dash-topbar-title p{
    margin:2px 0 0;
    font-size:12.5px;
    color:var(--muted);
}

.dash-menu-btn{
    display:none;
    width:42px;
    height:42px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    align-items:center;
    justify-content:center;
    font-size:18px;
    color:var(--green-dark);
}

.dash-topbar-user{
    display:flex;
    align-items:center;
    gap:10px;
}

.dash-avatar{
    width:38px;
    height:38px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--green-soft);
    color:var(--green-dark);
    font-weight:700;
    font-size:14px;
}

.dash-topbar-user .name{
    font-size:13px;
    font-weight:700;
    color:var(--green-dark);
    line-height:1.3;
}

.dash-topbar-user .role{
    font-size:11px;
    color:var(--muted);
}

.dash-body{
    padding:28px 30px 70px;
}

.dash-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(13,45,37,.5);
    z-index:39;
}

/* Stat cards */

.stat-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-bottom:28px;
}

.stat-card{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:22px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
}

.stat-card .stat-icon{
    width:46px;
    height:46px;
    border-radius:14px;
    display:grid;
    place-items:center;
    font-size:19px;
    background:var(--green-soft);
    color:var(--green);
    flex-shrink:0;
}

.stat-card.gold .stat-icon{background:var(--gold-pale);color:var(--gold);}

.stat-card .stat-value{
    font-family:var(--serif);
    font-size:26px;
    font-weight:700;
    color:var(--green-dark);
    line-height:1.2;
}

.stat-card .stat-label{
    margin-top:3px;
    font-size:12px;
    color:var(--muted);
    font-weight:600;
}

/* Panels / cards */

.dash-panel{
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
    overflow:hidden;
}

.dash-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:20px 24px;
    border-bottom:1px solid var(--line);
    flex-wrap:wrap;
}

.dash-panel-head h2{
    margin:0;
    font-family:var(--serif);
    font-weight:600;
    font-size:19px;
    color:var(--green-dark);
}

.dash-panel-body{
    padding:24px;
}

.dash-panel-body.p-0{padding:0;}

/* Table */

.dash-table-wrap{
    overflow-x:auto;
}

.dash-table{
    width:100%;
    border-collapse:collapse;
    min-width:640px;
}

.dash-table thead th{
    text-align:left;
    padding:13px 24px;
    font-size:10.5px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--muted);
    background:var(--cream-2);
    white-space:nowrap;
}

.dash-table tbody td{
    padding:15px 24px;
    font-size:13.5px;
    color:var(--ink);
    border-bottom:1px solid var(--line);
    vertical-align:middle;
}

.dash-table tbody tr:last-child td{border-bottom:0;}
.dash-table tbody tr:hover{background:var(--cream);}

.dash-table .cell-strong{font-weight:700;color:var(--green-dark);}
.dash-table .cell-muted{color:var(--muted);font-size:12px;}

/* Status badges */

.status-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:5px 12px;
    border-radius:999px;
    font-size:10.5px;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:capitalize;
    white-space:nowrap;
}

.status-badge::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:currentColor;
}

.status-pending{background:#fdf3e0;color:#a3720c;}
.status-confirmed{background:#e6eef8;color:#2f5fa8;}
.status-processing{background:#eef0fb;color:#4b4fb0;}
.status-shipped{background:#eaf1ed;color:#1f6f52;}
.status-out_for_delivery{background:var(--gold-pale);color:#8a651f;}
.status-delivered{background:var(--green-soft);color:var(--green-dark);}
.status-cancelled{background:#fdecea;color:#a33;}
.status-paid{background:var(--green-soft);color:var(--green-dark);}
.status-unpaid,.status-failed{background:#fdecea;color:#a33;}

.status-select{
    min-height:38px;
    padding:6px 12px;
    border-radius:10px;
    border:1.5px solid var(--line);
    font-size:12px;
    font-weight:600;
    background:#fff;
    color:var(--green-dark);
}

/* Empty state */

.dash-empty{
    text-align:center;
    padding:60px 24px;
    color:var(--muted);
}

.dash-empty i{
    font-size:38px;
    color:var(--gold);
    margin-bottom:14px;
    display:block;
}

.dash-empty h3{
    font-family:var(--serif);
    color:var(--green-dark);
    margin:0 0 6px;
}

/* Small buttons for tables/actions */

.btn-sm-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:10px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--green);
}

.btn-sm-icon:hover{background:var(--green-soft);}
.btn-sm-icon.danger{color:#c0392b;}
.btn-sm-icon.danger:hover{background:#fdecea;}

.btn-pill-sm{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:9px 16px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
    border:1.5px solid var(--green);
    color:var(--green);
    background:transparent;
}

.btn-pill-sm:hover{background:var(--green);color:#fff;}

.btn-pill-sm.solid{background:var(--green);color:#fff;}
.btn-pill-sm.solid:hover{background:var(--green-dark);}

/* Profile page bits */

.profile-cover{
    height:120px;
    border-radius:18px 18px 0 0;
    background:
        radial-gradient(circle at 15% 30%,rgba(185,147,75,.35),transparent 55%),
        linear-gradient(135deg,var(--green),var(--green-dark));
}

.profile-avatar-row{
    display:flex;
    align-items:flex-end;
    gap:18px;
    padding:0 24px;
    margin-top:-42px;
}

.profile-avatar-lg{
    width:86px;
    height:86px;
    border-radius:50%;
    border:5px solid #fff;
    background:var(--gold-pale);
    color:var(--green-dark);
    display:grid;
    place-items:center;
    font-family:var(--serif);
    font-size:30px;
    font-weight:700;
}

/* Order detail list (used inside user dashboard order rows) */

.order-mini-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:16px 24px;
    border-bottom:1px solid var(--line);
    flex-wrap:wrap;
}

.order-mini-row:last-child{border-bottom:0;}

.order-mini-left{display:flex;align-items:center;gap:14px;}

.order-mini-icon{
    width:44px;
    height:44px;
    border-radius:12px;
    background:var(--green-soft);
    color:var(--green);
    display:grid;
    place-items:center;
    font-size:17px;
    flex-shrink:0;
}

.order-mini-num{font-weight:700;color:var(--green-dark);font-size:13.5px;}
.order-mini-meta{font-size:11.5px;color:var(--muted);margin-top:2px;}

.order-mini-right{
    display:flex;
    align-items:center;
    gap:16px;
}

.order-mini-total{font-weight:700;color:var(--green-dark);font-size:14px;}


/* =========================================================
   CHATBOT — FIND MY YANTRA
========================================================= */

.chat-shell{
    max-width:900px;
    margin:0 auto;
    padding:40px 20px 0;
}

.chat-header{
    text-align:center;
    margin-bottom:26px;
}

.chat-header .auth-eyebrow{justify-content:center;display:flex;}

.chat-header h1{
    margin:14px 0 8px;
    font-family:var(--serif);
    font-weight:600;
    font-size:clamp(26px,4vw,36px);
    color:var(--green-dark);
}

.chat-header p{
    max-width:520px;
    margin:0 auto;
    color:var(--muted);
    font-size:14.5px;
    line-height:1.7;
}

.chat-window{
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    box-shadow:var(--shadow-lg);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    height:min(640px,72vh);
}

.chat-window-head{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 22px;
    background:linear-gradient(120deg,var(--green),var(--green-dark));
    color:#fff;
}

.chat-window-head .bot-avatar{
    width:40px;
    height:40px;
    border-radius:50%;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.3);
    display:grid;
    place-items:center;
    font-size:17px;
}

.chat-window-head strong{font-size:14px;display:block;}
.chat-window-head span{font-size:11.5px;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:5px;}
.chat-window-head span::before{content:"";width:7px;height:7px;border-radius:50%;background:#4ade80;}

.chat-messages{
    flex:1;
    overflow-y:auto;
    padding:22px;
    display:flex;
    flex-direction:column;
    gap:16px;
    background:
        radial-gradient(circle at 10% 0%,rgba(185,147,75,.05),transparent 40%),
        var(--cream);
}

.msg-row{
    display:flex;
    gap:10px;
    max-width:82%;
}

.msg-row.bot{align-self:flex-start;}
.msg-row.user{align-self:flex-end;flex-direction:row-reverse;}

.msg-avatar{
    width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    flex-shrink:0;
    font-size:13px;
}

.msg-row.bot .msg-avatar{background:var(--green);color:#fff;}
.msg-row.user .msg-avatar{background:var(--gold-pale);color:#8a651f;}

.msg-bubble{
    padding:12px 16px;
    border-radius:16px;
    font-size:13.5px;
    line-height:1.6;
}

.msg-row.bot .msg-bubble{
    background:#fff;
    border:1px solid var(--line);
    color:var(--ink);
    border-top-left-radius:4px;
}

.msg-row.user .msg-bubble{
    background:var(--green);
    color:#fff;
    border-top-right-radius:4px;
}

.msg-row.bot .msg-bubble a{
    color:var(--green);
    font-weight:700;
    text-decoration:underline;
}

.typing-row .msg-bubble{
    display:flex;
    align-items:center;
    gap:5px;
    padding:14px 18px;
}

.typing-dot{
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--muted);
    animation:typingBounce 1.2s infinite ease-in-out;
}

.typing-dot:nth-child(2){animation-delay:.15s;}
.typing-dot:nth-child(3){animation-delay:.3s;}

@keyframes typingBounce{
    0%,60%,100%{transform:translateY(0);opacity:.5;}
    30%{transform:translateY(-4px);opacity:1;}
}

.chat-suggest-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:10px;
    max-width:100%;
}

.chat-suggest-card{
    display:block;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    transition:transform .2s ease,box-shadow .2s ease;
}

.chat-suggest-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow);
    border-color:rgba(185,147,75,.35);
}

.chat-suggest-img{
    height:80px;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle,rgba(185,147,75,.16),transparent 67%),
        #f3ead9;
}

.chat-suggest-img svg{width:52px;height:52px;}
.chat-suggest-img svg .yantra-ring{stroke:var(--gold);fill:none;stroke-width:1.3;}
.chat-suggest-img svg .triangles path{stroke:var(--green);fill:none;stroke-width:1.1;}
.chat-suggest-img svg .bindu{fill:var(--gold);}

.chat-suggest-info{padding:9px 10px;}
.chat-suggest-name{font-size:11px;font-weight:700;color:var(--green-dark);line-height:1.3;}
.chat-suggest-price{font-size:11px;color:var(--gold);font-weight:700;margin-top:3px;}

.chat-quick-replies{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:0 22px 16px;
}

.chat-quick-replies button{
    padding:8px 14px;
    border-radius:999px;
    border:1.5px solid var(--line);
    background:#fff;
    color:var(--green-dark);
    font-size:12px;
    font-weight:600;
}

.chat-quick-replies button:hover{
    border-color:var(--gold);
    background:var(--gold-pale);
}

.chat-input-bar{
    display:flex;
    align-items:center;
    gap:10px;
    padding:16px 20px;
    border-top:1px solid var(--line);
    background:#fff;
}

.chat-input-bar input{
    flex:1;
    min-height:46px;
    padding:0 18px;
    border-radius:999px;
    border:1.5px solid var(--line);
    font-size:13.5px;
    background:var(--cream);
}

.chat-input-bar input:focus{
    outline:none;
    border-color:var(--gold);
    background:#fff;
}

.chat-send-btn{
    width:46px;
    height:46px;
    border-radius:50%;
    background:var(--green);
    color:#fff;
    border:0;
    display:grid;
    place-items:center;
    font-size:16px;
    flex-shrink:0;
    transition:background .2s ease,transform .2s ease;
}

.chat-send-btn:hover{background:var(--gold);transform:scale(1.05);}

.chat-window-foot-note{
    text-align:center;
    font-size:11px;
    color:var(--muted);
    padding:12px 0 40px;
}


/* =========================================================
   RESPONSIVE — AUTH / DASHBOARD / CHATBOT
========================================================= */

@media(max-width:991px){

    .auth-shell{grid-template-columns:1fr;}
    .auth-visual{display:none;}
    .auth-panel{padding:36px 20px 60px;}
    .auth-panel-brand{display:flex;justify-content:center;margin-bottom:30px;}

    .stat-grid{grid-template-columns:repeat(2,1fr);}

    .dash-sidebar{
        position:fixed;
        left:0;
        top:0;
        height:100%;
        transform:translateX(-100%);
        transition:transform .3s var(--ease);
        box-shadow:var(--shadow-lg);
    }

    .dash-sidebar.open{transform:translateX(0);}
    .dash-overlay.open{display:block;}
    .dash-menu-btn{display:inline-flex;}
    .dash-body{padding:22px 16px 90px;}
    .dash-topbar{padding:14px 16px;}
    .dash-topbar-title h1{font-size:18px;}
    .dash-panel-head{padding:16px 18px;}
    .dash-panel-body{padding:18px;}
    .dash-table thead th,
    .dash-table tbody td{padding:12px 16px;}
}

@media(max-width:640px){

    .stat-grid{grid-template-columns:1fr 1fr;gap:12px;}
    .stat-card{padding:16px;border-radius:14px;}
    .stat-card .stat-value{font-size:20px;}

    .otp-boxes input{width:48px;height:56px;font-size:22px;}

    .chat-suggest-grid{grid-template-columns:repeat(3,1fr);}
    .chat-shell{padding:24px 12px 0;}
    .chat-window{height:min(600px,80vh);border-radius:18px;}
    .msg-row{max-width:92%;}

    .dash-topbar-user .name,
    .dash-topbar-user .role{display:none;}
}

@media(max-width:420px){
    .chat-suggest-grid{grid-template-columns:repeat(2,1fr);}
}


/* =========================================================
   ADMIN MODAL FORM TWEAKS
========================================================= */

.modal-content{
    border:0;
    border-radius:20px;
    overflow:hidden;
}

.modal-header{
    background:linear-gradient(120deg,var(--green),var(--green-dark));
    color:#fff;
    border:0;
    padding:20px 24px;
}

.modal-header .modal-title{
    font-family:var(--serif);
    font-weight:600;
    font-size:19px;
}

.modal-header .btn-close{filter:invert(1) grayscale(1) brightness(2);}

.modal-body{padding:24px;background:var(--cream);}

.modal-footer{
    border:0;
    padding:16px 24px 22px;
    background:var(--cream);
}

.form-grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.form-switch-row{
    display:flex;
    align-items:center;
    gap:24px;
    margin-bottom:18px;
    flex-wrap:wrap;
}

.form-switch-row .form-check{
    display:flex;
    align-items:center;
    gap:8px;
}

.form-switch-row .form-check-input{
    width:38px;
    height:20px;
    accent-color:var(--gold);
}

.product-thumb-sm{
    width:46px;
    height:46px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:var(--cream-2);
    flex-shrink:0;
}

.product-thumb-sm svg{width:30px;height:30px;}
.product-thumb-sm svg .yantra-ring{stroke:var(--gold);fill:none;stroke-width:1.4;}
.product-thumb-sm svg .triangles path{stroke:var(--green);fill:none;stroke-width:1.1;}
.product-thumb-sm svg .bindu{fill:var(--gold);}

.product-name-cell{display:flex;align-items:center;gap:12px;}

@media(max-width:640px){
    .form-grid-2{grid-template-columns:1fr;}
}


/* =========================================================
   USER ACCOUNT SHELL (within main site layout)
========================================================= */

.account-shell{
    max-width:1220px;
    margin:0 auto;
    padding:36px 20px 90px;
    display:flex;
    align-items:flex-start;
    gap:26px;
}

.account-sidebar{
    width:264px;
    flex-shrink:0;
    position:sticky;
    top:110px;
    border-radius:20px;
    padding:24px 18px;
    background:linear-gradient(185deg,var(--green) 0%,var(--green-dark) 100%);
    color:#fff;
    box-shadow:var(--shadow);
}

.account-sidebar .account-user{
    display:flex;
    align-items:center;
    gap:12px;
    padding-bottom:18px;
    margin-bottom:14px;
    border-bottom:1px solid rgba(255,255,255,.14);
}

.account-sidebar .dash-avatar{
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.25);
    color:#fff;
}

.account-sidebar .account-user .name{font-size:13.5px;font-weight:700;color:#fff;}
.account-sidebar .account-user .email{font-size:11px;color:rgba(255,255,255,.6);word-break:break-all;}

.account-main{
    flex:1;
    min-width:0;
}

.account-mobile-tabs{
    display:none;
}

@media(max-width:900px){

    .account-shell{flex-direction:column;padding:22px 16px 70px;}

    .account-sidebar{
        display:none;
    }

    .account-mobile-tabs{
        display:flex;
        gap:8px;
        overflow-x:auto;
        width:100%;
        padding-bottom:6px;
        margin-bottom:6px;
    }

    .account-mobile-tabs a{
        flex-shrink:0;
        display:flex;
        align-items:center;
        gap:7px;
        padding:10px 16px;
        border-radius:999px;
        background:#fff;
        border:1.5px solid var(--line);
        font-size:12.5px;
        font-weight:700;
        color:var(--green-dark);
        white-space:nowrap;
    }

    .account-mobile-tabs a.active{
        background:var(--green);
        border-color:var(--green);
        color:#fff;
    }
}


/* =========================================================
   SHOP LISTING / SEARCH BAR
========================================================= */

.page-hero{
    padding:70px 0 50px;
    background:linear-gradient(150deg,var(--green-dark),var(--green));
    color:#fff;
    text-align:center;
}

.page-hero .auth-eyebrow{justify-content:center;display:inline-flex;color:var(--gold-light);}
.page-hero .auth-eyebrow::before{background:var(--gold-light);}

.page-hero h1{
    margin:14px 0 10px;
    font-family:var(--serif);
    font-weight:600;
    font-size:clamp(34px,5vw,52px);
    color:#fff;
}

.page-hero p{
    max-width:560px;
    margin:0 auto;
    color:rgba(255,255,255,.72);
    font-size:14.5px;
}

.shop-toolbar{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:34px;
}

.shop-toolbar .input-icon-group{flex:1;}

.shop-toolbar button{
    flex-shrink:0;
}

.shop-results-count{
    font-size:12.5px;
    color:var(--muted);
    margin-bottom:18px;
}

.shop-empty{
    text-align:center;
    padding:90px 20px;
    color:var(--muted);
}

.shop-empty i{font-size:44px;color:var(--gold);margin-bottom:16px;display:block;}
.shop-empty h3{font-family:var(--serif);color:var(--green-dark);margin:0 0 8px;font-size:22px;}


/* =========================================================
   PRODUCT DETAIL PAGE
========================================================= */

.product-detail-badges{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:18px 0;
}

.detail-price{
    display:flex;
    align-items:baseline;
    gap:12px;
    margin:8px 0 4px;
}

.detail-price > span{
    font-family:var(--serif);
    font-size:36px;
    font-weight:700;
    color:var(--green-dark);
}

.detail-price del{
    font-size:17px;
    color:var(--muted);
}

.detail-price b{
    font-size:12px;
    font-weight:700;
    color:#1f8a4c;
    background:#e8f7ee;
    padding:5px 10px;
    border-radius:999px;
}

.stock-note{
    display:flex;
    align-items:center;
    gap:7px;
    font-size:12.5px;
    color:var(--muted);
    margin:6px 0 22px;
}

.stock-note.in-stock{color:#1f8a4c;}
.stock-note i{font-size:14px;}

.quantity-stepper{
    display:inline-flex;
    align-items:center;
    border:1.5px solid var(--line);
    border-radius:999px;
    overflow:hidden;
    background:#fff;
}

.quantity-stepper button{
    width:44px;
    height:48px;
    border:0;
    background:transparent;
    font-size:18px;
    color:var(--green-dark);
    font-weight:700;
}

.quantity-stepper button:hover{background:var(--cream-2);}

.quantity-stepper input{
    width:46px;
    height:48px;
    border:0;
    border-left:1.5px solid var(--line);
    border-right:1.5px solid var(--line);
    text-align:center;
    font-size:15px;
    font-weight:700;
    color:var(--green-dark);
    background:transparent;
}

.detail-actions{
    display:flex;
    align-items:center;
    gap:14px;
    margin:26px 0 18px;
    flex-wrap:wrap;
}

.detail-actions .btn{flex:1;min-width:180px;}

.detail-trust-row{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid var(--line);
}

.detail-trust-row span{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    color:var(--muted);
}

.detail-trust-row i{color:var(--gold);font-size:15px;}

.detail-tabs{
    background:var(--cream-2);
}

.detail-tabs-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    padding:40px;
}

.detail-tabs-card h2{
    font-family:var(--serif);
    font-weight:600;
    color:var(--green-dark);
    font-size:24px;
    margin:0 0 16px;
}

.detail-tabs-card p{
    color:var(--ink);
    font-size:14.5px;
    line-height:1.85;
}

.detail-meta-row{
    display:flex;
    flex-wrap:wrap;
    gap:24px;
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid var(--line);
    font-size:13px;
}

.detail-meta-row strong{color:var(--green-dark);}

.related-heading{
    text-align:center;
    margin-bottom:34px;
}


/* =========================================================
   CART PAGE
========================================================= */

.cart-item-row{
    display:flex;
    align-items:center;
    gap:16px;
    padding:18px 0;
    border-bottom:1px solid var(--line);
    flex-wrap:wrap;
}

.cart-item-row:last-child{border-bottom:0;}

.cart-item-thumb{
    width:72px;
    height:72px;
    border-radius:14px;
    background:
        radial-gradient(circle,rgba(185,147,75,.16),transparent 67%),
        #f3ead9;
    display:grid;
    place-items:center;
    flex-shrink:0;
}

.cart-item-thumb svg{width:48px;height:48px;}

.cart-item-info{flex:1;min-width:160px;}
.cart-item-name{font-weight:700;color:var(--green-dark);font-size:14px;}
.cart-item-price{font-size:12.5px;color:var(--muted);margin-top:3px;}

.cart-item-qty-form{display:flex;align-items:center;gap:10px;}

.cart-item-total{
    font-weight:700;
    color:var(--green-dark);
    font-size:14.5px;
    min-width:90px;
    text-align:right;
}

.summary-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:9px 0;
    font-size:13.5px;
    color:var(--muted);
}

.summary-row.total{
    border-top:1px dashed var(--line);
    margin-top:8px;
    padding-top:16px;
    font-size:17px;
    font-weight:700;
    color:var(--green-dark);
}

.summary-row .free-tag{color:#1f8a4c;font-weight:700;}


/* =========================================================
   CHECKOUT PAGE
========================================================= */

.checkout-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:26px;
    align-items:start;
}

.checkout-mini-item{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:10px 0;
    border-bottom:1px solid var(--line);
    font-size:13px;
}

.checkout-mini-item:last-child{border-bottom:0;}
.checkout-mini-item .name{color:var(--ink);font-weight:600;}
.checkout-mini-item .qty{color:var(--muted);font-size:11.5px;}


/* =========================================================
   ORDER SUCCESS
========================================================= */

.success-icon{
    width:84px;
    height:84px;
    border-radius:50%;
    background:var(--green-soft);
    color:var(--green);
    display:grid;
    place-items:center;
    font-size:38px;
    margin:0 auto 22px;
}


/* =========================================================
   TRACK ORDER
========================================================= */

.track-form-row{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.track-form-row .form-field{flex:1;min-width:200px;margin-bottom:0;}

.track-timeline{
    display:flex;
    flex-wrap:wrap;
    gap:0;
    margin-top:26px;
}

.track-step{
    flex:1;
    min-width:120px;
    text-align:center;
    position:relative;
    padding-top:10px;
}

.track-step::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:4px;
    background:var(--line);
    border-radius:4px;
}

.track-step.done::before{background:var(--green);}

.track-step .dot{
    width:14px;
    height:14px;
    border-radius:50%;
    background:var(--line);
    margin:-17px auto 10px;
    border:3px solid #fff;
}

.track-step.done .dot{background:var(--green);}

.track-step span{
    display:block;
    font-size:11.5px;
    font-weight:700;
    color:var(--muted);
    text-transform:capitalize;
}

.track-step.done span{color:var(--green-dark);}


/* =========================================================
   RESPONSIVE — SHOP / CHECKOUT / CART
========================================================= */

@media(max-width:991px){
    .checkout-grid{grid-template-columns:1fr;}
}

@media(max-width:640px){
    .shop-toolbar{flex-direction:column;align-items:stretch;}
    .detail-tabs-card{padding:24px;}
    .cart-item-total{text-align:left;}
    .cart-item-row{gap:12px;}
}
