/* factory-manual.com — new theme, step 1: header + footer
   Loaded after all other stylesheets. Everything is scoped to #fm-head / #fm-foot,
   so page content is not affected yet. */

:root{
  --fm-bg:#0b0b0c;
  --fm-surface:#141414;
  --fm-surface-2:#1d1d20;
  --fm-line:#2a2a2e;
  --fm-text:#f4f4f5;
  --fm-muted:#a1a1aa;
  --fm-soft:#c4c4cc;
  --fm-red:#bc2e20;
  --fm-red-text:#e5432f;
  --fm-font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}

/* ---------- Header ---------- */
#fm-head{position:sticky;top:0;z-index:1000;background:var(--fm-surface);border-radius:0 0 40px 40px;font-family:var(--fm-font);color:var(--fm-text)}
#fm-head *{box-sizing:border-box}
#fm-head .fm-wrap{max-width:1280px;margin:0 auto;padding:16px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
#fm-head a{text-decoration:none}
#fm-head .fm-brand{display:flex;align-items:center;gap:12px;color:var(--fm-text)}
#fm-head .fm-badge{width:44px;height:44px;border-radius:12px;background:var(--fm-red);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;color:#fff;flex:0 0 auto}
#fm-head .fm-name{display:flex;flex-direction:column;line-height:1.1}
#fm-head .fm-name b{font-weight:800;font-size:20px;letter-spacing:-.01em;color:var(--fm-text)}
#fm-head .fm-name small{font-size:11px;color:var(--fm-muted);letter-spacing:.08em;text-transform:uppercase}

#fm-head .fm-nav{flex:1 1 auto;display:flex;justify-content:center}
#fm-head .fm-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 26px}
#fm-head .fm-nav a{color:var(--fm-soft);font-size:15px;font-weight:600;padding:10px 0;display:inline-block}
#fm-head .fm-nav a:hover,#fm-head .fm-nav .active a{color:#fff}
#fm-head .fm-nav .active a{box-shadow:inset 0 -2px 0 var(--fm-red-text)}

#fm-head .fm-actions{display:flex;align-items:center;gap:10px}
#fm-head .fm-search{display:flex;align-items:center;gap:6px;background:var(--fm-surface-2);border:1px solid var(--fm-line);border-radius:999px;padding:3px 3px 3px 16px;margin:0}
#fm-head .fm-search input{width:190px;height:38px;border:0;background:transparent;color:var(--fm-text);font:inherit;font-size:14px;outline:none;box-shadow:none;padding:0}
#fm-head .fm-search input::placeholder{color:var(--fm-muted)}
#fm-head .fm-search button{width:40px;height:40px;border:0;border-radius:999px;background:var(--fm-red);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
#fm-head .fm-login{color:var(--fm-text);font-weight:600;font-size:15px;padding:10px 8px}
#fm-head .fm-cart{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#0b0b0c;font-weight:700;font-size:15px;padding:5px 18px 5px 5px;border-radius:999px;min-height:44px}
#fm-head .fm-cart .fm-dot{width:34px;height:34px;border-radius:999px;background:var(--fm-red);display:flex;align-items:center;justify-content:center}
#fm-head .fm-toggle{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--fm-line);background:var(--fm-surface-2);color:#fff;align-items:center;justify-content:center;padding:0;cursor:pointer}

/* homepage: small gap between the header and the search/slider block */
#fm-head + .container{padding-top:20px}

/* Bootstrap's collapse: always open on desktop */
@media (min-width:992px){
  #fm-head .fm-nav.collapse{display:flex!important;height:auto!important}
}
@media (max-width:991px){
  #fm-head{border-radius:0 0 24px 24px}
  #fm-head .fm-wrap{padding:12px 16px}
  #fm-head .fm-toggle{display:inline-flex;order:2;margin-left:auto}
  #fm-head .fm-actions{order:3;width:100%}
  #fm-head .fm-search{flex:1 1 auto}
  #fm-head .fm-search input{width:100%}
  #fm-head .fm-nav{order:4;flex:1 1 100%;justify-content:flex-start}
  #fm-head .fm-nav ul{flex-direction:column;gap:0;width:100%}
  #fm-head .fm-nav li{border-top:1px solid var(--fm-line)}
  #fm-head .fm-nav a{display:block;padding:14px 4px}
  #fm-head .fm-nav .active a{box-shadow:none;color:var(--fm-red-text)}
  /* menu closed until the toggle is tapped */
  #fm-head .fm-nav.collapse:not(.in){display:none!important}
  #fm-head .fm-nav.collapse.in{display:flex!important}
  #fm-head .fm-cart{white-space:nowrap;flex:0 0 auto}
  #fm-head .fm-search{min-width:0}
}
@media (max-width:480px){
  #fm-head .fm-login{display:none}
  #fm-head .fm-name small{display:none}
}

/* ---------- Footer ---------- */
#fm-foot{background:#121214;border-top:1px solid var(--fm-line);color:var(--fm-text);font-family:var(--fm-font);margin-top:80px}
#fm-foot *{box-sizing:border-box}
#fm-foot .fm-cols{max-width:1280px;margin:0 auto;padding:64px 24px 36px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
#fm-foot h3{margin:0 0 14px;font-size:16px;font-weight:700;color:var(--fm-text);font-family:var(--fm-font);text-transform:none;letter-spacing:0}
#fm-foot p{margin:0;font-size:15px;line-height:1.6;color:var(--fm-muted)}
#fm-foot a{color:var(--fm-soft);text-decoration:none}
#fm-foot a:hover{color:#fff}
#fm-foot .fm-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
#fm-foot .fm-more{color:#6fb1e6;text-decoration:underline}
#fm-foot .fm-social{display:flex;gap:10px;margin-top:18px}
#fm-foot .fm-social a{width:44px;height:44px;border-radius:999px;background:var(--fm-surface-2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px}
#fm-foot .fm-pay{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px}
#fm-foot .fm-pay img{border-radius:6px;background:#fff;padding:4px;height:auto}
#fm-foot .fm-bottom{max-width:1280px;margin:0 auto;padding:22px 24px;border-top:1px solid var(--fm-line);font-size:14px;color:var(--fm-muted)}
@media (max-width:991px){#fm-foot .fm-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){#fm-foot .fm-cols{grid-template-columns:minmax(0,1fr)}}

/* ======================================================================
   Step 2: homepage (index.html). Scoped to .fm-home / #fm-hero
   ====================================================================== */
body:has(#fm-hero){background:var(--fm-bg)}
.fm-home{background:var(--fm-bg);color:var(--fm-text);font-family:var(--fm-font);font-size:16px;line-height:1.5;overflow-x:clip}
.fm-home *{box-sizing:border-box}
.fm-home a{text-decoration:none}
.fm-home .fm-in{max-width:1280px;margin:0 auto;padding:0 24px}

/* hero */
.fm-home .fm-hero{position:relative;overflow:hidden;min-height:760px;border-radius:0 0 100px 100px;display:flex;flex-direction:column;justify-content:space-between;background:#111;color:#fff}
.fm-home .fm-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:50% 50%}
.fm-home .fm-hero-shade{position:absolute;inset:0;background:rgba(8,8,9,.62)}
.fm-home .fm-hero-in{position:relative;width:100%;max-width:1280px;margin:0 auto;padding:150px 24px 0;display:flex;flex-direction:column;gap:18px}
.fm-home .fm-kicker{font-size:18px;font-weight:600;color:#ff6a55}
.fm-home h1.fm-h1{margin:0;max-width:940px;font-family:var(--fm-font);font-size:84px;line-height:.98;font-weight:800;letter-spacing:-.035em;color:#fff;text-transform:none}
.fm-home .fm-lead{margin:0;max-width:640px;font-size:20px;line-height:1.5;color:#e4e4e7}
.fm-home .fm-finder{margin:18px 0 0;max-width:920px;background:rgba(21,21,23,.92);border:1px solid var(--fm-line);border-radius:24px;padding:20px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}
.fm-home .fm-finder label{flex:1 1 220px;display:flex;flex-direction:column;gap:8px;margin:0;font-size:13px;font-weight:600;color:var(--fm-muted);text-transform:uppercase;letter-spacing:.06em}
.fm-home .fm-finder select{height:52px;border-radius:14px;border:1px solid #34343a;background:var(--fm-bg);color:var(--fm-text);padding:0 16px;font:inherit;font-size:16px;text-transform:none;letter-spacing:0;width:100%}
.fm-home .fm-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:14px;height:52px;padding:0 26px 0 8px;border:0;border-radius:999px;background:var(--fm-red);color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.fm-home .fm-btn .fm-ico{width:38px;height:38px;border-radius:999px;background:#fff;display:flex;align-items:center;justify-content:center;color:#0b0b0c}
.fm-home .fm-steps{position:relative;width:100%;max-width:1280px;margin:0 auto;padding:40px 24px 46px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.fm-home .fm-steps div{display:flex;flex-direction:column;gap:6px;border-top:1px solid rgba(255,255,255,.28);padding-top:14px}
.fm-home .fm-steps b{font-size:15px;color:#ff6a55}
.fm-home .fm-steps span{font-size:17px;font-weight:600}

/* sections */
.fm-home .fm-sec{padding:72px 0 24px}
.fm-home .fm-sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}
.fm-home .fm-eyebrow{display:block;font-size:20px;font-weight:600;color:var(--fm-red-text);margin-bottom:14px}
.fm-home h2.fm-h2{margin:0;font-family:var(--fm-font);font-size:56px;line-height:1.04;font-weight:800;letter-spacing:-.03em;color:var(--fm-text);text-transform:none}
.fm-home .fm-pill{display:inline-flex;align-items:center;gap:12px;color:var(--fm-text);font-weight:700;font-size:16px;border:1px solid #34343a;border-radius:999px;padding:5px 22px 5px 5px;min-height:44px}
.fm-home .fm-pill .fm-ico{width:34px;height:34px;border-radius:999px;background:var(--fm-surface-2);display:flex;align-items:center;justify-content:center}

/* cards */
.fm-home .fm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.fm-home .fm-card{display:flex;flex-direction:column;background:#151517;border:1px solid #26262a;border-radius:24px;padding:12px;color:var(--fm-text)}
.fm-home .fm-card:hover{border-color:#3a3a40;color:var(--fm-text)}
.fm-home .fm-card-img{background:#fff;border-radius:16px;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;overflow:hidden}
.fm-home .fm-card-img img{height:88%;width:auto;max-width:94%;object-fit:contain}
.fm-home .fm-card-img.fm-cover img{height:100%;width:100%;max-width:none;object-fit:cover}
.fm-home .fm-card-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 6px 6px}
.fm-home .fm-card-row b{display:block;font-size:20px;font-weight:800;letter-spacing:-.01em}
.fm-home .fm-card-row small{display:block;font-size:14px;color:var(--fm-muted)}
.fm-home .fm-arrow{width:44px;height:44px;border-radius:999px;background:var(--fm-red);display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:#fff}

/* how it works */
.fm-home .fm-how-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:start}
.fm-home .fm-how-top p{margin:8px 0 0;font-size:20px;line-height:1.6;color:var(--fm-soft)}
.fm-home .fm-how{margin-top:48px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.fm-home .fm-how div{background:#151517;border:1px solid #26262a;border-radius:24px;padding:30px 26px;display:flex;flex-direction:column;gap:14px;min-height:220px}
.fm-home .fm-how div.fm-hot{background:var(--fm-red);border-color:var(--fm-red)}
.fm-home .fm-how b{font-size:40px;font-weight:800;color:var(--fm-red-text);letter-spacing:-.02em;line-height:1}
.fm-home .fm-how div.fm-hot b,.fm-home .fm-how div.fm-hot span,.fm-home .fm-how div.fm-hot p{color:#fff}
.fm-home .fm-how span{font-size:21px;font-weight:700}
.fm-home .fm-how p{margin:0;font-size:16px;line-height:1.55;color:var(--fm-muted)}

/* reviews */
.fm-home .fm-reviews{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
.fm-home .fm-reviews div{scroll-snap-align:start;background:#fff;border-radius:20px;padding:10px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.fm-home .fm-reviews img{max-width:100%;max-height:100%;object-fit:contain}
.fm-home .fm-reviews{scrollbar-color:#3a3a40 transparent;scrollbar-width:thin}
.fm-home .fm-reviews::-webkit-scrollbar{height:8px}
.fm-home .fm-reviews::-webkit-scrollbar-thumb{background:#3a3a40;border-radius:8px}
.fm-home .fm-reviews::-webkit-scrollbar-track{background:transparent}

/* responsive */
@media (max-width:1199px){.fm-home .fm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:991px){
  .fm-home .fm-hero{min-height:0;border-radius:0 0 40px 40px}
  .fm-home .fm-hero-in{padding-top:56px}
  .fm-home h1.fm-h1{font-size:56px}
  .fm-home h2.fm-h2{font-size:42px}
  .fm-home .fm-steps,.fm-home .fm-how{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm-home .fm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm-home .fm-how-top{grid-template-columns:minmax(0,1fr);gap:16px}
}
@media (max-width:560px){
  .fm-home .fm-in,.fm-home .fm-hero-in,.fm-home .fm-steps{padding-left:16px;padding-right:16px}
  .fm-home h1.fm-h1{font-size:40px}
  .fm-home h2.fm-h2{font-size:32px}
  .fm-home .fm-lead{font-size:17px}
  .fm-home .fm-finder{padding:14px}
  .fm-home .fm-btn{width:100%;justify-content:center}
  .fm-home .fm-how{grid-template-columns:minmax(0,1fr)}
  .fm-home .fm-grid{gap:12px}
  .fm-home .fm-card{padding:8px;border-radius:18px}
  .fm-home .fm-card-img{border-radius:12px}
  .fm-home .fm-card-row{padding:12px 4px 4px}
  .fm-home .fm-card-row b{font-size:16px}
  .fm-home .fm-card-row small,.fm-home .fm-arrow{display:none}
}

/* header over the hero (desktop, browsers with scroll-driven animations) */
@supports (animation-timeline: scroll()) {
  @media (min-width:992px){
    body:has(#fm-hero) #fm-head{background:transparent}
    .fm-home .fm-hero{margin-top:-76px}
    .fm-home .fm-hero-in{padding-top:226px}
  }
  @media (prefers-reduced-motion: no-preference){
    @keyframes fmHeadBg{from{background-color:rgba(20,20,20,0)}to{background-color:rgba(20,20,20,1)}}
    @keyframes fmZoom{from{transform:scale(1)}to{transform:scale(1.97)}}
    @keyframes fmTiltIn{from{transform:perspective(1400px) rotateX(72deg) translateY(110px) scale(1.1);opacity:.15}to{transform:perspective(1400px) rotateX(0) translateY(0) scale(1);opacity:1}}
    @keyframes fmRise{from{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}
    @media (min-width:992px){body:has(#fm-hero) #fm-head{animation:fmHeadBg linear both;animation-timeline:scroll(root block);animation-range:0px 220px}}
    .fm-home .fm-hero-img{animation:fmZoom linear both;animation-timeline:scroll(root block);animation-range:0px 800px}
    .fm-home .fx-tilt{transform-origin:50% 100%;animation:fmTiltIn linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
    .fm-home .fx-rise{animation:fmRise linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
  }
}

/* ---------- Product page (step 3) — scoped to #fm-prod ---------- */
#fm-prod{font-family:var(--fm-font);background:var(--fm-bg);color:var(--fm-text)}
#fm-prod #vapouring-theme{background:var(--fm-bg)!important;padding:34px 0 10px}
#fm-prod #vapouring-theme+#vapouring-theme{padding:10px 0 60px}
#fm-prod .container{max-width:1280px;width:auto;padding-left:24px;padding-right:24px}
#fm-prod #theme h1{font-family:var(--fm-font);font-size:clamp(28px,4vw,46px)!important;line-height:1.08;font-weight:800;letter-spacing:-.02em;color:#fff!important;text-transform:none;margin:0 0 6px;border:0;padding:0}
#fm-prod #theme h1::before{display:none}
#fm-prod #theme{border-left:4px solid var(--fm-red)!important;padding-left:18px!important}
#fm-prod #vapouring-theme+#vapouring-theme .row{margin-left:0;margin-right:0}
#fm-prod .theme-box-container{background:var(--fm-surface)!important;border:1px solid var(--fm-line);border-radius:28px;overflow:hidden;display:flex;flex-wrap:wrap;padding:22px;gap:0}
#fm-prod .theme-box-container>.col-md-6:first-child{display:flex;align-items:center;justify-content:center}
#fm-prod .theme-box-container>.col-md-6:first-child img{width:100%;max-width:400px;border-radius:18px;background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.35)}
#fm-prod .theme-box-container>.col-md-6:last-child{padding:18px 18px 10px 28px}
#fm-prod .theme-box-container strong{display:block;color:var(--fm-red-text)!important;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
#fm-prod #meke li{background:var(--fm-surface-2)!important;border:1px solid var(--fm-line);border-radius:16px;padding:16px 18px!important;margin-bottom:10px!important;color:var(--fm-text);gap:14px}
#fm-prod #meke li span[itemprop="name"]{color:#fff;font-size:16px;line-height:1.35}
#fm-prod #meke li span[itemprop="availability"]{color:#7ee2a8;font-size:13px;font-weight:700;white-space:nowrap}
#fm-prod #meke li input[type="checkbox"]{width:20px;height:20px;accent-color:var(--fm-red)}
#fm-prod .list-products{list-style:none;padding:0;margin:6px 0 0}
#fm-prod .list-products li{border-color:var(--fm-line)!important;color:var(--fm-soft)}
#fm-prod .list-products label{color:var(--fm-soft);font-weight:600}
#fm-prod .list-products .price{color:#fff!important;font-size:30px;font-weight:800;letter-spacing:-.01em}
#fm-prod .list-products a{color:var(--fm-red-text)!important}
#fm-prod #verificat{accent-color:var(--fm-red)}
#fm-prod #buynowbtn{background:var(--fm-red)!important;width:100%!important;max-width:420px;height:58px!important;border:0!important;border-radius:999px!important;margin:16px 0 0!important;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;font:800 17px/1 var(--fm-font);letter-spacing:.02em;cursor:pointer;box-shadow:0 12px 30px rgba(188,46,32,.35);transition:transform .15s,filter .15s}
#fm-prod #buynowbtn::after{content:"Buy now";color:#fff}
#fm-prod #buynowbtn:not([disabled]):hover{filter:brightness(1.1);transform:translateY(-1px)}
#fm-prod #buynowbtn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
#fm-prod .fm-paylogos{max-width:420px;text-align:center;margin-top:10px;font-size:13px;color:var(--fm-muted)}
#fm-prod .fm-instant-wrap{max-width:420px;text-align:center}
#fm-prod .fm-instant-wrap small{color:var(--fm-muted)}
/* tabs + description */
#fm-prod .list-tab{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 14px;border:0}
#fm-prod .list-tab li{list-style:none;float:none;margin:0;border:0;background:none}
#fm-prod .list-tab li a{display:inline-block;padding:12px 20px;border-radius:999px;background:var(--fm-surface-2)!important;border:1px solid var(--fm-line)!important;color:var(--fm-soft)!important;font:700 14px/1 var(--fm-font);text-transform:none;text-decoration:none}
#fm-prod .list-tab li.active a,#fm-prod .list-tab li a:hover{background:#fff!important;color:#0b0b0c!important;border-color:#fff!important}
#fm-prod #vapouring-theme .item{border-radius:28px;overflow:hidden;color:#26262b;font-size:16px;line-height:1.7}
#fm-prod #vapouring-theme .item>div{padding:34px 38px!important}
#fm-prod #vapouring-theme .item h1{font-family:var(--fm-font);font-weight:800;font-size:clamp(24px,3vw,34px);letter-spacing:-.02em;color:#0b0b0c;line-height:1.15;margin:0 0 16px}
#fm-prod #vapouring-theme .item img{max-width:100%;height:auto;border-radius:12px}
#fm-prod #vapouring-theme .item ul{padding-left:22px}
@media (max-width:991px){
  #fm-prod .theme-box-container{padding:14px;border-radius:22px}
  #fm-prod .theme-box-container>.col-md-6:last-child{padding:18px 6px 6px}
  #fm-prod #buynowbtn,#fm-prod .fm-paylogos,#fm-prod .fm-instant-wrap{max-width:none}
  #fm-prod #vapouring-theme .item>div{padding:22px 18px!important}
}
@media (max-width:991px){#fm-prod .theme-box-container>.col-md-6:first-child{padding:0!important;width:100%}}
@media (max-width:600px){#fm-prod #meke li{flex-wrap:wrap}#fm-prod #meke li>span[itemprop="name"]{flex:1 1 100%}#fm-prod #meke li>div{width:100%;justify-content:space-between;align-items:center}}

#fm-prod{overflow-x:clip}
/* ---------- Product page 3D motion ---------- */
@media (prefers-reduced-motion:no-preference){
  @keyframes fmPIntro{from{transform:perspective(1400px) rotateX(10deg) translateY(28px)}to{transform:none}}
  @keyframes fmPImgIn{from{transform:perspective(1200px) rotateY(-26deg) rotateX(8deg) translateX(-30px) scale(.92)}to{transform:perspective(1200px) rotateY(0) rotateX(0) translateX(0) scale(1)}}
  #fm-prod #theme{animation:fmPIntro .7s cubic-bezier(.2,.7,.2,1) both}
  #fm-prod .theme-box-container{animation:fmPIntro .9s .05s cubic-bezier(.2,.7,.2,1) both}
  #fm-prod .theme-box-container>.col-md-6:first-child img{animation:fmPImgIn .9s cubic-bezier(.2,.7,.2,1) both}
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    @keyframes fmPTilt{from{transform:perspective(1400px) rotateX(55deg) translateY(90px) scale(1.06)}to{transform:perspective(1400px) rotateX(0) translateY(0) scale(1)}}
    @keyframes fmPRise{from{transform:translateY(50px)}to{transform:none}}
    @keyframes fmPImgScroll{from{transform:perspective(1200px) rotateX(0) translateY(0) scale(1)}to{transform:perspective(1200px) rotateX(22deg) translateY(-40px) scale(.9)}}
    #fm-prod .theme-box-container>.col-md-6:first-child{transform-origin:50% 100%;animation:fmPImgScroll linear both;animation-timeline:scroll(root block);animation-range:0px 700px}
    #fm-prod .list-tab{animation:fmPRise linear both;animation-timeline:view();animation-range:entry 0% cover 25%}
    #fm-prod #vapouring-theme .item{animation:fmPRise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
    #fm-prod #vapouring-theme .item img{transform-origin:50% 100%;animation:fmPTilt linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
  }
}

/* product page fixes: no 3D on tall description images (text overlap), dark gap above footer */
#fm-prod #vapouring-theme .item img{animation:none!important;transform:none!important;opacity:1!important}
body:has(#fm-prod){background:var(--fm-bg)}

/* spacing under description images */
#fm-prod #vapouring-theme .item img{display:inline-block;margin-bottom:28px}

@media (max-width:991px){#fm-prod #vapouring-theme+#vapouring-theme .row{margin-left:0;margin-right:0;padding:0 15px}}

/* perf + a11y: readable placeholders */
#fm-prod input::placeholder,#fm-prod textarea::placeholder{color:#6b6b73;opacity:1}

/* webp <picture> wrapper: reserve the image box before it loads (no layout shift) */
#fm-prod .theme-box-container>.col-md-6:first-child picture{display:block;width:100%;max-width:400px}
#fm-prod .theme-box-container>.col-md-6:first-child picture img{display:block;width:100%;height:auto}

/* ---------- Listing pages (brands / models / years) — scoped to #fm-list ---------- */
#fm-list{background:var(--fm-bg);color:var(--fm-text);font-family:var(--fm-font);overflow-x:clip}
body:has(#fm-list){background:var(--fm-bg)}
#fm-list #vapouring-theme{background:var(--fm-bg)!important;margin:0!important;padding:40px 0 16px}
#fm-list #vapouring-theme+#vapouring-theme{padding:8px 0 70px}
#fm-list .container{max-width:1280px;width:auto;padding-left:24px;padding-right:24px}
/* section heading */
#fm-list #theme{border-left:4px solid var(--fm-red);height:auto;padding:2px 0 2px 18px;margin:0 0 6px}
#fm-list #theme p{color:var(--fm-red-text)!important;font:700 13px/1.2 var(--fm-font);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}
#fm-list #theme h1,#fm-list #theme h4{margin:0;font:800 clamp(28px,4vw,46px)/1.08 var(--fm-font);letter-spacing:-.02em;color:#fff;text-transform:none}
#fm-list #theme .h4-style,#fm-list #theme .h1-style{color:#fff!important}
/* grid instead of bootstrap floats */
#fm-list .row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;margin:0}
#fm-list .row:has(>.col-md-3){grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
#fm-list .row::before,#fm-list .row::after{display:none}
#fm-list .row>*{width:auto;float:none;padding:0;margin:0!important;min-width:0}
#fm-list .row>.col-md-12,#fm-list .row>div:not([class]){grid-column:1/-1}
#fm-list .row>.clearfix,#fm-list .row>br{display:none}
#fm-list .row>.col-md-12:first-child{margin-bottom:10px!important}
/* cards (brands, models) */
#fm-list .main-box>a{display:block;height:100%;text-decoration:none;color:inherit}
#fm-list .theme-box-container{display:block;background:var(--fm-surface)!important;border:1px solid var(--fm-line);border-radius:22px;overflow:hidden;height:100%;width:100%!important;transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .2s,box-shadow .25s}
#fm-list .main-box>a:hover .theme-box-container{transform:perspective(900px) rotateX(5deg) translateY(-5px);border-color:var(--fm-red);box-shadow:0 22px 44px rgba(0,0,0,.5)}
#fm-list .theme-boxes{height:auto!important;border:0;padding:12px 12px 16px!important;text-align:center;overflow:visible}
#fm-list .theme-boxes::before,#fm-list .theme-boxes::after,#fm-list .theme-boxes hr{display:none}
#fm-list .theme-boxes img{display:block;width:100%;max-width:none;height:auto!important;aspect-ratio:11/7;object-fit:contain;background:#fff;border-radius:14px;margin:0 0 12px;transform:none!important;transition:none}
#fm-list .row:has(>.col-md-3) .theme-boxes img{aspect-ratio:4/3;padding:14px}
#fm-list .theme-boxes h1,#fm-list .theme-boxes h2{font:700 15px/1.3 var(--fm-font);color:#fff!important;margin:0;text-transform:none;letter-spacing:0}
#fm-list .theme-boxes p{color:var(--fm-muted);font:400 13.5px/1.5 var(--fm-font);margin:8px 0 0}
#fm-list .main-box>a:hover .theme-boxes h1,#fm-list .main-box>a:hover .theme-boxes h2{color:var(--fm-red-text)!important}
/* text box under the grid (brand / model description) */
#fm-list .col-md-12.main-box .theme-boxes{text-align:left;padding:26px 30px!important;color:var(--fm-soft);font-size:16px;line-height:1.7}
#fm-list .col-md-12.main-box .theme-boxes p{color:var(--fm-soft);font-size:16px;line-height:1.7;margin:0 0 10px}
#fm-list .col-md-12.main-box .theme-boxes a{color:var(--fm-red-text)}
#fm-list .col-md-12.main-box .theme-box-container{background:none!important;border:0;border-radius:0}
#fm-list .col-md-12.main-box .theme-boxes{background:var(--fm-surface);border:1px solid var(--fm-line);border-radius:22px}
#fm-list .col-md-12.main-box .theme-boxes:not(:has(*)){display:none}
/* model page: list of years */
#fm-list .item{display:grid!important;grid-template-columns:190px 1fr;gap:26px;align-items:center;background:var(--fm-surface)!important;border:1px solid var(--fm-line);border-radius:22px;padding:18px;margin:0 0 16px;width:auto!important;transition:border-color .2s,box-shadow .25s}
#fm-list .item:hover{border-color:rgba(188,46,32,.7);box-shadow:0 18px 40px rgba(0,0,0,.45)}
#fm-list .item>.col-md-4,#fm-list .item>.col-md-8{width:auto;float:none;padding:0!important}
#fm-list .item .parts-image img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:14px;background:#fff}
#fm-list .item>.col-md-8{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
#fm-list .item>.col-md-8>h3,#fm-list .item>.col-md-8>p[itemprop="description"]{flex:1 1 100%}
#fm-list .item h3{margin:0;font:800 clamp(19px,2vw,24px)/1.2 var(--fm-font);letter-spacing:-.01em}
#fm-list .item h3 a{color:#fff!important;text-decoration:none}
#fm-list .item h3 a:hover{color:var(--fm-red-text)!important}
#fm-list .item p[itemprop="description"]{color:var(--fm-muted);font:400 14.5px/1.6 var(--fm-font);padding:0!important;margin:0 0 4px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#fm-list .item .parts-price{background:none!important;color:#fff!important;font:800 24px/1 var(--fm-font)!important;padding:0!important;margin:0 4px 0 0!important;display:inline-flex!important;align-items:baseline;gap:6px;float:none!important;border-radius:0!important}
#fm-list .item .fm-instant{margin:0}
#fm-list .item>.col-md-8>.btn{float:none!important;margin-left:auto;display:inline-flex;align-items:center;gap:8px;background:var(--fm-red)!important;color:#fff!important;border:0;border-radius:999px;padding:13px 24px;font:800 14px/1 var(--fm-font);letter-spacing:.04em;box-shadow:0 10px 26px rgba(188,46,32,.35);transition:filter .15s,transform .15s}
#fm-list .item>.col-md-8>.btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
#fm-list .item>.col-md-8>.clearfix{display:none}
/* model page: list first, model title + description after it */
#fm-list:has([itemtype*="ItemList"])>#vapouring-theme:first-child{padding-top:44px!important}
/* pagination, if any */
#fm-list .pagination>li>a,#fm-list .pagination>li>span{background:var(--fm-surface-2);border-color:var(--fm-line);color:var(--fm-soft)}
#fm-list .pagination>.active>a,#fm-list .pagination>.active>span{background:var(--fm-red);border-color:var(--fm-red);color:#fff}
@media (max-width:640px){
  #fm-list .container{padding-left:16px;padding-right:16px}
  #fm-list .row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #fm-list .row:has(>.col-md-3){grid-template-columns:repeat(2,minmax(0,1fr))}
  #fm-list .theme-boxes{padding:8px 8px 12px!important}
  #fm-list .theme-boxes h1,#fm-list .theme-boxes h2{font-size:14px}
  #fm-list .row:has(>.col-md-3) .theme-boxes p{display:none}
  #fm-list .item{grid-template-columns:96px 1fr;gap:14px;padding:14px;align-items:start}
  #fm-list .item p[itemprop="description"]{-webkit-line-clamp:2;font-size:13.5px}
  #fm-list .item>.col-md-8>.btn{margin-left:0;flex:1 1 100%;justify-content:center}
  #fm-list .col-md-12.main-box .theme-boxes{padding:20px!important}
}
/* 3D motion (transform only — no opacity, keeps LCP/contrast/CLS clean) */
@media (prefers-reduced-motion:no-preference){
  @keyframes fmLIntro{from{transform:perspective(1200px) rotateX(10deg) translateY(24px)}to{transform:none}}
  #fm-list #theme{animation:fmLIntro .7s cubic-bezier(.2,.7,.2,1) both}
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    @keyframes fmLRise{from{transform:perspective(1000px) rotateX(16deg) translateY(50px) scale(.96)}to{transform:none}}
    #fm-list .main-box:not(.col-md-12){animation:fmLRise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
    #fm-list .item{transform-origin:50% 100%;animation:fmLRise linear both;animation-timeline:view();animation-range:entry 0% entry 50%}
  }
}

/* ---------- letter-by-letter heading reveal (js/fm-reveal.js) ---------- */
.fm-split .fm-w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .16em;margin:0 -.02em -.16em}
.fm-split .fm-c{display:inline-block;transform:translateY(115%) rotate(6deg);transform-origin:0 100%;transition:transform .7s cubic-bezier(.2,.75,.15,1);transition-delay:calc(min(var(--i),60) * 24ms)}
.fm-split.fm-rvin .fm-c{transform:none}
.fm-rv :is(.fm-h1,.fm-h2,#fm-prod #theme h1,#fm-list #theme h1,#fm-list #theme h4):not(.fm-split){visibility:hidden}
@media (prefers-reduced-motion:reduce){.fm-split .fm-c{transform:none;transition:none}}

/* ---------- Cart page (step 4) — CSS only, scoped to the page that has .added (cart.html) ---------- */
body:has(> .container > .added){background:var(--fm-bg);color:var(--fm-text);font-family:var(--fm-font)}
body:has(> .container > .added)>.container{max-width:1080px;width:auto;padding:64px 24px 10px;color:var(--fm-text)}
.container>.added{border-left:4px solid var(--fm-red);padding:2px 0 2px 18px;margin:0 0 22px}
.container>.added h2{margin:0;font:800 clamp(30px,4vw,46px)/1.08 var(--fm-font);letter-spacing:-.02em;color:#fff;text-transform:none}
/* items table */
#frmCheckout .infoTable{width:100%!important;border-collapse:separate;border-spacing:0;background:var(--fm-surface);border:1px solid var(--fm-line);border-radius:22px;overflow:hidden}
#frmCheckout .infoTable td{border:0!important;background:transparent!important;color:var(--fm-text)!important;padding:14px 16px;vertical-align:middle;font-family:var(--fm-font)!important}
#frmCheckout .infoTable tr.entryTableHeader td{height:auto!important;padding:14px 16px 10px;font:700 12px/1.2 var(--fm-font)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-muted)!important;border-bottom:1px solid var(--fm-line)!important}
#frmCheckout .infoTable tr.content{border:0!important}
#frmCheckout .infoTable tr.content td{border-bottom:1px solid var(--fm-line)!important;font-size:16px!important;color:#fff!important}
#frmCheckout .infoTable tr.content img{display:block;width:96px;height:auto;border-radius:12px;background:#fff}
#frmCheckout .infoTable tr.content td b,#frmCheckout .infoTable tr.content td strong{color:#fff;font-weight:800}
#frmCheckout .infoTable tr.content a{color:var(--fm-red-text)!important}
#frmCheckout .infoTable tr.content a .fa,#frmCheckout .infoTable tr.content .fa-times{color:var(--fm-red-text)!important;font-size:18px}
#frmCheckout .infoTable tr:last-child td{background:var(--fm-surface-2)!important;color:#fff!important;font:800 20px/1.2 var(--fm-font)!important;padding:18px 16px}
/* terms + note */
#frmCheckout center{color:var(--fm-soft);font-family:var(--fm-font)}
#frmCheckout center label{color:#fff;font:700 16px/1.5 var(--fm-font);display:inline-block;margin-top:18px;cursor:pointer;max-width:100%}
#frmCheckout center label a{color:var(--fm-red-text)!important}
#frmCheckout #verificat{width:20px;height:20px;accent-color:var(--fm-red);margin:0 8px 0 0;vertical-align:-4px}
#frmCheckout center p{color:var(--fm-muted);font-size:14px}
/* payment card: stays light so the PayPal / Google Pay / Apple Pay buttons keep their own colours */
#frmCheckout .xrow>.col-12{max-width:560px;width:100%}
#frmCheckout .xrow .row[x-show]{background:#fff!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:22px!important;box-shadow:0 24px 60px rgba(0,0,0,.45)!important;padding:22px 20px 16px!important;margin:6px 0 0!important;color:#1b1b1f}
#frmCheckout .xrow .row[x-show]>div:first-child{color:#1b1b1f;font:800 18px/1.3 var(--fm-font)!important}
#frmCheckout .btn-payment{border-radius:999px!important}
#frmCheckout .xrow .row[x-show]{display:block!important}
#frmCheckout .xrow .row[x-show]>div{width:100%!important;max-width:100%!important;float:none!important;margin:0 0 12px!important;text-align:left}
#frmCheckout .xrow .row[x-show]>div:last-child{margin-bottom:0!important}
/* trust badges under the cart */
body:has(> .container > .added)>center{margin:28px 0 60px}
body:has(> .container > .added)>center img{border-radius:10px}
/* empty cart message */
body:has(> .container > .added)>.container>p,body:has(> .container > .added)>.container>center{color:var(--fm-soft)}
@media (max-width:640px){
  body:has(> .container > .added)>.container{padding:32px 16px 10px}
  #frmCheckout .infoTable td{padding:12px 10px}
  #frmCheckout .infoTable tr.content img{width:64px}
  #frmCheckout .infoTable tr.content td{font-size:14px!important}
  #frmCheckout .xrow .row[x-show]{padding:18px 14px 12px!important}
}

/* empty cart: message + Browse manuals button */
.fm-empty-msg{color:var(--fm-soft);font:600 18px/1.5 var(--fm-font);margin:18px 0 0}
.fm-empty-msg strong{color:#fff;font-weight:700}
.fm-empty-cta{margin:22px 0 40px}
.fm-empty-btn{display:inline-flex;align-items:center;gap:10px;background:var(--fm-red);color:#fff!important;border-radius:999px;padding:16px 30px;font:800 16px/1 var(--fm-font);letter-spacing:.02em;text-decoration:none!important;box-shadow:0 12px 30px rgba(188,46,32,.35);transition:filter .15s,transform .15s}
.fm-empty-btn::after{content:"\2192";font-size:18px}
.fm-empty-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}

/* ---------- product page footer: breadcrumb + More <model> manuals ---------- */
#fm-more{background:var(--fm-bg);padding:6px 0 72px;font-family:var(--fm-font)}
#fm-more .container{max-width:1280px;width:auto;padding-left:24px;padding-right:24px}
#fm-more .fm-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0;margin:0 0 18px;font:600 13px/1.4 var(--fm-font);color:var(--fm-muted)}
#fm-more .fm-crumbs li{margin:0}
#fm-more .fm-crumbs li+li::before{content:"\203A";margin-right:6px;color:var(--fm-muted)}
#fm-more .fm-crumbs a{color:var(--fm-soft);text-decoration:none}
#fm-more .fm-crumbs a:hover{color:var(--fm-red-text)}
#fm-more .fm-crumbs li:last-child span{color:#fff}
#fm-more .fm-more-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 22px;padding:28px 32px;border-radius:24px;background:radial-gradient(120% 140% at 0% 0%,rgba(188,46,32,.22),transparent 55%),var(--fm-surface);border:1px solid var(--fm-line);text-decoration:none!important;transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .2s,box-shadow .25s}
#fm-more .fm-more-card:hover{transform:translateY(-3px);border-color:var(--fm-red);box-shadow:0 22px 50px rgba(0,0,0,.5)}
#fm-more .fm-more-eyebrow{grid-column:1;color:var(--fm-red-text);font:700 12px/1.2 var(--fm-font);letter-spacing:.14em;text-transform:uppercase}
#fm-more .fm-more-title{grid-column:1;color:#fff;font:800 clamp(22px,3vw,34px)/1.12 var(--fm-font);letter-spacing:-.02em}
#fm-more .fm-more-arrow{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--fm-red);color:#fff;font-size:24px;box-shadow:0 12px 30px rgba(188,46,32,.4);transition:transform .25s}
#fm-more .fm-more-card:hover .fm-more-arrow{transform:translateX(4px)}
#fm-more .fm-more-years{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:18px 0 0}
#fm-more .fm-more-years li{margin:0}
#fm-more .fm-more-years a{display:inline-block;padding:10px 16px;border-radius:999px;background:var(--fm-surface-2);border:1px solid var(--fm-line);color:var(--fm-soft);font:700 14px/1 var(--fm-font);text-decoration:none;transition:background .15s,color .15s,border-color .15s}
#fm-more .fm-more-years a:hover{background:#fff;color:#0b0b0c;border-color:#fff}
#fm-more .fm-more-brand{display:inline-block;margin-top:18px;color:var(--fm-red-text);font:700 15px/1.3 var(--fm-font);text-decoration:none}
#fm-more .fm-more-brand:hover{text-decoration:underline}
@media (max-width:640px){
  #fm-more .container{padding-left:16px;padding-right:16px}
  #fm-more .fm-more-card{padding:22px 20px;gap:6px 14px}
  #fm-more .fm-more-arrow{width:46px;height:46px;font-size:20px}
  #fm-more .fm-more-years a{padding:9px 13px;font-size:13px}
}

/* ---------- homepage VIN lookup (under the make/model finder) ---------- */
.fm-home .fm-vin{margin-top:12px}
.fm-home .fm-vin input{height:52px;border-radius:14px;border:1px solid #34343a;background:var(--fm-bg);color:var(--fm-text);padding:0 16px;font:700 16px/1 var(--fm-font);letter-spacing:.08em;text-transform:uppercase;width:100%;outline:0;transition:border-color .15s}
.fm-home .fm-vin input::placeholder{color:#8d8d97;letter-spacing:.02em;text-transform:none;font-weight:500}
.fm-home .fm-vin input:focus{border-color:var(--fm-red)}
.fm-home .fm-vin .fm-btn[disabled]{opacity:.6;cursor:wait}
.fm-home .fm-vin-msg{flex:1 1 100%;margin:0;font:500 15px/1.5 var(--fm-font);color:var(--fm-soft);min-height:0}
.fm-home .fm-vin-msg:empty{display:none}
.fm-home .fm-vin-msg.is-ok{color:#7ee2a8}
.fm-home .fm-vin-msg.is-err{color:#ff9b8f}
.fm-home .fm-vin-msg a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px}

/* product page: terms note, trust block, model about box */
#fm-prod .fm-terms-note{clear:both;margin:10px 0 0;font-size:12.5px;line-height:1.4;color:#9a9a9a;text-align:center}
#fm-prod .fm-terms-note a{color:#e0503f;text-decoration:underline}
#fm-prod ul.fm-trust{clear:both;list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
#fm-prod ul.fm-trust li{display:flex;gap:10px;align-items:flex-start;border:0!important;width:auto!important;float:none!important;padding:0!important;margin:0!important;background:none!important;color:#bdbdbd;font-size:13px;line-height:1.35;text-align:left}
#fm-prod ul.fm-trust svg{flex:0 0 20px;width:20px;height:20px;color:#e0503f;margin-top:1px}
#fm-prod ul.fm-trust b{display:block;color:#fff;font-size:13.5px;font-weight:700;margin-bottom:2px}
#fm-prod ul.fm-trust a{color:#e0503f;text-decoration:underline}
@media(max-width:520px){#fm-prod ul.fm-trust{grid-template-columns:1fr}}
#fm-prod .fm-about{margin:16px 0 18px;padding:16px 18px;border-left:3px solid #bc2e20;background:#f5f5f5;border-radius:0 10px 10px 0}
#fm-prod .fm-about h3{margin:0 0 6px;font-size:17px;font-weight:800;color:#111;text-transform:none;letter-spacing:0}
#fm-prod .fm-about p{margin:0;color:#333;line-height:1.6}

/* bigger product cover */
#fm-prod .theme-box-container > .col-md-6:first-child img,#fm-prod .theme-box-container > .col-md-6:first-child picture{max-width:530px}

/* delivered-orders line */
#fm-prod .fm-delivered{clear:both;display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0 0;padding:10px 14px;border-radius:12px;background:rgba(46,160,90,.12);color:#cfe9d8;font-size:13.5px;line-height:1.3;text-align:left}
#fm-prod .fm-delivered svg{flex:0 0 18px;width:18px;height:18px;color:#3fbf73}
#fm-prod .fm-delivered b{color:#fff}

/* mobile sticky buy bar */
#fm-sbar{display:none}
@media(max-width:767px){#fm-sbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:990;transform:translateY(110%);transition:transform .25s ease;background:rgba(14,14,14,.96);border-top:1px solid rgba(255,255,255,.12);padding:10px 14px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 -10px 30px rgba(0,0,0,.35)}
#fm-sbar.fm-on{transform:none}
#fm-sbar .fm-sbar-in{display:flex;align-items:center;gap:12px;max-width:640px;margin:0 auto}
#fm-sbar .fm-sbar-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
#fm-sbar .fm-sbar-t span{color:#bdbdbd;font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#fm-sbar .fm-sbar-t b{color:#fff;font-size:17px;line-height:1.2}
#fm-sbar button{flex:0 0 auto;border:0;border-radius:999px;background:#bc2e20;color:#fff;font:700 15px/1 'Plus Jakarta Sans',Arial,sans-serif;padding:13px 26px;cursor:pointer}}

/* compact cookie banner on phones */
@media(max-width:767px){#termsfeed-com---nb .cc-nb-main-container{padding:14px 16px!important}#termsfeed-com---nb .cc-nb-title{font-size:15px!important;line-height:1.3!important;margin-bottom:4px!important}#termsfeed-com---nb .cc-nb-text{font-size:12.5px!important;line-height:1.4!important;margin-bottom:10px!important}#termsfeed-com---nb .cc-nb-buttons-container button{font-size:12.5px!important;padding:8px 10px!important;margin:3px 4px 3px 0!important}}

/* model cards: square covers, nothing cropped */
#fm-list .theme-boxes img{aspect-ratio:1/1!important;object-fit:contain}

/* homepage popular products: square covers */
.fm-home .fm-card-img.fm-sq{aspect-ratio:1/1}
.fm-home .fm-card-img.fm-sq img{width:100%;height:100%;max-width:none;object-fit:contain}

/* homepage brand cards: square box sized to the square covers */
.fm-home .fm-card-img{aspect-ratio:1/1}
.fm-home .fm-card-img img{width:100%;height:100%;max-width:none;object-fit:contain}

/* ---------- 2026-11-03: page background, domain bar on every page, Products submenu ---------- */
html,body{background:#0b0b0c}

.fm-dombar{position:relative;z-index:3;border-bottom:1px solid #26262a;background:#0b0b0c;font-family:var(--fm-font)}
.fm-dombar ul{list-style:none;margin:0 auto;padding:10px 24px;max-width:1240px;display:flex;flex-wrap:wrap;gap:4px 26px}
.fm-dombar a{display:inline-block;padding:6px 0;color:#d4d4d8;font-weight:600;font-size:14px;text-decoration:none}
.fm-dombar a:hover,.fm-dombar a:focus{color:#ff6a55;text-decoration:none}
.fm-dombar a.is-current{color:#fff;box-shadow:inset 0 -2px 0 var(--fm-red-text)}

#fm-head .fm-nav li{position:relative}
#fm-head .fm-has-sub>a::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.7}
#fm-head .fm-nav ul.fm-sub{display:none;position:absolute;top:100%;left:-14px;z-index:20;min-width:250px;margin:0;padding:8px;flex-direction:column;flex-wrap:nowrap;gap:0;background:var(--fm-surface-2);border:1px solid var(--fm-line);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
#fm-head .fm-has-sub:hover>ul.fm-sub,#fm-head .fm-has-sub:focus-within>ul.fm-sub{display:flex}
#fm-head .fm-nav .fm-sub li{border-top:0}
#fm-head .fm-nav .fm-sub a{display:block;padding:10px 12px;border-radius:9px;white-space:nowrap;font-size:14px;color:var(--fm-soft);box-shadow:none}
#fm-head .fm-nav .fm-sub a:hover{background:rgba(255,255,255,.06);color:#fff}
#fm-head .fm-nav .fm-sub .active a{color:#fff;background:rgba(229,67,47,.14)}
@media (max-width:991px){
  #fm-head .fm-has-sub>a::after{display:none}
  #fm-head .fm-nav ul.fm-sub{display:flex;position:static;min-width:0;padding:0 0 8px 14px;background:none;border:0;border-radius:0;box-shadow:none}
  #fm-head .fm-nav .fm-sub a{padding:10px 4px;border-radius:0;background:none}
  #fm-head .fm-nav .fm-sub .active a{background:none;color:var(--fm-red-text)}
  .fm-dombar ul{padding:8px 16px;gap:2px 18px}
}

/* ---------- 2026-11-03: text pages (/<name>_<id>.html: contact, about, terms, privacy, delivery...) on the dark background ---------- */
.fm-page{max-width:900px;padding-top:40px;padding-bottom:40px;color:var(--fm-soft);font-family:var(--fm-font);font-size:16px;line-height:1.65}
.fm-page *{font-family:inherit!important}
.fm-page [style*="color"]{color:inherit!important}
.fm-page [style*="background"]{background:transparent!important}
.fm-page h1{color:var(--fm-text);font-weight:800;font-size:clamp(30px,4vw,44px);letter-spacing:-.01em;margin:0 0 24px}
.fm-page h2,.fm-page h3,.fm-page h4,.fm-page h5,.fm-page h6,.fm-page strong,.fm-page b{color:var(--fm-text)}
.fm-page h1 ~ h1{font-size:18px;font-weight:700;line-height:1.5;margin:0 0 12px}
.fm-page h2{font-size:24px}.fm-page h3{font-size:20px}.fm-page h4{font-size:18px}
.fm-page h2,.fm-page h3,.fm-page h4{margin:28px 0 10px;font-weight:700}
.fm-page p,.fm-page li,.fm-page td,.fm-page span{color:inherit;font-size:inherit!important}
.fm-page a{color:var(--fm-red-text);text-decoration:underline}
.fm-page a:hover{color:#ff6a55}
.fm-page pre{background:var(--fm-surface);border:1px solid var(--fm-line);border-radius:12px;color:var(--fm-soft);padding:16px 18px;font-size:15px;white-space:pre-wrap}
.fm-page table{border-color:var(--fm-line)}.fm-page td,.fm-page th{border-color:var(--fm-line)!important}
.fm-page hr{border-color:var(--fm-line)}

/* ---------- 2026-11-03: older account pages (login, password reset, register, order history) on the dark background ---------- */
body > .container{color:var(--fm-soft)}
body > .container h1,body > .container h2,body > .container h3,body > .container h4,body > .container center{color:var(--fm-text)}
body > .container label{color:var(--fm-soft)}
/* white boxes inside those pages keep dark text */
body > .container [style*="background:#fff"],body > .container [style*="background: #fff"],body > .container [style*="background-color:#fff"],body > .container [style*="background-color: #fff"],body > .container [style*="background:white"]{color:#333}
body > .container [style*="background:#fff"] h3,body > .container [style*="background: #fff"] h3{color:#111}
