/*
Theme Name: Mallbanken 2026
Theme URI: https://mallbanken.se/
Author: Consilex AB
Description: Eget tema for mallbanken.se i riktningen "Registret". Byggt utan sidbyggare, med WooCommerce-stod for butik, produktsida, kassa och angerfunktion. Funktionslagret delas med systersajtens tema; formspraket gor det inte - Mallbanken ar petrol pa varmt papper och visar varje mall som ett registerkort med sitt mallnummer.
Version: 0.1.8
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: mb2026
Tags: e-commerce, custom-menu, translation-ready
*/

/* ---------- Grund ---------- */
:root{
  --paper:#F7F5F1; --ink:#14211F; --tile:#EFEAE1; --tile2:#E7E1D6;
  --line:#E2DDD5; --mute:#63605A; --dark:#122423;
  --o:#12565C;      /* petrol - fyllnad, alltid med vit text */
  --o-deep:#0E4448; /* petrol som text pa ljus botten */
  --o-tint:#E8EFEE;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);
  font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
p{margin:0}
:focus-visible{outline:2px solid var(--o-deep);outline-offset:2px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:99;background:#fff;padding:10px 16px;width:auto;height:auto;clip:auto}
a{color:inherit;text-decoration:none}
.m-in{max-width:1140px;margin:0 auto;padding:0 40px}
h1,h2,h3,h4,h5{margin:0;font-weight:400}

/* Toppbar */
.m-util{
  background:var(--dark); color:#CFC9C0; font-size:11.5px; letter-spacing:.04em;
}
.m-util .m-in{display:flex;justify-content:space-between;align-items:center;gap:24px;height:34px}
.m-util b{color:#fff;font-weight:400}
.m-util .u-hi{color:var(--o)}

/* Header */
.m-head{border-bottom:1px solid var(--line); background:var(--paper)}
.m-head .m-in{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  gap:24px; height:74px;
}
.m-nav{display:flex;gap:26px;font-size:13px;letter-spacing:.01em}
.m-nav a{color:var(--ink);padding-bottom:2px;border-bottom:1px solid transparent}
.m-nav a:hover{border-color:var(--o-deep)}
.m-nav a.on{border-color:var(--ink)}
.m-mark{
  font-size:19px; letter-spacing:.28em; font-weight:400; text-transform:uppercase;
  white-space:nowrap; text-indent:.28em;
}
.m-tools{display:flex;justify-content:flex-end;align-items:center;gap:16px}
.m-search{
  display:flex; align-items:center; gap:8px; border:1px solid var(--line);
  padding:7px 12px; width:214px; color:var(--mute); font-size:12.5px;
}
.m-cart{position:relative;font-size:12.5px;letter-spacing:.04em}
.m-cart .n{
  display:inline-block; min-width:17px; height:17px; line-height:17px;
  background:var(--o); color:#fff; font-size:10.5px; text-align:center;
  margin-left:5px; padding:0 4px;
}
.ic{width:15px;height:15px;display:inline-block;vertical-align:-2px;stroke:currentColor;fill:none;stroke-width:1.4}

/* Hero */
.m-hero{background:var(--dark); color:#F2EEE8; overflow:visible}
/* Heron far INTE klippa: sokforslagen hanger ut under sokfaltet och ska ligga
   ovanpa nasta sektion. Klippningen flyttad till dokumentstapeln, som bara
   behover halla sig i sidled. overflow-x:clip skapar ingen scrollcontainer,
   sa den kan kombineras med overflow-y:visible. */
.m-hero .m-in{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:48px; align-items:center; padding-top:56px; padding-bottom:56px;
}
.m-hero h1{
  font-family:var(--serif); font-weight:400;
  font-size:42px; line-height:1.1; letter-spacing:-.015em; margin-bottom:11px;
  text-wrap:balance;
}
.m-hero p.lead{color:#BCB5AA;font-size:15px;line-height:1.7;max-width:58ch}
.m-cta{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}

/* Sokfaltet i heron - sajtens huvudsakliga ingang */
.hero-search{margin-top:28px;max-width:520px}
.hero-search .m-search{
  display:flex;align-items:center;gap:10px;width:100%;
  background:var(--paper);border:1px solid var(--paper);padding:0 0 0 16px;
}
.hero-search .m-search:focus-within{box-shadow:0 0 0 3px rgba(18,86,92,.28)}
.hero-search .m-search .ic{color:var(--mute);flex:none}
.hero-search .m-search input[type=search]{
  flex:1;min-width:0;border:0;background:none;outline:none;
  font-family:inherit;font-size:15px;color:var(--ink);padding:16px 0;width:auto;
}
.hero-search .m-search input[type=search]::placeholder{color:var(--mute)}
.hero-search .m-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
.m-search-btn{
  flex:none;border:0;cursor:pointer;font-family:inherit;font-weight:500;
  background:var(--o);color:#fff;font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;padding:16px 26px;align-self:stretch;
}
.m-search-btn:hover{background:var(--o-deep)}
.hero-search .m-suggest{left:0;right:auto;width:100%;max-width:none;text-align:left}
.herohint{margin-top:14px;font-size:12.5px;color:#BCB5AA}
.herohint a{color:#F2EEE8;border-bottom:1px solid #5A554C}
.herohint a:hover{border-color:#F2EEE8}
.btn{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;padding:13px 24px;border:1px solid transparent;cursor:pointer;
  font-family:inherit;
}
.btn-o{background:var(--o);color:#fff;font-weight:500}
.btn-o:hover{background:var(--o-deep)}
.btn-ghost{border-color:#5A554C;color:#F2EEE8}
.btn-ghost:hover{border-color:#F2EEE8}
.m-trust{
  margin-top:28px;padding-top:18px;border-top:1px solid #3A3730;
  display:flex;gap:26px;flex-wrap:wrap;font-size:12px;color:#BCB5AA;letter-spacing:.03em;
}
.m-trust b{color:#fff;font-weight:500}
.stars{color:var(--o-deep);letter-spacing:.08em}

/* USP-rad */
.m-usp{border-bottom:1px solid var(--line)}
.m-usp .m-in{
  /* auto-fit: raden funkar med tva, tre eller fyra rutor */
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.usp{
  padding:20px 24px;font-size:12.5px;letter-spacing:.03em;color:var(--ink);
  border-left:1px solid var(--line);display:flex;align-items:center;gap:10px;
}
.usp:first-child{border-left:0;padding-left:0}
.usp svg{color:var(--o-deep);flex:none}

/* Butik */
.shop{padding:44px 0 8px}
.filterbar{
  display:flex;justify-content:space-between;align-items:center;
  gap:24px;padding-bottom:26px;flex-wrap:wrap;
}
.cats{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:13px}
.cats a{color:var(--ink)}
.cats a:hover{color:var(--o-deep)}
.cats a.on{color:var(--o-deep)}
.cats .sep{color:#CFC9C0}
.filterbtn{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink);letter-spacing:.04em}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 26px}
.card{position:relative}
.thumb{
  background:var(--tile);aspect-ratio:1/1;display:grid;place-items:center;
  position:relative;overflow:hidden;
}
.card:hover .thumb{background:var(--tile2)}

.badge{
  position:absolute;top:10px;right:10px;background:var(--o);color:#fff;
  font-size:10px;letter-spacing:.09em;text-transform:uppercase;padding:4px 8px;z-index:3;
}
.badge.dark{background:var(--ink)}
.heart{position:absolute;right:0;top:0;color:var(--mute)}
.cardhead{display:flex;justify-content:space-between;gap:12px;margin-top:13px;align-items:flex-start}
.cname{font-size:13.5px;line-height:1.35;max-width:22ch}
.rate{
  display:flex;align-items:center;gap:6px;margin-top:5px;
  font-size:11.5px;color:var(--mute);font-variant-numeric:tabular-nums;
}
.rate .stars{font-size:11px}
.price{margin-top:6px;font-size:13.5px;font-variant-numeric:tabular-nums}
.price .was{color:var(--mute);text-decoration:line-through;margin-right:7px;font-size:12.5px}
.price .now{color:var(--o-deep)}
.results{
  text-align:center;font-size:12px;color:var(--mute);margin-top:44px;
  padding-bottom:20px;border-bottom:1px solid var(--line);letter-spacing:.03em;
}
.loadmore{
  text-align:center;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
  padding:22px 0;border-bottom:1px solid var(--line);color:var(--ink);
}
.loadmore span{border-bottom:1px solid var(--o);padding-bottom:3px}

/* Justeringar produktkort */
.cardhead .ic{color:var(--mute);flex:none;margin-top:3px}
.card a{color:inherit;display:block}

/* Bästsäljarflikar */
.best{background:var(--tile);margin-top:56px;padding:46px 0 50px}
.secthead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.secttl{
  font-family:var(--serif);font-size:24px;font-weight:400;letter-spacing:-.01em;
}
.tabs{display:flex;gap:22px;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
.tab{background:none;border:0;padding:0 0 5px;font-family:inherit;font-size:inherit;
  letter-spacing:inherit;text-transform:inherit;color:var(--mute);cursor:pointer;border-bottom:1px solid transparent}
.tab[aria-selected="true"]{color:var(--o-deep);border-color:var(--o-deep)}
.rows{background:var(--paper);border:1px solid var(--line)}
.row{
  display:grid;grid-template-columns:34px minmax(0,1fr) auto auto auto auto;align-items:center;
  gap:20px;padding:15px 22px;border-top:1px solid var(--line);
}
.row:first-child{border-top:0}
.row .rk{font-size:12px;color:var(--mute);font-variant-numeric:tabular-nums}
.row .nm{font-size:13.5px}
.row .cg{font-size:11.5px;color:var(--mute);letter-spacing:.03em}
.row .pr{font-size:13.5px;font-variant-numeric:tabular-nums;min-width:74px;text-align:right}
.row .add{
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);
  padding:8px 14px;color:var(--ink);white-space:nowrap;
}
.row:hover .add{border-color:var(--o-deep);color:var(--o-deep)}
.row .rate{margin:0}

/* Omdömen */
.reviews{padding:60px 0}
.revtop{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:30px}
.revscore{font-size:34px;font-family:var(--serif);line-height:1;font-variant-numeric:tabular-nums}
.revmeta{font-size:12.5px;color:var(--mute);letter-spacing:.03em}
.revgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.rev{border-top:2px solid var(--o);padding-top:18px}
.rev q{
  display:block;font-family:var(--serif);font-size:16px;line-height:1.5;
  quotes:"\201D" "\201D";
}
.rev q::before{content:open-quote;color:var(--o-deep);margin-right:2px}
.rev q::after{content:none}
.revwho{margin-top:14px;font-size:11.5px;color:var(--mute);letter-spacing:.04em}

/* Avsändare */
.author{background:var(--dark);color:#EDE8E1;padding:52px 0}
.author .m-in{display:grid;grid-template-columns:132px 1fr;gap:34px;align-items:center}
.mono{
  width:132px;height:132px;background:#33302A;display:grid;place-items:center;
  font-family:var(--serif);font-size:34px;color:#fff;letter-spacing:.02em;font-family:var(--mono);
}
.author h2{font-family:var(--serif);font-size:24px;font-weight:400;margin-bottom:7px}
.author p{color:#BCB5AA;max-width:62ch;font-size:14px}

/* Guider */
.guides{padding:60px 0}
.gg{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 26px}
.g img,.gimg{display:block;background:var(--tile);width:100%}
.gimg{display:grid;place-items:center;overflow:hidden}
.gimg.tall{aspect-ratio:3/4}
.gimg.wide{aspect-ratio:4/3}

.gdate{margin-top:16px;font-size:11.5px;color:var(--mute);letter-spacing:.05em;display:flex;align-items:center;gap:9px}
.gdate::before{content:"";width:16px;height:1px;background:var(--mute)}
.gttl{font-family:var(--serif);font-size:19px;font-weight:400;margin-top:7px;line-height:1.28}
.gtxt{margin-top:8px;font-size:13px;color:#5F5A53;max-width:38ch}
.gmore{margin-top:11px;font-size:12px;color:var(--o-deep);letter-spacing:.04em;display:inline-block}
.gmore:hover{text-decoration:underline}

/* Sidfot */
.foot{border-top:1px solid var(--line);padding:52px 0 0}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px}
.fh{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.flist{display:flex;flex-direction:column;gap:9px;font-size:13px}
.flist a:hover{color:var(--o-deep)}
.fmark{font-size:15px;letter-spacing:.26em;text-transform:uppercase;margin-bottom:14px}
.fabout{font-size:12.5px;color:#5F5A53;line-height:1.75}
.fnote{color:var(--o-deep);font-size:11.5px;letter-spacing:.03em;margin-top:8px;display:block}
.fbot{
  margin-top:44px;border-top:1px solid var(--line);padding:18px 0 34px;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:11.5px;color:var(--mute);letter-spacing:.04em;
}



/* ================= PRODUKTSIDA ================= */
.crumbs{padding:18px 0;font-size:12px;color:var(--mute);letter-spacing:.03em;border-bottom:1px solid var(--line)}
.crumbs a{color:var(--mute)}
.crumbs a:hover{color:var(--o-deep)}
.crumbs .cur{color:var(--ink)}

.pdp{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:56px;padding:38px 0 54px;align-items:start}

.pv{background:var(--tile);aspect-ratio:4/5;display:grid;place-items:center;position:relative}

.pvzoom{position:absolute;right:14px;bottom:14px;background:var(--paper);border:1px solid var(--line);
  font-size:11px;letter-spacing:.07em;text-transform:uppercase;padding:8px 13px;color:var(--ink)}
.pthumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.pth{background:var(--tile);aspect-ratio:3/4;display:grid;place-items:center;border:1px solid transparent}
.pth.on{border-color:var(--ink)}
/* Sma rutor: samma regler, men morkare grator sa raderna inte forsvinner */

.pth.pdf{display:grid;place-items:center;font-size:10px;letter-spacing:.1em;color:var(--mute)}

.buy h1{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.15;letter-spacing:-.015em}
.buyrate{display:flex;align-items:center;gap:9px;margin-top:11px;font-size:12.5px;color:var(--mute)}
.buyrate a{color:var(--mute);border-bottom:1px solid var(--line)}
.buyrate a:hover{color:var(--o-deep);border-color:var(--o-deep)}
.buylead{margin-top:16px;font-size:14px;line-height:1.65;color:#4E4A44;max-width:46ch}
.buylead p{margin:0 0 10px}
.buylead p:last-child{margin-bottom:0}
.buylead ul,.buylead ol{margin:0 0 10px 18px}
.buylead li{margin:3px 0}
.buylead strong,.buylead b{color:var(--ink);font-weight:500}
.pricerow{display:flex;align-items:baseline;gap:12px;margin-top:22px}
.pricebig{font-size:28px;font-variant-numeric:tabular-nums}
.pricevat{font-size:12px;color:var(--mute);letter-spacing:.03em}
.incl{margin-top:20px;display:flex;flex-direction:column;gap:9px;font-size:13.5px}
.incl div{display:flex;gap:10px;align-items:flex-start}
.incl svg{color:var(--o-deep);flex:none;margin-top:3px}
.buybtns{margin-top:24px;display:flex;flex-direction:column;gap:10px}
.btn-buy{background:var(--o);color:#fff;font-weight:500;justify-content:center;width:100%;padding:16px 22px;font-size:13px}
.btn-buy:hover{background:var(--o-deep)}
.btn-line{border:1px solid var(--line);color:var(--ink);justify-content:center;width:100%;padding:14px 22px;background:none}
.btn-line:hover{border-color:var(--ink)}
.legal{margin-top:18px;font-size:11.5px;line-height:1.65;color:var(--mute);border-left:2px solid var(--o);padding-left:12px}
.legal a{color:var(--o-deep);border-bottom:1px solid rgba(14,68,72,.35)}
.buyfoot{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  font-size:11.5px;color:var(--mute);letter-spacing:.03em}

/* Innehållsdel */
.pcontent{border-top:1px solid var(--line);padding:48px 0 8px}
.pcols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:56px;align-items:start}
.anchors{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;letter-spacing:.09em;text-transform:uppercase;
  padding-bottom:22px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.anchors a{color:var(--mute);padding-bottom:4px;border-bottom:1px solid transparent}
.anchors a:first-child{color:var(--o-deep);border-color:var(--o-deep)}
.anchors a:hover{color:var(--o-deep)}
.psec+.psec{margin-top:40px}
.psec h2{font-family:var(--serif);font-size:22px;font-weight:400;margin-bottom:8px}
.psec p{font-size:14.5px;color:#4E4A44;max-width:64ch}
.psec p+p{margin-top:11px}
.steps{margin-top:16px;display:flex;flex-direction:column;gap:0;counter-reset:s}
.step{display:grid;grid-template-columns:34px 1fr;gap:16px;padding:15px 0;border-top:1px solid var(--line)}
.step:last-child{border-bottom:1px solid var(--line)}
.stepn{font-size:12px;color:var(--o-deep);font-variant-numeric:tabular-nums;letter-spacing:.06em;padding-top:2px}
.step b{font-weight:500;font-size:14px;display:block;margin-bottom:3px}
.step span.t{font-size:13.5px;color:#5F5A53}
details.faq{border-top:1px solid var(--line)}
details.faq:last-of-type{border-bottom:1px solid var(--line)}
details.faq summary{list-style:none;cursor:pointer;padding:16px 30px 16px 0;font-size:14.5px;position:relative}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";position:absolute;right:4px;top:14px;color:var(--o-deep);font-size:17px;line-height:1}
details.faq[open] summary::after{content:"–"}
details.faq p{padding:0 40px 18px 0;font-size:14px}

.side{position:sticky;top:20px;display:flex;flex-direction:column;gap:20px}
.facts{border:1px solid var(--line);padding:22px}
.facts h3{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--mute);margin-bottom:10px;font-weight:500}
.facts dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;font-size:13px}
.facts dt{color:var(--mute)}
.facts dd{margin:0;text-align:right}
.fit{border:1px solid var(--line);padding:22px}
.fit h3{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--mute);margin-bottom:10px;font-weight:500}
.fit ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:13.5px}
.fit li{display:flex;gap:9px;align-items:flex-start}
.fit li svg{flex:none;margin-top:3px}
.fit .yes svg{color:var(--o-deep)}
.fit .no{color:var(--mute)}
.fit .no svg{color:#C4BEB5}
.fit .div{height:1px;background:var(--line);margin:14px 0}

/* Omdömen på produkt */
.pre{background:var(--tile);padding:50px 0;margin-top:52px}
.pregrid{display:grid;grid-template-columns:270px 1fr;gap:48px;align-items:start}
.bars{display:flex;flex-direction:column;gap:7px;margin-top:18px}
.bar{display:grid;grid-template-columns:34px 1fr 38px;gap:10px;align-items:center;font-size:11.5px;color:var(--mute);font-variant-numeric:tabular-nums}
.bar i{height:5px;background:#DDD8D1;display:block}
.bar i b{display:block;height:100%;background:var(--o)}
.prelist{display:flex;flex-direction:column;gap:0}
.prev{border-top:1px solid #DDD8D1;padding:20px 0}
.prev:first-child{border-top:0;padding-top:0}
.prevhead{display:flex;align-items:center;gap:12px;font-size:11.5px;color:var(--mute);letter-spacing:.03em}
.prevhead .stars{font-size:11px}
.prev p{margin-top:9px;font-size:14px;max-width:62ch;color:#3E3A35}
.verified{display:inline-flex;align-items:center;gap:5px;color:var(--o-deep)}

/* Merförsäljning */
.bundle{border:1px solid var(--o);background:var(--o-tint);padding:24px 26px;margin-top:52px;
  display:flex;justify-content:space-between;align-items:center;gap:26px;flex-wrap:wrap}
.bundle h3{font-family:var(--serif);font-size:19px;font-weight:400;margin-bottom:5px}
.bundle p{font-size:13.5px;color:#5F5A53;max-width:56ch}
.bundle .bprice{font-size:13.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.bundle .bprice s{color:var(--mute);margin-right:8px}
.cross{padding:52px 0 0}
@media (max-width:1080px){
  .pdp,.pcols,.pregrid{grid-template-columns:1fr;gap:34px}
  .side{position:static}
}
/* ---------- Temaspecifikt: WordPress och WooCommerce ---------- */
.mb-page{padding:52px 0 64px}
.mb-page .m-in{max-width:820px}
.entry-title{font-family:var(--serif);font-size:34px;line-height:1.15;letter-spacing:-.015em;margin-bottom:8px;text-wrap:balance}
.entry-meta{font-size:11.5px;color:var(--mute);letter-spacing:.05em;text-transform:uppercase;margin-bottom:26px}
.entry-content{font-size:15.5px;line-height:1.75;color:#3E3A35}
.entry-content > *+*{margin-top:1.05em}
.entry-content h2{font-family:var(--serif);font-size:24px;line-height:1.25;margin-top:1.9em}
.entry-content h3{font-family:var(--serif);font-size:19px;line-height:1.3;margin-top:1.6em}
/* Rubriken ska sitta nara sin egen text - luften hor hemma ovanfor rubriken */
.entry-content h2+*,.entry-content h3+*,.entry-content h4+*{margin-top:.4em}
.entry-content a{color:var(--o-deep);border-bottom:1px solid rgba(14,68,72,.35)}
.entry-content ul,.entry-content ol{padding-left:1.2em}
.entry-content li+li{margin-top:.4em}
.entry-content blockquote{border-left:2px solid var(--o);padding-left:18px;font-family:var(--serif);font-size:18px;color:var(--ink)}
.entry-content img{display:block}
.entry-content table{width:100%;border-collapse:collapse}
.entry-content th,.entry-content td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.entry-content figure{margin:0}
.mb-archive{padding:44px 0 8px}
.mb-pagination{display:flex;gap:10px;justify-content:center;padding:34px 0;font-size:13px}
.mb-pagination .page-numbers{padding:8px 13px;border:1px solid var(--line)}
.mb-pagination .current{border-color:var(--ink)}
.mb-note{border:1px solid var(--line);background:var(--tile);padding:22px 24px;font-size:13.5px;color:#5F5A53;max-width:64ch}
.mb-note b{color:var(--ink);font-weight:500;display:block;margin-bottom:5px}

/* Produktbilder: riktiga bilder i den ljusa rutan */
.thumb img,.pv img{width:100%;height:100%;object-fit:contain;padding:11%;mix-blend-mode:multiply}
/* Den genererade mallbilden har redan sin egen platta och ram - ingen luft, ingen blandning */
.thumb img.mb-mallbild,.pv img.mb-mallbild,.co-thumb img.mb-mallbild{
  padding:0;mix-blend-mode:normal;object-fit:cover;width:100%;height:100%;display:block;
}
.pv img{padding:8%}
.pth img{width:100%;height:100%;object-fit:contain;padding:10%}

/* WooCommerce */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  list-style:none;margin:0 0 24px;padding:14px 18px;border-left:2px solid var(--o);
  background:var(--o-tint);font-size:13.5px}
.woocommerce-error{border-color:#B3453C;background:#FBEEEC}
.mb-added{font-size:12px;color:var(--o-deep);margin-top:8px;display:none}
.buy form.cart{margin:26px 0 0}
.buy .quantity{display:none}
.buy .single_add_to_cart_button{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  background:var(--o);color:#fff;border:0;cursor:pointer;font-family:inherit;
  font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:16px 22px;font-weight:500}
.buy .single_add_to_cart_button:hover{background:var(--o-deep)}
.buy .variations{width:100%;margin-bottom:16px;font-size:13px}
.buy .variations td{padding:6px 0}
.buy select{font-family:inherit;font-size:13px;padding:9px 10px;border:1px solid var(--line);background:#fff;width:100%}
.stars-empty{color:var(--mute);font-size:12px}
.woocommerce-Price-amount{white-space:nowrap}
.price del{color:var(--mute);font-size:.9em;margin-right:7px}
.price ins{text-decoration:none;color:var(--o-deep)}
.mb-sidebar-none{display:none}
.related.products,.up-sells{display:none}
.m-nav ul.m-navlist{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.m-nav ul.m-navlist a{color:var(--ink);padding-bottom:2px;border-bottom:1px solid transparent}
.m-nav ul.m-navlist a:hover{border-color:var(--o-deep)}
.m-nav ul.m-navlist .current-menu-item > a,.m-nav ul.m-navlist .current_page_item > a{border-color:var(--ink)}
.m-search input[type=search]{border:0;background:none;font-family:inherit;font-size:12.5px;color:var(--ink);width:100%;padding:0;outline:none}
.m-search input::placeholder{color:var(--mute)}
.m-mark a{color:inherit}
.m-mark img{max-height:34px;width:auto}
.gimg img{width:100%;height:100%;object-fit:cover;display:block}
.gttl a{color:inherit}
.gttl a:hover{color:var(--o-deep)}
.row .nm:hover{color:var(--o-deep)}
.cname{transition:color .12s ease}
.card:hover .cname{color:var(--o-deep)}
.loadmore a{display:block;color:inherit}
.filterbar .woocommerce-ordering select{font-family:inherit;font-size:12.5px;padding:7px 10px;border:1px solid var(--line);background:#fff}
.pricebig .woocommerce-Price-amount{font-size:28px}
.buy .price{font-size:28px}
@media (max-width:1080px){.pthumbs{grid-template-columns:repeat(4,1fr)}}

/* ---------- Rattningar efter forsta granskningen pa staging ---------- */
/* Varukorgen finns redan i sidhuvudet - plugin-varianten i menyn ar dubbel */
.m-nav .wpmenucartli,.m-nav .menu-item-type-wpmenucart,.m-nav a[href*="#wpmenucart"],.dr-nav .menu-item-type-wpmenucart{display:none}
/* Kopknappen ska bara sajtens orange, inte plugin-lila */
.woocommerce div.product form.cart .button,
.buy form.cart button.single_add_to_cart_button,
.buy .single_add_to_cart_button.button.alt{
  background:var(--o)!important;color:#fff!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;text-shadow:none!important;width:100%;padding:16px 22px!important;
  font-family:inherit!important;font-size:13px!important;letter-spacing:.06em;text-transform:uppercase;font-weight:500!important}
.woocommerce div.product form.cart .button:hover,
.buy .single_add_to_cart_button.button.alt:hover{background:var(--o-deep)!important}
.buy form.cart .quantity,.buy .quantity{display:none!important}
.buy .woocommerce-variation-price{display:none}
.buy table.variations{border:0}
.buy table.variations th{text-align:left;font-weight:400;font-size:12px;letter-spacing:.05em;color:var(--mute);padding-right:14px;width:38%}
.buy .reset_variations{font-size:11.5px;color:var(--mute)}
/* Kortnamn pa hogst tva rader sa rutnatet blir jamnt */
.cname{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.buylead{display:block}
.buylead-more{color:var(--o-deep);white-space:nowrap}
.buylead-more:hover{text-decoration:underline}
.thumb img,.pv img{mix-blend-mode:normal}

/* ================= KASSAN ================= */
/* Direct Checkout ager mallarna, sa layouten byggs pa Woo:s egen markup. */
.woocommerce-checkout .mb-page .m-in,
.woocommerce-order-received .mb-page .m-in{max-width:1140px}
.woocommerce-checkout .mb-page{padding-top:34px}
.woocommerce-checkout .woocommerce-cart-form{display:none}
.co-back{font-size:13px;color:var(--ink);border-bottom:1px solid transparent}
.co-back:hover{border-color:var(--o-deep);color:var(--o-deep)}

form.checkout.woocommerce-checkout{
  display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  column-gap:56px;row-gap:0;align-items:start;margin-top:26px}
form.checkout > .col2-set,form.checkout > #customer_details{grid-column:1;grid-row:1 / span 3}
form.checkout > .co-reassure{grid-column:1;grid-row:4;align-self:start}
form.checkout > #order_review_heading{grid-column:2;grid-row:1;margin:0}
form.checkout > .woocommerce-checkout-review-order{
  grid-column:2;grid-row:2 / span 3;position:sticky;top:20px;
  border:1px solid var(--line);padding:22px 24px 24px}
form.checkout > .woocommerce-NoticeGroup{grid-column:1 / -1;grid-row:1}
/* Woo:s woocommerce-layout.css flytar .col-1/.col-2 till 48% och vinner pa
   specificitet. Det lamnade en tom hogerhalva i vanstra kolumnen - det stora
   tomrummet mellan uppgifterna och ordersammanfattningen. */
.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2{
  float:none;width:100%;max-width:none;padding:0}
.woocommerce-checkout form.checkout .col2-set::before,
.woocommerce-checkout form.checkout .col2-set::after{content:none}

/* Rubriker */
form.checkout h3,#order_review_heading{
  font-family:var(--serif);font-size:19px;font-weight:400;
  margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.woocommerce-billing-fields h3{margin-top:0}
.woocommerce-additional-fields h3,#ship-to-different-address{margin-top:30px!important}

/* Falt */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:repeat(12,1fr);gap:17px 18px}
form.checkout .form-row{margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-width:0;width:auto!important;float:none!important}
form.checkout .form-row{grid-column:1 / -1}
form.checkout .form-row-first{grid-column:span 6}
form.checkout .form-row-last{grid-column:span 6}
/* Postnummer behover inte halva raden - ortnamnet gor det. */
form.checkout #billing_postcode_field,form.checkout #shipping_postcode_field{grid-column:span 4}
form.checkout #billing_city_field,form.checkout #shipping_city_field{grid-column:span 8}
form.checkout #billing_company_field{grid-column:span 7}
form.checkout #vat_number_field{grid-column:span 5}
/* Organisationsnumret pa egen rad, i samma bredd som foretagsrutan ovanfor */
form.checkout #billing_org_nr_field{grid-column:1 / span 7}
form.checkout #billing_company_field:last-child{grid-column:1 / -1}
form.checkout .form-row label{font-size:12px;letter-spacing:.04em;color:var(--mute)}
form.checkout .form-row label .required{color:var(--o-deep);text-decoration:none;border:0}
form.checkout .woocommerce-input-wrapper{display:block;width:100%}
form.checkout input.input-text,form.checkout textarea.input-text,form.checkout select{
  font-family:inherit;font-size:14px;padding:12px 13px;border:1px solid var(--line);
  background:#fff;color:var(--ink);width:100%;border-radius:0;box-shadow:none}
form.checkout input.input-text:focus,form.checkout textarea:focus,form.checkout select:focus{
  border-color:var(--ink);outline:none}
form.checkout .woocommerce-invalid input.input-text{border-color:#B3453C}
.select2-container--default .select2-selection--single{height:44px;border:1px solid var(--line);border-radius:0;background:#fff}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:42px;padding-left:13px;font-size:14px;color:var(--ink)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:42px}

.co-reassure{margin-top:28px;display:flex;flex-direction:column;gap:11px;font-size:12.5px;color:#5F5A53}
.co-reassure div{display:flex;gap:10px;align-items:flex-start}
.co-reassure svg{color:var(--o-deep);flex:none;margin-top:3px}

/* Ordersammanfattning */
.woocommerce table.shop_table.woocommerce-checkout-review-order-table{width:100%;border:0;border-radius:0;margin:0;border-collapse:collapse}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead{display:none}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table td,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table th{border:0;padding:0;text-align:left;background:none}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr{border-bottom:1px solid var(--line)}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody td{padding:14px 0;vertical-align:middle}
td.product-name{display:flex;gap:13px;align-items:center;flex-wrap:wrap;font-size:13.5px}
.co-thumb{width:48px;height:60px;background:var(--tile);display:grid;place-items:center;overflow:hidden;flex:none}

.co-thumb img{width:100%;height:100%;object-fit:contain;padding:8%}
.co-name{flex:1 1 120px;line-height:1.35;min-width:0}
.co-meta{flex-basis:100%;padding-left:61px;font-size:11.5px;color:var(--mute);margin-top:-6px}
.co-remove{color:var(--mute);border-bottom:1px solid var(--line)}
.co-remove:hover{color:var(--o-deep);border-color:var(--o-deep)}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table td.product-total{
  text-align:right;white-space:nowrap;font-size:13.5px;font-variant-numeric:tabular-nums;width:1%;padding-left:16px}
.woocommerce-checkout-review-order-table .variation{font-size:11.5px;color:var(--mute);margin:3px 0 0}
.woocommerce-checkout-review-order-table .variation dt,
.woocommerce-checkout-review-order-table .variation dd{display:inline;margin:0}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot th{
  color:var(--mute);font-weight:400;font-size:13.5px;padding:9px 0}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot td{
  text-align:right;font-size:13.5px;padding:9px 0;font-variant-numeric:tabular-nums}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr:first-child th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr:first-child td{padding-top:16px}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total td{
  border-top:1px solid var(--line);padding-top:15px;font-size:16px}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total td{font-weight:500}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total .woocommerce-Price-amount{font-size:17px}
/* Totalsumman far aldrig brytas mitt i - hela raden pa en rad. */
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total td{white-space:nowrap;flex:none}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total .includes_tax{display:inline;font-size:11.5px;color:var(--mute);font-weight:400;white-space:nowrap;margin-left:4px}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total .includes_tax .woocommerce-Price-amount{font-size:11.5px;font-weight:400}

.co-delivery{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:13px 15px;
  background:var(--o-tint);font-size:12.5px;line-height:1.5}
.co-delivery svg{color:var(--o-deep);flex:none;margin-top:2px}

/* Betalning */
#payment{background:none;border-radius:0;margin-top:20px}
#payment ul.payment_methods{list-style:none;margin:0 0 16px;padding:0;border:1px solid var(--line)}
#payment ul.payment_methods li{padding:14px 16px;border-top:1px solid var(--line);background:none}
#payment ul.payment_methods li:first-child{border-top:0}
#payment ul.payment_methods li > label{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink)}
#payment ul.payment_methods li input[type=radio]{accent-color:var(--o-deep);width:16px;height:16px}
#payment div.payment_box{background:var(--tile);padding:12px 14px;font-size:12.5px;margin:11px 0 0;line-height:1.55;border-radius:0}
#payment div.payment_box::before{display:none}
#payment div.payment_box p{margin:0}
#payment .form-row.place-order{padding:0;margin:0}
.woocommerce-terms-and-conditions-wrapper{margin:4px 0 10px}
.form-row.mb-consent{margin:0 0 10px;padding:0}
.woocommerce-form__label-for-checkbox,.form-row.mb-consent label{
  display:flex!important;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.55;
  color:var(--ink);letter-spacing:0;text-transform:none}
.woocommerce-form__label-for-checkbox input[type=checkbox],
.form-row.mb-consent input[type=checkbox]{margin:2px 0 0;width:16px;height:16px;accent-color:var(--o-deep);flex:none}
.form-row.mb-consent abbr.required,.woocommerce-terms-and-conditions-checkbox-text .required{color:var(--o-deep);border:0;text-decoration:none}
#place_order{
  width:100%;background:var(--o)!important;color:#fff!important;border:0!important;border-radius:0!important;
  padding:16px 22px!important;font-family:inherit!important;font-size:13px!important;letter-spacing:.06em;
  text-transform:uppercase;font-weight:500!important;cursor:pointer;margin-top:6px;text-shadow:none!important;
  box-shadow:none!important;float:none}
#place_order:hover{background:var(--o-deep)!important}
.woocommerce-privacy-policy-text{font-size:11.5px;color:var(--mute);margin-top:12px;line-height:1.6}
.woocommerce-privacy-policy-text a{color:var(--o-deep)}
.blockUI.blockOverlay{background:#fff!important;opacity:.6!important}
.woocommerce-NoticeGroup ul{list-style:none;padding:0;margin:0}

/* Tack- och nedladdningssida */
.mb-thanks{max-width:760px}
.th-lead{font-size:15.5px;color:#4E4A44;margin-top:12px;max-width:60ch}
.th-files{margin-top:36px}
.th-list{border:1px solid var(--line)}
.th-file{display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:16px 18px;border-top:1px solid var(--line);flex-wrap:wrap}
.th-file:first-child{border-top:0}
.th-name{display:block;font-size:14px}
.th-sub{display:block;font-size:11.5px;color:var(--mute);margin-top:3px}
.th-meta{margin-top:36px;border-top:1px solid var(--line);padding-top:22px}
.th-meta dl{display:grid;grid-template-columns:auto 1fr;gap:9px 20px;font-size:13.5px;margin:0}
.th-meta dt{color:var(--mute)}
.th-meta dd{margin:0}
.th-fine{margin-top:20px;font-size:12px;color:var(--mute);line-height:1.6}
.th-fine a{color:var(--o-deep)}
.th-next{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}

@media (max-width:1080px){
  form.checkout.woocommerce-checkout{grid-template-columns:1fr;row-gap:34px}
  form.checkout > .col2-set,form.checkout > #customer_details,
  form.checkout > .co-reassure,form.checkout > #order_review_heading,
  form.checkout > .woocommerce-checkout-review-order{grid-column:1;grid-row:auto;position:static}
}
@media (max-width:760px){
  form.checkout .form-row,form.checkout .form-row-first,form.checkout .form-row-last,
  form.checkout #billing_postcode_field,form.checkout #shipping_postcode_field,
  form.checkout #billing_city_field,form.checkout #shipping_city_field,
  form.checkout #billing_company_field,form.checkout #vat_number_field,
  form.checkout #billing_org_nr_field{grid-column:1 / -1}
}
.woocommerce-checkout #payment{background:none;border-radius:0;padding:0}
.woocommerce-checkout #payment ul.payment_methods{background:none;border-bottom:1px solid var(--line)}
.woocommerce-checkout #payment div.form-row{padding:0;margin:0}
.woocommerce-checkout #payment div.payment_box{background:var(--tile);color:var(--ink)}
.woocommerce-checkout #payment div.payment_box::after{display:none}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:22px;width:auto;margin-left:6px}

/* Sokforslag */
.m-search-wrap{position:relative}
.m-suggest{
  position:absolute;top:calc(100% + 6px);right:0;width:340px;max-width:80vw;z-index:200;
  background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 30px rgba(26,26,24,.10)}
.sg-item{display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  padding:11px 14px;border-top:1px solid var(--line);font-size:13px;color:var(--ink)}
.sg-item:first-child{border-top:0}
.sg-item:hover,.sg-item.on{background:var(--tile)}
.sg-name{line-height:1.35}
.sg-price{color:var(--mute);font-variant-numeric:tabular-nums;white-space:nowrap}
.sg-all{display:block;padding:11px 14px;border-top:1px solid var(--line);
  font-size:12px;letter-spacing:.05em;color:var(--o-deep);background:var(--tile)}
.sg-all:hover{text-decoration:underline}
.sg-none{padding:14px;font-size:12.5px;color:var(--mute);margin:0}

/* ================= MOBIL ================= */
.m-burger{display:none;background:none;border:0;padding:6px 2px;cursor:pointer;color:var(--ink)}
.m-burger-bars{display:block;width:20px}
.m-burger-bars i{display:block;height:1.5px;background:currentColor;margin:4px 0;transition:transform .18s ease,opacity .18s ease}
.m-burger[aria-expanded="true"] .m-burger-bars i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.m-burger[aria-expanded="true"] .m-burger-bars i:nth-child(2){opacity:0}
.m-burger[aria-expanded="true"] .m-burger-bars i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.m-drawer{display:none;border-bottom:1px solid var(--line);background:var(--paper)}
.dr-nav{display:flex;flex-direction:column;max-width:1140px;margin:0 auto;padding:8px 24px 22px}
.dr-main{font-size:17px;padding:13px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.dr-h{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--mute);margin:22px 0 6px}
.dr-cat{font-size:14px;padding:9px 0;color:#4E4A44}
.dr-cat:active,.dr-main:active{color:var(--o-deep)}
body.mb-drawer-open{overflow:hidden}

@media (max-width:1080px){
  .m-burger{display:block}
  .m-drawer{display:block}
  .m-head .m-in{
    grid-template-columns:auto 1fr auto;align-items:center;
    row-gap:12px;padding-top:14px;padding-bottom:14px;height:auto}
  .m-nav{display:none}
  .m-mark{font-size:16px;letter-spacing:.2em;text-indent:.2em;text-align:center}
  .m-tools{gap:16px}
  /* Soket ar viktigare an menyn har - egen rad under sidhuvudet */
  .m-search-wrap{display:block;grid-column:1 / -1;order:5;width:100%}
  .m-search{display:flex;width:100%;padding:10px 12px}
  .m-suggest{left:0;right:0;width:auto;max-width:none}
  .m-util .m-in{height:auto;padding-top:7px;padding-bottom:7px;font-size:11px;
    flex-direction:column;align-items:flex-start;gap:2px}
  .m-hero .m-in{padding-top:40px;padding-bottom:40px}
  .crumbs{white-space:normal;line-height:1.7}
  .anchors{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cats{gap:10px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .cats a{white-space:nowrap}
  .pv{aspect-ratio:1 / 1}
  .pv .kort{height:82%}
}

/* Heron staplas innan textkolumnen blir sa smal att sokfaltet klams ihop. */
@media (max-width:860px){
  .m-hero .m-in{grid-template-columns:1fr;gap:30px}
  .m-hero p.lead{max-width:none}
  .stack{height:230px}
}

@media (max-width:640px){
  .m-in{padding:0 18px}
  .stack{height:180px}
  /* Tva kolumner ar fortfarande lasbart och sparar mycket skrollande */
  .grid{grid-template-columns:repeat(2,1fr);gap:26px 14px}
  .cname{font-size:12.5px}
  .gg{grid-template-columns:1fr}
  .m-hero h1{font-size:28px;line-height:1.15}
  .m-hero .m-in{padding-top:32px;padding-bottom:32px}
  .m-cta{flex-direction:column;align-items:stretch}
  .hero-search{max-width:none}
  .hero-search .m-search{padding-left:12px}
  .hero-search .m-search input[type=search]{font-size:16px;padding:14px 0}
  .m-search-btn{padding:14px 18px;font-size:12px}
  .m-cta .btn{justify-content:center}
  .m-trust{gap:8px;flex-direction:column}
  .m-usp .m-in{grid-template-columns:1fr}
  .usp{border-left:0;padding:13px 0;border-top:1px solid var(--line)}
  .usp:first-child{border-top:0}
  .secthead{gap:10px}
  .secttl{font-size:21px}
  .buy h1{font-size:26px}
  .pricerow{margin-top:18px}
  .buybtns .btn,.btn-buy,#place_order{padding:15px 18px!important}
  .row{grid-template-columns:24px 1fr;row-gap:6px}
  .row .pr{grid-column:2;text-align:left}
  .row .add{grid-column:2;justify-self:start}
  .th-file{flex-direction:column;align-items:flex-start;gap:12px}
  .th-meta dl{grid-template-columns:1fr;gap:2px 0}
  .th-meta dd{margin-bottom:10px}
  .fbot{flex-direction:column;gap:8px}
  .facts dl{grid-template-columns:1fr}
  .facts dd{text-align:left;margin-bottom:8px;color:var(--ink)}
}
/* Woo:s tvakolumnsblock ska staplas - temat gor sin egen kolumnindelning */
form.checkout .col2-set{display:block}
form.checkout .col2-set .col-2{margin-top:26px}
form.checkout .col2-set .col-2:empty{display:none}
/* Utan frakt-/extrafalt ar col-2 tom fast den innehaller tomma divar. */
form.checkout .col2-set .col-2:not(:has(.form-row)){display:none;margin-top:0}


/* ------------------------------------------------------------ Angerfunktionen
   Sidan /angra-kop/ - 2 kap. 10 a § distansavtalslagen. Formularet ska vara
   latt att hitta och latt att fylla i; darfor bred ruta, tydliga etiketter och
   ingen dekoration som kan tas for reklam. */
.mb-angra .m-in{max-width:680px}
.angra-intro{margin-bottom:26px}
.angra-obs{background:var(--o-tint);border-left:3px solid var(--o);padding:13px 16px;font-size:14.5px}
.angra-fel{border-left:3px solid #B00020;background:#FDF1F2;padding:12px 16px;margin:0 0 22px}
.angra-fel ul{margin:0;padding-left:18px;font-size:14.5px;color:#7A0016}
.angra-fel li+li{margin-top:5px}

.angra-form{border:1px solid var(--line);background:#fff;padding:26px 26px 22px}
.af-rad{display:block;margin:0 0 18px}
.af-rad label,.af-bekraft label{display:block;font-size:12.5px;letter-spacing:.02em;font-weight:500;color:var(--ink);margin-bottom:6px}
.af-req{color:var(--o-deep)}
.af-rad input[type=text],
.af-rad input[type=email],
.af-rad select,
.af-rad textarea{
  width:100%;border:1px solid var(--line);background:#fff;padding:11px 13px;
  font-family:inherit;font-size:15px;color:var(--ink);border-radius:0;outline:none
}
.af-rad input:focus,.af-rad select:focus,.af-rad textarea:focus{border-color:var(--ink)}
.af-rad textarea{resize:vertical;min-height:96px}
.af-hjalp{display:block;margin-top:6px;font-size:12.5px;color:var(--mute);line-height:1.5}

.af-bekraft{display:flex;align-items:flex-start;gap:10px;margin:22px 0 0;padding:14px 16px;background:var(--tile)}
.af-bekraft input[type=checkbox]{margin:2px 0 0;width:16px;height:16px;accent-color:var(--o-deep);flex:none}
.af-bekraft label{margin:0;font-size:14px;font-weight:400;line-height:1.5}

/* Skrapskyddsfaltet ska aldrig synas eller na tangentbordet. */
.af-falla{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.af-skicka{margin:20px 0 0}
.af-skicka .btn{width:100%;justify-content:center;padding:15px 22px}

.angra-klart{border:1px solid var(--line);background:var(--tile);padding:26px 28px}
.angra-klart-rubrik{font-family:var(--serif);font-size:21px;line-height:1.3;margin:0 0 10px}
.angra-klart p{font-size:15px;line-height:1.7;color:#3E3A35;margin:0 0 12px}
.angra-klart p:last-child{margin-bottom:0}
.angra-klart .btn{margin-top:6px;display:inline-flex;width:auto}

@media (max-width:640px){
  .angra-form{padding:20px 18px 18px}
  .af-rad input[type=text],.af-rad input[type=email],.af-rad select,.af-rad textarea{font-size:16px}
  .angra-klart{padding:20px 18px}
}

/* ==========================================================================
 * REGISTRET – Mallbankens eget formsprak
 *
 * Reglerna nedan ligger sist och vinner darfor over funktionslagrets
 * arvda varden. Har bor allt som skiljer Mallbanken fran systersajten:
 * det varma pappret, petrolen, monospacesiffrorna och registerkortet.
 * ========================================================================== */

/* ---------- Registerkortet ---------- */
/* Ingen bild, ingen ritad dokumentsiluett - bara mallens nummer ur sitt
   artikelnummer, satt i monospace. Numret ar riktig data; kortet pastar
   ingenting om hur dokumentet ser ut. */
.kort{
  background:var(--paper);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  /* Hojden styr - rutan kortet star i ar kvadratisk, sa bredden far folja */
  height:84%;width:auto;aspect-ratio:1 / 1.3;max-width:88%;position:relative;
}
.kort::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--o);
}
.kort-in{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10% 12%;text-align:center}
.kort-etikett{
  font-family:var(--mono);font-size:.62em;letter-spacing:.22em;text-transform:uppercase;
  color:var(--mute);line-height:1;
}
.kort-nr{
  font-family:var(--mono);font-size:2.6em;line-height:1;letter-spacing:-.01em;
  color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums;
}
.kort-omr{
  font-family:var(--sans);font-size:.68em;letter-spacing:.06em;color:var(--mute);
  line-height:1.3;max-width:16ch;
}
.card:hover .kort{border-color:var(--o)}
/* Kortet skalar med rutan det star i */
.thumb .kort{font-size:15px;height:84%}
.pv .kort{font-size:22px;height:86%}
.co-thumb .kort{font-size:7px;height:90%;border-width:1px}
.co-thumb .kort::before{height:2px}
.co-thumb .kort-omr{display:none}

/* ---------- Toppbar ---------- */
.m-util .u-hi{color:#9FD3D0}
.m-util .u-hi:hover{color:#fff}

/* ---------- Sidhuvud ---------- */
/* Menyraden bar ingen text-logotyp. Finns en bildlogotyp ritas den i mitten;
   saknas den blir mittkolumnen tom och menyn ligger kvar till vanster. */
.m-mark{font-family:var(--serif);font-size:22px;letter-spacing:.02em;text-transform:none;text-indent:0}
.m-head .m-in{gap:20px}
.m-nav{font-size:13.5px}
.m-nav a,.m-nav ul.m-navlist a{white-space:nowrap}

/* ---------- Hero ---------- */
/* Registret ar ljust. Det mörka bandet fran systersajten hor inte hit. */
.m-hero{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.m-hero .m-in{
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:56px;align-items:start;padding-top:62px;padding-bottom:58px;
}
.hero-kicker{
  display:block;font-family:var(--mono);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--o-deep);margin-bottom:16px;
}
.hero-kicker::after{content:"";display:block;width:34px;height:2px;background:var(--o);margin-top:12px}
.m-hero h1{font-size:46px;line-height:1.08;letter-spacing:-.02em;color:var(--ink);margin-bottom:14px}
.m-hero p.lead{color:#4A4740;font-size:15.5px;line-height:1.7;max-width:52ch}
.herohint{color:var(--mute)}
.herohint a{color:var(--o-deep);border-bottom:1px solid rgba(14,68,72,.3)}
.herohint a:hover{border-color:var(--o-deep)}
.hero-search .m-search{border:1px solid var(--line);background:#fff}
.hero-search .m-search input[type=search]{padding:15px 0}

/* Ur registret - sex riktiga rader ur butiken */
.hero-reg{border:1px solid var(--line);background:#fff}
.hr-h{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mute);padding:14px 18px;border-bottom:1px solid var(--line);background:var(--tile);
}
.hr-list{list-style:none;margin:0;padding:0}
.hr-list li+li{border-top:1px solid var(--line)}
.hr-list a{display:flex;gap:14px;align-items:baseline;padding:12px 18px;color:var(--ink)}
.hr-list a:hover{background:var(--o-tint)}
.hr-nr{
  font-family:var(--mono);font-size:13px;color:var(--o-deep);flex:none;width:3.4em;
  font-variant-numeric:tabular-nums;
}
.hr-nm{
  font-size:13px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* ---------- USP-raden ---------- */
.usp{font-size:12.5px;align-items:flex-start;gap:11px}
.usp svg{color:var(--o-deep);margin-top:3px}

/* ---------- Registret: rattsomradena ---------- */
.reg{padding:52px 0 8px}
.reggrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.regcard{
  background:var(--paper);padding:20px 20px 18px;display:flex;flex-direction:column;gap:5px;
  color:var(--ink);border-right:1px solid var(--line);border-bottom:1px solid var(--line);
}
.regcard:hover{background:var(--o-tint)}
.rc-namn{font-size:14.5px;line-height:1.3}
.rc-antal{font-family:var(--mono);font-size:11.5px;color:var(--mute);letter-spacing:.04em}

/* ---------- Produktkort ---------- */
.thumb{background:var(--tile)}
.cnr{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--o-deep);
  margin-bottom:4px;
}
.cname{font-size:13.5px;max-width:26ch}
.price{font-family:var(--mono);font-size:13px;letter-spacing:.01em}

/* ---------- Listan "Mest hamtade" ---------- */
.best{background:var(--tile)}
.row{grid-template-columns:48px minmax(0,1fr) auto auto auto}
.row .rk{font-family:var(--mono);font-size:12.5px;color:var(--o-deep)}
.row .pr{font-family:var(--mono)}
.row:hover .add{border-color:var(--o-deep);color:var(--o-deep)}

/* ---------- Produktsida ---------- */
.buynr{
  font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--o-deep);margin-bottom:10px;
}
.pv{background:var(--tile)}
.pricebig,.buy .price{font-family:var(--mono);letter-spacing:-.01em}
.facts dd.mono-dd{font-family:var(--mono);font-size:12.5px}
.stepn{font-family:var(--mono)}
.legal{border-left:2px solid var(--o)}

/* ---------- Avsandarsektionen ---------- */
.author{background:var(--dark)}
.author .mono{background:#1B3A38;color:#fff;font-family:var(--mono);font-size:30px}
.author h2{color:#F3F0EA}
.author p{color:#B9C5C2}
.author-lank{margin-top:12px;font-size:13px}
.author-lank a{color:#9FD3D0;border-bottom:1px solid rgba(159,211,208,.35)}

/* ---------- Sidfot ---------- */
.fmark{font-family:var(--serif);font-size:19px;letter-spacing:.01em;text-transform:none}
.fh{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em}

/* ---------- Ovrigt ---------- */
.mb-note{background:var(--tile)}
.woocommerce-message,.woocommerce-info{border-left-color:var(--o);background:var(--o-tint)}
.co-delivery{background:var(--o-tint)}
.angra-obs{background:var(--o-tint);border-left-color:var(--o)}
.results,.loadmore{letter-spacing:.04em}
.loadmore span{border-bottom:1px solid var(--o)}
.entry-content blockquote{border-left:2px solid var(--o)}

@media (max-width:1080px){
  .reggrid{grid-template-columns:repeat(3,1fr)}
  .m-mark{font-size:19px;letter-spacing:.01em;text-indent:0}
}
@media (max-width:860px){
  .m-hero .m-in{grid-template-columns:1fr;gap:34px}
  .m-hero p.lead{max-width:none}
}
@media (max-width:640px){
  .m-hero h1{font-size:32px}
  .reggrid{grid-template-columns:repeat(2,1fr)}
  .row{grid-template-columns:44px 1fr}
  .thumb .kort{font-size:12px}
}

/* ---------- Kontaktformularet (Gravity Forms, legacy markup) ----------
   Formularet pa /kontakt/ ar Gravity Forms formular 1. Reglerna nedan tar
   bort pluginets egen dekor och later faltet se ut som temats ovriga
   formular - samma kantlinjer, samma etiketter, samma petrolknapp. */
.mb-page .gform_wrapper{margin:30px 0 0;max-width:640px}
.mb-page .gform_wrapper form{border:1px solid var(--line);background:#fff;padding:26px 26px 22px}
.mb-page .gform_wrapper ul.gform_fields{list-style:none;margin:0;padding:0;display:block}
.mb-page .gform_wrapper li.gfield{margin:0 0 18px;padding:0;list-style:none}
.mb-page .gform_wrapper li.gfield:last-of-type{margin-bottom:0}
.mb-page .gform_wrapper .gfield_label{
  display:block;font-family:var(--sans);font-size:12.5px;letter-spacing:.02em;
  font-weight:500;color:var(--ink);margin:0 0 6px;
}
.mb-page .gform_wrapper .gfield_required{color:var(--o-deep);margin-left:2px}
.mb-page .gform_wrapper .ginput_container{margin:0}
.mb-page .gform_wrapper input[type=text],
.mb-page .gform_wrapper input[type=email],
.mb-page .gform_wrapper input[type=tel],
.mb-page .gform_wrapper input[type=url],
.mb-page .gform_wrapper select,
.mb-page .gform_wrapper textarea{
  width:100%;border:1px solid var(--line);background:#fff;padding:11px 13px;
  font-family:var(--sans);font-size:15px;color:var(--ink);border-radius:0;outline:none;
  box-shadow:none;
}
.mb-page .gform_wrapper textarea{resize:vertical;min-height:132px;line-height:1.6}
.mb-page .gform_wrapper input:focus,
.mb-page .gform_wrapper select:focus,
.mb-page .gform_wrapper textarea:focus{border-color:var(--ink)}
/* Namnfaltet ligger i tva kolumner i Gravitys egen markup */
.mb-page .gform_wrapper .ginput_complex{display:grid;grid-template-columns:1fr 1fr;gap:14px}
/* Gravitys egna kolumner ar halvbreda och kryper ihop till inmatningsfaltets
   standardbredd (~143 px) i ett rutnat. width:100% behovs - width:auto racker
   inte, for spannet krymper da till innehallets storlek. */
/* Gravitys egen regel ar .gform_legacy_markup_wrapper div.ginput_complex.ginput_container.gf_name_has_2 span
   och satter 50% over 641 px. Selektorn nedan maste darfor vaga tyngre - inte bara ligga senare. */
.mb-page .gform_wrapper.gform_legacy_markup_wrapper div.ginput_complex.ginput_container > span,
.mb-page .gform_wrapper .ginput_complex > span{display:block;width:100%;max-width:none;margin:0;padding:0;float:none}
.mb-page .gform_wrapper .ginput_complex > span > input{width:100%}
.mb-page .gform_wrapper .ginput_complex label{
  display:block;margin-top:5px;font-size:11.5px;color:var(--mute);letter-spacing:.02em;
}
.mb-page .gform_wrapper .gfield_description{margin:6px 0 0;padding:0;font-size:12.5px;color:var(--mute)}
.mb-page .gform_wrapper .gform_footer{margin:20px 0 0;padding:0}
.mb-page .gform_wrapper .gform_button,
.mb-page .gform_wrapper input[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--o);color:#fff;border:0;border-radius:0;cursor:pointer;
  font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;padding:15px 30px;box-shadow:none;text-shadow:none;width:auto;
}
.mb-page .gform_wrapper .gform_button:hover,
.mb-page .gform_wrapper input[type=submit]:hover{background:var(--o-deep)}
/* Fel och kvittens */
.mb-page .gform_wrapper .validation_error{
  border:0;border-left:3px solid #B00020;background:#FDF1F2;color:#7A0016;
  padding:12px 16px;margin:0 0 20px;font-size:14px;text-align:left;
}
.mb-page .gform_wrapper li.gfield.gfield_error{background:none;border:0;padding:0;margin-bottom:18px}
.mb-page .gform_wrapper li.gfield.gfield_error input,
.mb-page .gform_wrapper li.gfield.gfield_error textarea{border-color:#B00020}
.mb-page .gform_wrapper .gfield_error .gfield_label{color:var(--ink)}
.mb-page .gform_wrapper .validation_message{
  margin:6px 0 0;padding:0;border:0;background:none;color:#7A0016;font-size:12.5px;font-weight:400;
}
.mb-page .gform_confirmation_message{
  border:1px solid var(--line);background:var(--tile);padding:22px 24px;
  font-size:15px;line-height:1.7;color:var(--ink);margin-top:30px;
}
/* Skrapskyddsfaltet ska aldrig synas */
.mb-page .gform_wrapper .gform_validation_container,
.mb-page .gform_wrapper li.gfield--type-honeypot{display:none!important}

@media (max-width:640px){
  .mb-page .gform_wrapper form{padding:20px 18px 18px}
  .mb-page .gform_wrapper .ginput_complex{grid-template-columns:1fr}
  .mb-page .gform_wrapper input[type=text],
  .mb-page .gform_wrapper input[type=email],
  .mb-page .gform_wrapper textarea{font-size:16px}
  .mb-page .gform_wrapper .gform_button{width:100%}
}
