.page-shell{background:#11100f;color:var(--paper);min-height:100vh}.inner-hero{padding:245px 11% 115px;background:radial-gradient(circle at 83% 0,#3a2d1c 0,transparent 30%),#171513;border-bottom:1px solid var(--line)}.inner-hero h1{font-size:clamp(58px,8vw,118px);max-width:760px}.inner-hero p:not(.kicker){max-width:560px;font-size:17px;color:#d6cec3;margin:30px 0 0;font-weight:600}.page-section{padding:110px 11%}.page-section.light{background:#151311;color:#191715}.page-section.light .kicker{color:#84663e}.page-section.light h2{text-shadow:none}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.story-grid img{width:100%;height:540px;object-fit:cover;filter:saturate(.72)}.story-grid p{font-size:16px;color:#bfb7ae;font-weight:600}.story-grid.light-copy p{color:#4d4841}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:54px}.value{border-top:1px solid var(--line);padding:20px 0}.light .value{border-color:rgba(24,22,19,.2)}.value b{color:var(--gold);font-size:10px;letter-spacing:.16em}.value h3{font-size:28px;margin:15px 0 10px}.value p{margin:0;font-size:13px;color:inherit}.gallery-page{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-page figure{margin:0}.gallery-page figure:nth-child(6n+2),
.gallery-page figure:nth-child(6n+5){
    margin-top:90px;
}.gallery-page img{width:100%;height:420px;display:block;object-fit:cover;filter:saturate(.7);transition:transform .6s ease}.gallery-page figure{overflow:hidden}.gallery-page figure:hover img{transform:scale(1.05)}.gallery-page figcaption{
    font-size:16px;
    font-weight:600;
    letter-spacing:.08em;
    padding:16px 0 6px;
    color:#f5c57d;
    text-transform:none;
    text-align:left;
}.shop-layout{display:grid;grid-template-columns:1fr 300px;gap:48px}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.shop-card{background:#24211e;border:1px solid var(--line);padding:32px;min-height:250px;display:flex;flex-direction:column;align-items:flex-start}.shop-card b{
    color:var(--gold);
    font-size:20px;
    font-weight:700;
    letter-spacing:.08em;
    display:block;
    margin-bottom:12px;
}.shop-card h3{font-size:35px;margin:22px 0 11px}.shop-card p{color:#beb5aa;margin:0 0 24px}.shop-card button,.checkout-button{background:#d3b37c;border:0;color:#15120f;padding:12px 14px;text-transform:uppercase;letter-spacing:.13em;font:700 10px 'DM Sans';cursor:pointer;margin-top:auto;transition:transform .25s ease}.shop-card button:hover,.checkout-button:hover{transform:translateY(-3px)}.cart-panel{height:max-content;position:sticky;top:22px;background:#e9e2d8;color:#191715;padding:28px;border-top:3px solid var(--gold)}.cart-panel h2{font-size:39px;text-shadow:none}.cart-items{border-top:1px solid rgba(24,22,19,.2);margin-top:22px}.cart-item{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(24,22,19,.2);padding:14px 0;font-weight:700}.cart-item small{display:block;font-weight:500;color:#655d53}.cart-item button{border:0;background:transparent;font-size:24px;cursor:pointer}.empty-cart{color:#665e54;font-size:13px}.ry{display:flex;justify-content:space-between;margin:18px 0;font-weight:700}.checkout-button{width:100%}.login-wrap{max-width:590px;margin:auto;background:#e9e2d8;color:#191715;padding:44px}.login-wrap h2{font-size:48px;text-shadow:none}.login-form,.review-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.login-form label,.review-form label{font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.14em}.login-form input,.review-form input,.review-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #b9afa1;background:#f6f0e7;padding:12px;font:500 14px 'DM Sans';color:#171513}.login-form .full,.review-form .full{grid-column:span 2}.login-form button,.review-form button{grid-column:span 2;border:0;padding:14px;background:#191715;color:#f5eee4;text-transform:uppercase;font:700 10px 'DM Sans';letter-spacing:.15em;cursor:pointer}.form-note,.review-note{grid-column:span 2;color:#80613a;font-weight:700;margin:0}.faq-review{margin-top:82px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;text-align:left}.faq-review h3{font-size:42px}.faq-list details{border-top:1px solid rgba(209,180,128,.45);padding:16px 0;color:#f1eadf}.faq-list summary{cursor:pointer;font-weight:700}.faq-list p{color:#c8beb0;font-size:13px}.review-form{background:rgba(255,255,255,.06);padding:26px}.review-form input,.review-form textarea{background:rgba(255,255,255,.94)}
.page-hero{padding:240px 11% 110px;background:radial-gradient(circle at 80% 0,#3b2e1e,transparent 33%),#171513}.page-hero h1{font-size:clamp(56px,7.3vw,108px);max-width:760px}.page-hero>p:not(.kicker){max-width:570px;font-size:16px;color:#cbc1b5;font-weight:600;margin-top:28px}.split{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.copy p{font-size:16px;color:#c0b7ad;font-weight:600}.values article{border-top:1px solid var(--line);padding:20px 0}.values article b{color:var(--gold);font-size:10px}.values article h3{font-size:29px;margin:13px 0 7px}.values article p{font-size:13px;color:#bdb3a8;margin:0}.product-list>a{display:block;color:inherit;text-decoration:none}.product-list>a article{cursor:pointer}
.faq-review .kicker{font-size:13px}.faq-review h3{font-size:clamp(48px,4.3vw,68px);line-height:1.02}.faq-list summary{font-size:16px;line-height:1.45}.faq-list p{font-size:14px;line-height:1.75}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1180px;margin:auto}.account-grid .login-wrap{max-width:none;margin:0}@media(max-width:780px){.account-grid{grid-template-columns:1fr}}
.login-wrap{color:#191715}.login-wrap h2,.login-wrap label{color:#171513}.login-wrap .kicker,.login-wrap .form-note{color:#604720}.login-wrap input{color:#171513;font-weight:600}.login-wrap input::placeholder{color:#655f57}.account-grid .login-wrap:nth-child(2)>.kicker{font-size:0}.account-grid .login-wrap:nth-child(2)>.kicker::after{content:'New to Vridhi Creations?';font-size:10px;letter-spacing:.2em}
.home-faq{padding:115px 11%;background:#10100f;color:#f3eee6;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.home-faq h2{font-size:clamp(48px,5vw,76px);text-shadow:none}.home-faq .faq-list{margin:0}.home-faq .faq-list details{padding:20px 0}.home-faq .faq-list summary{font-size:17px}.home-faq .faq-list p{font-size:14px}@media(max-width:780px){.home-faq{padding:76px 8%;grid-template-columns:1fr;gap:34px}}
.quote-form{max-width:860px;margin:20px auto 0;border:1px solid rgba(211,179,124,.35)}

.quote-form .kicker{

    font-size:15px;

    letter-spacing:.28em;

    margin-bottom:16px;

}

.quote-summary{

    font-size:18px;

    line-height:1.9;

    color:#d9d1c6;

    font-weight:500;

    margin:0 0 42px;

}
.quote-note{

    grid-column:1 / -1;

    margin-top:24px;

    text-align:center;

    font-size:16px;

    font-weight:600;

    color:#d7b87d;

    line-height:1.7;

    width:100%;

}
.inventory-status{color:#d7b87d!important;font-size:12px!important;font-weight:700;margin:0 0 12px!important}
.category-toggle{border:0;background:transparent;color:#d6b77d;padding:7px 0;font:700 10px 'DM Sans';text-transform:uppercase;letter-spacing:.14em;cursor:pointer}.category-toggle{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:0;
    background:transparent;
    color:#d6b77d;
    padding:7px 0;
    font:700 10px 'DM Sans';
    text-transform:uppercase;
    letter-spacing:.14em;
    cursor:pointer;
}.category-options{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.category-options>div{overflow:hidden;display:flex;flex-wrap:wrap;gap:7px}.category-options span{padding:7px 9px;border:1px solid rgba(211,179,124,.35);font-size:10px;color:#e3d8ca;white-space:nowrap}.shop-card.expanded .category-options{grid-template-rows:1fr;margin:8px 0 17px}.faq-list summary{position:relative;list-style:none;padding-right:36px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{
    content:'↓';
    position:absolute;
    right:3px;
    top:50%;
    transform:translateY(-50%);
    color:#d6b77d;
    font-size:21px;
    line-height:1;
    transition:transform .35s ease;
}.faq-list details[open] summary::after{
    transform:translateY(-50%) rotate(180deg);
}.faq-list details p{
    max-height:0;
    opacity:0;
    overflow:hidden;
    transform:translateY(-10px);

    transition:
        max-height .45s ease,
        opacity .35s ease,
        transform .35s ease,
        margin-top .35s ease;
}

.faq-list details[open] p{
    max-height:250px;
    opacity:1;
    transform:translateY(0);
    margin-top:12px;
}
@media(max-width:780px){.inner-hero{padding:170px 8% 80px}.page-section{padding:78px 8%}.story-grid,.faq-review,.shop-layout{grid-template-columns:1fr;gap:38px}.story-grid img{height:360px}.values,.gallery-page,.shop-grid{grid-template-columns:1fr}.gallery-page figure:nth-child(2),.gallery-page figure:nth-child(5){margin-top:0}.gallery-page img{height:360px}.cart-panel{position:static}.login-wrap{padding:28px}.faq-review{margin-top:60px}.contact-details a{font-size:13px}}
/* ---------- Founder Section ---------- */

.founder-section{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
    margin:100px 0;
}

.founder-image{
    display:flex;
    justify-content:center;
    align-items:center;
}

.founder-image img{
    width:400px;              /* Adjust size here */
    height:490px;
    object-fit:cover;

    border-radius:50% / 40%;  /* Creates an elegant oval shape */

    border:3px solid rgba(214,183,125,.25);

    transition:.35s ease;
}

.founder-image img:hover{
    transform:scale(1.03);
}

.founder-content h2{
    font-size:clamp(48px,5vw,72px);
    margin-bottom:24px;
}

.founder-content p{
    font-size:16px;
    line-height:1.9;
    color:#bfb6aa;
    margin-bottom:18px;
}

.founder-content strong{
    color:#fff;
}
/* ---------- About Page Values (2 × 2) ---------- */

.values{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:40px 60px;
    margin-top:80px;
}

.values article{
    border-top:1px solid var(--line);   /* Keep only the top border */
    padding:22px 0;
    background:none;                    /* Remove background */
    transition:transform .35s ease;
}

.values article:hover{
    transform:translateY(-6px);         /* Keep only hover movement */
}

.values article b{
    color:var(--gold);
    font-size:10px;
}

.values article h3{
    margin:12px 0 8px;
}

.values article p{
    margin:0;
    line-height:1.7;
}

@media(max-width:780px){
    .values{
        grid-template-columns:1fr;
    }
}
/* Larger numbers in About page values */

.values article b{
    font-size: 15px !important;
    font-weight:700;
    color:var(--gold);
    display:block;
    margin-bottom:14px;
    letter-spacing:.08em;
}
/* About Page - Value Description */

.values article p{
    font-size:16px !important;
    line-height:1.9;
    color:#bfb6aa;
}
/* About Page - Move Our Story paragraph down */

.split .copy:last-child{
    margin-top:40px;
}
.category-toggle b{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#191715;
    font-size:16px;
    font-weight:700;
    margin:0;
    line-height:1;
    transform:translateY(1px);
}
.cart-item{

display:block;

background:#f8f3ec;

padding:24px;

border-radius:18px;

margin-bottom:22px;

}

.cart-item h3{

margin-bottom:18px;

font-size:30px;

}

.cart-fields{

display:grid;

gap:16px;

}

.cart-fields label{

display:flex;

flex-direction:column;

font-size:12px;

font-weight:700;

gap:8px;

}

.cart-fields input,
.cart-fields select,
.cart-fields textarea{

padding:12px;

border:1px solid #cbbda9;

border-radius:10px;

font:14px 'DM Sans';

background:white;

}

.cart-fields textarea{

min-height:110px;

resize:vertical;

}

.full{

grid-column:1/-1;

}

.cart-bottom{

margin-top:20px;

display:flex;

justify-content:space-between;

align-items:center;

}

.qty-box{

display:flex;

align-items:center;

gap:14px;

}

.qty-box button{

width:36px;

height:36px;

border:none;

border-radius:50%;

background:#111;

color:white;

font-size:22px;

cursor:pointer;

}

.remove-btn{

background:none;

border:none;

color:#b03b3b;

cursor:pointer;

font-weight:700;

}

.cart-header{

display:flex;

justify-content:space-between;

align-items:center;

}

.cart-header h3{

margin:0;

font-size:32px;

}

.cart-header p{

margin-top:8px;

font-size:14px;

}

.customize-btn{

background:#b79a70;

border:none;

padding:10px 18px;

cursor:pointer;

border-radius:10px;

font-weight:700;

}

.customization-panel{

max-height:0;

overflow:hidden;

transition:none;

}

.customization-panel.open{

max-height:2500px;

margin-top:28px;

}

.cart-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:18px;

}

.full{

grid-column:1/-1;

}

.cart-grid label{

display:flex;

flex-direction:column;

gap:8px;

font-size:13px;

font-weight:700;

}

.cart-grid input,

.cart-grid textarea,

.cart-grid select{

padding:12px;

border-radius:10px;

border:1px solid #c9c2b7;

font:14px 'DM Sans';

}

.cart-grid textarea{

min-height:110px;

resize:vertical;

}

.cart-footer{

display:flex;

justify-content:space-between;

align-items:center;

margin-top:28px;

}

.qty-box{

display:flex;

align-items:center;

gap:14px;

}

.qty-box button{

width:40px;

height:40px;

border:none;

border-radius:50%;

background:#191919;

color:white;

font-size:22px;

cursor:pointer;

}

.remove-item{

background:none;

border:none;

color:#b32626;

font-weight:700;

cursor:pointer;

font-size:15px;

}

@media(max-width:700px){

.cart-grid{

grid-template-columns:1fr;

}

.cart-header{

flex-direction:column;

align-items:flex-start;

gap:16px;

}

}
.cart-summary{

margin-top:30px;

padding:24px;

background:#f7f3ec;

border-radius:18px;

border:1px solid #d8c9ae;

display:flex;

flex-direction:column;

gap:18px;

}

.cart-summary h3{

font-size:28px;

margin:0;

color:#1c1c1c;

}

.summary-note{

font-weight:700;

font-size:16px;

margin:0;


}

.summary-note strong{

color:#b7904d;

font-size:22px;

margin-left:8px;

}

.cart-summary p{

line-height:1.7;

color:#555;

margin:0;

}

.cart-summary .checkout-button{

margin-top:10px;

}

.checkout-button{

margin-top:25px;

display:flex;

justify-content:center;

align-items:center;

height:58px;

font-size:14px;

font-weight:700;

letter-spacing:.15em;

border-radius:14px;

transition:.35s;

}

.checkout-button:hover{

transform:translateY(-3px);

box-shadow:0 12px 28px rgba(0,0,0,.15);

}

.cart-grid input:focus,

.cart-grid textarea:focus,

.cart-grid select:focus{

outline:none;

border-color:#b79a70;

box-shadow:0 0 0 4px rgba(183,154,112,.15);

}

.cart-grid input[type=file]{

padding:10px;

background:#fff;

cursor:pointer;

}

.qty-box button{

transition:.25s;

}

.qty-box button:hover{

transform:scale(1.08);

}

.remove-item{

transition:.25s;

}

.remove-item:hover{

color:#e63946;

}
.view-cart-text{

display:flex;

flex-direction:column;

align-items:center;

gap:4px;

}

.view-cart-text small{

font-size:12px;

font-weight:600;

letter-spacing:.15em;

text-transform:uppercase;

opacity:.75;

}
.sidebar-view-cart{
    display:block;
    width:100%;
    margin-top:20px;
    text-align:center;
}
.product-links{
    display:flex;
    flex-direction:column;
    gap:20px;
    align-items:flex-start;
    margin-top:20px;
}
.explore-btn{
    margin:0;
}

/* ==========================================
   ACCOUNT DASHBOARD
========================================== */

.account-dashboard{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:42px;

    max-width:1100px;

    margin:0 auto;

    margin-top:50px;

    align-items:stretch;

}

.account-card{

background:var(--panel);

border:1px solid rgba(216,179,106,.18);

border-radius:22px;

padding:42px 36px;

cursor:pointer;

transition:.25s;

min-height:170px;

}

.account-card:hover{

transform:translateY(-6px);

border-color:var(--gold);

box-shadow:0 18px 40px rgba(0,0,0,.28);

}

.account-card h3{

    display:flex;

    align-items:center;

    gap:16px;

    font-size:34px;

    margin-bottom:20px;

}

.account-card p{

color:var(--muted);

line-height:1.7;

font-size:18px;

line-height:1.8;

color:#bfb7aa;

}

@media(max-width:800px){

.account-dashboard{

grid-template-columns:1fr;

}

}

/* ==========================================
PROFILE
========================================== */

.profile-card{

max-width:900px;

margin:25px auto 0;

padding:42px;

border-radius:22px;

background:var(--panel);

border:1px solid rgba(216,179,106,.18);

}

.profile-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:24px;

margin-bottom:30px;

}

.profile-grid .full{

grid-column:1/3;

}

.profile-grid label{

display:flex;

flex-direction:column;

gap:10px;

}

.profile-grid input{

padding:15px 18px;

background:#141414;

border:1px solid rgba(255,255,255,.08);

border-radius:14px;

color:white;

font-size:15px;

}

.profile-grid input:focus{

border-color:var(--gold);

outline:none;

}

@media(max-width:700px){

.profile-grid{

grid-template-columns:1fr;

}

.profile-grid .full{

grid-column:auto;

}

}

.profile-actions{

    display:flex;

    gap:18px;

    margin-top:30px;

}

.btn-secondary{

    padding:15px 28px;

    border-radius:14px;

    border:1px solid rgba(216,179,106,.25);

    background:transparent;

    color:var(--gold);

    cursor:pointer;

    transition:.25s;

}

.btn-secondary:hover{

    background:rgba(216,179,106,.08);

}

@media(max-width:700px){

.profile-actions{

flex-direction:column;

}

}

.btn-primary{

display:inline-flex;

align-items:center;

justify-content:center;

padding:16px 34px;

background:var(--gold);

color:#111;

border:none;

border-radius:14px;

font-weight:700;

cursor:pointer;

transition:.25s;

}

.btn-primary:hover{

transform:translateY(-3px);

}

/* ==========================================
   ACCOUNT PAGE
========================================== */

.account-page main{

    padding-top:120px;

}

.account-page .inner-hero{

    padding:55px 11% 40px;

    min-height:auto;

}

.account-page .inner-hero h1{

    margin:10px 0 18px;

    font-size:clamp(52px,6vw,92px);

}

.account-page .page-section{

    padding-top:30px;

}

.account-section{

padding-top:30px !important;

}

/* ==========================================
BACK BUTTON
========================================== */

.account-back{

max-width:1100px;

margin:120px auto 0;

padding:0 20px;

}

.back-link{

display:inline-flex;

align-items:center;

gap:8px;

color:var(--gold);

font-weight:600;

text-decoration:none;

transition:.25s;

}

.back-link:hover{

transform:translateX(-4px);

opacity:.9;

}

.account-logout{

display:flex;

justify-content:center;

margin-top:40px;

}

/* ==========================================
ACCOUNT HERO
========================================== */

.account-hero-top{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:22px;

}

.logout-btn{

padding:12px 24px;

background:var(--gold);

color:#111;

border:none;

border-radius:12px;

font-weight:700;

cursor:pointer;

transition:.25s;

}

.logout-btn:hover{

transform:translateY(-2px);

box-shadow:0 10px 25px rgba(216,179,106,.22);

}

@media(max-width:700px){

.account-hero-top{

flex-direction:column;

align-items:flex-start;

gap:18px;

}

}

.hero-top-row{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:22px;

}

.back-link{

display:inline-flex;

align-items:center;

gap:8px;

padding:10px 18px;

border:1px solid rgba(216,179,106,.25);

border-radius:999px;

color:var(--gold);

text-decoration:none;

font-weight:600;

transition:.3s;

}

.back-link:hover{

background:rgba(216,179,106,.08);

transform:translateX(-4px);

box-shadow:0 8px 18px rgba(216,179,106,.12);

}

@media(max-width:768px){

.hero-top-row{

flex-direction:column;

align-items:flex-start;

gap:18px;

}

}

/* ==========================================
EMPTY ORDERS
========================================== */

.empty-orders{

max-width:1100px;

margin:25px auto 0;

padding:70px 40px;

background:var(--panel);

border-radius:22px;

border:1px solid rgba(216,179,106,.18);

text-align:center;

}

.empty-icon{

font-size:70px;

margin-bottom:18px;

}

.empty-orders h2{

font-size:34px;

margin-bottom:12px;

font-family:Italiana;

font-weight:400;

}

.empty-orders p{

color:var(--muted);

margin-bottom:35px;

}

.shop-btn{

display:inline-flex;

padding:14px 30px;

background:var(--gold);

color:#111;

text-decoration:none;

border-radius:12px;

font-weight:700;

transition:.25s;

}

.shop-btn:hover{

transform:translateY(-3px);

}

.customer-order-card{

max-width:1100px;

margin:25px auto;

padding:28px;

background:var(--panel);

border:1px solid rgba(216,179,106,.18);

border-radius:22px;

}

.customer-order-top{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:25px;

}

.customer-order-bottom{

display:flex;

justify-content:space-between;

align-items:center;

}

.customer-order-card h3{

font-size:26px;

margin-bottom:5px;

}

.customer-order-card p{

color:var(--muted);

}

.status{

padding:8px 18px;

border-radius:999px;

font-weight:700;

font-size:14px;

}

.status.pending{

background:#4d3c0d;

color:#ffd24d;

}

.status.confirmed{

background:#153a58;

color:#7cc8ff;

}

.status.processing{

background:#39215f;

color:#b58cff;

}

.status.shipped{

background:#144542;

color:#72f0df;

}

.status.delivered{

background:#214927;

color:#8df08b;

}

.status.cancelled{

background:#5a1c1c;

color:#ff8d8d;

}

.cart-panel > .kicker{

    color:#5c4a33;

    font-weight:800;

    font-size:13px;

    letter-spacing:.22em;

    text-transform:uppercase;

}

/* =====================================================
   CHECKOUT
===================================================== */

.checkout-section{

padding:15px 0 90px;

}

.checkout-layout{

display:grid;

grid-template-columns:1.6fr .9fr;

gap:40px;

align-items:start;

}

.checkout-left{

display:flex;

flex-direction:column;

gap:34px;

}

.checkout-right{

position:sticky;

top:120px;

}

.checkout-card{

background:linear-gradient(
180deg,
#191816,
#161514
);

border:1px solid rgba(216,179,106,.14);

border-radius:28px;

padding:36px;

box-shadow:
0 12px 40px rgba(0,0,0,.35),
0 0 0 1px rgba(255,255,255,.02);

transition:
transform .35s ease,
border-color .35s ease,
box-shadow .35s ease;

}

.checkout-card:hover{

transform:translateY(-6px);

border-color:rgba(216,179,106,.45);

box-shadow:
0 25px 60px rgba(0,0,0,.45),
0 0 30px rgba(183,154,112,.08);

}

.checkout-card .kicker{

color:var(--gold);

font-size:13px;

font-weight:700;

letter-spacing:.25em;

margin-bottom:26px;


}

.form-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:28px;

}

.form-grid .full{

grid-column:1 / -1;

}

.checkout-card label{

display:flex;

flex-direction:column;

gap:9px;

font-size:12px;

letter-spacing:.18em;

text-transform:uppercase;

color:#cfb07c;

font-weight:700;

margin-bottom:4px;

}

.checkout-card input,
.checkout-card textarea,
.checkout-card select{

background:#22211f;

border:1px solid rgba(255,255,255,.08);

padding:17px 18px;

border-radius:16px;

color:white;

font-size:15px;

transition:

border-color .3s,

background .3s,

transform .3s,

box-shadow .3s;

}

.checkout-card textarea{

width:100%;

min-height:180px;

padding:18px;

border-radius:18px;

resize:vertical;

font-size:15px;

background:#232220;

color:#fff;

}

.checkout-card input:hover,
.checkout-card textarea:hover,
.checkout-card select:hover{

background:#292826;

border-color:rgba(216,179,106,.35);

}

.checkout-card input:focus,
.checkout-card textarea:focus,
.checkout-card select:focus{

background:#2a2927;

border-color:#d5b27d;

box-shadow:

0 0 0 4px rgba(213,178,125,.18),

0 8px 24px rgba(0,0,0,.22);

transform:translateY(-2px);

outline:none;

}

.checkout-summary{

background:

linear-gradient(
180deg,
#f6efe4,
#ece3d6
);

color:#1f1c19;

border-radius:30px;

padding:34px;

position:sticky;

top:120px;

box-shadow:0 20px 60px rgba(0,0,0,.22);

border:

1px solid rgba(183,154,112,.25);

transition:.35s;
}

.checkout-summary:hover{

transform:translateY(-5px);

}

.checkout-summary h2{

font-size:38px;

margin-bottom:25px;

}

.checkout-summary hr{

border:none;

border-top:1px solid rgba(0,0,0,.08);

margin:24px 0;

}

.summary-row{

display:flex;

justify-content:space-between;

align-items:center;

margin:16px 0;

font-size:15px;

}

.summary-row b{

font-size:17px;

}

.summary-price{

padding:18px;

border-radius:18px;

background:#f7f2ea;

border:1px solid rgba(0,0,0,.06);

text-align:center;

font-weight:700;

margin:24px 0;

}

.payment-option{

display:flex;

align-items:center;

gap:12px;

padding:18px;

border-radius:16px;

background:white;

cursor:pointer;

transition:.3s;


}

.payment-option:hover{

border-color:#b79a70;

background:#fbf7f1;

transform:translateX(5px);

}

.payment-option:has(input:checked){

border:2px solid #b79a70;

background:#fff8ef;

}

.payment-methods{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

margin:20px 0;

}

.review-checkbox{

display:flex;

align-items:center;

gap:14px;

margin:24px 0;

cursor:pointer;

user-select:none;

}

.review-checkbox input{

display:none;

}

.review-checkbox .checkbox-text{

font-size:15px;

font-weight:500;

color:#3b352e;

}

.review-checkbox .checkmark{

width:20px;

height:20px;

border:1px solid rgba(0,0,0,.18);

background:#fff;

border-radius:4px;

position:relative;

transition:.25s;

flex-shrink:0;

}

.review-checkbox input:checked + .checkmark{

background:#d2b07a;

border-color:#d2b07a;

}

.review-checkbox input:checked + .checkmark::after{

content:"✓";

position:absolute;

left:50%;

top:50%;

transform:translate(-50%,-52%);

font-size:13px;

font-weight:700;

color:#111;

}


.checkout-button{

background:

linear-gradient(
135deg,
#c8a56e,
#e5c88e
);

box-shadow:

0 14px 30px rgba(183,154,112,.25);

}

.checkout-button:hover{

transform:translateY(-3px);

box-shadow:0 14px 30px rgba(183,154,112,.28);

}

.saved-address{

padding:18px;

border:1px solid rgba(216,179,106,.16);

border-radius:18px;

margin-bottom:18px;

cursor:pointer;

transition:.25s;

}

.saved-address:hover{

border-color:var(--gold);

}

.saved-address.active{

border:2px solid var(--gold);

background:rgba(216,179,106,.08);

}

.gold-outline{

margin-top:10px;

width:100%;

height:54px;

border-radius:18px;

border:1px solid var(--gold);

background:none;

color:var(--gold);

font-weight:700;

cursor:pointer;

transition:.3s;

}

.gold-outline:hover{

background:rgba(216,179,106,.08);

}

@media(max-width:1100px){

.checkout-layout{

grid-template-columns:1fr;

}

.checkout-right{

position:relative;

top:0;

}

.checkout-summary{

position:relative;

top:0;

}

}

@media(max-width:700px){

.form-grid{

grid-template-columns:1fr;

}

}

.step-pill{

display:inline-flex;

align-items:center;

justify-content:center;

padding:12px 28px;

border:1px solid rgba(216,179,106,.28);

border-radius:999px;

font-size:13px;

font-weight:700;

letter-spacing:.22em;

text-transform:uppercase;

color:var(--gold);

margin-bottom:28px;

}

.review-hero{

text-align:center;

padding:

140px 0 25px;

}

.review-hero p{

max-width:760px;

margin:30px auto 0;

}

.review-hero h1{

margin:0;

}

.checkout-timeline{

max-width:900px;

margin:20px auto 35px;

display:flex;

align-items:center;

justify-content:center;

}

.timeline-item{

display:flex;

flex-direction:column;

align-items:center;

min-width:95px;

}

.timeline-circle{

width:58px;

height:58px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-weight:700;

font-size:20px;

transition:.35s;

}

.timeline-item span{

margin-top:16px;

font-size:13px;

letter-spacing:.18em;

text-transform:uppercase;

}

.timeline-item.completed .timeline-circle{

background:var(--gold);

color:#111;

}

.timeline-item.active .timeline-circle{

border:2px solid var(--gold);

color:var(--gold);

box-shadow:0 0 30px rgba(216,179,106,.25);

}

.timeline-item:not(.completed):not(.active) .timeline-circle{

border:2px solid rgba(255,255,255,.12);

color:#888;

}

.timeline-line{

height:2px;

flex:1;

background:rgba(255,255,255,.08);

margin:0 18px;

margin-top:-28px;

}

.timeline-line.active{

background:var(--gold);

}

.review-progress{

    margin-top:-10px;

}

/* ======================================================
   CHECKOUT SUMMARY PRODUCTS
====================================================== */

.checkout-product{

display:flex;

justify-content:space-between;

align-items:flex-start;

padding:18px 0;

border-bottom:1px solid rgba(0,0,0,.08);

}

.checkout-product:last-child{

border-bottom:none;

}

.checkout-product h4{

margin:0;

font-size:17px;

font-weight:600;

color:#222;

}

.checkout-product p{

margin:6px 0 0;

font-size:13px;

color:#666;

}

.checkout-product strong{

font-size:16px;

font-weight:700;

}

/*=====================================================

PAYMENT DETAILS

=====================================================*/

.payment-card{

margin-top:22px;

padding:24px;

background:#faf6ef;

border:1px solid rgba(0,0,0,.08);

border-radius:18px;

animation:paymentFade .25s ease;

}

.payment-card h4{

margin:0 0 20px;

font-size:22px;

color:#222;

}

.payment-card img{

display:block;

width:200px;

margin:18px auto;

border-radius:12px;

}

.payment-row{

display:flex;

justify-content:space-between;

padding:12px 0;

border-bottom:1px solid rgba(0,0,0,.08);

}

.payment-row:last-child{

border-bottom:none;

}

.payment-row span{

font-size:14px;

color:#666;

}

.payment-row strong{

font-weight:700;

color:#222;

}

@keyframes paymentFade{

from{

opacity:0;

transform:translateY(10px);

}

to{

opacity:1;

transform:none;

}

}

/*========================

ADDRESS CARD

========================*/

.address-card{

background:#171412;

border:1px solid rgba(216,179,106,.18);

border-radius:22px;

padding:26px;

margin-bottom:18px;

cursor:pointer;

transition:.35s;

}

.address-card:hover{

transform:translateY(-3px);

border-color:rgba(216,179,106,.45);

box-shadow:0 16px 40px rgba(0,0,0,.22);

}

.address-card.selected{

border:2px solid var(--gold);

box-shadow:0 0 0 1px rgba(216,179,106,.25);

}

.address-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:18px;

}

.address-label{

font-size:12px;

letter-spacing:.18em;

font-weight:700;

color:var(--gold);

text-transform:uppercase;

}

.default-badge{

background:rgba(216,179,106,.15);

color:var(--gold);

padding:6px 14px;

border-radius:50px;

font-size:11px;

letter-spacing:.14em;

font-weight:700;

}

.address-name{

font-size:22px;

font-weight:700;

margin-bottom:6px;

color:#fff;

}

.address-phone{

font-size:15px;

color:#d0c6bb;

margin-bottom:18px;

}

.address-line{

font-size:15px;

line-height:1.7;

color:#ece3d8;

}

.address-line.light{

color:#ab9d90;

margin-top:8px;

}

.address-buttons{

display:flex;

gap:14px;

margin-top:26px;

}

.address-buttons button{

flex:1;

height:46px;

border-radius:12px;

font-size:14px;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.address-edit{

background:transparent;

border:1px solid rgba(216,179,106,.35);

color:var(--gold);

}

.address-edit:hover{

background:rgba(216,179,106,.08);

}

.address-delete{

background:#561a1a;

border:none;

color:#fff;

}

.address-delete:hover{

background:#7c2323;

}

.empty-address{

padding:24px;

text-align:center;

border:1px dashed rgba(216,179,106,.25);

border-radius:18px;

color:#888;

}

/*==================================

ADDRESS MODAL

==================================*/

.modal-overlay{

position:fixed;

inset:0;

background:rgba(0,0,0,.55);

backdrop-filter:blur(8px);

display:none;

justify-content:center;

align-items:center;

z-index:9999;

}

.modal-overlay.active{

display:flex;

}

.modal{

width:min(620px,92vw);

background:#161311;

border:1px solid rgba(216,179,106,.25);

border-radius:26px;

padding:38px;

box-shadow:0 30px 80px rgba(0,0,0,.45);

}

.modal h2{

margin:0 0 28px;

font-size:38px;

text-align:center;

color:var(--ivory);

}

.address-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:18px;

}

.address-grid input{

height:58px;

padding:0 18px;

background:#1f1b19;

border:1px solid rgba(216,179,106,.12);

border-radius:14px;

color:#fff;

font-size:15px;

}

.address-grid input:nth-child(3),

.address-grid input:nth-child(4){

grid-column:1/-1;

}

/* ===========================
   ADDRESS MODAL BUTTONS
=========================== */

.modal-actions{

display:flex;

gap:18px;

margin-top:32px;

}

.modal-actions button{

flex:1;

height:58px;

border-radius:14px;

font-size:15px;

font-weight:600;

letter-spacing:.08em;

cursor:pointer;

transition:.3s ease;

}

/* Cancel */

.outline-btn{

background:transparent;

color:var(--gold);

border:1px solid rgba(216,179,106,.45);

}

.outline-btn:hover{

background:rgba(216,179,106,.08);

border-color:var(--gold);

transform:translateY(-2px);

}

/* Save */

.gold-btn{

background:linear-gradient(135deg,#d8b37a,#efd7a8);

color:#1d1713;

border:none;

box-shadow:0 10px 25px rgba(216,179,106,.22);

}

.gold-btn:hover{

transform:translateY(-2px);

box-shadow:0 18px 35px rgba(216,179,106,.35);

}

.gold-btn:active,
.outline-btn:active{

transform:scale(.98);

}

.danger-btn{

background:linear-gradient(
135deg,
#8b1f1f,
#c63c3c
);

color:#fff;

}

.danger-btn:hover{

filter:brightness(1.08);

}

.quote-submit{

    width:100%;
    height:64px;

    background:#d8b77d !important;
    color:#151311 !important;

    border:none !important;
    outline:none;

    border-radius:18px;

    font-size:16px;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;

    cursor:pointer;

    transition:
        transform .35s ease,
        box-shadow .35s ease;

    box-shadow:
        0 12px 28px rgba(214,183,125,.30);

}

.quote-submit:hover{

    transform:translateY(-4px);

    box-shadow:
        0 18px 42px rgba(214,183,125,.45);

}

.quote-submit:active{

    transform:translateY(-1px) scale(.99);

    box-shadow:0 8px 20px rgba(214,183,125,.28);

}

.quote-form label{

    font-size:12px;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;

    color:#f3eee5;

}

.quote-form input,
.quote-form textarea{

    font-size:16px !important;

    padding:16px 18px !important;

}

/*==========================
MY ORDERS
==========================*/

.customer-order-card{

    background:#181513;

    border:1px solid rgba(214,183,125,.22);

    border-radius:28px;

    padding:34px;

    margin-bottom:34px;

    transition:.35s;

}

.customer-order-card:hover{

    transform:translateY(-6px);

    border-color:#d6b77d;

}

.customer-order-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    margin-bottom:32px;

}

.customer-order-header h2{

    font-size:30px;

    margin-bottom:10px;

}

.customer-order-header span{

    color:#bfb7aa;

}

.customer-order-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:28px;

}

.customer-order-grid label{

    display:block;

    color:#d6b77d;

    font-size:11px;

    letter-spacing:.18em;

    text-transform:uppercase;

    margin-bottom:8px;

}

.customer-order-grid strong{

    font-size:22px;

    color:white;

}

.view-order-btn{

    margin-top:34px;

    background:#d6b77d;

    color:#181513;

    border:none;

    border-radius:14px;

    padding:14px 28px;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

.view-order-btn:hover{

    transform:translateY(-3px);

}

/* ======================================================
   CHECKOUT — ADD NEW ADDRESS BUTTON
====================================================== */

.checkout-add-address{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:max-content;

    margin-top:22px;

    padding:14px 24px;

    background:#d8b36a;

    color:#14110f !important;

    border:none;

    border-radius:999px;

    text-decoration:none !important;

    font-family:"DM Sans",sans-serif;

    font-size:12px;

    font-weight:700;

    letter-spacing:.12em;

    text-transform:uppercase;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease;

}

.checkout-add-address:hover{

    background:#edd3a3;

    color:#14110f !important;

    transform:translateY(-3px);

    box-shadow:
        0 12px 30px rgba(216,179,106,.22);

}

/* =====================================================
   ENQUIRY / START YOUR PROJECT FORM
===================================================== */

.quote-form {
    max-width: 860px;
    width: 100%;
    margin: 28px auto 0;

    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 24px 22px;

    padding: 42px 32px 32px;

    border: 1px solid rgba(211, 179, 124, 0.45);
    background: rgba(10, 10, 10, 0.55);

    text-align: left;

    box-sizing: border-box;
}


/* Heading */

.quote-form .kicker {
    grid-column: 1 / -1;

    text-align: center;

    margin: 0 0 2px;

    font-size: 15px;
    font-weight: 700;
    letter-spacing: .28em;
    color: #d8b77d;
}


/* Description */

.quote-form .quote-summary {
    grid-column: 1 / -1;

    text-align: center;

    max-width: 760px;
    margin: 0 auto 22px;

    font-size: 17px;
    line-height: 1.8;

    color: #ddd5ca;
}


/* Labels */

.quote-form label {
    display: flex;
    flex-direction: column;

    width: 100%;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;

    color: #d8b77d !important;
}


/* Inputs */

.quote-form input,
.quote-form textarea {

    display: block;

    width: 100%;
    box-sizing: border-box;

    margin-top: 9px;

    border: 1px solid rgba(214, 183, 125, .40);

    background: #f8f7f5;

    color: #171513;

    padding: 15px 16px;

    border-radius: 0;

    outline: none;

    font: 500 14px 'DM Sans', sans-serif;

    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}


/* =====================================================
   REQUIREMENT TEXTAREA — FULL WIDTH
   ===================================================== */

.quote-form label:has(textarea) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

.quote-form label:has(textarea) textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;

    height: 120px !important;
    min-height: 120px !important;
    max-height: 120px !important;

    box-sizing: border-box !important;

    resize: none !important;
}


/* Focus */

.quote-form input:focus,
.quote-form textarea:focus {

    border-color: #d8b77d;

    box-shadow:
        0 0 0 2px rgba(216, 183, 125, .12);

    background: #ffffff;
}


/* Email + Mobile should stay in 2 columns */

.quote-form label.full {
    grid-column: auto;
}


/* Requirement textarea should be full width */

.quote-form label:has(textarea) {
    grid-column: 1 / -1;
    width: 100%;
}


/* Submit button */

.quote-form .quote-submit {

    grid-column: 1 / -1;

    width: 100%;
    height: 64px;

    margin-top: 4px;

    background: linear-gradient(
        135deg,
        #d8b77d,
        #e8cca0
    ) !important;

    color: #151311 !important;

    border: none !important;

    border-radius: 18px;

    font-size: 14px;
    font-weight: 700;

    letter-spacing: .22em;
    text-transform: uppercase;

    cursor: pointer;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.quote-form .quote-submit:hover {

    transform: translateY(-3px);

    box-shadow:
        0 14px 35px rgba(214, 183, 125, .32);
}


.quote-form .quote-submit:active {

    transform: translateY(-1px) scale(.99);
}


/* Success / error message */

.quote-form .quote-note {

    grid-column: 1 / -1;

    width: 100%;

    margin: 0;

    text-align: center;

    font-size: 14px;
    line-height: 1.6;

    font-weight: 600;

    color: #d7b87d;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 780px) {

    .quote-form {

        grid-template-columns: 1fr;

        gap: 20px;

        padding: 32px 20px 24px;

        margin-top: 24px;
    }


    .quote-form .kicker,
    .quote-form .quote-summary,
    .quote-form label.full,
    .quote-form label:has(textarea),
    .quote-form .quote-submit,
    .quote-form .quote-note {

        grid-column: 1 / -1;
    }


    .quote-form .quote-summary {

        font-size: 15px;
        line-height: 1.7;
    }


    .quote-form input,
    .quote-form textarea {

        font-size: 15px;
    }


    .quote-form .quote-submit {

        height: 58px;

        font-size: 11px;

        letter-spacing: .16em;
    }
}

/* =========================================================
   VRIDHI CREATIONS — PREMIUM ENQUIRY CART
========================================================= */



/* ---------- PRODUCT CARD ---------- */

.cart-card {
    position: relative;
    background:
        linear-gradient(
            145deg,
            #ddc9a5,
            #e4e4dc
        );

    border: 1px solid rgba(211, 176, 111, 0.28);

    border-radius: 22px;

    padding: 26px;

    margin-top: 22px;

    box-shadow:
        0 18px 50px rgba(0,0,0,.28);

    overflow: hidden;

    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;
}


.cart-card:hover {

    border-color:
        rgba(211,176,111,.55);

    box-shadow:
        0 22px 60px rgba(0,0,0,.38);

}


/* ---------- HEADER ---------- */

.cart-header {

    display: grid;

    grid-template-columns:
        1fr auto;

    gap: 20px;

    align-items: start;

    padding-bottom: 22px;

    border-bottom:
        1px solid rgba(255,255,255,.08);
}


.cart-header h3 {

    margin: 0 0 8px;

    color: #352402;

    font-size: 20px;

    font-weight: 600;

    letter-spacing: .02em;

}


.cart-price-line {

    margin: 0;

    color: #f5f1e9;

    font-size: 17px;

    font-weight: 600;

}


.cart-header p:not(.cart-price-line) {

    margin-top: 8px;

    color: #9d9992;

    font-size: 14px;

}


/* ---------- CUSTOMIZE BUTTON ---------- */

.customize-btn {

    border: 1px solid
        rgba(211,176,111,.45);

    background:
        rgba(211,176,111,.10);

    color: #473103;

    padding: 10px 18px;

    border-radius: 999px;

    cursor: pointer;

    font-weight: 600;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}


.customize-btn:hover {

    background: #412b02;

    color: #171614;

    border-color: #2b1c01;

}


/* ---------- CUSTOMIZATION PANEL ---------- */

.customization-panel {

    display: none;

    margin-top: 24px;

    padding: 25px;

    background:
        rgba(255,255,255,.035);

    border:
        1px solid rgba(211,176,111,.18);

    border-radius: 18px;

}


.customization-panel.open {

    display: block;

    animation:
        cartPanelOpen .22s ease;

}


@keyframes cartPanelOpen {

    from {

        opacity: 0;

        transform:
            translateY(-8px);

    }

    to {

        opacity: 1;

        transform:
            translateY(0);

    }

}


/* ---------- GRID ---------- */

.cart-grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

}


/* ---------- FIELD ---------- */

.cart-field {

    display: flex;

    flex-direction: column;

    gap: 8px;

}


.cart-field.full {

    grid-column: 1 / -1;

}


.field-label {

    color: #3b2805;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .10em;

    text-transform: uppercase;

}


.cart-field input,
.cart-field select,
.cart-field textarea {

    width: 100%;

    box-sizing: border-box;

    border:
        1px solid #c8c0b5;

    background: #f7f5f1;

    color: #181716;

    border-radius: 12px;

    padding: 13px 14px;

    font-size: 14px;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


.cart-field textarea {

    min-height: 82px;

    resize: vertical;

}


.cart-field input:focus,
.cart-field select:focus,
.cart-field textarea:focus {

    border-color: #493002;

    box-shadow:
        0 0 0 3px
        rgba(214,180,116,.15);

}


.field-help {

    color: #8f8b84;

    font-size: 11px;

    line-height: 1.5;

}


/* ---------- PRICING BREAKDOWN ---------- */

.pricing-breakdown {

    margin-top: 24px;

    padding-top: 20px;

    border-top:
        1px solid rgba(255,255,255,.08);

}


.pricing-row {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 8px 0;

    color: #3f2803;

    font-size: 14px;

}


.pricing-row strong {

    color: #3f2d0a;

    font-weight: 600;

}


.pricing-total {

    margin-top: 8px;

    padding-top: 14px;

    border-top:
        1px solid rgba(211,176,111,.20);

}


.pricing-total span {

    color: #493002;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .08em;

}


.pricing-total strong {

    color: #3f2900;

    font-size: 20px;

}


/* ---------- LIVE PRICE ---------- */

.live-unit-price,
.live-customisation-price,
.live-product-total {

    transition:
        color .2s ease,
        transform .2s ease;
}


/* ---------- FOOTER ---------- */

.cart-footer {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-top: 22px;

    padding-top: 20px;

    border-top:
        1px solid rgba(255,255,255,.07);

}


/* ---------- QUANTITY ---------- */


/* ---------- REMOVE ---------- */

.remove-item {

    border: 0;

    background: transparent;

    color: #d30707;

    cursor: pointer;

    font-size: 13px;

    transition: color .2s ease;

}


.remove-item:hover {

    color: #d46d61;

}


/* ---------- MOBILE ---------- */

@media (max-width: 700px) {

    .cart-items {

        width: 94%;

    }


    .cart-card {

        padding: 18px;

        border-radius: 17px;

    }


    .cart-header {

        grid-template-columns: 1fr;

    }


    .cart-grid {

        grid-template-columns: 1fr;

    }


    .cart-field.full {

        grid-column: auto;

    }


    .customization-panel {

        padding: 17px;

    }


    .cart-footer {

        flex-wrap: wrap;

        gap: 15px;

    }

}


/* =========================================================
   CART CUSTOMISATION — BETTER SPACING
========================================================= */

.customization-panel .cart-grid {
    column-gap: 30px !important;
    row-gap: 28px !important;
}

.customization-panel .cart-field {
    gap: 10px !important;
}

.customization-panel .field-label {
    display: block;
    margin-bottom: 2px;
    color: #9a7132 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em;
}

.customization-panel .field-help {
    margin-top: 2px;
    color: #666 !important;
    font-size: 11px;
    line-height: 1.5;
}

/* =========================================================
   PREMIUM DARK BROWN CART TEXT
========================================================= */

.cart-card {
    color: #3b2618 !important;
}

/* Product name */
.cart-card h3 {
    color: #4a2f1d !important;
}

/* Product price */
.cart-card .cart-price-line {
    color: #3b2618 !important;
}

/* Quantity and general text */
.cart-card p {
    color: #4f3929 !important;
}

/* Customisation headings */
.cart-card .field-label {
    color: #5a3924 !important;
}

/* Help / secondary text */
.cart-card .field-help {
    color: #6b5748 !important;
}

/* Pricing breakdown */
.cart-card .pricing-row {
    color: #594334 !important;
}

.cart-card .pricing-row strong {
    color: #3b2618 !important;
}

/* Product total */
.cart-card .pricing-total span {
    color: #5a3924 !important;
}

.cart-card .pricing-total strong {
    color: #4a2f1d !important;
}

/* Customisation button */
.cart-card .customize-btn {
    color: #5a3924 !important;
    border-color: #a9855a !important;
    background: #fff !important;
}

.cart-card .customize-btn:hover {
    background: #f5ede2 !important;
    color: #3b2618 !important;
}

/* Quantity */


/* Remove */
.cart-card .remove-item {
    color: #5a4638 !important;
}

.cart-card .remove-item:hover {
    color: #7b3f2a !important;
}

/* =========================================================
   CHECKOUT — CUSTOMIZATION DETAILS
========================================================= */

.checkout-customisation {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #ddd1c1;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.checkout-customisation-detail {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    color: #6a5542;
    font-size: 12px;
    line-height: 1.5;
}

.checkout-customisation-detail span {
    color: #755536;
    font-weight: 600;
}

.checkout-customisation-detail strong {
    color: #3b2618;
    font-weight: 700;
    text-align: right;
}

.checkout-customisation-total {
    margin-top: 7px;
    padding-top: 8px;
    border-top: 1px dashed #d8c7af;
    color: #6a4528 !important;
    font-weight: 700;
}

/* =========================================================
   CART REMOVE — RED
========================================================= */

.cart-card .remove-item {
    color: #c62828 !important;
    background: transparent !important;
    border: none !important;
    font-weight: 700 !important;
    cursor: pointer;
}

.cart-card .remove-item:hover {
    color: #a71919 !important;
}

/* =========================================================
   CUSTOM COLOUR — FIXED SIZE
========================================================= */

.cart-card .pricing-custom-colour {
    resize: none !important;
    min-height: 82px !important;
    max-height: 82px !important;
    height: 82px !important;
}

/* =========================================================
   CART CUSTOMIZATION — PREMIUM SPACING
========================================================= */

.cart-card .customization-panel .cart-grid {
    column-gap: 38px !important;
    row-gap: 34px !important;
}

.cart-card .customization-panel .cart-grid > label {
    display: flex !important;
    flex-direction: column !important;
    gap: 11px !important;
}

.cart-card .customization-panel .field-label {
    display: block !important;
    margin: 0 !important;

    color: #5a3924 !important;

    font-size: 13px !important;
    line-height: 1.3 !important;

    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.cart-card .customization-panel .field-help {
    margin-top: -4px !important;
    line-height: 1.5 !important;
}

/* =========================================================
   CUSTOMIZATION PANEL — FINAL SPACING
========================================================= */

.cart-card .customization-panel {
    width: 100%;
}

.cart-card .customization-panel .cart-grid {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    column-gap: 48px !important;
    row-gap: 42px !important;
}


/* Every customization field */
.cart-card .customization-panel .cart-grid > label {
    display: flex !important;
    flex-direction: column !important;

    gap: 12px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Field heading */
.cart-card .customization-panel .field-label {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1.3 !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    letter-spacing: .08em !important;
}


/* Inputs */
.cart-card .customization-panel .cart-grid > label > input,
.cart-card .customization-panel .cart-grid > label > select,
.cart-card .customization-panel .cart-grid > label > textarea {
    width: 100% !important;
    box-sizing: border-box !important;

    margin: 0 !important;
}


/* Help text */
.cart-card .customization-panel .field-help {
    margin: -3px 0 0 !important;
}


/* Mobile */
@media (max-width: 700px) {

    .cart-card .customization-panel .cart-grid {
        grid-template-columns: 1fr !important;
        row-gap: 30px !important;
    }

}

/* =========================================================
   VRIDHI CREATIONS — FINAL CART REDESIGN
========================================================= */

/* ---------- CART CONTAINER ---------- */

.cart-panel {
    position: sticky !important;
    top: 28px !important;

    background: #f4eee5 !important;
    color: #2f2118 !important;

    padding: 34px !important;

    border: 1px solid #d8c7ad !important;
    border-top: 4px solid #9b774b !important;
    border-radius: 20px !important;

    box-shadow:
        0 20px 55px rgba(37, 25, 15, .14) !important;
}

.cart-panel > .kicker {
    color: #8c693e !important;
    margin-bottom: 10px !important;
}

.cart-panel h2 {
    margin: 0 !important;

    color: #35251a !important;

    font-size: clamp(34px, 4vw, 48px) !important;
    line-height: 1.05 !important;

    letter-spacing: -.03em !important;
}


/* ---------- SPACE AFTER DIVIDER ---------- */

.cart-panel > h2 + .cart-items {
    margin-top: 30px !important;
}


/* ---------- CART ITEMS ---------- */

.cart-items {
    width: 100% !important;

    border-top: 0 !important;

    display: flex !important;
    flex-direction: column !important;

    gap: 22px !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.cart-card {
    position: relative !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background: #fffdf9 !important;

    color: #33251b !important;

    border: 1px solid #ddcfbd !important;
    border-radius: 18px !important;

    box-shadow:
        0 8px 28px rgba(49, 34, 22, .08) !important;

    transition:
        box-shadow .25s ease,
        border-color .25s ease !important;
}

.cart-card:hover {
    transform: none !important;

    border-color: #c4a477 !important;

    box-shadow:
        0 14px 36px rgba(49, 34, 22, .13) !important;
}


/* =========================================================
   PRODUCT HEADER
========================================================= */

.cart-header {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr) auto !important;

    gap: 24px !important;

    align-items: center !important;

    padding: 24px 26px !important;

    background:
        linear-gradient(
            135deg,
            #fffdf9,
            #f8f1e7
        ) !important;

    border-bottom:
        1px solid #e4d9ca !important;
}


.cart-header h3 {
    margin: 0 0 7px !important;

    color: #3c291b !important;

    font-size: 21px !important;
    line-height: 1.25 !important;

    font-weight: 700 !important;
}


.cart-card .cart-price-line {
    margin: 0 !important;

    color: #8a6639 !important;

    font-size: 18px !important;

    font-weight: 800 !important;
}


.cart-card .cart-header p:not(.cart-price-line) {
    margin: 6px 0 0 !important;

    color: #786b5d !important;

    font-size: 12px !important;

    font-weight: 600 !important;
}


/* =========================================================
   CUSTOMIZE BUTTON
========================================================= */

.cart-card .customize-btn {
    min-width: 126px !important;

    padding: 11px 17px !important;

    border: 1px solid #b79769 !important;
    border-radius: 10px !important;

    background: #3e2a1d !important;

    color: #f7efe4 !important;

    font-size: 10px !important;
    font-weight: 800 !important;

    letter-spacing: .12em !important;
    text-transform: uppercase !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease !important;
}

.cart-card .customize-btn:hover {
    background: #60432b !important;

    color: #fffaf2 !important;

    border-color: #8f6a42 !important;

    transform: translateY(-1px) !important;
}


/* =========================================================
   CUSTOMIZATION PANEL
========================================================= */

.cart-card .customization-panel {
    margin: 0 !important;

    padding: 28px 26px !important;

    background: #f8f3eb !important;

    border: 0 !important;

    border-bottom:
        1px solid #ded0bd !important;

    border-radius: 0 !important;

    animation: none !important;
}


/* No animated opening */
.cart-card .customization-panel.open {
    animation: none !important;
}


/* =========================================================
   CUSTOMIZATION GRID
========================================================= */

.cart-card .customization-panel .cart-grid {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    column-gap: 28px !important;
    row-gap: 25px !important;
}


/* Fields */

.cart-card .customization-panel .cart-grid > label {
    display: flex !important;

    flex-direction: column !important;

    gap: 8px !important;

    margin: 0 !important;
}


/* Full-width fields */

.cart-card .customization-panel
.cart-grid > label.full {
    grid-column: 1 / -1 !important;
}


/* Labels */

.cart-card .customization-panel .field-label,
.cart-card .customization-panel .cart-grid > label:not(.cart-field) {
    color: #60452f !important;

    font-size: 11px !important;

    font-weight: 800 !important;

    letter-spacing: .09em !important;

    line-height: 1.4 !important;

    text-transform: uppercase !important;
}


/* Inputs */

.cart-card .customization-panel input,
.cart-card .customization-panel select,
.cart-card .customization-panel textarea {
    width: 100% !important;

    min-height: 46px !important;

    box-sizing: border-box !important;

    padding: 12px 13px !important;

    background: #fffefa !important;

    color: #30241b !important;

    border: 1px solid #d3c5b4 !important;

    border-radius: 9px !important;

    font-size: 13px !important;

    outline: none !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease !important;
}


.cart-card .customization-panel input:focus,
.cart-card .customization-panel select:focus,
.cart-card .customization-panel textarea:focus {
    border-color: #a98250 !important;

    box-shadow:
        0 0 0 3px rgba(169,130,80,.12) !important;
}


/* Help text */

.cart-card .customization-panel .field-help {
    margin: 0 !important;

    color: #817467 !important;

    font-size: 10px !important;

    line-height: 1.5 !important;
}


/* Custom colour */

.cart-card .pricing-custom-colour {
    height: 82px !important;
    min-height: 82px !important;
    max-height: 82px !important;

    resize: none !important;
}


/* =========================================================
   PRICING BREAKDOWN
========================================================= */

.cart-card .pricing-breakdown {
    margin: 0 !important;

    padding: 20px 26px 21px !important;

    background: #fffdf9 !important;

    border: 0 !important;

    border-bottom:
        1px solid #e2d6c5 !important;
}


.cart-card .pricing-row {
    display: flex !important;

    justify-content: space-between !important;

    align-items: center !important;

    gap: 20px !important;

    padding: 7px 0 !important;

    color: #6e5b49 !important;

    font-size: 12px !important;
}


.cart-card .pricing-row strong {
    color: #3d2b1d !important;

    font-size: 13px !important;

    font-weight: 800 !important;
}


.cart-card .pricing-total {
    margin-top: 9px !important;

    padding-top: 14px !important;

    border-top:
        1px dashed #d2c1aa !important;
}


.cart-card .pricing-total span {
    color: #63462b !important;

    font-size: 11px !important;
}


.cart-card .pricing-total strong {
    color: #8a6335 !important;

    font-size: 20px !important;
}


/* =========================================================
   CART FOOTER
========================================================= */

.cart-card .cart-footer {
    display: flex !important;

    justify-content: space-between !important;

    align-items: center !important;

    min-height: 62px !important;

    margin: 0 !important;

    padding: 13px 26px !important;

    background: #f7f0e7 !important;

    border: 0 !important;
}


/* =========================================================
   QUANTITY BOX
========================================================= */

.cart-card .qty-box {
    display: inline-flex !important;

    align-items: center !important;

    gap: 0 !important;

    overflow: hidden !important;

    border: 1px solid #d2c1ab !important;

    border-radius: 9px !important;

    background: #fffdf9 !important;
}


.cart-card .qty-box button {
    width: 34px !important;
    height: 34px !important;

    border: 0 !important;

    background: transparent !important;

    color: #533b27 !important;

    font-size: 17px !important;

    cursor: pointer !important;
}


.cart-card .qty-box button:hover {
    background: #eee2d2 !important;
}


.cart-card .qty-box span {
    min-width: 38px !important;

    text-align: center !important;

    color: #38281d !important;

    font-size: 12px !important;

    font-weight: 800 !important;
}


/* =========================================================
   REMOVE
========================================================= */

.cart-card .remove-item {
    padding: 7px 0 !important;

    color: #c62828 !important;

    font-size: 11px !important;

    font-weight: 800 !important;

    letter-spacing: .08em !important;

    text-transform: uppercase !important;
}

.cart-card .remove-item:hover {
    color: #981b1b !important;
}


/* =========================================================
   EMPTY CART
========================================================= */

.cart-panel .empty-cart {
    margin: 0 !important;

    padding: 35px 20px !important;

    text-align: center !important;

    color: #77695b !important;

    background: #fffdf9 !important;

    border: 1px dashed #d1c0a9 !important;

    border-radius: 14px !important;
}


/* =========================================================
   REVIEW / CHECKOUT BUTTON
========================================================= */

.cart-panel > .checkout-button,
.cart-panel .checkout-button {
    margin-top: 24px !important;

    min-height: 54px !important;

    border-radius: 11px !important;

    background: #3e2a1d !important;

    color: #fff9ef !important;

    box-shadow:
        0 8px 20px rgba(48,32,20,.14) !important;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease !important;
}

.cart-panel > .checkout-button:hover,
.cart-panel .checkout-button:hover {
    background: #60432b !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 12px 26px rgba(48,32,20,.20) !important;
}


/* =========================================================
   MOBILE CART
========================================================= */

@media (max-width: 700px) {

    .cart-panel {
        position: static !important;

        padding: 20px !important;

        border-radius: 16px !important;
    }

    .cart-panel > h2 + .cart-items {
        margin-top: 22px !important;
    }

    .cart-card {
        border-radius: 15px !important;
    }

    .cart-header {
        grid-template-columns: 1fr !important;

        padding: 20px !important;

        gap: 16px !important;
    }

    .cart-card .customize-btn {
        width: 100% !important;
    }

    .cart-card .customization-panel {
        padding: 20px !important;
    }

    .cart-card .customization-panel .cart-grid {
        grid-template-columns: 1fr !important;

        row-gap: 20px !important;
    }

    .cart-card .customization-panel
    .cart-grid > label.full {
        grid-column: auto !important;
    }

    .cart-card .pricing-breakdown {
        padding: 18px 20px !important;
    }

    .cart-card .cart-footer {
        padding: 12px 20px !important;
    }

}

/* =========================================================
   CART TEXTAREA — REMOVE RESIZE HANDLE
========================================================= */

.cart-card textarea,
.cart-card .pricing-custom-colour,
.cart-card .customization-panel textarea {
    resize: none !important;
}

/* =========================================================
   VRIDHI CREATIONS — PREMIUM ENQUIRY CART v2
   Visual-only redesign.
   Cart JS/data logic remains untouched.
========================================================= */


/* =========================================================
   CART PAGE WRAPPER
========================================================= */

.cart-panel {
    background: #f5eee4 !important;
    color: #332419 !important;

    padding: 38px !important;

    border: 1px solid #d8c7af !important;
    border-top: 4px solid #987445 !important;

    border-radius: 22px !important;

    box-shadow:
        0 24px 65px rgba(49, 33, 20, .13) !important;
}


/* Heading */

.cart-panel h2 {
    color: #332419 !important;

    margin: 0 !important;

    font-size: clamp(32px, 4vw, 48px) !important;

    line-height: 1 !important;

    letter-spacing: -.035em !important;
}

.cart-panel > .kicker {
    color: #967348 !important;

    margin-bottom: 11px !important;

    font-size: 11px !important;

    font-weight: 800 !important;

    letter-spacing: .16em !important;

    text-transform: uppercase !important;
}


/* =========================================================
   SPACE BETWEEN HEADING AND FIRST CARD
========================================================= */

.cart-panel > h2 + .cart-items {
    margin-top: 38px !important;
}


/* =========================================================
   CART ITEMS
========================================================= */

.cart-items {
    width: 100% !important;

    display: flex !important;

    flex-direction: column !important;

    gap: 26px !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.cart-card {
    position: relative !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;

    background: #fffdf9 !important;

    color: #332419 !important;

    border:
        1px solid #ded0be !important;

    border-radius: 18px !important;

    box-shadow:
        0 7px 26px rgba(55, 38, 24, .075) !important;

    transition:
        border-color .22s ease,
        box-shadow .22s ease !important;
}

.cart-card:hover {
    transform: none !important;

    border-color: #c4a477 !important;

    box-shadow:
        0 13px 36px rgba(55, 38, 24, .12) !important;
}


/* =========================================================
   PRODUCT HEADER
========================================================= */

.cart-header {
    position: relative !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        auto !important;

    align-items: center !important;

    gap: 24px !important;

    padding: 25px 27px !important;

    background:
        linear-gradient(
            135deg,
            #fffdf9 0%,
            #faf3e9 100%
        ) !important;

    border-bottom:
        1px solid #e4d8c7 !important;
}


/* Small premium accent */

.cart-header::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background: #a17b48;
}


/* Product name */

.cart-header h3 {
    margin: 0 0 8px !important;

    color: #38271b !important;

    font-size: 21px !important;

    line-height: 1.25 !important;

    font-weight: 750 !important;

    letter-spacing: -.015em !important;
}


/* Unit price */

.cart-price-line {
    display: inline-flex !important;

    align-items: center !important;

    margin: 0 !important;

    color: #8c683c !important;

    font-size: 18px !important;

    line-height: 1.2 !important;

    font-weight: 800 !important;
}


/* Quantity text */

.cart-header p:not(.cart-price-line) {
    margin: 7px 0 0 !important;

    color: #837568 !important;

    font-size: 11px !important;

    font-weight: 650 !important;

    letter-spacing: .04em !important;
}


/* =========================================================
   CUSTOMIZE BUTTON
========================================================= */

.cart-card .customize-btn {
    min-width: 132px !important;

    min-height: 42px !important;

    padding: 10px 18px !important;

    border:
        1px solid #8d6a40 !important;

    border-radius: 10px !important;

    background: #3d2a1e !important;

    color: #fff9ef !important;

    font-size: 10px !important;

    font-weight: 800 !important;

    letter-spacing: .12em !important;

    text-transform: uppercase !important;

    cursor: pointer !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease !important;
}

.cart-card .customize-btn:hover {
    background: #5a3f29 !important;

    border-color: #9b7548 !important;

    transform: translateY(-1px) !important;

    box-shadow:
        0 6px 16px rgba(54, 37, 23, .15) !important;
}


/* =========================================================
   CUSTOMIZATION PANEL
========================================================= */

.cart-card .customization-panel {
    margin: 0 !important;

    padding: 30px 27px !important;

    background: #f8f2e9 !important;

    border: 0 !important;

    border-bottom:
        1px solid #dfd1bf !important;

    border-radius: 0 !important;
}


/* Don't let old animation override the clean panel */

.cart-card .customization-panel.open {
    animation: none !important;
}


/* =========================================================
   CUSTOMIZATION GRID
========================================================= */

.cart-card .customization-panel .cart-grid {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    column-gap: 28px !important;

    row-gap: 25px !important;
}


/* =========================================================
   FIELD
========================================================= */

.cart-card .cart-field,
.cart-card .customization-panel .cart-grid > label {
    display: flex !important;

    flex-direction: column !important;

    gap: 8px !important;

    min-width: 0 !important;

    margin: 0 !important;
}


/* Full-width */

.cart-card .cart-field.full,
.cart-card .customization-panel .cart-grid > label.full {
    grid-column: 1 / -1 !important;
}


/* Labels */

.cart-card .field-label,
.cart-card .customization-panel .cart-grid > label {
    color: #634a32 !important;

    font-size: 10px !important;

    line-height: 1.4 !important;

    font-weight: 800 !important;

    letter-spacing: .105em !important;

    text-transform: uppercase !important;
}


/* Actual controls */

.cart-card .customization-panel input,
.cart-card .customization-panel select,
.cart-card .customization-panel textarea {
    width: 100% !important;

    box-sizing: border-box !important;

    min-height: 46px !important;

    padding: 12px 14px !important;

    background: #fffefa !important;

    color: #35271d !important;

    border:
        1px solid #d2c3b1 !important;

    border-radius: 10px !important;

    outline: none !important;

    font-family: inherit !important;

    font-size: 13px !important;

    line-height: 1.45 !important;

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease !important;
}


/* Focus */

.cart-card .customization-panel input:focus,
.cart-card .customization-panel select:focus,
.cart-card .customization-panel textarea:focus {
    background: #fff !important;

    border-color: #a17b49 !important;

    box-shadow:
        0 0 0 3px
        rgba(161,123,73,.12) !important;
}


/* Placeholder */

.cart-card .customization-panel
input::placeholder,
.cart-card .customization-panel
textarea::placeholder {
    color: #a1978b !important;
}


/* =========================================================
   REMOVE TEXTAREA RESIZE ARROW
========================================================= */

.cart-card textarea,
.cart-card .customization-panel textarea,
.cart-card .pricing-custom-colour {
    resize: none !important;
}


/* Custom colour */

.cart-card .pricing-custom-colour {
    min-height: 84px !important;

    height: 84px !important;

    max-height: 84px !important;
}


/* =========================================================
   HELP TEXT
========================================================= */

.cart-card .field-help {
    margin: -2px 0 0 !important;

    color: #8c7c6b !important;

    font-size: 10px !important;

    line-height: 1.5 !important;
}


/* =========================================================
   FILE INPUT
========================================================= */

.cart-card input[type="file"] {
    min-height: 48px !important;

    padding: 8px !important;

    background: #fffefa !important;

    cursor: pointer !important;
}

.cart-card input[type="file"]::file-selector-button {
    margin-right: 10px !important;

    padding: 8px 12px !important;

    border: 0 !important;

    border-radius: 7px !important;

    background: #3d2a1e !important;

    color: #fff9ef !important;

    font-family: inherit !important;

    font-size: 10px !important;

    font-weight: 750 !important;

    letter-spacing: .06em !important;

    cursor: pointer !important;
}


/* =========================================================
   PRICE BREAKDOWN
========================================================= */

.cart-card .pricing-breakdown {
    margin: 0 !important;

    padding: 21px 27px 22px !important;

    background: #fffdf9 !important;

    border: 0 !important;

    border-bottom:
        1px solid #e1d4c3 !important;
}


/* Rows */

.cart-card .pricing-row {
    display: flex !important;

    align-items: center !important;

    justify-content: space-between !important;

    gap: 20px !important;

    padding: 7px 0 !important;

    color: #786857 !important;

    font-size: 12px !important;

    line-height: 1.4 !important;
}

.cart-card .pricing-row strong {
    color: #3f2c1d !important;

    font-size: 13px !important;

    font-weight: 800 !important;
}


/* Customisation row */

.cart-card .pricing-row
.live-customisation-price {
    color: #96703f !important;
}


/* Product total */

.cart-card .pricing-total {
    margin-top: 9px !important;

    padding-top: 15px !important;

    border-top:
        1px dashed #d4c2aa !important;

    border-bottom: 0 !important;
}

.cart-card .pricing-total span {
    color: #5b422b !important;

    font-size: 10px !important;

    font-weight: 850 !important;

    letter-spacing: .09em !important;

    text-transform: uppercase !important;
}

.cart-card .pricing-total strong {
    color: #8c6334 !important;

    font-size: 21px !important;

    font-weight: 850 !important;
}


/* =========================================================
   CART FOOTER
========================================================= */

.cart-card .cart-footer {
    display: flex !important;

    align-items: center !important;

    justify-content: space-between !important;

    min-height: 66px !important;

    margin: 0 !important;

    padding: 12px 27px !important;

    background: #f7f0e7 !important;

    border: 0 !important;
}


/* =========================================================
   QUANTITY CONTROL
========================================================= */

.cart-card .qty-box {
    display: inline-flex !important;

    align-items: center !important;

    overflow: hidden !important;

    height: 38px !important;

    background: #fffdf9 !important;

    border:
        1px solid #d4c3ae !important;

    border-radius: 9px !important;
}

.cart-card .qty-box button {
    width: 36px !important;

    height: 38px !important;

    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;

    color: #513a25 !important;

    font-size: 17px !important;

    cursor: pointer !important;

    transition:
        background .18s ease !important;
}

.cart-card .qty-box button:hover {
    background: #eee2d2 !important;
}

.cart-card .qty-box span {
    min-width: 40px !important;

    color: #38281c !important;

    font-size: 12px !important;

    font-weight: 800 !important;

    text-align: center !important;
}


/* =========================================================
   REMOVE BUTTON
========================================================= */

.cart-card .remove-item {
    padding: 8px 0 !important;

    border: 0 !important;

    background: transparent !important;

    color: #bd2929 !important;

    font-size: 10px !important;

    font-weight: 850 !important;

    letter-spacing: .12em !important;

    text-transform: uppercase !important;

    cursor: pointer !important;

    transition:
        color .18s ease !important;
}

.cart-card .remove-item:hover {
    color: #8e1717 !important;
}


/* =========================================================
   REVIEW ORDER BUTTON
========================================================= */

.cart-panel .checkout-button {
    width: 100% !important;

    min-height: 56px !important;

    margin-top: 26px !important;

    border-radius: 11px !important;

    background: #3d2a1e !important;

    color: #fff9ef !important;

    border: 1px solid #3d2a1e !important;

    box-shadow:
        0 9px 23px rgba(54, 37, 23, .15) !important;

    font-weight: 800 !important;

    letter-spacing: .09em !important;

    text-transform: uppercase !important;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease !important;
}

.cart-panel .checkout-button:hover {
    background: #5b4029 !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 13px 28px rgba(54, 37, 23, .20) !important;
}


/* =========================================================
   EMPTY CART
========================================================= */

.cart-panel .empty-cart {
    margin: 0 !important;

    padding: 46px 25px !important;

    color: #7d6e5e !important;

    text-align: center !important;

    background: #fffdf9 !important;

    border:
        1px dashed #cfbda5 !important;

    border-radius: 15px !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .cart-panel {
        padding: 21px !important;

        border-radius: 17px !important;
    }


    .cart-panel > h2 + .cart-items {
        margin-top: 26px !important;
    }


    .cart-items {
        gap: 19px !important;
    }


    .cart-card {
        border-radius: 15px !important;
    }


    .cart-header {
        grid-template-columns: 1fr !important;

        gap: 17px !important;

        padding: 21px !important;
    }


    .cart-card .customize-btn {
        width: 100% !important;
    }


    .cart-card .customization-panel {
        padding: 23px 20px !important;
    }


    .cart-card .customization-panel .cart-grid {
        grid-template-columns: 1fr !important;

        row-gap: 22px !important;
    }


    .cart-card .customization-panel
    .cart-grid > label.full {
        grid-column: auto !important;
    }


    .cart-card .pricing-breakdown {
        padding: 19px 20px !important;
    }


    .cart-card .cart-footer {
        min-height: 61px !important;

        padding: 11px 20px !important;
    }


    .cart-card .pricing-total strong {
        font-size: 19px !important;
    }

}

/* =========================================================
   CART — FINAL SPACING & TEXTAREA CLEANUP
========================================================= */

/* Remove scrollbar from Sizes Required textarea */
.cart-card textarea {
    overflow-y: hidden !important;
    overflow-x: hidden !important;
    resize: none !important;
}


/* Keep enough height so the text remains readable */
.cart-card textarea[name="sizes"],
.cart-card textarea[placeholder*="10 × S"],
.cart-card textarea[placeholder*="Example"] {
    min-height: 120px !important;
    height: 120px !important;
    max-height: 120px !important;
}


/* =========================================================
   GAP BETWEEN SPECIAL INSTRUCTIONS & PRICE SUMMARY
========================================================= */

/* The pricing summary immediately follows the textarea */
.cart-card .pricing-breakdown {
    margin-top: 22px !important;
}


/* Extra separation specifically after the
   Special Instructions textarea */
.cart-card textarea[name="specialInstructions"] {
    margin-bottom: 22px !important;
}

/* Consistent, compact section spacing across the interior pages. */
@media(min-width:781px){
    .inner-hero{padding:190px 11% 82px}
    .page-hero{padding:185px 11% 82px}
    .page-section{padding:82px 11%}
    .home-faq{padding:88px 11%;gap:7vw}
    .faq-review{margin-top:58px;gap:52px}
}

/* =========================================================
   MOBILE FINAL PASS — INNER PAGES
========================================================= */


/* ---------------------------------------------------------
   CART
--------------------------------------------------------- */

@media (max-width: 700px) {

    .cart-page-section {
        padding-left: 5vw !important;
        padding-right: 5vw !important;
    }

    .cart-panel {
        width: 100%;
        max-width: 100%;
    }

    .cart-card {
        width: 100%;
        max-width: 100%;
    }

    .cart-card img {
        max-width: 100%;
    }

    .cart-header > *,
    .cart-footer > * {
        min-width: 0;
    }

    .cart-card .pricing-breakdown {
        width: 100%;
    }

    .pricing-breakdown,
    .pricing-total {
        overflow-wrap: anywhere;
    }

}


/* ---------------------------------------------------------
   CHECKOUT / REVIEW
--------------------------------------------------------- */

@media (max-width: 700px) {

    .checkout-layout {
        width: 100%;
        grid-template-columns: 1fr !important;
    }

    .checkout-left,
    .checkout-right {
        width: 100%;
        min-width: 0;
    }

    .checkout-card {
        width: 100%;
        padding: 22px 18px;
    }

    .form-grid {
        grid-template-columns: 1fr !important;
    }

    .form-grid .full {
        grid-column: auto !important;
    }

    .checkout-card input,
    .checkout-card select,
    .checkout-card textarea {
        width: 100%;
        min-width: 0;
        font-size: 16px;
    }

}


/* ---------------------------------------------------------
   LOGIN
--------------------------------------------------------- */

@media (max-width: 560px) {

    .login-wrap {
        border-radius: 0;
    }

}


/* ---------------------------------------------------------
   FAQ
--------------------------------------------------------- */

@media (max-width: 560px) {

    .faq-review h3 {
        font-size: 40px;
    }

    .faq-list summary {
        font-size: 15px;
        line-height: 1.5;
    }

}


/* ---------------------------------------------------------
   GENERAL TABLE / GRID PROTECTION
--------------------------------------------------------- */

@media (max-width: 700px) {

    table {
        width: 100%;
    }

    .shop-layout,
    .story-grid,
    .split,
    .values,
    .gallery-page {
        min-width: 0;
    }

    .story-grid > *,
    .split > *,
    .values > *,
    .gallery-page > * {
        min-width: 0;
    }

}

/* =========================================================
   MOBILE FINAL — CHECKOUT TIMELINE
========================================================= */

@media (max-width: 700px) {

    .review-progress {

        width: 100%;

        max-width: 100%;

        overflow: hidden;

        padding: 0 10px;

        box-sizing: border-box;

    }


    .checkout-timeline {

        width: 100%;

        max-width: 100%;

        margin: 20px auto 32px;

        display: flex;

        align-items: flex-start;

        justify-content: space-between;

        box-sizing: border-box;

    }


    .timeline-item {

        min-width: 0;

        width: auto;

        flex: 1;

        align-items: center;

        text-align: center;

    }


    .timeline-circle {

        width: 42px;

        height: 42px;

        min-width: 42px;

        font-size: 15px;

    }


    .timeline-item span {

        margin-top: 10px;

        font-size: 9px;

        letter-spacing: .12em;

        white-space: nowrap;

    }


    .timeline-line {

        flex: 1;

        min-width: 8px;

        height: 1px;

        margin: 21px 3px 0;

    }

}

@media (max-width: 560px) {

    .checkout-section {

        padding-left: 0;

        padding-right: 0;

    }


    .checkout-layout {

        padding-left: 16px;

        padding-right: 16px;

        box-sizing: border-box;

    }


    .checkout-card {

        padding: 22px 18px;

        border-radius: 22px;

    }


    .checkout-summary {

        padding: 22px 18px;

        border-radius: 22px;

    }


    .checkout-summary h2 {

        font-size: 30px;

    }


    .checkout-card textarea {

        min-height: 140px;

    }

}