*{box-sizing:border-box}
:root{--bg:#f4f0e7;--paper:#fffdf8;--ink:#25281f;--olive:#596045;--line:#d8d2c5;--gold:#a58c58}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
body{padding-bottom:100px}.header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(244,240,231,.96);backdrop-filter:blur(10px);z-index:10}
.brand{display:flex;gap:11px;align-items:center}.brand-circle{width:42px;height:42px;border:1px solid var(--olive);border-radius:50%;display:grid;place-items:center;font:700 13px Georgia,serif}.brand strong,.brand span{display:block}.brand span{font-size:11px;opacity:.55;margin-top:2px}.secure{font-size:12px;opacity:.6}.container{max-width:1240px;margin:auto;padding:40px 20px 90px}.hero{max-width:700px;margin-bottom:34px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--olive)}.hero h1{font:400 clamp(38px,6vw,66px)/1 Georgia,serif;margin:8px 0 14px}.hero p{font-size:17px;line-height:1.5;opacity:.7}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;position:relative;transition:.18s}.card.selected{border-color:var(--olive);box-shadow:0 0 0 2px var(--olive) inset}.select{width:100%;background:none;border:0;text-align:left;padding:12px 12px 18px;cursor:pointer;color:inherit;display:block}.check{display:none;position:absolute;right:12px;top:12px;width:28px;height:28px;border-radius:50%;background:var(--olive);color:#fff;place-items:center;z-index:2}.selected .check{display:grid}.imgwrap{height:210px;background:#ebe6da;border-radius:12px;display:grid;place-items:center;overflow:hidden;margin-bottom:14px}.imgwrap img{width:100%;height:100%;object-fit:contain}.placeholder{font:38px Georgia,serif;opacity:.3}.sku{font-size:10px;letter-spacing:.12em;color:var(--gold);font-weight:700}.format{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.48;margin-top:5px}.card h2{font:400 18px/1.2 Georgia,serif;margin:8px 0 5px}.presentation{font-size:12px;opacity:.62;min-height:29px;margin-bottom:10px}.price{font-size:16px;font-weight:700}.stock{font-size:11px;opacity:.45;margin-top:6px}.qty{display:flex;align-items:center;justify-content:center;gap:18px;border-top:1px solid var(--line);padding:12px;background:#fffdf8;position:relative;z-index:3}.qty button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:18px;cursor:pointer}.bottom{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);width:min(760px,calc(100% - 28px));background:var(--ink);color:#fff;border-radius:18px;padding:14px 16px 14px 22px;display:flex;align-items:center;justify-content:space-between;z-index:20;box-shadow:0 18px 50px rgba(0,0,0,.2)}.bottom span,.bottom strong{display:block}.bottom span{font-size:12px;opacity:.6;margin-bottom:3px}.bottom button,.pay,.button-link{border:0;border-radius:12px;padding:14px 18px;font-weight:700;cursor:pointer;text-decoration:none}.bottom button{background:#f3eee3;color:var(--ink)}.bottom button:disabled{opacity:.35;cursor:not-allowed}.modal{display:none;position:fixed;inset:0;background:rgba(30,30,25,.58);z-index:50;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.box{position:relative;background:var(--paper);width:min(620px,100%);max-height:92vh;overflow:auto;border-radius:22px;padding:30px}.box h2{font:400 34px Georgia,serif;margin:5px 0 20px}.close{position:absolute;right:16px;top:12px;background:none;border:0;font-size:30px;cursor:pointer}.summary-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}.summary-row small{display:block;opacity:.55;margin-top:3px}.summary-total{display:flex;justify-content:space-between;font-weight:700;font-size:19px;padding:15px 0}.box label{display:block;font-size:13px;font-weight:700;margin:12px 0 16px}.box input{display:block;width:100%;margin-top:7px;padding:14px;border:1px solid var(--line);border-radius:10px;font-size:16px}.pay{width:100%;margin-top:18px;background:var(--olive);color:#fff;font-size:16px}.message{color:#a33024;font-size:13px;margin-top:10px}.box>small{display:block;text-align:center;opacity:.55;margin-top:12px;line-height:1.4}.error,.empty-state{padding:18px;border-radius:12px;margin-bottom:24px}.error{background:#f8dfdb;color:#81261e}.empty-state{background:var(--paper);border:1px solid var(--line)}.empty-state strong,.empty-state span{display:block}.empty-state span{opacity:.6;margin-top:5px}.success-wrap{max-width:760px;padding-top:10vh}.success-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:42px;text-align:center}.success-icon{width:64px;height:64px;border-radius:50%;background:var(--olive);color:#fff;display:grid;place-items:center;margin:0 auto 20px;font-size:30px}.success-card h1{font:400 44px Georgia,serif}.success-total{font-size:24px;font-weight:700}.success-actions{display:flex;gap:15px;align-items:center;justify-content:center;margin-top:20px;flex-wrap:wrap}.button-link{background:var(--olive);color:#fff}
@media(max-width:950px){.grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.secure{display:none}.container{padding:28px 12px 90px}.grid{grid-template-columns:repeat(2,1fr);gap:10px}.imgwrap{height:145px}.card h2{font-size:15px}.price{font-size:14px}.modal{align-items:flex-end;padding:0}.box{border-radius:22px 22px 0 0}.bottom{bottom:8px}.success-card{padding:30px 20px}}
.card.selected .qty{
    display:flex !important;
}
.qty span{
    min-width:28px;
    text-align:center;
    font-weight:700;
    font-size:16px;
}
.qty button{
    display:grid;
    place-items:center;
    line-height:1;
    font-weight:700;
}


.catalog-search-wrap{
    margin:-4px 0 28px;
}
.catalog-search{
    position:relative;
    max-width:680px;
}
.catalog-search input{
    width:100%;
    height:54px;
    border:1px solid var(--line);
    border-radius:16px;
    background:var(--paper);
    color:var(--ink);
    font-size:15px;
    padding:0 52px 0 46px;
    outline:none;
    transition:border-color .18s, box-shadow .18s, background .18s;
}
.catalog-search input::placeholder{
    color:rgba(37,40,31,.45);
}
.catalog-search input:focus{
    border-color:var(--olive);
    box-shadow:0 0 0 3px rgba(89,96,69,.10);
    background:#fff;
}
.catalog-search-icon{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
    font-size:22px;
    color:var(--olive);
    pointer-events:none;
}
.clear-search{
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:transparent;
    color:var(--ink);
    font-size:24px;
    line-height:1;
    cursor:pointer;
}
.clear-search:hover{
    background:rgba(89,96,69,.08);
}
.search-meta{
    margin-top:8px;
    min-height:18px;
    font-size:12px;
    color:rgba(37,40,31,.55);
}
.no-search-results{
    margin-top:24px;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:16px;
    padding:28px;
    text-align:center;
}
.no-search-results strong,
.no-search-results span{
    display:block;
}
.no-search-results strong{
    font:400 22px Georgia,serif;
}
.no-search-results span{
    margin-top:7px;
    opacity:.58;
}
.card[hidden]{
    display:none !important;
}
@media(max-width:700px){
    .catalog-search-wrap{
        margin-bottom:20px;
    }
    .catalog-search input{
        height:50px;
        font-size:14px;
    }
}

.pay.loading{opacity:.7;cursor:wait}
.message[data-type="error"]{color:#a33024}
.message[data-type="info"]{color:#596045}
#payment-element{margin-top:12px}
