
/* ============================================================
   Local Vazirmatn
   ============================================================ */

@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/vazirmatn/Vazirmatn-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/vazirmatn/Vazirmatn-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/vazirmatn/Vazirmatn-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/vazirmatn/Vazirmatn-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/vazirmatn/Vazirmatn-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root{--white:#fff;--soft:#f5f5f5;--ink:#1a1a1a;--muted:#737373;--line:#e7e4e1;--ochre:#d4a373;--radius:2px;--serif:'Playfair Display',serif;--sans:'Vazirmatn',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.85}button,input,textarea{font:inherit}button{cursor:pointer}.container{width:min(1200px,calc(100% - 48px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;z-index:99;top:-60px;right:20px;background:var(--ink);color:#fff;padding:8px 16px}.skip-link:focus{top:16px}.announcement{background:var(--ink);color:#fff;text-align:center;padding:7px 16px;font-size:11px}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:.35s}.site-header.is-compact{border-color:var(--line)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;transition:.35s}.is-compact .header-inner{height:62px}.brand{color:var(--ink);text-decoration:none;line-height:1;display:inline-flex;flex-direction:column;direction:ltr}.brand span{font:600 23px/1 var(--serif);letter-spacing:2px}.brand small{font:8px/1.7 var(--sans);letter-spacing:2px}.desktop-nav{display:flex;gap:30px}.desktop-nav a,.mobile-drawer a{color:var(--ink);text-decoration:none}.desktop-nav a:hover,.text-link:hover{color:var(--ochre)}.header-actions{display:flex;gap:8px;align-items:center;direction:ltr}.icon-button{border:0;background:transparent;display:grid;place-items:center;width:38px;height:38px;color:var(--ink);position:relative}.icon-button:hover{background:var(--soft)}.icon-button:focus-visible,.button:focus-visible,input:focus-visible,textarea:focus-visible,.filter:focus-visible{outline:2px solid var(--ochre);outline-offset:3px}.icon-button i{width:18px;height:18px;display:block}.cart-button b{position:absolute;top:1px;left:0;background:var(--ochre);border-radius:50%;font-size:9px;line-height:15px;min-width:15px;color:var(--ink)}.menu-button{display:none}.scroll-progress{height:2px;background:var(--ochre);width:0}.search-panel{padding:0 0 16px;display:flex;gap:8px}.search-panel input{flex:1;border:1px solid var(--line);padding:10px 14px;background:var(--soft)}.search-panel button{border:0;background:var(--ink);color:#fff;padding-inline:20px}.hero{position:relative;background:var(--soft)}.hero-slide{min-height:590px;display:none;position:relative;background:linear-gradient(90deg,#f5f3f0 45%,transparent 65%),var(--hero-image) center/cover}.hero-slide.is-active{display:block;animation:fade .5s ease}.hero-copy{padding-top:120px;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:1.5px;color:var(--muted);margin:0 0 12px;text-transform:uppercase}.hero h1,h2{font-family:var(--serif);font-weight:500;line-height:1.1;letter-spacing:-1px}.hero h1{font-size:clamp(52px,7vw,98px);margin:0 0 20px}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:310px;color:#4e4e4e}.button{border:1px solid var(--ink);padding:12px 21px;background:var(--ink);color:white;text-decoration:none;display:inline-flex;align-items:center;gap:16px;transition:transform .2s,background .2s}.button:hover{background:var(--ochre);border-color:var(--ochre);transform:translateY(-2px)}.hero-controls{position:absolute;bottom:26px;right:0;left:0;display:flex;justify-content:space-between;align-items:center}.slider-dots{display:flex;gap:7px}.slider-dots button{width:28px;height:2px;padding:0;border:0;background:#ccc}.slider-dots button.is-active{background:var(--ink)}.text-button,.text-link{background:none;border:0;color:var(--ink);text-decoration:none;padding:5px 0}.section{padding-block:110px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:34px}.section-head h2,.about-copy h2,.newsletter-band h2,.contact-section h2{font-size:clamp(34px,4vw,54px);margin:0}.text-link span,.text-button span{display:inline-block;margin-right:8px;transition:.2s}.text-link:hover span,.text-button:hover span{transform:translateX(-5px)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.filter{background:transparent;border:1px solid var(--line);padding:8px 16px;color:var(--ink);transition:.2s}.filter:hover,.filter.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product-card{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.product-card.is-visible{opacity:1;transform:none}.product-image{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--soft);position:relative;border:0;padding:0;width:100%;cursor:pointer}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.product-card:hover .product-image img{transform:scale(1.045)}.badge{position:absolute;top:12px;right:12px;padding:3px 8px;background:#fff;font-size:10px}.product-info{padding:12px 2px}.product-info h3{font-size:14px;font-weight:500;margin:0 0 3px}.product-info h3 button{border:0;background:transparent;padding:0;color:inherit;font:inherit;cursor:pointer}.price{font-size:13px;direction:rtl}.old-price{text-decoration:line-through;color:var(--muted);margin-right:7px}.add-button{width:100%;background:transparent;border:1px solid var(--ink);padding:9px;transition:.2s}.add-button:hover,.add-button.is-added{background:var(--ochre);border-color:var(--ochre)}.pagination{display:flex;justify-content:center;gap:8px;margin-top:40px}.pagination button{border:1px solid var(--line);padding:8px 15px;background:#fff}.pagination button:disabled{opacity:.35;cursor:not-allowed}.about-section{background:var(--soft)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,9vw,140px);align-items:center}.about-image{aspect-ratio:4/5}.about-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.about-copy p{max-width:460px}.social-links{display:flex;gap:9px;margin-top:25px}
.social-links a{

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    border:none;

    background:transparent;

    width:auto;

    height:auto;

    padding:0;

}

.social-links a:hover{

    background:transparent;

}
.newsletter-band{background:var(--ink);color:#fff;padding:66px 0}.newsletter-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.newsletter-band .eyebrow{color:#b9b9b9}.newsletter-band h2{margin:0;font-size:34px}.newsletter-form{display:flex;width:min(440px,100%)}.newsletter-form input{min-width:0;flex:1;border:0;padding:13px;background:#fff}.newsletter-form .button{white-space:nowrap;background:var(--ochre);border-color:var(--ochre);color:var(--ink)}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-section>div>p:not(.eyebrow){color:var(--muted)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{font-size:12px}.contact-form label:last-of-type{grid-column:1/-1}.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:8px 0;resize:vertical;outline:0}.contact-form .button{justify-self:start;grid-column:1/-1}.site-footer{background:var(--soft);padding-top:70px}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:35px}.footer-grid h3{font-size:12px;margin:0 0 15px}.footer-grid p,.footer-grid address{font-style:normal;color:#5e5e5e;font-size:12px;margin:15px 0}.footer-grid ul{list-style:none;margin:0;padding:0}.footer-grid li{margin:7px 0}.footer-grid a{color:inherit;text-decoration:none}.footer-grid a:hover{color:var(--ochre)}.footer-bottom{padding:25px 0;margin-top:48px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.mobile-drawer{position:fixed;z-index:50;inset:0 0 0 auto;width:min(350px,88vw);background:#fff;padding:20px 28px;transform:translateX(102%);transition:transform .3s;display:flex;flex-direction:column}.mobile-drawer.is-open{transform:none}.drawer-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}.mobile-drawer nav{display:grid;margin-top:30px}.mobile-drawer nav a{font:500 25px/2.1 var(--serif);border-bottom:1px solid var(--line)}.drawer-meta{margin-top:auto;font-size:12px;color:var(--muted)}.drawer-backdrop{position:fixed;inset:0;z-index:45;background:rgba(0,0,0,.28)}.product-dialog{border:0;padding:0;width:min(920px,calc(100% - 32px));max-height:90vh;background:#fff}.product-dialog::backdrop{background:rgba(0,0,0,.45)}.modal-close{position:absolute;z-index:2;left:10px;top:10px;background:#fff}.modal-grid{display:grid;grid-template-columns:1.05fr .95fr}.modal-grid img{width:100%;height:100%;min-height:490px;max-height:75vh;object-fit:cover}.modal-details{padding:50px 40px}.modal-details h2{font-size:38px;margin:0 0 10px}.modal-description{color:var(--muted)}.variant-title{display:block;margin:20px 0 8px;font-size:12px}.variants{display:flex;gap:7px;flex-wrap:wrap}.variant{border:1px solid var(--line);background:#fff;padding:7px 12px}.variant.is-selected{border-color:var(--ink);background:var(--ink);color:#fff}.modal-add{margin-top:25px;width:100%;justify-content:center}.toast{position:fixed;z-index:70;left:50%;bottom:24px;transform:translate(-50%,100px);background:var(--ink);color:white;padding:10px 18px;opacity:0;transition:.3s;font-size:12px}.toast.is-showing{transform:translate(-50%,0);opacity:1}.empty-state,.error-state{grid-column:1/-1;text-align:center;padding:50px;background:var(--soft);color:var(--muted)}@keyframes fade{from{opacity:.2}to{opacity:1}}@media(max-width:1024px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,1fr)}.desktop-nav{gap:16px}.about-grid{gap:50px}}@media(max-width:767px){.container{width:min(100% - 32px,1200px)}.announcement{font-size:9px}.header-inner{height:68px}.desktop-nav,.profile-button{display:none}.menu-button{display:grid}.hero-slide{min-height:calc(100svh - 96px);background:linear-gradient(90deg,rgba(245,243,240,.96) 0%,rgba(245,243,240,.76) 62%,rgba(245,243,240,.2)),var(--hero-image) 60% center/cover}.hero-copy{padding-top:94px}.hero h1{font-size:58px}.section{padding-block:72px}.section-head{align-items:start;gap:15px}.section-head .text-link{font-size:11px;white-space:nowrap}.product-grid{grid-template-columns:1fr;gap:30px}.product-image{aspect-ratio:4/5}.about-grid,.contact-section{grid-template-columns:1fr;gap:35px}.about-copy{order:-1}.newsletter-inner{align-items:start;flex-direction:column}.newsletter-form{width:100%}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-bottom{margin-top:32px;flex-direction:column;gap:8px}.modal-grid{grid-template-columns:1fr}.modal-grid img{min-height:300px;max-height:45vh}.modal-details{padding:28px 22px}.contact-form{grid-template-columns:1fr}.contact-form label:last-of-type{grid-column:auto}}


.social-icon{

    width: 65px;

    height: 65px;

    object-fit:contain;

    display:block;

}


.social-links a:hover .social-icon{

    transform:scale(1.08);

    transition:.25s;

}

/* =========================================================
   STOREFRONT CART DRAWER
========================================================= */

.cart-drawer{

    position:fixed;

    z-index:80;

    top:0;
    right:0;
    bottom:0;

    width:min(430px,94vw);

    background:#fff;

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

    transform:translateX(110%);

    transition:
        transform .3s ease;

    display:flex;

    flex-direction:column;

    direction:rtl;

}

.cart-drawer.is-open{

    transform:translateX(0);

}


.cart-drawer-head{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:25px;

    border-bottom:1px solid var(--line);

}

.cart-drawer-head h2{

    margin:0;

    font-size:28px;

}


.cart-drawer-items{

    flex:1;

    overflow-y:auto;

    padding:20px;

}


.cart-item{

    display:flex;

    gap:15px;

    padding:18px 0;

    border-bottom:1px solid var(--line);

}


.cart-item img{

    width:90px;

    height:110px;

    object-fit:cover;

    background:var(--soft);

    flex:none;

}


.cart-item-info{

    min-width:0;

    flex:1;

}


.cart-item-info h3{

    margin:0 0 7px;

    font-size:14px;

    font-weight:600;

}


.cart-variant{

    color:var(--muted);

    font-size:12px;

    margin-top:2px;

}


.cart-item-price{

    margin-top:8px;

    font-size:13px;

}


.cart-item-bottom{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:10px;

    margin-top:14px;

}


.cart-quantity{

    display:flex;

    align-items:center;

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

}


.cart-quantity button{

    width:30px;

    height:30px;

    border:0;

    background:#fff;

}


.cart-quantity span{

    min-width:32px;

    text-align:center;

    font-size:12px;

}


.cart-remove{

    border:0;

    background:none;

    color:#a33;

    font-size:11px;

}


.cart-drawer-footer{

    border-top:1px solid var(--line);

    padding:20px 25px;

    background:#fff;

}


.cart-total{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:16px;

}


.cart-total strong{

    font-size:17px;

}


.cart-checkout{

    width:100%;

    justify-content:center;

    margin-bottom:10px;

}


.cart-clear{

    width:100%;

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

    background:#fff;

    padding:11px;

    font-size:12px;

}


.cart-empty{

    min-height:300px;

    display:grid;

    place-items:center;

    text-align:center;

    color:var(--muted);

}


/* =========================================================
   Checkout
   ========================================================= */

.checkout-page {
    min-height: 100vh;
    padding: 60px 20px;
    background: var(--bg);
}

.checkout-container {
    width: min(100%, 1100px);
    margin: 0 auto;
}

.checkout-header {
    margin-bottom: 35px;
}

.checkout-brand {
    display: inline-block;
    margin-bottom: 20px;
    color: inherit;
    text-decoration: none;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 2px;
}

.checkout-header h1 {
    margin: 0 0 10px;
    font-size: 30px;
}

.checkout-header p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
}

.checkout-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.checkout-section {
    padding: 28px;
    border: 1px solid var(--line);
    background: #fff;
}

.checkout-section-header {
    margin-bottom: 24px;
}

.checkout-section-header h2 {
    margin: 0;
    font-size: 18px;
}

.checkout-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.checkout-field {
    min-width: 0;
}

.checkout-field-full {
    grid-column: 1 / -1;
}

.checkout-field label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
}

.checkout-field input,
.checkout-field select,
.checkout-field textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--line);
    border-radius: 0;
    padding: 12px 14px;
    background: #fff;
    color: inherit;
    font-family: inherit;
    font-size: 13px;
    outline: none;
    transition: border-color 0.2s ease;
}

.checkout-field textarea {
    resize: vertical;
    min-height: 110px;
}

.checkout-field input:focus,
.checkout-field select:focus,
.checkout-field textarea:focus {
    border-color: #222;
}

.field-errors,
.form-errors {
    margin-top: 7px;
    color: #a33;
    font-size: 12px;
}

.field-errors ul,
.form-errors ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.field-help {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 11px;
}

.checkout-summary {
    background: #fafafa;
}

.checkout-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
    font-size: 13px;
}

.checkout-summary-row:last-child {
    border-bottom: 0;
}

.checkout-summary-row span {
    color: var(--muted);
}

.checkout-summary-total {
    margin-top: 4px;
    padding-top: 20px;
    font-size: 15px;
}

.checkout-summary-total span,
.checkout-summary-total strong {
    color: inherit;
}

.checkout-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.checkout-submit,
.checkout-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 24px;
    border: 1px solid #222;
    font-family: inherit;
    font-size: 13px;
    text-decoration: none;
    cursor: pointer;
}

.checkout-submit {
    background: #222;
    color: #fff;
}

.checkout-back {
    background: #fff;
    color: #222;
}

.checkout-submit:hover,
.checkout-back:hover {
    opacity: 0.85;
}


/* =========================================================
   Checkout Responsive
   ========================================================= */

@media (max-width: 768px) {

    .checkout-page {
        padding: 35px 15px;
    }

    .checkout-header {
        margin-bottom: 25px;
    }

    .checkout-header h1 {
        font-size: 24px;
    }

    .checkout-section {
        padding: 20px;
    }

    .checkout-form-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .checkout-field-full {
        grid-column: auto;
    }

    .checkout-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .checkout-submit,
    .checkout-back {
        width: 100%;
        box-sizing: border-box;
    }

}

/* =========================================================
   Payment
   ========================================================= */

.payment-page {
    min-height: 100vh;
    padding: 48px 20px;
}

.payment-container {
    width: min(760px, 100%);
    margin: 0 auto;
}

.payment-header {
    text-align: center;
    margin-bottom: 28px;
}

.payment-brand {
    display: inline-block;
    margin-bottom: 18px;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 2px;
    text-decoration: none;
}

.payment-header h1 {
    margin: 0 0 10px;
    font-size: 30px;
}

.payment-header p {
    margin: 0;
    line-height: 1.9;
    opacity: .75;
}

.payment-card {
    padding: 28px;
    border-radius: 20px;
    background: var(--surface, #fff);
    border: 1px solid var(--border, #e8e8e8);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .06);
}

.payment-info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

.payment-info-item {
    padding: 16px;
    border-radius: 14px;
    background: var(--surface-soft, #f7f7f7);
}

.payment-info-item span,
.payment-info-item strong {
    display: block;
}

.payment-info-item span {
    margin-bottom: 7px;
    font-size: 14px;
    opacity: .7;
}

.payment-info-item strong {
    font-size: 17px;
}

.payment-destination {
    margin-bottom: 28px;
    padding: 22px;
    border-radius: 16px;
    border: 1px solid var(--border, #e8e8e8);
}

.payment-destination h2,
.payment-form h2 {
    margin: 0 0 18px;
    font-size: 19px;
}

.payment-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border, #e8e8e8);
}

.payment-row:last-of-type {
    border-bottom: 0;
}

.payment-row span {
    opacity: .7;
}

.payment-row strong {
    text-align: left;
    word-break: break-word;
}

.payment-description {
    margin-top: 16px;
    line-height: 1.9;
    opacity: .8;
}

.payment-form p {
    margin: 0 0 16px;
}

.payment-form label {
    display: block;
    margin-bottom: 7px;
    font-weight: 600;
}

.payment-form input,
.payment-form textarea,
.payment-form select {
    width: 100%;
    box-sizing: border-box;
}

.payment-form input[type="file"] {
    padding: 10px;
}

.payment-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}

.payment-submit,
.payment-back {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.payment-message {
    padding: 20px;
    margin-bottom: 24px;
    border-radius: 14px;
    background: var(--surface-soft, #f7f7f7);
    text-align: center;
}

.payment-message h2 {
    margin: 0 0 10px;
    font-size: 19px;
}

.payment-message p {
    margin: 0;
    line-height: 1.9;
}

.payment-result {
    display: grid;
    gap: 0;
}

.payment-result-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid var(--border, #e8e8e8);
}

.payment-result-row:last-child {
    border-bottom: 0;
}

.payment-result-row span {
    opacity: .75;
}

@media (max-width: 640px) {

    .payment-page {
        padding: 28px 14px;
    }

    .payment-card {
        padding: 20px;
        border-radius: 16px;
    }

    .payment-header h1 {
        font-size: 24px;
    }

    .payment-info {
        grid-template-columns: 1fr;
    }

    .payment-row,
    .payment-result-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .payment-row strong {
        text-align: right;
    }

    .payment-actions {
        flex-direction: column;
    }

    .payment-actions .button {
        width: 100%;
    }
}

/* =========================================================
   Payment
   ========================================================= */

.payment-page {
    min-height: 100vh;
    padding: 48px 20px;
}

.payment-container {
    width: min(760px, 100%);
    margin: 0 auto;
}

.payment-header {
    text-align: center;
    margin-bottom: 28px;
}

.payment-brand {
    display: inline-block;
    margin-bottom: 18px;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 2px;
    text-decoration: none;
}

.payment-header h1 {
    margin: 0 0 10px;
    font-size: 30px;
}

.payment-header p {
    margin: 0;
    line-height: 1.9;
    opacity: .75;
}

.payment-card {
    padding: 28px;
    border-radius: 20px;
    background: var(--surface, #fff);
    border: 1px solid var(--border, #e8e8e8);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .06);
}

.payment-info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

.payment-info-item {
    padding: 16px;
    border-radius: 14px;
    background: var(--surface-soft, #f7f7f7);
}

.payment-info-item span,
.payment-info-item strong {
    display: block;
}

.payment-info-item span {
    margin-bottom: 7px;
    font-size: 14px;
    opacity: .7;
}

.payment-info-item strong {
    font-size: 17px;
}

.payment-destination {
    margin-bottom: 28px;
    padding: 22px;
    border-radius: 16px;
    border: 1px solid var(--border, #e8e8e8);
}

.payment-destination h2,
.payment-form h2 {
    margin: 0 0 18px;
    font-size: 19px;
}

.payment-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border, #e8e8e8);
}

.payment-row:last-of-type {
    border-bottom: 0;
}

.payment-row span {
    opacity: .7;
}

.payment-row strong {
    text-align: left;
    word-break: break-word;
}

.payment-description {
    margin-top: 16px;
    line-height: 1.9;
    opacity: .8;
}

.payment-form p {
    margin: 0 0 16px;
}

.payment-form label {
    display: block;
    margin-bottom: 7px;
    font-weight: 600;
}

.payment-form input,
.payment-form textarea,
.payment-form select {
    width: 100%;
    box-sizing: border-box;
}

.payment-form input[type="file"] {
    padding: 10px;
}

.payment-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}

.payment-submit,
.payment-back {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.payment-message {
    padding: 20px;
    margin-bottom: 24px;
    border-radius: 14px;
    background: var(--surface-soft, #f7f7f7);
    text-align: center;
}

.payment-message h2 {
    margin: 0 0 10px;
    font-size: 19px;
}

.payment-message p {
    margin: 0;
    line-height: 1.9;
}

.payment-result {
    display: grid;
    gap: 0;
}

.payment-result-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid var(--border, #e8e8e8);
}

.payment-result-row:last-child {
    border-bottom: 0;
}

.payment-result-row span {
    opacity: .75;
}

@media (max-width: 640px) {

    .payment-page {
        padding: 28px 14px;
    }

    .payment-card {
        padding: 20px;
        border-radius: 16px;
    }

    .payment-header h1 {
        font-size: 24px;
    }

    .payment-info {
        grid-template-columns: 1fr;
    }

    .payment-row,
    .payment-result-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .payment-row strong {
        text-align: right;
    }

    .payment-actions {
        flex-direction: column;
    }

    .payment-actions .button {
        width: 100%;
    }
}

/* ============================================================
   FINAL STOREFRONT TYPOGRAPHY SYSTEM
   ============================================================ */

/*
   Typography source:
   Local Vazirmatn
   Keep Playfair only for the visual brand.
*/

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body,
button,
input,
textarea,
select {
    font-family: var(--sans);
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol {
    margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--sans);
    color: var(--ink);
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0;
}

p {
    font-size: 14px;
    line-height: 1.9;
}

a,
button,
input,
textarea,
select,
label {
    font-size: inherit;
    line-height: 1.7;
}

/* ------------------------------------------------------------
   Brand
   ------------------------------------------------------------ */

.brand span {
    font-family: var(--serif);
    font-weight: 600;
    line-height: 1;
}

.brand small {
    font-family: var(--sans);
    font-size: 8px;
    line-height: 1.7;
}

/* ------------------------------------------------------------
   Navigation
   ------------------------------------------------------------ */

.desktop-nav a,
.mobile-drawer a {
    font-size: 14px;
    line-height: 1.7;
}

.mobile-drawer nav a {
    font-family: var(--sans);
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
}

/* ------------------------------------------------------------
   Hero
   ------------------------------------------------------------ */

.hero h1 {
    font-family: var(--sans);
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
    margin: 0 0 18px;
}

.hero h2 {
    font-family: var(--sans);
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0;
}

.hero-copy > p:not(.eyebrow) {
    font-size: 15px;
    line-height: 1.9;
}

.eyebrow {
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0;
}

/* ------------------------------------------------------------
   Section headings
   ------------------------------------------------------------ */

.section-head h2,
.about-copy h2,
.newsletter-band h2,
.contact-section h2 {
    font-family: var(--sans);
    font-size: clamp(30px, 3.5vw, 44px);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
    margin: 0;
}

.section-head {
    margin-bottom: 30px;
}

/* ------------------------------------------------------------
   Products
   ------------------------------------------------------------ */

.product-info h3 {
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8;
    margin: 0 0 4px;
}

.product-info h3 button {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.price {
    font-size: 13px;
    line-height: 1.8;
}

.badge {
    font-size: 10px;
    line-height: 1.6;
}

.add-button,
.filter,
.pagination button {
    font-family: var(--sans);
    font-size: 13px;
    line-height: 1.7;
}

/* ------------------------------------------------------------
   Forms
   ------------------------------------------------------------ */

.contact-form label,
.checkout-field label,
.payment-form label {
    font-family: var(--sans);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.8;
}

.contact-form input,
.contact-form textarea,
.checkout-field input,
.checkout-field textarea,
.payment-form input,
.payment-form textarea,
.payment-form select {
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
}

.field-help {
    font-size: 12px;
    line-height: 1.8;
}

/* ------------------------------------------------------------
   Buttons / links
   ------------------------------------------------------------ */

.button,
.text-button,
.text-link {
    font-family: var(--sans);
    font-size: 13px;
    line-height: 1.7;
}

.button {
    font-weight: 500;
}

/* ------------------------------------------------------------
   Newsletter / Contact
   ------------------------------------------------------------ */

.newsletter-band h2,
.contact-section h2 {
    font-weight: 600;
}

.newsletter-form input {
    font-size: 14px;
    line-height: 1.8;
}

.contact-section > div > p:not(.eyebrow) {
    font-size: 14px;
    line-height: 1.9;
}

/* ------------------------------------------------------------
   Footer
   ------------------------------------------------------------ */

.footer-grid h3 {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.8;
}

.footer-grid p,
.footer-grid address,
.footer-grid a {
    font-size: 12px;
    line-height: 1.9;
}

.footer-bottom {
    font-size: 11px;
    line-height: 1.8;
}

/* ------------------------------------------------------------
   Product modal
   ------------------------------------------------------------ */

.modal-details h2 {
    font-family: var(--sans);
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0;
}

.modal-description {
    font-size: 14px;
    line-height: 1.9;
}

.variant-title {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.8;
}

.variant {
    font-family: var(--sans);
    font-size: 13px;
    line-height: 1.7;
}

/* ------------------------------------------------------------
   Toast / states
   ------------------------------------------------------------ */

.toast {
    font-family: var(--sans);
    font-size: 12px;
    line-height: 1.8;
}

.empty-state,
.error-state {
    font-size: 14px;
    line-height: 1.9;
}

/* ------------------------------------------------------------
   Mobile typography
   ------------------------------------------------------------ */

@media (max-width: 767px) {

    body {
        font-size: 14px;
        line-height: 1.85;
    }

    .hero h1 {
        font-size: clamp(38px, 10vw, 52px);
        line-height: 1.3;
        margin-bottom: 16px;
    }

    .hero-copy > p:not(.eyebrow) {
        font-size: 14px;
        line-height: 1.9;
    }

    .section-head h2,
    .about-copy h2,
    .newsletter-band h2,
    .contact-section h2 {
        font-size: 30px;
        line-height: 1.45;
    }

    .product-info h3 {
        font-size: 14px;
    }

    .mobile-drawer nav a {
        font-size: 17px;
        line-height: 2;
    }

    .modal-details h2 {
        font-size: 26px;
        line-height: 1.45;
    }

    .contact-section > div > p:not(.eyebrow) {
        font-size: 14px;
    }
}
