/* ============================================================
   DANISEI MARKETPLACE — Design System 2026
   Fonts: Prata (serif) + Golos Text (body) + Onest (brand)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Prata&family=Golos+Text:wght@400;500;600;700&family=Onest:wght@400;500;600;700;800&display=swap');

/* ── Tokens ─────────────────────────────────── */
:root {
  --bg:    #FDFBF9; --bg2:   #FFFFFF;
  --line:  #EDE7E0; --ink:   #131C33;
  --sub:   #5A6072; --nav-sub:#3C4356;
  --mut:   #9AA0AE; --field: #F2EFEA;
  --btn:   #131C33; --btnfg: #FFFFFF;
  --imgf:  none;
  --coral: #E85C3F;
  --cgrad: linear-gradient(135deg,#FF8A65,#F4552B);
  --lgrad: linear-gradient(160deg,#FFB59E 0%,#F4552B 100%);
  --r2: 2px; --r4: 4px;
}
[data-theme="dark"] {
  --bg:#0D1526; --bg2:#111B30; --line:#263050;
  --ink:#F2EFEA; --sub:#A6ADC0; --nav-sub:#A6ADC0;
  --mut:#6E7890; --field:#1A2742;
  --btn:#F2EFEA; --btnfg:#131C33;
  --imgf:brightness(0.62) saturate(0.92);
}

/* ── Reset ───────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:'Golos Text',sans-serif;color:var(--ink);background:var(--bg);overflow-x:hidden;transition:background .25s,color .25s}
a{color:var(--coral);text-decoration:none;transition:color .15s}
a:hover{color:#C4482F}
img{display:block;max-width:100%}
button{font-family:'Golos Text',sans-serif;cursor:pointer;border:none}

/* ── Header ──────────────────────────────────── */
.site-header{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:200;transition:background .25s,border-color .25s}
.header-top{display:flex;align-items:center;justify-content:space-between;padding:18px 56px 14px;gap:20px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;flex:none}
.logo-mark{width:34px;height:34px;border-radius:50%;background:var(--lgrad);position:relative;overflow:hidden;flex-shrink:0}
.logo-mark::after{content:'';position:absolute;left:50%;top:-20%;width:3px;height:140%;background:var(--bg);transform:rotate(38deg);transition:background .25s}
.logo-name{font:700 15px/1.1 'Onest',sans-serif;letter-spacing:.22em;color:var(--ink)}
.logo-sub{font-size:8.5px;letter-spacing:.32em;color:var(--coral);text-transform:uppercase;font-family:'Onest',sans-serif}
.site-nav{display:flex;gap:24px}
.site-nav a{font-size:14px;color:var(--nav-sub);white-space:nowrap;transition:color .15s}
.site-nav a:hover,.site-nav a.active{color:var(--coral)}
.hdr-right{display:flex;align-items:center;gap:12px;flex:none}
.corp-link{font-size:13px;color:var(--nav-sub);white-space:nowrap}
.lang-sw{display:flex;align-items:center;gap:6px;font-size:13px}
.lang-sw a{color:var(--mut)}
.lang-sw .cur{color:var(--nav-sub);font-weight:600}
.lang-sw span{color:var(--mut)}
.theme-btn{background:none;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;font-size:15px;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .25s}
.theme-btn:hover{border-color:var(--coral);color:var(--coral)}
.btn-price{background:var(--btn);color:var(--btnfg);border-radius:var(--r2);padding:11px 22px;font:500 13.5px 'Golos Text',sans-serif;white-space:nowrap;transition:opacity .15s,background .25s,color .25s}
.btn-price:hover{opacity:.85}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:var(--r2);padding:5px 9px;font-size:18px;color:var(--ink);line-height:1;cursor:pointer}
/* search */
.hdr-search{padding:0 56px 14px}
.s-field{display:flex;align-items:center;gap:10px;background:var(--field);border:1px solid var(--line);border-radius:var(--r4);padding:12px 16px;transition:background .25s,border-color .25s}
.s-icon{width:15px;height:15px;border:2px solid var(--mut);border-radius:50%;position:relative;flex-shrink:0}
.s-icon::after{content:'';position:absolute;width:2px;height:7px;background:var(--mut);bottom:-5px;right:-3px;transform:rotate(-45deg);border-radius:1px}
.s-inp{flex:1;border:none;outline:none;background:none;font-size:14px;font-family:'Golos Text',sans-serif;color:var(--ink)}
.s-inp::placeholder{color:var(--mut)}
.s-count{font-size:11.5px;color:var(--mut);white-space:nowrap;letter-spacing:.06em}

/* ── Hero ────────────────────────────────────── */
.hero{position:relative;overflow:hidden;min-height:640px;display:flex;align-items:center;background:var(--bg);transition:background .25s}
.hero-art{position:absolute;inset:0 0 0 28%}
.hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:20% center;filter:var(--imgf);transition:filter .3s}
.hero-mask-l{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 18%,rgba(253,251,249,0) 60%);transition:background .25s}
.hero-mask-t{position:absolute;inset:0 0 auto;height:80px;pointer-events:none;background:linear-gradient(var(--bg),transparent);transition:background .25s}
.hero-mask-b{position:absolute;inset:auto 0 0;height:80px;pointer-events:none;background:linear-gradient(transparent,var(--bg));transition:background .25s}
.hero-txt{position:relative;z-index:2;padding:80px 56px;max-width:580px}
.overline{font-size:12px;letter-spacing:.28em;color:var(--coral);text-transform:uppercase;margin-bottom:22px;font-weight:500;display:flex;align-items:center;gap:10px}
.overline::after{content:'';width:24px;height:1px;background:var(--coral);opacity:.6}
.hero-txt h1{font:400 52px/1.12 'Prata',serif;color:var(--ink);margin:0 0 24px;transition:color .25s}
.hero-lead{font-size:16px;line-height:1.68;color:var(--sub);margin:0 0 36px;max-width:460px;transition:color .25s}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.btn-cta{background:var(--cgrad);color:#fff;border-radius:var(--r2);padding:16px 32px;font:500 14.5px 'Golos Text',sans-serif;transition:opacity .15s,transform .15s}
.btn-cta:hover{opacity:.9;transform:translateY(-1px)}
.btn-ghost{background:none;color:var(--ink);border:1px solid var(--line);border-radius:var(--r2);padding:16px 32px;font:500 14.5px 'Golos Text',sans-serif;transition:border-color .15s,color .25s}
.btn-ghost:hover{border-color:var(--ink)}

/* ── Page hero (inner pages) ─────────────────── */
.page-hero{background:#131C33;padding:56px 56px 48px;position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(232,92,63,.08) 0%,transparent 60%),radial-gradient(ellipse 55% 90% at 85% 50%,rgba(255,180,140,.13),transparent);pointer-events:none}
.ph-inner{position:relative;z-index:1;max-width:660px}
.ph-eye{font-size:11px;letter-spacing:.26em;color:var(--coral);text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-weight:500}
.ph-eye::after{content:'';width:20px;height:1px;background:var(--coral);opacity:.5}
.page-hero h1{font:400 44px/1.1 'Prata',serif;color:#fff;margin:0 0 14px}
.page-hero h1 em{color:var(--coral);font-style:italic}
.page-hero .lead{font-size:15.5px;color:rgba(255,255,255,.55);line-height:1.72}

/* ── Section titles ──────────────────────────── */
.sec-title{font:400 34px 'Prata',serif;color:var(--ink);margin:0 0 10px;transition:color .25s}
.sec-sub{font-size:15px;color:var(--sub);max-width:560px;line-height:1.65;transition:color .25s}
.sec-label{font-size:11.5px;font-weight:600;letter-spacing:.24em;color:var(--coral);text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.sec-label::after{content:'';width:20px;height:1px;background:var(--coral);opacity:.5}

/* ── Directions grid ─────────────────────────── */
.dirs-wrap{padding:72px 56px;background:var(--bg2);border-top:1px solid var(--line);transition:background .25s,border-color .25s}
.dirs-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}
.dirs-hdr h2{font:400 34px 'Prata',serif;color:var(--ink);transition:color .25s}
.all-link{font-size:13.5px;color:var(--coral)}
.all-link:hover{color:#C4482F}
.dirs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.dir-card{background:var(--bg2);padding:34px 26px 38px;display:flex;flex-direction:column;gap:12px;min-height:196px;text-decoration:none;color:inherit;transition:background .18s}
.dir-card:hover{background:var(--bg)}
.dir-num{font:400 14px 'Prata',serif;color:var(--coral)}
.dir-name{font:600 18px 'Onest',sans-serif;color:var(--ink);transition:color .25s}
.dir-desc{font-size:13.5px;line-height:1.55;color:var(--sub);transition:color .25s}
.dir-more{margin-top:auto;font-size:13px;color:var(--ink);transition:color .25s}
.dir-card:hover .dir-more{color:var(--coral)}

/* ── Product grid ────────────────────────────── */
.prod-section{padding:48px 56px;background:var(--bg);transition:background .25s}
.prod-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.pf-chip{font-size:13px;font-weight:500;padding:8px 18px;border-radius:var(--r2);border:1px solid var(--line);background:var(--bg2);color:var(--ink);cursor:pointer;transition:all .15s;font-family:'Golos Text',sans-serif}
.pf-chip:hover,.pf-chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.prod-card{background:var(--bg2);display:flex;flex-direction:column;transition:background .18s;border-bottom:1px solid var(--line)}
.prod-card:hover{background:var(--bg)}
.prod-thumb{height:180px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:var(--field)}
.prod-thumb svg{opacity:.65;color:var(--sub);width:48px;height:48px}
.prod-badge{position:absolute;top:12px;left:12px;background:var(--coral);color:#fff;font-size:10px;font-weight:700;padding:3px 9px;border-radius:var(--r2);letter-spacing:.08em;text-transform:uppercase}
.prod-body{padding:16px 18px 20px;flex:1;display:flex;flex-direction:column}
.prod-cat{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:6px}
.prod-name{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:4px;line-height:1.3;transition:color .25s;display:block}
.prod-mfr{font-size:12.5px;color:var(--mut);margin-bottom:14px;flex:1}
.btn-req{width:100%;background:var(--ink);color:#fff;border-radius:var(--r2);padding:11px;font:500 13px 'Golos Text',sans-serif;transition:background .15s,color .25s}
.btn-req:hover{background:var(--coral)}

/* ── Search bar (inner pages) ────────────────── */
.prod-search{padding:28px 56px;background:var(--bg);border-bottom:1px solid var(--line);transition:background .25s}
.prod-search .s-field{max-width:540px}

/* ── Features grid ───────────────────────────── */
.feat-section{padding:64px 56px;background:var(--bg2);transition:background .25s}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:36px}
.feat-card{background:var(--bg2);padding:32px 26px 36px;transition:background .18s;border-bottom:1px solid var(--line)}
.feat-card:hover{background:var(--bg)}
.feat-icon{width:40px;height:40px;margin-bottom:16px;color:var(--ink)}
.feat-icon svg{stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;width:40px;height:40px}
.feat-h{font:600 15.5px 'Onest',sans-serif;color:var(--ink);margin-bottom:8px;transition:color .25s}
.feat-p{font-size:13.5px;color:var(--sub);line-height:1.65;transition:color .25s}

/* ── Investors strip ─────────────────────────── */
.inv-strip{padding:52px 56px;display:flex;justify-content:space-between;align-items:center;gap:36px;border-top:1px solid var(--line);background:var(--bg);transition:all .25s}
.inv-over{font-size:11px;letter-spacing:.26em;color:var(--coral);text-transform:uppercase;margin-bottom:12px}
.inv-h{font:400 26px 'Prata',serif;color:var(--ink);margin-bottom:8px;transition:color .25s}
.inv-p{font-size:14.5px;color:var(--sub);max-width:520px;line-height:1.6;transition:color .25s}
.btn-inv{flex:none;border:1px solid var(--coral);color:var(--coral);border-radius:var(--r2);padding:15px 30px;font:500 14.5px 'Golos Text',sans-serif;white-space:nowrap;transition:background .15s,color .15s;text-decoration:none;display:inline-block}
.btn-inv:hover{background:var(--coral);color:#fff}

/* ── CTA section ─────────────────────────────── */
.cta-sec{padding:68px 56px;background:#131C33;color:#fff;display:grid;grid-template-columns:1fr auto;gap:44px;align-items:center}
.cta-sec h2{font:400 30px 'Prata',serif;margin:0 0 12px;color:#fff}
.cta-sec p{font-size:14.5px;color:#9AA3BC;margin:0;max-width:500px;line-height:1.6}
.cta-row{display:flex;gap:10px;flex-wrap:wrap}
.cta-email{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--r2);padding:14px 18px;font:400 13.5px 'Golos Text',sans-serif;color:#9AA3BC;width:220px;outline:none}
.cta-email::placeholder{color:#9AA3BC}
.cta-email:focus{border-color:rgba(248,90,43,.5);color:#fff}
.btn-send{background:var(--cgrad);color:#fff;border-radius:var(--r2);padding:14px 26px;font:500 14px 'Golos Text',sans-serif;white-space:nowrap;transition:opacity .15s}
.btn-send:hover{opacity:.9}
.cta-msg{display:none;margin-top:10px;font-size:13px;color:#6EE7B7}
.cta-msg.err{color:#FCA5A5}

/* ── Contact layout ──────────────────────────── */
.contact-sec{padding:64px 56px;background:var(--bg2);transition:background .25s}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
.contact-info .c-item{display:flex;gap:16px;margin-bottom:24px}
.c-icon{width:40px;height:40px;flex-shrink:0;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r4);display:flex;align-items:center;justify-content:center;margin-top:2px}
.c-icon svg{width:18px;height:18px;stroke:var(--coral);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.c-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:4px}
.c-val{font-size:15px;font-weight:600;color:var(--ink);transition:color .25s}
.c-val a{color:var(--ink)}
.c-val a:hover{color:var(--coral)}

/* ── Form ────────────────────────────────────── */
.form-box{background:var(--bg2);border:1px solid var(--line);padding:36px 32px;border-radius:var(--r4);transition:background .25s,border-color .25s}
.form-box h3{font:400 22px 'Prata',serif;color:var(--ink);margin-bottom:24px;transition:color .25s}
.f-group{margin-bottom:18px}
.f-group label{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:6px}
.f-group input,.f-group textarea,.f-group select{width:100%;padding:11px 13px;background:var(--field);border:1px solid var(--line);border-radius:var(--r2);font:400 14px 'Golos Text',sans-serif;color:var(--ink);outline:none;transition:border-color .15s,background .25s,color .25s}
.f-group input:focus,.f-group textarea:focus,.f-group select:focus{border-color:var(--coral)}
.f-group textarea{min-height:90px;resize:vertical}
.f-submit{width:100%;background:var(--cgrad);color:#fff;border-radius:var(--r2);padding:14px;font:600 14.5px 'Golos Text',sans-serif;transition:opacity .15s}
.f-submit:hover{opacity:.9}
.f-submit:disabled{opacity:.6;cursor:not-allowed}
.f-ok,.f-err{display:none;margin-top:12px;font-size:13px;text-align:center;padding:10px;border-radius:var(--r2)}
.f-ok{background:rgba(110,231,183,.1);color:#059669;border:1px solid rgba(110,231,183,.3)}
.f-err{background:rgba(252,165,165,.1);color:#DC2626;border:1px solid rgba(252,165,165,.3)}

/* ── Manufacturers ───────────────────────────── */
.mfr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.mfr-card{background:var(--bg2);padding:28px 22px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;transition:background .18s}
.mfr-card:hover{background:var(--bg)}
.mfr-ico{width:44px;height:44px;border:1px solid var(--line);background:var(--field);border-radius:var(--r4);display:flex;align-items:center;justify-content:center;margin-bottom:4px;transition:background .25s,border-color .25s}
.mfr-ico svg{width:22px;height:22px;stroke:var(--sub);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mfr-name{font:600 14.5px 'Onest',sans-serif;color:var(--ink);transition:color .25s}
.mfr-country{font-size:12px;color:var(--mut)}
.mfr-cat{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}

/* ── Presence cards ──────────────────────────── */
.prc-sec{background:var(--ink);padding:64px 56px;transition:background .25s}
.prc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);margin-top:36px}
.prc-card{background:rgba(255,255,255,.03);padding:30px 24px;border-left:2px solid var(--coral);transition:background .18s}
.prc-card:hover{background:rgba(255,255,255,.07)}
.prc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.prc-country{font:700 17px 'Onest',sans-serif;color:#fff}
.prc-badge{font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:var(--r2)}
.badge-a{background:rgba(110,231,183,.15);color:#24c47a;border:1px solid rgba(110,231,183,.25)}
.badge-p{background:rgba(248,90,43,.12);color:#F29B7D;border:1px solid rgba(248,90,43,.22)}
.prc-role{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:8px;font-weight:500}
.prc-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.65}

/* ── Modal ───────────────────────────────────── */
.modal-ov{position:fixed;inset:0;z-index:1000;background:rgba(13,21,38,.75);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:20px}
.modal-ov.open{display:flex}
.modal-box{background:var(--bg);border:1px solid var(--line);border-radius:var(--r4);padding:40px 36px;max-width:460px;width:100%;position:relative;transition:background .25s}
.modal-x{position:absolute;top:12px;right:12px;background:none;border:1px solid var(--line);border-radius:var(--r2);width:30px;height:30px;font-size:17px;color:var(--mut);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,color .15s}
.modal-x:hover{border-color:var(--coral);color:var(--coral)}
.modal-box h3{font:400 22px 'Prata',serif;color:var(--ink);margin-bottom:6px;transition:color .25s}
.modal-box .m-sub{font-size:13.5px;color:var(--sub);margin-bottom:24px;transition:color .25s}

/* ── Footer ──────────────────────────────────── */
.site-footer{padding:22px 56px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:#9AA0AE;background:#0D1526;flex-wrap:wrap;gap:8px}

/* ── Cookie bar ──────────────────────────────── */
.cookie-bar{position:fixed;bottom:0;left:0;right:0;z-index:500;background:rgba(13,21,38,.97);color:rgba(255,255,255,.7);font-size:13px;padding:14px 56px;display:flex;align-items:center;gap:16px;border-top:1px solid rgba(255,255,255,.08)}
.cookie-bar span{flex:1}
.cookie-btn{background:var(--coral);color:#fff;border:none;border-radius:var(--r2);padding:8px 20px;font:500 13px 'Golos Text',sans-serif;cursor:pointer;white-space:nowrap;flex-shrink:0}

/* ── Responsive ──────────────────────────────── */
@media(max-width:1024px){
  .header-top,.hdr-search,.page-hero,.hero-txt,.dirs-wrap,.prod-section,.prod-search,.feat-section,.inv-strip,.cta-sec,.contact-sec,.prc-sec{padding-left:32px;padding-right:32px}
  .site-nav{display:none}
  .nav-toggle{display:block}
  .site-nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:18px 32px;gap:14px;z-index:300}
  .dirs-grid{grid-template-columns:repeat(2,1fr)}
  .cta-sec{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .header-top,.hdr-search,.page-hero,.hero-txt,.dirs-wrap,.prod-section,.prod-search,.feat-section,.inv-strip,.cta-sec,.contact-sec,.prc-sec{padding-left:20px;padding-right:20px}
  .hero-txt h1,.page-hero h1{font-size:34px}
  .hero-art{left:50%;opacity:.18}
  .hero-mask-l{background:linear-gradient(180deg,var(--bg) 40%,transparent)}
  .hero-btns{flex-direction:column}
  .btn-cta,.btn-ghost{text-align:center;width:100%;min-height:44px}
  .dirs-grid,.prod-grid,.mfr-grid,.prc-grid{grid-template-columns:1fr}
  .inv-strip{flex-direction:column;align-items:flex-start}
  .cta-row{flex-direction:column}
  .cta-email,.btn-send{width:100%}
  .site-footer{padding:16px 20px;flex-direction:column;text-align:center}
  .cookie-bar{padding:12px 20px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ── Empty grid slot fix ──────────────────── */
.mfr-grid .mfr-card:empty,.prod-grid .prod-card:empty{display:none}
/* ── Ensure feat-icon visible both themes ── */
.feat-icon svg{stroke:var(--coral)!important}
/* ── Better button contrast dark mode ─────── */
.btn-req{background:var(--btn);color:var(--btnfg)}
