/* FELICCI — premium door hardware — shared design system */
:root{
  --bg:#14100b; --bg-2:#1b150e; --bg-3:#241c12;
  --surface:rgba(255,244,224,.045); --surface-2:rgba(255,244,224,.075);
  --line:rgba(233,205,150,.12); --line-2:rgba(233,205,150,.22);
  --text:#f7efe0; --muted:#c3ad8c; --muted-2:#8f7c5f;
  --gold:#e6bd6f; --gold-2:#f6dfa8; --gold-deep:#b3853c; --bronze:#c08552;
  --gold-grad:linear-gradient(135deg,#f9e4ab 0%,#e6bd6f 44%,#b3853c 100%);
  --radius:18px; --radius-sm:12px; --radius-lg:28px;
  --shadow:0 24px 70px -24px rgba(0,0,0,.72); --shadow-gold:0 20px 50px -18px rgba(230,189,111,.42);
  --ease:cubic-bezier(.16,.84,.34,1); --maxw:1280px;
  --font:"Manrope","Segoe UI",system-ui,sans-serif;
  --serif:"Cormorant Garamond","Georgia",serif;
  --script:"Pinyon Script","Cormorant Garamond",cursive;
  /* единый фон для всех изображений товаров */
  --prod-bg:radial-gradient(120% 120% at 50% 22%, #37291a 0%, #211910 58%, #16100a 100%);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(1200px 620px at 82% -12%, rgba(230,189,111,.16), transparent 60%),
    radial-gradient(1000px 560px at -5% 8%, rgba(192,133,82,.12), transparent 55%),
    radial-gradient(900px 500px at 30% 108%, rgba(230,189,111,.08), transparent 55%);}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select{font-family:inherit}
::selection{background:var(--gold);color:#1a1408}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;position:relative;z-index:1}
.eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600;display:inline-flex;gap:10px;align-items:center}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--gold);opacity:.7}
.serif{font-family:var(--serif)}
h1,h2,h3{line-height:1.05;font-weight:700;letter-spacing:-.02em}
.btn{display:inline-flex;align-items:center;gap:10px;justify-content:center;padding:15px 28px;border-radius:100px;font-weight:600;font-size:14.5px;letter-spacing:.01em;transition:.4s var(--ease);position:relative;overflow:hidden}
.btn-gold{background:var(--gold-grad);color:#20180a;box-shadow:var(--shadow-gold)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 26px 60px -18px rgba(230,189,111,.55)}
.btn-ghost{border:1px solid var(--line-2);color:var(--text);background:var(--surface)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-2);background:rgba(230,189,111,.06)}
.btn svg{width:18px;height:18px}
.hdr{position:sticky;top:0;z-index:50;backdrop-filter:blur(18px);background:rgba(17,13,8,.97);border-bottom:1px solid var(--line);transition:.4s var(--ease)}
.hdr-top{font-size:12.5px;color:var(--muted);border-bottom:1px solid var(--line)}
.hdr-top .wrap{display:flex;justify-content:space-between;align-items:center;height:40px;gap:24px}
.hdr-top a:hover{color:var(--gold-2)}
.hdr-top .links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.hdr-top .links .tsep{color:var(--line-2);margin:0 -4px}
.hdr-top .links a:nth-child(n+5){color:var(--gold-2)}
.hdr-main .wrap{display:flex;align-items:center;gap:38px;height:74px}
.logo{font-family:var(--script);font-size:42px;font-weight:400;letter-spacing:.01em;line-height:.8;display:flex;align-items:baseline;gap:2px;
  background:linear-gradient(180deg,#fae7b2,#e6bd6f 55%,#c08552);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:4px;filter:drop-shadow(0 4px 14px rgba(230,189,119,.28))}
.logo b{font-weight:400}
.logo span{font-family:var(--font);font-size:9.5px;letter-spacing:.44em;color:var(--muted);text-transform:uppercase;margin-left:8px;transform:translateY(-8px);-webkit-text-fill-color:var(--muted)}
.nav{display:flex;gap:22px;margin-left:6px}
.nav a{font-size:14px;color:var(--text);position:relative;padding:6px 0;font-weight:500;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--gold-grad);transition:.35s var(--ease)}
.nav a:hover{color:var(--gold-2)}.nav a:hover::after{width:100%}
.hdr-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid transparent;transition:.3s var(--ease);position:relative;color:var(--text)}
.icon-btn:hover{border-color:var(--line-2);background:var(--surface);color:var(--gold-2)}
.icon-btn svg{width:20px;height:20px}
.badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 4px;background:var(--gold-grad);color:#20180a;border-radius:20px;font-size:11px;font-weight:800;display:grid;place-items:center;box-shadow:0 4px 10px rgba(230,189,111,.5)}
.burger{display:none}
.menu-toggle{display:grid !important;margin-right:2px}
/* mega menu (off-canvas) */
.mega-scrim{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:.4s;z-index:100}
.mega-scrim.open{opacity:1;pointer-events:auto}
.mega{position:fixed;top:0;left:0;height:100%;width:440px;max-width:94vw;z-index:101;background:var(--bg-2);border-right:1px solid var(--line-2);transform:translateX(-100%);transition:.5s var(--ease);display:flex;flex-direction:column;overflow:auto;padding:24px 26px 30px}
.mega.open{transform:none}
.mega-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;position:sticky;top:0}
.mega-all{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-radius:14px;background:var(--gold-grad);color:#20180a;font-weight:700;margin-bottom:22px}
.mega-all span{font-weight:600;font-size:13px;opacity:.8}
.mega-sec{margin-bottom:22px}
.mega-sec h5{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.mbrand{border-bottom:1px solid var(--line)}
.mbrand-h{display:flex;justify-content:space-between;align-items:center;width:100%;padding:13px 0;color:var(--text);font-size:16px;font-weight:600}
.mbrand-h i{font-style:normal;color:var(--muted-2);font-size:12px;font-weight:400;margin-left:10px}
.mbrand-h .chev{width:18px;transition:.3s}
.mbrand.open .chev{transform:rotate(180deg)}
.mbrand-cats{display:none;flex-wrap:wrap;gap:8px;padding:0 0 14px}
.mbrand.open .mbrand-cats{display:flex}
.mbrand-cats a{font-size:13.5px;color:var(--muted);padding:7px 13px;border:1px solid var(--line-2);border-radius:100px;transition:.2s}
.mbrand-cats a:hover{color:var(--gold-2);border-color:var(--gold)}
.mbrand-cats a.all{color:var(--gold-2);border-color:rgba(230,189,111,.4);width:100%;text-align:center}
.mega-cats{display:flex;flex-wrap:wrap;gap:8px}
.mega-cats a{font-size:14px;color:var(--text);padding:8px 15px;border:1px solid var(--line-2);border-radius:100px;transition:.2s}
.mega-cats a:hover{color:var(--gold-2);border-color:var(--gold)}
.mega-tiles{display:grid;gap:10px}
.mega-tiles a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--line-2);border-radius:14px;transition:.25s}
.mega-tiles a:hover{border-color:var(--gold);background:rgba(230,189,111,.05)}
.mega-tiles b{font-size:15px}.mega-tiles span{color:var(--muted);font-size:12.5px}
.mega-links{display:flex;flex-direction:column;gap:2px}
.mega-links a{padding:9px 0;color:var(--text);font-size:15px;border-bottom:1px solid var(--line)}
.mega-links a:hover{color:var(--gold-2)}
.mega-foot{margin-top:auto;padding-top:18px;display:flex;flex-direction:column;gap:2px}
.mega-foot span{color:var(--muted-2);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.mega-foot a{font-family:var(--serif);font-size:24px;color:var(--gold-2)}
section{position:relative;z-index:1}
.sec{padding:110px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:52px}
.sec-head h2{font-size:clamp(30px,4vw,52px)}
.sec-head p{color:var(--muted);max-width:440px;margin-top:14px}
.reveal{opacity:0;transform:translateY(38px);transition:1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.grid{display:grid;gap:26px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{position:relative;border-radius:var(--radius);overflow:hidden;background:linear-gradient(180deg,var(--bg-3),var(--bg-2));border:1px solid var(--line);transition:.55s var(--ease);display:flex;flex-direction:column}
.card:hover{transform:translateY(-8px);border-color:rgba(230,189,111,.4);box-shadow:var(--shadow)}
.card-media{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--prod-bg);display:grid;place-items:center;perspective:1000px}
.card-media .prod{width:82%;transition:.7s var(--ease);filter:drop-shadow(0 30px 40px rgba(0,0,0,.55));transform-style:preserve-3d}
.card:hover .prod{animation:tilt3d 3.4s var(--ease) infinite}
@keyframes tilt3d{0%,100%{transform:rotateY(-17deg) scale(1.05)}50%{transform:rotateY(17deg) scale(1.05)}}
/* real product photos — clean white tile (blends with white-bg photos) */
.card-media.photo{background:#ffffff}
.card-media.photo::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -40px 60px -40px rgba(0,0,0,.12)}
.card-media.photo img{width:100%;height:100%;object-fit:contain;padding:9%;transition:.6s var(--ease)}
.card:hover .card-media.photo img{transform:scale(1.06)}
.card-media.photo .badge3d{display:none}
.card-name{font-family:var(--font);font-variant-numeric:lining-nums}
.cart-item .thumb.photo,.sum-item .th.photo{background:#f3efe7}
.cart-item .thumb.photo img,.sum-item .th.photo img{width:100%;height:100%;object-fit:contain;padding:6px}
/* colour variant swatches (round buttons) */
.swatches.vcolors{gap:9px}
.swatches.vcolors .swatch{width:22px;height:22px;border:2px solid rgba(255,255,255,.18);box-shadow:0 2px 6px rgba(0,0,0,.35)}
.swatches.vcolors .swatch.on{border-color:var(--gold);transform:scale(1.14);box-shadow:0 0 0 3px rgba(230,189,111,.22)}
.onecolor{font-size:12.5px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.08em}
.vbadge{position:absolute;bottom:14px;left:14px;z-index:2;font-size:10.5px;font-weight:700;letter-spacing:.1em;color:#20180a;background:var(--gold-grad);padding:5px 11px;border-radius:100px}
.card-media .sheen{position:absolute;inset:0;opacity:0;transition:.6s var(--ease);background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.10) 48%,transparent 62%)}
.card:hover .sheen{opacity:1}
.card-tags{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:6px;z-index:2}
.tag{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 11px;border-radius:100px;backdrop-filter:blur(6px)}
.tag.new{background:rgba(230,189,111,.16);color:var(--gold-2);border:1px solid rgba(230,189,111,.4)}
.tag.hit{background:rgba(255,255,255,.08);color:#fff;border:1px solid var(--line-2)}
.tag.d3{background:rgba(90,150,255,.14);color:#a9c7ff;border:1px solid rgba(120,160,255,.35)}
.badge3d{position:absolute;bottom:14px;left:14px;z-index:2;font-size:10.5px;font-weight:700;letter-spacing:.14em;color:#a9c7ff;background:rgba(15,10,5,.55);border:1px solid rgba(120,160,255,.35);padding:5px 10px;border-radius:100px;backdrop-filter:blur(6px);display:flex;gap:6px;align-items:center}
.badge3d .r{width:6px;height:6px;border-radius:50%;background:#a9c7ff;box-shadow:0 0 8px #a9c7ff}
.card-fav{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;z-index:2;display:grid;place-items:center;background:rgba(10,10,14,.5);backdrop-filter:blur(6px);border:1px solid var(--line);transition:.3s var(--ease);color:var(--text)}
.card-fav:hover{color:var(--gold-2);border-color:var(--gold)}
.card-fav.active{color:#ff6b81;border-color:#ff6b81}
.card-fav svg{width:18px;height:18px}
.card-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:12px;flex:1}
.card-cat{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.card-name{font-size:16.5px;font-weight:600;letter-spacing:-.01em}
.card-name a:hover{color:var(--gold-2)}
.card-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--gold-2);background:rgba(230,189,111,.1);border:1px solid rgba(230,189,111,.3);border-radius:100px;padding:3px 10px;width:fit-content;margin-top:2px}
.card-tag svg{width:12px;height:12px}
.swatches{display:flex;gap:7px;margin-top:2px}
.swatch{width:17px;height:17px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);cursor:pointer;transition:.25s}
.swatch:hover{transform:scale(1.18);border-color:var(--gold)}
.card-foot{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:11px}
.card-foot .foot-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.card-foot .price{font-size:20px;white-space:nowrap}
.card-foot .kit-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;color:var(--gold-2);padding:11px 12px;border:1px solid var(--line-2);border-radius:100px;white-space:nowrap;width:100%;transition:.2s}
.card-foot .kit-btn:hover{border-color:var(--gold);color:var(--gold);background:rgba(230,189,111,.06)}
.card-foot .kit-btn svg{width:13px;height:13px;flex:none}
.card-foot .add{margin-left:auto}
.price{font-size:20px;font-weight:700}
.price .cur{color:var(--gold);font-size:16px}
.add{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line-2);transition:.35s var(--ease);color:var(--text)}
.add:hover{background:var(--gold-grad);color:#20180a;border-color:transparent;transform:translateY(-2px)}
.add svg{width:20px;height:20px}
.add.added{background:var(--gold-grad);color:#20180a;border-color:transparent}
.ftr{border-top:1px solid var(--line);padding:70px 0 34px;margin-top:40px;background:var(--bg-2)}
.ftr-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px}
.ftr h4{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.ftr ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.ftr a{color:var(--text);font-size:14.5px;opacity:.85;transition:.25s}
.ftr a:hover{color:var(--gold-2);opacity:1}
.ftr-lead p{color:var(--muted);margin:18px 0 22px;max-width:320px;font-size:14.5px}
.ftr-soc{display:flex;gap:10px}
.ftr-soc a{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;color:var(--text)}
.ftr-soc a:hover{border-color:var(--gold);color:var(--gold-2)}
.ftr-bot{margin-top:52px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted-2);font-size:13px}
.drawer-scrim{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:.4s;z-index:98}
.drawer-scrim.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:420px;max-width:92vw;z-index:99;background:var(--bg-2);border-left:1px solid var(--line);transform:translateX(100%);transition:.5s var(--ease);display:flex;flex-direction:column}
.drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--line)}
.drawer-head h3{font-size:20px;font-family:var(--serif)}
.drawer-body{flex:1;overflow:auto;padding:12px 24px}
.cart-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-item .thumb{width:66px;height:66px;border-radius:12px;background:var(--bg-3);display:grid;place-items:center;flex:none;border:1px solid var(--line)}
.cart-item .thumb svg{width:80%}
.cart-item .meta{flex:1}
.cart-item .meta b{font-size:14.5px;font-weight:600}
.cart-item .meta .c{font-size:12px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.1em}
.cart-item .meta .p{color:var(--gold-2);font-weight:700;margin-top:6px}
.cart-item .rm{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);align-self:flex-start;flex:none;transition:.2s}
.cart-item .rm svg{width:17px;height:17px}
.cart-item .rm:hover{color:#ff6b81;border-color:#ff6b81;background:rgba(255,107,129,.08)}
.cart-item .kit-note{margin-top:6px;font-size:11px;color:var(--gold-2);background:rgba(230,189,111,.1);border:1px solid var(--line-2);padding:3px 9px;border-radius:100px;display:inline-flex;align-items:center;gap:5px}
.cart-item .kit-note svg{width:12px;height:12px;flex:none}
.cart-item .ci-body{display:flex;gap:14px;flex:1;align-items:flex-start;color:inherit;min-width:0;text-decoration:none}
.cart-item .ci-body:hover b{color:var(--gold-2)}
.kit-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--gold-2);margin-top:2px;transition:.2s;align-self:flex-start}
.kit-link:hover{color:var(--gold);gap:9px}
.drawer-foot{padding:22px 24px;border-top:1px solid var(--line)}
.drawer-foot .row{display:flex;justify-content:space-between;margin-bottom:16px;font-size:15px}
.drawer-foot .row b{font-size:22px}
.cart-empty{text-align:center;color:var(--muted);padding:60px 20px}
.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,120%);z-index:120;background:var(--bg-3);border:1px solid var(--line-2);border-radius:100px;padding:14px 26px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow);transition:.5s var(--ease);font-size:14.5px}
.toast.show{transform:translate(-50%,0)}
.toast .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}
.story-row{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;margin-bottom:70px}
.story-row:nth-child(even) .story-media{order:2}
.story-row:last-child{margin-bottom:0}
.story-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line-2);box-shadow:var(--shadow);aspect-ratio:16/9;background:#120c06}
.story-media video{width:100%;height:100%;object-fit:cover;display:block}
.story-media .frameglow{position:absolute;inset:0;pointer-events:none;border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px rgba(230,189,111,.18), inset 0 -60px 90px -40px rgba(0,0,0,.7)}
.story-media .num{position:absolute;top:16px;left:18px;z-index:2;font-family:var(--serif);font-size:20px;color:var(--gold-2);background:rgba(15,10,5,.6);border:1px solid var(--line-2);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;backdrop-filter:blur(6px)}
.story-media .mutehint{position:absolute;bottom:14px;right:14px;z-index:2;font-size:11px;color:var(--muted);background:rgba(15,10,5,.55);border:1px solid var(--line);padding:5px 11px;border-radius:100px;backdrop-filter:blur(6px)}
.story-text .k{color:var(--gold);font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:700}
.story-text h3{font-family:var(--serif);font-size:clamp(26px,3.2vw,40px);margin:14px 0 16px;line-height:1.06}
.story-text p{color:var(--muted);font-size:16px;line-height:1.7}
.story-text .quote{margin-top:20px;padding-left:18px;border-left:2px solid var(--gold);font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold-2)}
.story-lead{text-align:center;max-width:640px;margin:0 auto 60px}
.story-lead p{color:var(--muted);margin-top:16px;font-size:17px}
@media(max-width:860px){.story-row{grid-template-columns:1fr;gap:24px;margin-bottom:48px}.story-row:nth-child(even) .story-media{order:0}}
@media(max-width:1080px){.grid-4{grid-template-columns:repeat(2,1fr)}.ftr-grid{grid-template-columns:1fr 1fr}.nav{display:none}.burger{display:grid}}
@media(max-width:760px){.wrap{padding:0 20px}.hdr-top{display:none}.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.sec{padding:70px 0}.sec-head{flex-direction:column;align-items:flex-start}}
