@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

:root{
    --forest:#3d2818;
    --gold:#b28b54;
    --cream:#f7f3eb;
    --sage:#e8d5b7;
    --text:#687069;
}

/* ====================================
   QUEEN FLOWER - GLOBAL STYLES
==================================== */

/* Reset */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#f7f3eb;
    color:#3d2818;
    font-family:"Inter",sans-serif;
    line-height:1.7;
}

h1,
h2,
h3{
    font-family:"Cormorant Garamond",serif;
    font-weight:600;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

/* ====================================
   HEADER
==================================== */

header{
    background:#ffffff;
    padding:18px 8%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid #ece7df;
    position:sticky;
    top:0;
    z-index:1000;
}
/* Logo */

.logo{
    display:flex;
    align-items:center;
    gap:18px;
}

.logo-circle{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#4a3220;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:24px;
    font-weight:700;
}

.logo h1{
    margin:0;
    font-size:40px;
    letter-spacing:3px;
    font-family:"Cormorant Garamond", serif;
}

.logo p{
    margin-top:5px;
    letter-spacing:5px;
    color:#93826b;
    font-size:13px;
    text-transform:uppercase;
}
/* Navigation */

nav ul{
    display:flex;
    gap:40px;
}

nav a{
    color:#3d2818;
    font-size:15px;
    transition:.3s;
}

nav a:hover{
    color:#b28b54;
}

/* Header Icons */

.icons{
    display:flex;
    gap:18px;
}

.icon-btn{
    background:none;
    border:none;
    cursor:pointer;
    font-size:17px;
    color:#3d2818;
    position:relative;
    transition:.25s;
}

.icon-btn:hover{
    color:#b28b54;
}

/* Cart icon gets its own premium gold treatment to stand out */
#cart-button{
    color:#a8793d;
    text-shadow:0 1px 2px rgba(168,121,61,.25);
    transition:.25s;
}

#cart-button:hover{
    color:#c9a668;
}

#cart-count{
    position:absolute;

    top:-8px;
    right:-8px;

    width:18px;
    height:18px;

    border-radius:50%;

    background:linear-gradient(135deg,#c9a668,#8b6f47);
    color:#fff;
    box-shadow:0 2px 6px rgba(139,111,71,.45);

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:10px;
}

/* ====================================
   HERO SECTION
==================================== */

.hero{
    min-height:90vh;

    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;

    padding:80px 8%;

    background:linear-gradient(
        135deg,
        #f7f3eb 0%,
        #efe8dc 50%,
        #e8d5b7 100%
    );
}

.hero-content{
    max-width:750px;
}

.hero-label{
    font-size:12px;
    letter-spacing:5px;
    text-transform:uppercase;
    color:#8b8068;
    margin-bottom:20px;
}

.hero h2{
    font-size:72px;
    line-height:1.1;
    font-weight:normal;
    color:#3d2818;
    margin-bottom:30px;
}

.hero-description{
    font-size:18px;
    line-height:1.9;
    color:#59635b;
    max-width:620px;
    margin:0 auto 40px;
}

.shop-button{
    display:inline-block;

    padding:16px 40px;

    background:#3d2818;
    color:#fff;

    border-radius:40px;

    text-transform:uppercase;
    letter-spacing:2px;
    font-size:12px;

    transition:.3s;
}

.shop-button:hover{
    background:#b28b54;
    transform:translateY(-3px);
}

/* ====================================
   PRODUCT COLLECTION
==================================== */

.shop-hero{
    padding:80px 8% 50px;
    text-align:center;
    background:linear-gradient(
        135deg,
        #f7f3eb 0%,
        #efe8dc 50%,
        #e8d5b7 100%
    );
}

.shop-hero h2{
    font-size:52px;
    font-weight:normal;
    color:#3d2818;
    margin-bottom:16px;
}

.shop-hero p{
    font-size:17px;
    color:#59635b;
}

#shop{
    padding:100px 8%;
    background:#faf8f3;
}

.section-heading{
    text-align:center;
    max-width:700px;
    margin:0 auto 70px;
}

.section-heading p{
    font-size:12px;
    letter-spacing:4px;
    color:#8b8068;
    margin-bottom:15px;
}

.section-label{
    display:block;
    font-size:12px;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#8b8068;
    margin-bottom:15px;
}

.section-heading h2{
    font-size:52px;
    font-weight:normal;
    color:#3d2818;
    margin-bottom:20px;
}

.section-heading span{
    display:block;
    font-size:17px;
    color:#687069;
    line-height:1.8;
}

.product-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
}

.product-grid.featured{
    grid-template-columns:repeat(4,1fr);
}

.view-collection{
    text-align:center;
    margin-top:60px;
}

.product-card{

    background:#fff;

    border-radius:24px;

    padding:22px;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    transition:.35s;

}

.product-card:hover{

    transform:translateY(-6px);

    box-shadow:0 18px 40px rgba(0,0,0,.12);

}

.product-image{
    height:420px;

    background:linear-gradient(
        135deg,
        #ece4d7,
        #ddd5c8
    );

    display:flex;
    flex-direction:column;
    gap:14px;
    justify-content:center;
    align-items:center;

    margin-bottom:25px;

    position:relative;
    overflow:hidden;
    border-radius:16px;
}

.product-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.5),transparent 65%);
}

.product-image i{
    font-size:34px;
    color:#a9987e;
    position:relative;
}

.product-image span{
    color:#8b8068;
    letter-spacing:2px;
    text-transform:uppercase;
    font-size:11px;
    position:relative;
}

.product-type{
    font-size:11px;
    letter-spacing:3px;
    color:#9b8b72;
    margin-bottom:10px;
}

.product-card h3{
    font-size:24px;
    font-weight:normal;
    margin-bottom:10px;
}

.product-price{
    margin-bottom:20px;
    color:#59635b;
}

.product-card button{

    padding:14px 30px;

    border:1px solid #3d2818;

    background:transparent;

    color:#3d2818;

    border-radius:50px;

    font-weight:600;

    letter-spacing:1px;

    cursor:pointer;

    transition:.3s;

}

.product-card button:hover{
    background:#3d2818;
    color:#fff;
}

/* ====================================
   WHY CHOOSE QUEEN FLOWER
==================================== */

.why-us{
    padding:100px 8%;
    background:#ffffff;
    text-align:center;
}

.why-us h2{
    font-size:52px;
    font-weight:normal;
    margin:20px 0 60px;
    color:#3d2818;
}

.features{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}

.feature{
    background:#f7f3eb;
    padding:45px 30px;
    border-radius:20px;
    transition:.35s;
}

.feature-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    margin:0 auto 24px;
    border-radius:50%;
    background:linear-gradient(135deg,#f7f3eb,#e8d5b7);
    border:1px solid rgba(178,139,84,.35);
    color:#3d2818;
    font-size:22px;
    box-shadow:0 6px 16px rgba(178,139,84,.18);
    transition:.35s;
}

/* Give each feature its own accent color */
.feature:nth-child(1) .feature-icon{
    color:#4a6b4f;
    background:linear-gradient(135deg,#f7f3eb,#dbe6da);
    border-color:rgba(74,107,79,.35);
    box-shadow:0 6px 16px rgba(74,107,79,.18);
}

.feature:nth-child(2) .feature-icon{
    color:#b28b54;
    background:linear-gradient(135deg,#f7f3eb,#e8d5b7);
    border-color:rgba(178,139,84,.35);
    box-shadow:0 6px 16px rgba(178,139,84,.18);
}

.feature:nth-child(3) .feature-icon{
    color:#a4544a;
    background:linear-gradient(135deg,#f7f3eb,#ecd6cf);
    border-color:rgba(164,84,74,.35);
    box-shadow:0 6px 16px rgba(164,84,74,.18);
}

.feature:hover{
    transform:translateY(-10px);
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.feature:hover .feature-icon{
    transform:scale(1.08);
}

.feature h3{
    font-size:24px;
    font-weight:normal;
    margin-bottom:20px;
    color:#3d2818;
}

.feature p{
    color:#687069;
    line-height:1.8;
}

.why-us-placeholder{
    height:420px;
    margin-top:60px;
    border-radius:20px;

    background:linear-gradient(
        135deg,
        #e8d5b7,
        #c9a668
    );

    display:flex;
    justify-content:center;
    align-items:center;

    position:relative;
    overflow:hidden;
}

.why-us-placeholder::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.35),transparent 55%);
}

.why-us-placeholder .placeholder-content{
    text-align:center;
    color:#3d2818;
    position:relative;
}

.why-us-placeholder i{
    display:block;
    font-size:30px;
    margin-bottom:18px;
    color:#4a3220;
}

.why-us-placeholder h4{
    font-size:30px;
    font-weight:normal;
    margin-bottom:10px;
    font-family:"Cormorant Garamond", serif;
}

.why-us-placeholder p{
    letter-spacing:3px;
    text-transform:uppercase;
    font-size:12px;
    color:#4a3220;
}

/* ====================================
   BRAND STORY
==================================== */

.brand-story{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:650px;
}

.story-visual{
    display:flex;
    justify-content:center;
    align-items:center;

    background:linear-gradient(
        135deg,
        #c9a668,
        #8b6f47
    );
}

.story-visual span{
    color:rgba(255,255,255,.75);
    letter-spacing:8px;
    font-size:18px;
}

.story-content{
    background:#e9e2d5;
    padding:90px 10%;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.story-content h2{
    font-size:50px;
    font-weight:normal;
    line-height:1.2;
    margin:20px 0 30px;
}

.story-content p{
    color:#59635b;
    line-height:1.9;
    margin-bottom:20px;
}

.story-link{
    width:fit-content;
    margin-top:20px;
    color:#3d2818;
    border-bottom:1px solid #3d2818;
    padding-bottom:5px;
    text-transform:uppercase;
    letter-spacing:2px;
}

/* ====================================
   BRAND VALUES
==================================== */

.brand-values{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    background:#3d2818;
}

.value-item{
    padding:70px 40px;
    border-right:1px solid rgba(255,255,255,.15);
}

.value-item:last-child{
    border-right:none;
}

.value-item span{
    color:#c7ad79;
    letter-spacing:3px;
    font-size:12px;
}

.value-item h3{
    color:#fff;
    font-size:26px;
    font-weight:normal;
    margin:25px 0 20px;
}

.value-item p{
    color:#e0d4bc;
    line-height:1.8;
}

/* ====================================
   NEWSLETTER
==================================== */

.newsletter{
    padding:120px 8%;
    text-align:center;
    background:#f4efe6;
}

.newsletter h2{
    font-size:56px;
    font-weight:normal;
    color:#3d2818;
    margin:20px 0;
}

.newsletter-text{
    max-width:600px;
    margin:0 auto 40px;
    color:#687069;
    line-height:1.8;
}

.newsletter-form{
    max-width:650px;
    margin:0 auto;

    display:flex;

    border:1px solid #d8d0c3;
    border-radius:50px;

    overflow:hidden;

    background:#fff;
}

.newsletter-form input{
    flex:1;
    padding:18px 25px;
    border:none;
    outline:none;
    background:transparent;
    font-family:inherit;
    font-size:15px;
}

.newsletter-form button{
    padding:18px 35px;

    border:none;

    background:#3d2818;
    color:#fff;

    cursor:pointer;

    text-transform:uppercase;
    letter-spacing:2px;

    transition:.3s;
}

.newsletter-form button:hover{
    background:#b28b54;
}

/* ====================================
   FOOTER
==================================== */

footer{

    background:#2b1c10;
    color:#fff;

    padding:90px 8% 30px;

}

.footer-brand{

    margin-bottom:60px;

}

.footer-brand h2{

    font-size:38px;
    font-weight:normal;
    letter-spacing:2px;
    text-transform:uppercase;

}

.footer-brand p{

    margin-top:10px;
    color:#d9c9ac;
    letter-spacing:3px;
    font-size:11px;
    text-transform:uppercase;

}

.footer-links{

    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:60px;

}

.footer-links h3{

    margin-bottom:25px;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:13px;

}

.footer-links a{

    display:block;

    color:#d9c9ac;

    margin-bottom:14px;

    transition:.3s;

}

.footer-links a:hover{

    color:#ffffff;

}

.footer-bottom{

    margin-top:70px;

    padding-top:25px;

    border-top:1px solid rgba(255,255,255,.15);

    text-align:center;

    color:#b8a488;

    font-size:13px;

}

/* ====================================
   RESPONSIVE DESIGN
==================================== */

@media (max-width:992px){

    header{
        flex-direction:column;
        gap:20px;
    }

    nav ul{
        gap:20px;
        flex-wrap:wrap;
        justify-content:center;
    }

    .hero h2{
        font-size:52px;
    }

    .product-grid,
    .features,
    .brand-values,
    .footer-links{

        grid-template-columns:1fr 1fr;

    }

    .brand-story{

        grid-template-columns:1fr;

    }

}

@media (max-width:768px){

    .product-grid,
    .features,
    .brand-values,
    .footer-links{

        grid-template-columns:1fr;

    }

    .newsletter-form{

        flex-direction:column;

        border:none;

        background:transparent;

    }

    .newsletter-form input{

        background:#fff;

        border-radius:40px;

        margin-bottom:15px;

    }

    .newsletter-form button{

        border-radius:40px;

    }

    .hero h2{

        font-size:42px;

    }

    .section-heading h2,
    .why-us h2,
    .newsletter h2,
    .story-content h2{

        font-size:38px;

    }

}

.quantity-controls{

    display:flex;

    align-items:center;

    gap:12px;

    margin:10px 0;

}

.quantity-controls button{

    width:30px;

    height:30px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    background:#5b6f52;

    color:white;

    font-size:18px;

}

.remove-item{

    background:none;

    border:none;

    color:#9c3b3b;

    cursor:pointer;

    margin-top:8px;

}

/* ==========================
   SHOPPING CART
========================== */

.cart-sidebar{

    position:fixed;
    top:0;
    right:-420px;

    width:400px;
    height:100vh;

    background:#fff;

    box-shadow:-8px 0 25px rgba(0,0,0,.12);

    transition:.35s;

    display:flex;
    flex-direction:column;

    z-index:2000;

}

.cart-sidebar.active{

    right:0;

}

.cart-header{

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:25px;

    border-bottom:1px solid #ece7df;

}

.cart-header h2{

    font-size:32px;
    font-weight:normal;

}

#close-cart{

    background:none;
    border:none;

    font-size:28px;

    cursor:pointer;

}

#cart-items{

    flex:1;
    overflow-y:auto;

    padding:20px;

}

.cart-item{

    padding:18px 0;

    border-bottom:1px solid #ece7df;

}

.cart-item h4{

    margin-bottom:8px;

}

/* Wrapper generated by script.js for each cart item's details */
.cart-item-info p{

    color:#687069;

    margin-bottom:6px;

}

.cart-footer{

    padding:25px;

    border-top:1px solid #ece7df;

}

/* Subtotal / Total rows inside the cart sidebar footer */
.cart-row{

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:6px 0;

    color:#687069;
    font-size:14px;

}

.cart-total-row{

    display:flex;
    justify-content:space-between;
    align-items:baseline;

    margin-top:12px;
    padding-top:16px;

    border-top:1px solid #ece7df;

    font-size:20px;
    color:#5b6f52;

}

.cart-total-row strong{

    font-size:22px;

}

#checkout-button{

    width:100%;

    padding:16px;

    margin-top:20px;

    border:none;

    border-radius:40px;

    background:#5b6f52;

    color:#fff;

    cursor:pointer;

    transition:.3s;

}

#checkout-button:hover{

    background:#7c9473;

}

/* =====================================
   QUEEN FLOWER - LUXURY CHECKOUT
===================================== */

.checkout-header{
    background:#ffffff;
    padding:18px 8%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid #ece7df;
}

.checkout-header .logo-badge{
    width:40px;
    height:40px;
    font-size:14px;
}

.checkout-header .logo-text h1{
    font-size:24px;
    letter-spacing:2px;
}

.checkout-header .logo-text p{
    font-size:10px;
    letter-spacing:2.5px;
}

.back-to-shop{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    letter-spacing:1px;
    color:#4a3220;
    text-transform:uppercase;
    border-bottom:1px solid transparent;
    transition:.3s;
}

.back-to-shop:hover{
    color:#b28b54;
    border-bottom-color:#b28b54;
}

.checkout-page{
    background:linear-gradient(to bottom,#fdfbf8,#f7f3ee);
    padding:70px 8%;
}

.checkout-container{
    max-width:1200px;
    margin:auto;
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px;
    align-items:start;
}

.checkout-left,
.checkout-right{
    position:relative;
    overflow:hidden;
    background:#fff;
    border-radius:20px;
    padding:48px;
    box-shadow:0 15px 45px rgba(0,0,0,.08);
}

.checkout-left::before,
.checkout-right::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:4px;
    background:linear-gradient(90deg,#b28b54,#e8d5b7,#b28b54);
}

.checkout-right{
    position:sticky;
    top:100px;
    height:fit-content;
}

.checkout-left h2{
    margin:0;
    font-size:38px;
    color:#4a3220;
    font-family:"Cormorant Garamond", serif;
    font-weight:600;
}

.checkout-subtitle{
    margin:12px 0 40px;
    color:#93826b;
    line-height:1.7;
    font-size:15px;
}

.form-section{
    margin-bottom:34px;
}

.form-section:last-of-type{
    margin-bottom:0;
}

.form-section .section-label{
    margin-bottom:20px;
}

.checkout-form{
    display:flex;
    flex-direction:column;
    gap:0;
}

.field-group{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.field-row{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:18px;
}

.checkout-form label{
    display:block;
    font-size:13px;
    font-weight:600;
    letter-spacing:.5px;
    color:#4a3220;
    margin-bottom:8px;
}

.required{
    color:#b28b54;
}

.checkout-form input,
.checkout-form select{
    width:100%;
    padding:16px 17px;
    border:1px solid #e2ddd5;
    border-radius:12px;
    background:#fdfcfa;
    font-size:15px;
    font-family:inherit;
    color:#3d2818;
    transition:.25s;
    box-sizing:border-box;
}

.checkout-form input::placeholder{
    color:#b6ada0;
}

.checkout-form input:focus,
.checkout-form select:focus{
    outline:none;
    border-color:#4a3220;
    background:#fff;
    box-shadow:0 0 0 4px rgba(74,50,32,.1);
}

.phone-group{
    display:flex;
    gap:12px;
}

.phone-group select{
    width:210px;
}

.phone-group input{
    flex:1;
}

.checkout-form button{
    width:100%;
    margin-top:36px;
    padding:20px;
    border:none;
    border-radius:12px;
    background:#3d2818;
    color:#fff;
    font-size:15px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    cursor:pointer;
    transition:.3s;
}

.checkout-form button:hover{
    background:#b28b54;
    transform:translateY(-2px);
}

.checkout-form button:disabled{
    background:#cfc6b8;
    cursor:not-allowed;
    transform:none;
}

.checkout-right h3{
    margin-top:0;
    margin-bottom:4px;
    font-size:28px;
    color:#4a3220;
    font-family:"Cormorant Garamond", serif;
    font-weight:600;
}

.checkout-products{
    margin-top:22px;
    display:flex;
    flex-direction:column;
}

.checkout-product{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:14px 0;
    border-bottom:1px solid #f0ece3;
}

.checkout-product-name{
    font-size:14px;
    color:#3d2818;
    margin-bottom:3px;
}

.checkout-product-qty{
    font-size:12px;
    letter-spacing:.5px;
    color:#9b8b72;
    text-transform:uppercase;
}

.checkout-product-price{
    font-size:14px;
    color:#4a3220;
    white-space:nowrap;
}

.checkout-empty{
    padding:24px 0;
    font-size:14px;
    color:#93826b;
    text-align:center;
}

.order-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 0;
    border-bottom:1px solid #ece7df;
    font-size:15px;
    color:#59635b;
}

.order-total{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    margin-top:18px;
    padding-top:20px;
    border-top:2px solid #4a3220;
    font-size:24px;
    font-weight:700;
    color:#3d2818;
    font-family:"Cormorant Garamond", serif;
}

.order-total strong:first-child{
    font-size:15px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    font-family:"Inter",sans-serif;
    color:#4a3220;
}

.payment-badges{
    display:flex;
    align-items:center;
    gap:14px;
    margin:28px 0;
}

.payment-badges i{
    font-size:26px;
    color:#6b5d4f;
}

/* True brand colors for quick recognition */
.brand-visa{
    color:#1a1f71 !important;
}

.brand-mastercard{
    color:#eb001b !important;
}

.brand-paypal{
    color:#003087 !important;
}

.brand-applepay{
    color:#000 !important;
}

.brand-banktransfer{
    color:#4a6b4f !important;
}

.delivery-info{
    margin-top:20px;
    padding:18px;
    border-radius:14px;
    background:#f7f4ef;
}

.delivery-info strong{
    display:block;
    font-size:13px;
    letter-spacing:.5px;
    color:#4a3220;
    margin-bottom:6px;
}

.delivery-info p{
    font-size:14px;
    color:#6b5d4f;
}

.secure-box{
    margin-top:16px;
    padding:20px;
    border-radius:14px;
    background:#f7f4ef;
    line-height:1.7;
}

.secure-box strong{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    letter-spacing:.5px;
    color:#4a3220;
}

.secure-box p{
    margin-top:8px;
    color:#93826b;
    font-size:13px;
}

hr{
    border:none;
    border-top:1px solid #ece7df;
    margin:20px 0;
}

/* ===========================
   RESPONSIVE
=========================== */

@media (max-width:992px){

.checkout-container{
    grid-template-columns:1fr;
}

.checkout-right{
    position:static;
}

.phone-group{
    flex-direction:column;
}

.phone-group select{
    width:100%;
}

.field-row{
    grid-template-columns:1fr;
}

}

@media (max-width:600px){

.checkout-page{
    padding:40px 15px;
}

.checkout-left,
.checkout-right{
    padding:26px;
}

.checkout-left h2{
    font-size:30px;
}

.checkout-right h3{
    font-size:24px;
}

.checkout-form input,
.checkout-form select{
    padding:15px;
}

.checkout-form button{
    padding:18px;
}

}

/* =====================================
   QUEEN FLOWER - CUSTOMER CARE CHAT
===================================== */

#qf-chat-toggle{
    position:fixed;
    bottom:28px;
    right:28px;

    width:60px;
    height:60px;

    border:none;
    border-radius:50%;

    background:#5b6f52;
    color:#fff;

    font-size:22px;

    display:flex;
    justify-content:center;
    align-items:center;

    cursor:pointer;

    box-shadow:0 10px 30px rgba(91,111,82,.35);

    z-index:2500;

    transition:.3s;
}

#qf-chat-toggle:hover{
    background:#7c9473;
    transform:translateY(-3px);
}

#qf-chat-panel{
    position:fixed;
    bottom:100px;
    right:28px;

    width:360px;
    max-width:calc(100vw - 40px);
    height:520px;
    max-height:calc(100vh - 140px);

    background:#fff;

    border-radius:20px;

    box-shadow:0 20px 55px rgba(0,0,0,.18);

    display:flex;
    flex-direction:column;

    overflow:hidden;

    opacity:0;
    transform:translateY(16px) scale(.98);
    pointer-events:none;

    transition:.25s;

    z-index:2500;
}

#qf-chat-panel.active{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
}

#qf-chat-header{
    background:#5b6f52;
    color:#fff;

    padding:20px 22px;

    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

#qf-chat-title{
    font-family:"Cormorant Garamond", serif;
    font-size:22px;
    font-weight:600;
}

#qf-chat-subtitle{
    margin-top:4px;
    font-size:12px;
    color:#dce6d7;
    letter-spacing:.5px;
}

#qf-chat-close{
    background:none;
    border:none;
    color:#fff;
    font-size:24px;
    line-height:1;
    cursor:pointer;
    opacity:.85;
    transition:.2s;
}

#qf-chat-close:hover{
    opacity:1;
}

#qf-chat-messages{
    flex:1;
    overflow-y:auto;
    padding:20px;

    display:flex;
    flex-direction:column;
    gap:12px;

    background:#faf8f3;
}

.qf-chat-bubble{
    max-width:80%;
    padding:12px 16px;
    border-radius:16px;
    font-size:14px;
    line-height:1.6;
}

.qf-bot{
    align-self:flex-start;
    background:#eaeee5;
    color:#3d2818;
    border-bottom-left-radius:4px;
}

.qf-user{
    align-self:flex-end;
    background:#5b6f52;
    color:#fff;
    border-bottom-right-radius:4px;
}

.qf-typing{
    display:flex;
    gap:5px;
    align-items:center;
    padding:14px 16px;
}

.qf-typing span{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#8a9c78;
    animation:qf-typing-bounce 1.2s infinite ease-in-out;
}

.qf-typing span:nth-child(2){
    animation-delay:.2s;
}

.qf-typing span:nth-child(3){
    animation-delay:.4s;
}

@keyframes qf-typing-bounce{
    0%, 60%, 100%{
        transform:translateY(0);
        opacity:.5;
    }
    30%{
        transform:translateY(-4px);
        opacity:1;
    }
}

#qf-chat-quick-replies{
    display:flex;
    flex-wrap:wrap;
    gap:8px;

    padding:0 20px 14px;

    background:#faf8f3;
}

.qf-quick-reply{
    padding:8px 14px;

    border:1px solid #d3dccb;
    border-radius:30px;

    background:#fff;
    color:#5b6f52;

    font-size:12px;

    cursor:pointer;

    transition:.2s;
}

.qf-quick-reply:hover{
    background:#5b6f52;
    color:#fff;
    border-color:#5b6f52;
}

#qf-chat-form{
    display:flex;
    align-items:center;
    gap:10px;

    padding:16px;

    border-top:1px solid #ece7df;
    background:#fff;
}

#qf-chat-input{
    flex:1;

    padding:12px 16px;

    border:1px solid #e2ddd5;
    border-radius:30px;

    font-family:inherit;
    font-size:14px;

    outline:none;

    transition:.2s;
}

#qf-chat-input:focus{
    border-color:#5b6f52;
    box-shadow:0 0 0 3px rgba(91,111,82,.12);
}

#qf-chat-form button{
    width:42px;
    height:42px;
    flex-shrink:0;

    border:none;
    border-radius:50%;

    background:#5b6f52;
    color:#fff;

    font-size:15px;

    cursor:pointer;

    display:flex;
    justify-content:center;
    align-items:center;

    transition:.25s;
}

#qf-chat-form button:hover{
    background:#7c9473;
}

@media (max-width:600px){

    #qf-chat-panel{
        right:20px;
        left:20px;
        width:auto;
        bottom:92px;
    }

    #qf-chat-toggle{
        right:20px;
        bottom:20px;
    }

}

/* =====================================
   QUEEN FLOWER - PRODUCT SEARCH
===================================== */

.search-backdrop{
    position:fixed;
    inset:0;

    background:rgba(61,40,24,.25);

    opacity:0;
    pointer-events:none;

    transition:.3s;

    z-index:1400;
}

.search-backdrop.active{
    opacity:1;
    pointer-events:auto;
}

.search-overlay{
    position:fixed;
    top:0;
    left:0;
    width:100%;

    background:#fff;

    padding:26px 8%;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transform:translateY(-100%);

    transition:.3s;

    z-index:1500;
}

.search-overlay.active{
    transform:translateY(0);
}

.search-box{
    max-width:650px;
    margin:0 auto;

    display:flex;
    align-items:center;
    gap:14px;

    border:1px solid #d8d0c3;
    border-radius:50px;

    padding:14px 22px;

    background:#faf8f3;
}

.search-box i{
    color:#8b8068;
    font-size:16px;
}

.search-box input{
    flex:1;

    border:none;
    outline:none;
    background:transparent;

    font-family:inherit;
    font-size:15px;
    color:#3d2818;
}

.search-box input::placeholder{
    color:#a99d8a;
}

#search-close{
    background:none;
    border:none;

    font-size:24px;
    line-height:1;
    color:#8b8068;

    cursor:pointer;

    transition:.2s;
}

#search-close:hover{
    color:#3d2818;
}

#search-no-results{
    max-width:650px;
    margin:16px auto 0;

    text-align:center;

    color:#93826b;
    font-size:14px;

    display:none;
}

#search-no-results.active{
    display:block;
}

/* =====================================
   QUEEN FLOWER - WISHLIST
===================================== */

/* Heart button on each product card */
.wishlist-btn{
    position:absolute;
    top:12px;
    right:12px;

    width:28px;
    height:28px;

    border:none;
    border-radius:50%;

    background:rgba(255,255,255,.85);
    color:#a4544a;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:12px;

    cursor:pointer;

    box-shadow:0 4px 10px rgba(0,0,0,.08);

    transition:.2s;

    z-index:2;
}

.wishlist-btn:hover{
    background:#fff;
    transform:scale(1.08);
}

.wishlist-btn.active i{
    font-weight:900;
}

.wishlist-btn.active{
    color:#fff;
    background:#a4544a;
}

/* Cart overlay class is reused for the backdrop dimming behind the sidebar */
.wishlist-overlay{
    position:fixed;
    inset:0;

    background:rgba(0,0,0,.35);

    opacity:0;
    pointer-events:none;

    transition:.3s;

    z-index:1900;
}

.wishlist-overlay.active{
    opacity:1;
    pointer-events:auto;
}

.wishlist-sidebar{
    position:fixed;
    top:0;
    right:-360px;

    width:340px;
    max-width:88vw;
    height:100vh;

    background:#fff;

    box-shadow:-8px 0 25px rgba(0,0,0,.12);

    transition:.35s;

    display:flex;
    flex-direction:column;

    z-index:2000;
}

.wishlist-sidebar.active{
    right:0;
}

#wishlist-items{
    flex:1;
    overflow-y:auto;

    padding:16px;
}

.wishlist-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;

    padding:14px 0;

    border-bottom:1px solid #ece7df;
}

.wishlist-item h4{
    font-size:14px;
    font-weight:normal;
    margin-bottom:4px;
}

.wishlist-item p{
    color:#687069;
    font-size:13px;
}

.wishlist-item-actions{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:6px;
}

.wishlist-add-to-cart{
    padding:6px 13px;

    border:1px solid #3d2818;
    border-radius:30px;

    background:transparent;
    color:#3d2818;

    font-size:11px;

    cursor:pointer;

    transition:.2s;
}

.wishlist-add-to-cart:hover{
    background:#3d2818;
    color:#fff;
}

.wishlist-remove{
    background:none;
    border:none;

    color:#9c3b3b;
    font-size:11px;

    cursor:pointer;
}

/* =====================================
   QUEEN FLOWER - PAYMENT METHOD SECTION
===================================== */

.payment-method-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;

    margin-bottom:22px;
}

.payment-tab{
    flex:1 1 calc(50% - 8px);
    min-width:130px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;

    padding:11px 10px;

    border:1px solid #e2ddd5;
    border-radius:10px;

    background:#fdfcfa;
    color:#93826b;

    font-size:12px;
    font-weight:600;

    cursor:pointer;

    transition:.2s;
}

.payment-tab i{
    font-size:15px;
}

.payment-tab:hover{
    border-color:#c9a668;
}

.payment-tab.active{
    background:#3d2818;
    border-color:#3d2818;
    color:#fff;
}

.payment-field-row{
    grid-template-columns:1fr 1fr;
}

.payment-method-note{
    display:none;

    padding:16px 18px;

    border-radius:12px;
    background:#f7f4ef;

    font-size:13px;
    color:#6b5d4f;
    line-height:1.7;
}

.payment-method-note.active{
    display:block;
}

.bank-details{
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid #e2ddd5;
}

.bank-details-row{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:6px 0;
    font-size:13px;
}

.bank-details-row span:first-child{
    color:#93826b;
}

.bank-details-row span:last-child{
    color:#3d2818;
    font-weight:600;
}

#card-payment-fields.hidden{
    display:none;
}

/* =====================================
   QUEEN FLOWER - ANNOUNCEMENT BAR
===================================== */

.announcement-bar{
    background:#2b1c10;
    color:#f4efe6;

    text-align:center;

    padding:9px 20px;

    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
}

/* =====================================
   QUEEN FLOWER - NEW HEADER LAYOUT
   (site-header / main-nav / header-icons)
===================================== */

.site-header{
    background:#ffffff;
    padding:14px 4%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid #ece7df;
    position:sticky;
    top:0;
    z-index:1000;
    flex-wrap:nowrap;
    gap:20px;
}

.site-header .logo{
    display:flex;
    align-items:center;
    gap:12px;
    flex-shrink:0;
}

/* Outlined circle badge instead of a solid-fill circle */
.logo-badge{
    width:44px;
    height:44px;
    flex-shrink:0;

    border:1.5px solid #4a3220;
    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    font-family:"Cormorant Garamond", serif;
    font-size:15px;
    font-weight:600;
    letter-spacing:1px;
    color:#3d2818;
}

.logo-text h1{
    margin:0;
    font-size:24px;
    letter-spacing:2px;
    font-family:"Cormorant Garamond", serif;
    color:#3d2818;
    white-space:nowrap;
}

.logo-text p{
    margin-top:2px;
    letter-spacing:2.5px;
    color:#93826b;
    font-size:10px;
    text-transform:uppercase;
    white-space:nowrap;
}

.main-nav{
    flex:1;
    display:flex;
    justify-content:center;
    min-width:0;
}

.main-nav ul{
    display:flex;
    flex-wrap:nowrap;
    gap:22px;
}

.main-nav a{
    display:flex;
    align-items:center;
    gap:4px;

    color:#3d2818;
    font-size:12px;
    letter-spacing:.5px;
    text-transform:uppercase;
    font-weight:600;
    transition:.3s;
    white-space:nowrap;
}

.main-nav a:hover{
    color:#b28b54;
}

.nav-arrow{
    font-size:11px;
    color:#a99d8a;
}

.header-icons{
    display:flex;
    align-items:center;
    gap:16px;
    flex-shrink:0;
}

.header-icon{
    background:none;
    border:none;
    cursor:pointer;
    font-size:16px;
    color:#3d2818;
    position:relative;
    transition:.25s;
}

.header-icon:hover{
    color:#b28b54;
}

.header-icon.cart-icon{
    color:#fff;
    background:#2b1c10;
    width:36px;
    height:36px;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
}

.header-icon.cart-icon:hover{
    background:#4a3220;
    color:#fff;
}

.header-icon.cart-icon #cart-count{
    background:linear-gradient(135deg,#c9a668,#8b6f47);
}

/* Hamburger — hidden on desktop, shown only on narrow screens */
.mobile-nav-toggle{
    display:none;

    background:none;
    border:none;
    cursor:pointer;
    font-size:19px;
    color:#3d2818;
    order:-1;
}

@media (max-width:900px){

    .main-nav{
        position:fixed;
        top:0;
        left:-300px;

        width:280px;
        height:100vh;

        background:#fff;

        box-shadow:4px 0 25px rgba(0,0,0,.12);

        padding:90px 30px;

        transition:.3s;

        z-index:1600;

        justify-content:flex-start;
    }

    .main-nav.active{
        left:0;
    }

    .main-nav ul{
        flex-direction:column;
        gap:22px;
    }

    .mobile-nav-toggle{
        display:block;
    }

    .logo-text h1{
        font-size:19px;
    }

    .logo-text p{
        font-size:9px;
    }

}

.mobile-nav-backdrop{
    position:fixed;
    inset:0;

    background:rgba(0,0,0,.35);

    opacity:0;
    pointer-events:none;

    transition:.3s;

    z-index:1500;
}

.mobile-nav-backdrop.active{
    opacity:1;
    pointer-events:auto;
}

/* =====================================
   QUEEN FLOWER - HERO PHOTO
===================================== */

.hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:60px;

    padding:70px 8%;

    text-align:left;
    min-height:0;
    background:#faf8f3;
}

.hero-content{
    max-width:520px;
}

.hero-divider{
    display:flex;
    align-items:center;
    gap:10px;

    width:130px;

    margin:22px 0 26px;
}

.hero-divider::before,
.hero-divider::after{
    content:"";
    flex:1;
    height:1px;
    background:#c9a668;
}

.hero-divider i{
    color:#c9a668;
    font-size:12px;
}

.hero-visual{
    flex:1;
    max-width:520px;

    border-radius:16px;
    overflow:hidden;

    box-shadow:0 25px 60px rgba(61,40,24,.15);
}

.hero-visual img{
    width:100%;
    height:440px;
    object-fit:cover;
    display:block;
}

@media (max-width:992px){

    .hero{
        flex-direction:column;
        text-align:center;
    }

    .hero-divider{
        margin-left:auto;
        margin-right:auto;
    }

    .hero-content{
        max-width:100%;
    }

    .hero-visual{
        max-width:100%;
    }

}

/* =====================================
   QUEEN FLOWER - PRODUCT & STORY PHOTOS
===================================== */

.product-photo{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    position:relative;
}

.story-photo{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}


/* =====================================
   QUEEN FLOWER - INGREDIENTS SECTION
===================================== */

.ingredients-section{
    padding:100px 8%;
    background:#faf8f3;
    text-align:center;
}

.ingredients-section .section-label{
    text-align:center;
}

.ingredients-section h2{
    font-size:52px;
    font-weight:normal;
    color:#3d2818;
    margin:20px 0 24px;
}

.ingredients-intro{
    max-width:680px;
    margin:0 auto 60px;

    color:#687069;
    font-size:17px;
    line-height:1.8;
}

.ingredients-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:35px;

    text-align:left;
}

.ingredient-item{
    background:#fff;
    padding:38px 30px;
    border-radius:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    transition:.3s;
}

.ingredient-item:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 36px rgba(0,0,0,.08);
}

.ingredient-item i{
    display:flex;
    align-items:center;
    justify-content:center;

    width:52px;
    height:52px;

    margin-bottom:20px;

    border-radius:50%;

    background:linear-gradient(135deg,#f7f3eb,#e8d5b7);
    color:#b28b54;

    font-size:19px;
}

.ingredient-item h3{
    font-size:22px;
    font-weight:normal;
    margin-bottom:12px;
    color:#3d2818;
}

.ingredient-item p{
    color:#687069;
    font-size:14px;
    line-height:1.8;
}

.ingredients-note{
    max-width:600px;
    margin:50px auto 0;

    color:#93826b;
    font-size:14px;
    font-style:italic;
    line-height:1.8;
}

@media (max-width:992px){

    .ingredients-grid{
        grid-template-columns:1fr 1fr;
    }

}

@media (max-width:768px){

    .ingredients-section h2{
        font-size:38px;
    }

    .ingredients-grid{
        grid-template-columns:1fr;
    }

}

/* =====================================
   QUEEN FLOWER - CURRENCY PICKER
===================================== */

.currency-picker{
    position:relative;
    flex-shrink:0;
}

.currency-picker-toggle{
    display:flex;
    align-items:center;
    gap:8px;

    background:#fdfcfa;

    border:1px solid #e2ddd5;
    border-radius:30px;

    padding:7px 14px;

    font-family:inherit;
    font-size:11px;
    font-weight:600;
    letter-spacing:.3px;
    color:#3d2818;

    cursor:pointer;

    transition:.2s;
}

.currency-picker-toggle:hover,
.currency-picker-toggle[aria-expanded="true"]{
    border-color:#c9a668;
}

.currency-picker-toggle i{
    font-size:9px;
    color:#93826b;
    transition:.2s;
}

.currency-picker-toggle[aria-expanded="true"] i{
    transform:rotate(180deg);
}

.currency-picker-menu{
    position:absolute;
    top:calc(100% + 8px);
    right:0;

    min-width:120px;

    background:#fff;
    border-radius:12px;

    box-shadow:0 15px 35px rgba(0,0,0,.12);
    border:1px solid #ece7df;

    padding:6px;

    opacity:0;
    transform:translateY(-8px);
    pointer-events:none;

    transition:.2s;

    z-index:1200;
}

.currency-picker-menu.active{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
}

.currency-picker-menu li{
    padding:9px 12px;

    border-radius:8px;

    font-size:12px;
    font-weight:600;
    color:#59635b;

    cursor:pointer;

    transition:.15s;
}

.currency-picker-menu li:hover{
    background:#f7f3eb;
    color:#3d2818;
}

.currency-picker-menu li.active{
    background:#3d2818;
    color:#fff;
}

@media (max-width:900px){

    .currency-picker-toggle{
        padding:6px 11px;
        font-size:10px;
    }

}


/* =====================================
   QUEEN FLOWER - TOAST NOTIFICATIONS
===================================== */

#qf-toast-container{
    position:fixed;
    top:90px;
    left:50%;
    transform:translateX(-50%);

    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;

    z-index:3000;

    pointer-events:none;
}

.qf-toast{
    padding:14px 26px;

    border-radius:30px;

    font-size:14px;
    font-weight:600;
    letter-spacing:.3px;

    color:#fff;
    background:#3d2818;

    box-shadow:0 12px 30px rgba(0,0,0,.18);

    opacity:0;
    transform:translateY(-12px);

    transition:.3s;
}

.qf-toast.active{
    opacity:1;
    transform:translateY(0);
}

.qf-toast-warning{
    background:#a4544a;
}

.qf-toast-success{
    background:#4a6b4f;
}

/* =====================================
   QUEEN FLOWER - ORDER CONFIRMATION PAGE
===================================== */

.confirmation-page{
    background:linear-gradient(to bottom,#fdfbf8,#f7f3ee);
    padding:70px 8%;

    display:flex;
    justify-content:center;
}

.confirmation-card{
    max-width:560px;
    width:100%;

    background:#fff;
    border-radius:20px;

    padding:56px 48px;

    text-align:center;

    box-shadow:0 15px 45px rgba(0,0,0,.08);

    position:relative;
    overflow:hidden;
}

.confirmation-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:4px;
    background:linear-gradient(90deg,#b28b54,#e8d5b7,#b28b54);
}

.confirmation-icon{
    width:74px;
    height:74px;
    margin:0 auto 24px;

    border-radius:50%;

    background:linear-gradient(135deg,#dbe6da,#a9c2ac);

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:28px;
    color:#3d5a3f;
}

.confirmation-card h2{
    font-size:34px;
    font-weight:normal;
    color:#3d2818;
    margin:16px 0 10px;
    font-family:"Cormorant Garamond", serif;
}

.confirmation-order-number{
    font-size:13px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#b28b54;
    font-weight:600;
    margin-bottom:18px;
}

.confirmation-message{
    color:#687069;
    font-size:15px;
    line-height:1.8;
    max-width:400px;
    margin:0 auto 30px;
}

.confirmation-summary{
    text-align:left;
    border-top:1px solid #ece7df;
    padding-top:10px;
    margin-bottom:10px;
}

.confirmation-total-row{
    display:flex;
    justify-content:space-between;
    align-items:baseline;

    padding-top:16px;
    margin-bottom:24px;

    border-top:2px solid #4a3220;

    font-size:22px;
    color:#3d2818;
    font-family:"Cormorant Garamond", serif;
}

.confirmation-total-row span{
    font-size:14px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    font-family:"Inter",sans-serif;
    color:#4a3220;
}

.confirmation-page .delivery-info{
    text-align:left;
    margin-bottom:28px;
}

.confirmation-continue{
    display:inline-block;
}

@media (max-width:600px){

    .confirmation-card{
        padding:40px 26px;
    }

    .confirmation-card h2{
        font-size:27px;
    }

}

/* =====================================
   QUEEN FLOWER - POLICIES PAGE
===================================== */

.policies-page{
    background:linear-gradient(to bottom,#fdfbf8,#f7f3ee);
    padding:70px 8% 100px;
}

.policies-hero{
    max-width:640px;
    margin:0 auto 70px;
    text-align:center;
}

.policies-hero h2{
    font-size:48px;
    font-weight:normal;
    color:#3d2818;
    margin:16px 0 0;
    font-family:"Cormorant Garamond", serif;
}

.policies-divider{
    margin-left:auto;
    margin-right:auto;
}

.policies-hero p{
    color:#687069;
    font-size:16px;
    line-height:1.8;
    margin-bottom:30px;
}

.policies-jumplinks{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}

.policies-jumplinks a{
    padding:9px 18px;

    border:1px solid #e2ddd5;
    border-radius:30px;

    font-size:12px;
    font-weight:600;
    letter-spacing:.3px;
    color:#59635b;

    transition:.2s;
}

.policies-jumplinks a:hover{
    background:#3d2818;
    border-color:#3d2818;
    color:#fff;
}

.policies-content{
    max-width:680px;
    margin:0 auto;
}

.policy-block{
    padding:50px 0;
    border-bottom:1px solid #e2ddd5;
}

.policy-block:first-child{
    padding-top:0;
}

.policy-block:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.policy-block h3{
    font-size:30px;
    font-weight:normal;
    color:#3d2818;
    margin-bottom:22px;
    font-family:"Cormorant Garamond", serif;
}

.policy-block h4{
    font-size:12px;
    font-weight:600;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#b28b54;
    margin:28px 0 10px;
}

.policy-block h4:first-of-type{
    margin-top:0;
}

.policy-block p{
    color:#59635b;
    line-height:1.9;
    font-size:15px;
}

.policy-block a{
    color:#b28b54;
    border-bottom:1px solid rgba(178,139,84,.4);
}

.policy-updated{
    font-size:12px;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#93826b;
    margin-bottom:20px;
}

.faq-item{
    margin-bottom:30px;
}

.faq-item:last-child{
    margin-bottom:0;
}

.faq-item h4{
    font-size:16px;
    font-weight:600;
    letter-spacing:0;
    text-transform:none;
    color:#4a3220;
    margin:0 0 8px;
    font-family:"Cormorant Garamond", serif;
}

@media (max-width:600px){

    .policies-hero h2{
        font-size:34px;
    }

    .policy-block h3{
        font-size:26px;
    }

}

/* =====================================
   QUEEN FLOWER - TESTIMONIALS
===================================== */

.testimonials-section{
    padding:100px 8%;
    background:#faf8f3;
    text-align:center;
}

.testimonials-section h2{
    font-size:48px;
    font-weight:normal;
    color:#3d2818;
    margin:16px 0 60px;
    font-family:"Cormorant Garamond", serif;
}

.testimonials-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:35px;

    max-width:1150px;
    margin:0 auto;

    text-align:left;
}

.testimonial-card{
    background:#fff;
    padding:42px 36px 36px;
    border-radius:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    transition:.3s;
}

.testimonial-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 36px rgba(0,0,0,.08);
}

.testimonial-mark{
    display:block;
    color:#e8d5b7;
    font-size:22px;
    margin-bottom:16px;
}

.testimonial-quote{
    color:#4a3220;
    font-size:16px;
    line-height:1.85;
    margin-bottom:26px;
    font-family:"Cormorant Garamond", serif;
}

.testimonial-author{
    font-size:14px;
    font-weight:600;
    letter-spacing:.3px;
    color:#3d2818;
}

.testimonial-location{
    font-size:11px;
    letter-spacing:1px;
    color:#93826b;
    text-transform:uppercase;
    margin-top:3px;
}

@media (max-width:992px){

    .testimonials-grid{
        grid-template-columns:1fr 1fr;
    }

}

@media (max-width:768px){

    .testimonials-section h2{
        font-size:34px;
    }

    .testimonials-grid{
        grid-template-columns:1fr;
    }

}