body{margin:0;background:#0b0908;color:#efe6d4;font-family:'Jost',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:inherit;text-decoration:none}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#d4af6a;font-weight:400}
.hero{position:relative;isolation:isolate;overflow:hidden;background:#0b0908}
.hero-bg{position:absolute;left:-12px;right:-12px;top:-12px;bottom:-12px;z-index:-1;background-image:linear-gradient(180deg,rgba(11,9,8,1) 0%,rgba(11,9,8,.9) 13.5%,rgba(11,9,8,0) 33%),linear-gradient(180deg,rgba(11,9,8,.2),rgba(11,9,8,.2)),linear-gradient(180deg,rgba(11,9,8,0) 72%,#0b0908 100%),var(--hero-img,url(hero_logo_new.jpg));background-size:cover;background-position:center top;filter:blur(2px)}
.deckwrap{position:relative;isolation:isolate}
.deckbg{position:absolute;inset:0;z-index:-1;background-image:var(--deck-img,url(bg_coloda.jpg));background-size:cover;background-position:center;opacity:.8;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 24%,#000 76%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 24%,#000 76%,transparent 100%)}
.deckcard{flex:0 1 270px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:18px;padding:28px 22px 30px;background:rgba(11,9,8,.72);border:1px solid rgba(212,175,106,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .3s,transform .3s}
.deckcard:hover{border-color:#d4af6a;transform:translateY(-4px)}
.deckcard img,.deckcard video,.deckcard .backart{transition:transform .8s}
.deckcard:hover img,.deckcard:hover video,.deckcard:hover .backart{transform:scale(1.06)}
.shadowtxt{text-shadow:0 2px 18px rgba(0,0,0,.9),0 0 3px rgba(0,0,0,.8)}
@media (max-width:760px){
.hero{min-height:1180px!important}
#top{justify-content:flex-end!important;padding:0 24px 72px!important;max-width:none!important}
.hero-bg{top:250px;height:660px;background-image:linear-gradient(180deg,#0b0908 0%,rgba(11,9,8,0) 14%,rgba(11,9,8,0) 60%,rgba(11,9,8,.85) 86%,#0b0908 100%),linear-gradient(180deg,rgba(11,9,8,.18),rgba(11,9,8,.18)),var(--hero-img,url(hero_logo_new.jpg))}
.hdr{justify-content:center!important;text-align:center}
.hdr nav{justify-content:center!important}
.ftr{justify-content:center!important;text-align:center}
.ftr>*{justify-content:center!important}
.copy{text-align:center!important}
.ftr-r{align-items:center!important}
.ftr-r>*{justify-content:center!important}
}
.band{background-image:linear-gradient(90deg,rgba(11,9,8,.94) 0%,rgba(11,9,8,.7) 55%,rgba(11,9,8,.35) 100%),var(--band-img,url(hero_clean.jpg));background-size:cover;background-position:center}
.btn-gold{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 28px;background:#d4af6a;color:#16110a;font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;border:1px solid #d4af6a;cursor:pointer;font-family:inherit;transition:background .25s,box-shadow .25s}
.btn-gold:hover{background:#ecd093;box-shadow:0 0 28px rgba(212,175,106,.35)}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 28px;background:transparent;color:#efe6d4;font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;border:1px solid rgba(212,175,106,.55);cursor:pointer;font-family:inherit;transition:border-color .25s,background .25s}
.btn-ghost:hover{border-color:#d4af6a;background:rgba(212,175,106,.08)}
.navlink{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#cfc4ac;padding:12px 4px;transition:color .2s}
.navlink:hover{color:#ecd093}
.tile{position:relative;overflow:hidden;border:1px solid rgba(212,175,106,.28);background:#120e0c;display:block;transition:border-color .3s,transform .3s}
.tile:hover{border-color:#d4af6a;transform:translateY(-4px)}
.tile img{transition:transform .8s}
.tile:hover img{transform:scale(1.06)}
.fld{width:100%;min-height:50px;background:rgba(255,255,255,.03);border:1px solid rgba(212,175,106,.35);color:#efe6d4;font-family:inherit;font-size:16px;padding:12px 16px;outline:none}
.fld:focus{border-color:#d4af6a;box-shadow:0 0 0 3px rgba(167,125,224,.25)}
.fld::placeholder{color:#8f846f}
select.fld option{background:#16110e;color:#efe6d4}
.cardbtn{background:none;border:0;padding:0;cursor:pointer;display:block;font-family:inherit}
.cardbtn:focus-visible{outline:2px solid #a77de0;outline-offset:8px}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:14px;overflow:hidden}
@keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hint{animation:pulse 2.6s ease-in-out infinite}
.float{animation:floaty 6s ease-in-out infinite}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.reveal{animation:rise .9s .5s both ease-out}

/* ===== шапка внутренних страниц и меню «Каталог» ===== */
.sitehead{position:sticky;top:0;z-index:40;background:rgba(11,9,8,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(212,175,106,.18)}
.catmenu{position:relative}
.catbtn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 22px;background:transparent;color:#efe6d4;font-size:14px;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(212,175,106,.55);cursor:pointer;font-family:inherit;transition:border-color .25s,background .25s}
.catbtn:hover,.catmenu.open .catbtn{border-color:#d4af6a;background:rgba(212,175,106,.1)}
.catbtn svg{transition:transform .25s}
.catmenu.open .catbtn svg{transform:rotate(180deg)}
.catpanel{position:absolute;right:0;top:calc(100% + 10px);width:310px;background:#120e0c;border:1px solid rgba(212,175,106,.5);box-shadow:0 24px 60px rgba(0,0,0,.7);padding:8px;z-index:60;display:none}
.catmenu.open .catpanel{display:block;animation:rise .25s both ease-out}
.catitem{display:flex;gap:14px;align-items:center;padding:10px;color:#efe6d4;transition:background .2s}
.catitem:hover,.catitem:focus-visible{background:rgba(212,175,106,.12)}
.catitem img{width:56px;height:56px;object-fit:cover;flex:0 0 auto;border:1px solid rgba(212,175,106,.3)}
.catitem b{display:block;font-size:24px;font-weight:500;color:#f3e7c9}
.catitem small{display:block;font-size:13px;color:#b3a78f;margin-top:2px}
.catall{display:block;padding:12px 10px 8px;margin-top:4px;border-top:1px solid rgba(212,175,106,.2);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#d4af6a}
.catall:hover{color:#ecd093}
@media (max-width:760px){.catpanel{right:auto;left:50%;width:min(310px,calc(100vw - 32px));margin-left:calc(min(310px,100vw - 32px) / -2)}}

/* ===== карточки товаров ===== */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px}
.pcard{display:flex;flex-direction:column;background:#120e0c;border:1px solid rgba(212,175,106,.28);transition:border-color .3s,transform .3s;min-width:0}
.pcard:hover{border-color:#d4af6a;transform:translateY(-4px)}
.pcard.in{animation:cardin .75s var(--d,0ms) backwards cubic-bezier(.2,.7,.2,1)}
@keyframes cardin{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.pimg{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#0d0a09}
.pimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}
.pcard:hover .pimg img{transform:scale(1.06)}
.pimg video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}
.pcard:hover .pimg video,.pcard:hover .pimg .backart{transform:scale(1.06)}
.pimg.deck{background:radial-gradient(circle at 50% 40%,#2a1a44 0%,#120d1c 60%,#0a0810 100%)}
.pimg.deck img{object-fit:contain;padding:20px}
.backart{width:100%;height:100%;padding:24px 34px;background:radial-gradient(circle at 50% 42%,#2a1a44,#0a0810);transition:transform .8s}
.badge{position:absolute;top:12px;left:12px;background:rgba(11,9,8,.82);border:1px solid #d4af6a;color:#e8cf94;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px}
.pbody{padding:20px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.pname{margin:4px 0 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:500;line-height:1.15;color:#f3e7c9}
.pname a:hover{color:#ecd093}
.pprice{color:#e8cf94;letter-spacing:.08em;font-size:16px}
.pbtn{margin-top:auto;align-self:flex-start;min-height:44px;padding:0 22px;margin-top:14px}
.pcard .pbody .pbtn{margin-top:14px}
.skel{background:#120e0c;border:1px solid rgba(212,175,106,.15);overflow:hidden}
.skel i{display:block;background:linear-gradient(100deg,#171210 20%,#241c17 40%,#171210 60%);background-size:220% 100%;animation:shimmer 1.4s infinite linear}
@keyframes shimmer{from{background-position:120% 0}to{background-position:-120% 0}}
@media (prefers-reduced-motion:reduce){.pcard.in{animation:none}.skel i{animation:none}.catmenu.open .catpanel{animation:none}}

/* ===== окна ===== */
.modal-back{position:fixed;inset:0;background:rgba(5,4,3,.8);display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;z-index:100;opacity:0;pointer-events:none;transition:opacity .25s;overflow:auto}
.modal-back.open{opacity:1;pointer-events:auto}
.modal{position:relative;background:#14100d;border:1px solid #d4af6a;max-width:520px;width:100%;padding:34px 32px 30px;margin:auto;box-shadow:0 30px 80px rgba(0,0,0,.7)}
.modal-x{position:absolute;right:10px;top:8px;width:44px;height:44px;background:none;border:0;color:#d4af6a;font-size:30px;line-height:1;cursor:pointer}
.modal-x:hover{color:#ecd093}
@media (max-width:520px){.modal{padding:30px 20px 24px}}
[hidden]{display:none!important}
/* на телефоне шапка не липкая, но должна оставаться выше содержимого,
   иначе выпадающее меню «Каталог» уезжает под следующую секцию */
@media (max-width:760px){.sitehead{position:relative;z-index:50}}
.catpanel{text-align:left}

/* ===== корзина ===== */
.prow{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.prow .pbtn,.prow .pcart{margin-top:0!important;min-height:44px;padding:0 18px;font-size:13px}
.cartbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:44px;background:transparent;color:#efe6d4;border:1px solid rgba(212,175,106,.55);cursor:pointer;transition:border-color .25s,background .25s}
.cartbtn:hover{border-color:#d4af6a;background:rgba(212,175,106,.1)}
.cartn{position:absolute;top:-9px;right:-9px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#a77de0;color:#120c1b;font-size:12px;font-weight:500;line-height:20px;text-align:center}
.cartn[hidden]{display:none}
.hdr{position:relative}
@media (max-width:760px){.cartbtn{position:absolute;right:16px;top:14px}}
.cline{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(212,175,106,.18)}
.cth{flex:0 0 64px;height:80px;background:#0d0a09;border:1px solid rgba(212,175,106,.25);overflow:hidden;display:block}
.cth img{width:100%;height:100%;display:block;object-fit:cover}
.cinfo{flex:1;min-width:0}
.cname{display:block;font-size:22px;color:#f3e7c9;line-height:1.15}
.cname:hover{color:#ecd093}
.copt{font-size:13px;color:#b3a78f;margin-top:3px}
.cqty{display:inline-flex;align-items:center;border:1px solid rgba(212,175,106,.35);margin-top:10px}
.cqty button{width:38px;height:38px;background:none;border:0;color:#d4af6a;font-size:20px;cursor:pointer;font-family:inherit}
.cqty button:hover{background:rgba(212,175,106,.12)}
.cqty output{min-width:34px;text-align:center;font-size:16px}
.csum{display:flex;flex-direction:column;align-items:flex-end;gap:8px;color:#e8cf94;font-size:17px;white-space:nowrap}
.crm{width:38px;height:38px;background:none;border:1px solid rgba(232,160,160,.4);color:#e8a0a0;font-size:20px;cursor:pointer;line-height:1}
.crm:hover{background:rgba(232,160,160,.1)}
.ctotal{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0 0;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#b3a78f}
.ctotal b{font-size:34px;font-weight:500;color:#e8cf94;letter-spacing:0;text-transform:none}
.ltoast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);z-index:150;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:center;max-width:min(92vw,520px);padding:14px 18px;background:#1b1510;border:1px solid #d4af6a;color:#efe6d4;font-size:15px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
.ltoast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.ltoast button{background:none;border:0;border-bottom:1px solid #d4af6a;color:#ecd093;font:inherit;cursor:pointer;padding:2px 0}
@media (max-width:760px){.ltoast{bottom:88px}}
@media (max-width:520px){.cline{flex-wrap:wrap}.cth{flex-basis:56px;height:70px}.csum{flex-direction:row;align-items:center;justify-content:space-between;width:100%}}

/* ===== загруженные фото целиком, без обрезки ===== */
img[src*="uploads/"]{object-fit:contain!important;background:#0d0a09}
.pimg img[src*="uploads/"]{padding:6px}
/* загруженные через админку фото приближаются при наведении наравне с остальными */
.pimg:has(img[src*="uploads/"]){background:#0d0a09}
.gmain img[src*="uploads/"]{padding:0}
.tile img[src*="uploads/"]{object-fit:cover!important}
