/* ─────────── CSS RESET & ROOT TOKEN SET ─────────── */
:root{
    --crimson-dark:#300A14;
    --crimson-highlight:#8E0E18;
    --gold:#CBA135;
    --bone:#F6F5EF;
    --black-core:#181616;
    --amber-spark:#FFB400;

    --fs-xl:clamp(2.6rem,6vw,4rem);
    --fs-lg:clamp(1.6rem,4vw,2.4rem);
    --fs-md:1.125rem;
    --fs-sm:1.2rem;

    --section-gap:clamp(3rem,8vw,6rem);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    font-family:"Sora", sans-serif;
    font-size:var(--fs-md);line-height:1.6;
    color:var(--bone);background:var(--black-core);
    overflow-x:hidden;
}

/* ─────────── HELPERS ─────────── */
img{width:auto;height:7vh;display:block;}
ul{list-style:none;}
a{text-decoration:none;color:inherit;}
button{border:none;background:none;cursor:pointer;font-family:inherit;}

.section-heading{
    font-family:"Playfair Display",serif;font-weight:700;
    font-size:var(--fs-lg);letter-spacing:2px;
    text-align:center;margin-bottom:2rem;color:var(--green);
}
.section-heading.light{color:#fff}

/* ─────────── HERO ─────────── */
.hero{position:relative;padding-top:calc(160px + 6vw);}
.hero-image{width:100%;}
.hero-text{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,.4);
    font-family:"Playfair Display",serif;font-weight:700;font-size:var(--fs-lg);
    text-align:center;white-space:break-spaces;
}

/* ─────────── PRODUCT SHOWCASE ─────────── */
.showcase{padding:var(--section-gap) 1rem;max-width:1200px;margin:auto;text-align:center;}
.card-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:2.5rem;}
.card{
    background:rgba(1,66,53,.85);color:#fff;
    border:2px solid var(--gold);border-radius:6px;
    box-shadow:0 4px 8px rgba(0,0,0,.12);
    display:flex;gap:1rem;padding:1.5rem;align-items:center;
}
.card-text h3{font-family:"Playfair Display",serif;font-size:1.25rem;margin-bottom:.75rem;}
.card-text p{font-size:.95rem;line-height:1.55;}
.card-image{flex-shrink:0;width:110px;aspect-ratio:1;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px rgba(203,161,53,.3);}

/* ─────────── WHY CHOOSE US ─────────── */
.why{padding:var(--section-gap) 1rem;max-width:1200px;margin:auto;}
.why-cont{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;text-align:center;}
.why-card img{width:90px;margin-inline:auto;}
.why-card h3{font-family:"Playfair Display",serif;font-size:1rem;margin-top:1rem;color:var(--green);}

/* tablet: force 2×2 */
@media (min-width:600px) and (max-width:1024px){
    .why-cont{grid-template-columns:repeat(2,1fr);}
}

/* ─────────── REVIEWS ─────────── */
.review{background:var(--green);padding:var(--section-gap) 1rem;text-align:center;}
.review-cont{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1100px;margin:auto;}
.review-card{
    background:#fff;border-radius:10px;padding:1.5rem;
    box-shadow:0 4px 8px rgba(0,0,0,.1);
    display:flex;flex-direction:column;gap:.75rem;
}
.review-card img{width:34px;}
.review-card p{font-size:.9rem;line-height:1.6;text-align:left;color:var(--ink);}
.review-card cite{align-self:flex-end;font-style:normal;font-weight:700;font-size:.95rem;color:var(--green);}

/* ─────────── RESPONSIVE CAROUSELS ─────────── */
@media (max-width:1024px){
    /* product carousel */
    .card-box{
        display:flex;overflow-x:auto;gap:1.25rem;
        scroll-snap-type:x mandatory;
        padding:0 1rem .5rem;scroll-padding-inline:1rem;
        scrollbar-width:none;
    }
    .card-box::-webkit-scrollbar{display:none;}
    .card{flex:0 0 90%;scroll-snap-align:center;}

    /* review carousel */
    .review-cont{
        display:flex;overflow-x:auto;gap:1.25rem;
        scroll-snap-type:x mandatory;
        padding:0 1rem .5rem;scroll-padding-inline:1rem;
        scrollbar-width:none;
    }
    .review-cont::-webkit-scrollbar{display:none;}
    .review-card{flex:0 0 92%;scroll-snap-align:center;}
}

/* ─────────── GLOBAL RESPONSIVE ─────────── */
@media (max-width:480px){
    :root{--fs-xl:2.2rem;--fs-lg:1.75rem;--fs-md:1rem;--fs-sm:.85rem;}
    .hero-text{font-size:var(--fs-lg);}
}

/* ─────────── ACCESSIBILITY ─────────── */
@media (prefers-reduced-motion:reduce){
    *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}

@media (max-width: 1024px) and (min-width: 769px) {
    .card{flex:0 0 40%;scroll-snap-align:center;}
    .review-card{flex:0 0 42%;scroll-snap-align:center;}
}