/*
Theme Name: Soffvalet (Kadence Child)
Theme URI: https://soffvalet.se
Description: Child theme för soffvalet.se – produktkatalog, filter och nischsidor enligt koncept-mockup v2.
Author: Simon
Template: kadence
Version: 1.0.0
Text Domain: soffvalet
*/

:root{
  --sv-bg:#F1EEE7;--sv-paper:#FBFAF6;--sv-ink:#26312B;--sv-pine:#35543F;--sv-pine-deep:#27402F;
  --sv-senap:#C98A2B;--sv-rea:#B0432F;--sv-line:#D9D3C4;--sv-muted:#6E7368;--sv-radius:12px;
}

/* Grundton (gäller soffsidorna) */
.sv-scope{font-family:'Karla',system-ui,sans-serif;background:var(--sv-bg);color:var(--sv-ink);line-height:1.55}
.sv-scope h1,.sv-scope h2,.sv-scope h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.15}
.sv-wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* Sidhuvud för arkiv/termsidor */
.sv-crumbs{font-size:13px;color:var(--sv-muted);padding:16px 0 6px}
.sv-pagehead{padding:8px 0 20px}
.sv-pagehead h1{font-size:clamp(26px,3.6vw,36px);margin:0 0 8px}
.sv-pagehead .sv-intro{font-size:15.5px;color:var(--sv-muted);max-width:72ch;margin:0}
.sv-pagehead .sv-stamp{font-size:13px;color:var(--sv-pine);font-weight:700;margin-top:8px}

/* Layout */
.sv-layout{display:grid;grid-template-columns:250px 1fr;gap:28px;padding:18px 0 48px;align-items:start}

/* Filterspalt */
.sv-filters{background:var(--sv-paper);border:1px solid var(--sv-line);border-radius:var(--sv-radius);padding:6px 18px;position:sticky;top:16px}
.sv-filters details{border-bottom:1px solid var(--sv-line)}
.sv-filters details:last-of-type{border-bottom:none}
.sv-filters summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:14px 0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;user-select:none}
.sv-filters summary::-webkit-details-marker{display:none}
.sv-filters summary .sv-chev{transition:transform .15s ease;color:var(--sv-muted);font-size:12px}
.sv-filters details[open] summary .sv-chev{transform:rotate(180deg)}
.sv-fbody{padding:0 0 14px}
.sv-fbody label{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px 0;cursor:pointer;color:#3A453E}
.sv-fbody label small{color:var(--sv-muted);margin-left:auto}
.sv-fbody input[type=checkbox]{accent-color:var(--sv-pine);width:15px;height:15px}
.sv-dot{width:13px;height:13px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px var(--sv-line)}
.sv-filterbtn{display:block;width:100%;margin:4px 0 14px;background:var(--sv-pine);color:#fff;border:none;border-radius:9px;padding:11px;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit}
.sv-filterbtn:hover{background:var(--sv-pine-deep)}
.sv-clear{display:block;text-align:center;font-size:13px;color:var(--sv-muted);margin-bottom:12px;text-decoration:underline}

/* Prisslider */
.sv-pricevals{display:flex;justify-content:space-between;font-size:13.5px;font-weight:700;margin-bottom:10px}
.sv-pricevals span{background:var(--sv-bg);border:1px solid var(--sv-line);border-radius:7px;padding:4px 10px}
.sv-slider{position:relative;height:26px;margin:0 6px}
.sv-slider .sv-track,.sv-slider .sv-range{position:absolute;top:11px;height:4px;border-radius:2px}
.sv-slider .sv-track{left:0;right:0;background:var(--sv-line)}
.sv-slider .sv-range{background:var(--sv-pine)}
.sv-slider input[type=range]{position:absolute;left:0;right:0;top:0;width:100%;height:26px;-webkit-appearance:none;appearance:none;background:none;pointer-events:none;margin:0}
.sv-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--sv-paper);border:2.5px solid var(--sv-pine);cursor:grab;pointer-events:auto;box-shadow:0 1px 4px rgba(38,49,43,.2)}
.sv-slider input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--sv-paper);border:2.5px solid var(--sv-pine);cursor:grab;pointer-events:auto;box-shadow:0 1px 4px rgba(38,49,43,.2)}
.sv-slider input[type=range]::-moz-range-track{background:none}

/* Verktygsrad */
.sv-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.sv-toolbar .sv-count{font-size:14px;color:var(--sv-muted)}
.sv-toolbar select{margin-left:auto;font:inherit;font-size:13.5px;font-weight:600;padding:8px 12px;border:1px solid var(--sv-line);border-radius:8px;background:var(--sv-paper)}
.sv-chipfilter{background:var(--sv-pine);color:#fff;font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:999px;text-decoration:none}

/* Produktgrid och kort */
.sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sv-prod{background:var(--sv-paper);border:1px solid var(--sv-line);border-radius:var(--sv-radius);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;position:relative;color:inherit}
.sv-prod:hover{box-shadow:0 6px 20px rgba(38,49,43,.10)}
.sv-thumb{aspect-ratio:2/1;background:linear-gradient(180deg,#EFEBE1,#F6F3EC);display:flex;align-items:center;justify-content:center;overflow:hidden}
.sv-thumb img{width:100%;height:100%;object-fit:contain;padding:14px}
.sv-badge{position:absolute;top:10px;left:10px;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:6px;background:var(--sv-rea);color:#fff;z-index:2}
.sv-pbody{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1}
.sv-pbody .sv-brand{font-size:11px;color:var(--sv-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.sv-pbody h3{font-family:'Karla',sans-serif !important;font-weight:700;font-size:15px;margin:2px 0}
.sv-pbody .sv-meta{font-size:12.5px;color:var(--sv-muted);margin-bottom:8px}
.sv-pricerow{display:flex;align-items:baseline;gap:7px;margin-top:auto}
.sv-price{font-family:'Fraunces',serif;font-size:19px;font-weight:700}
.sv-price.sv-isrea{color:var(--sv-rea)}
.sv-old{font-size:12.5px;color:var(--sv-muted);text-decoration:line-through}
.sv-shop{font-size:11.5px;color:var(--sv-muted)}
.sv-gobtn{margin-top:10px;text-align:center;background:var(--sv-pine);color:#fff;font-weight:700;font-size:13.5px;padding:10px;border-radius:8px}
.sv-prod:hover .sv-gobtn{background:var(--sv-pine-deep)}

/* Paginering */
.sv-pagination{display:flex;gap:8px;justify-content:center;padding:28px 0 8px}
.sv-pagination .page-numbers{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--sv-line);border-radius:8px;text-decoration:none;font-weight:700;font-size:14px;background:var(--sv-paper);color:inherit}
.sv-pagination .page-numbers.current{background:var(--sv-pine);color:#fff;border-color:var(--sv-pine)}

/* SEO-text */
.sv-seotext{background:var(--sv-paper);border:1px solid var(--sv-line);border-radius:var(--sv-radius);padding:26px;margin:20px 0 48px}
.sv-seotext h2{font-size:21px;margin:0 0 10px}
.sv-seotext p{font-size:14.5px;color:#3A453E;max-width:78ch;margin:0 0 10px}

/* Produktsida (single) */
.sv-single{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;padding:22px 0 48px;align-items:start}
.sv-mainimg{background:linear-gradient(180deg,#EFEBE1,#F6F3EC);border:1px solid var(--sv-line);border-radius:var(--sv-radius);padding:24px;position:relative;text-align:center}
.sv-mainimg img{max-width:100%;height:auto}
.sv-buy .sv-brand{font-size:13px;color:var(--sv-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.sv-buy h1{font-size:clamp(28px,3.6vw,38px);margin:6px 0 8px}
.sv-buy .sv-sub{font-size:15px;color:var(--sv-muted);margin-bottom:20px}
.sv-pricebox{background:var(--sv-paper);border:1px solid var(--sv-line);border-radius:var(--sv-radius);padding:22px;margin-bottom:18px}
.sv-pricebox .sv-lowest{font-size:13px;font-weight:700;color:var(--sv-pine);text-transform:uppercase;letter-spacing:.08em}
.sv-bigprice{display:flex;align-items:baseline;gap:12px;margin:6px 0 12px;flex-wrap:wrap}
.sv-bigprice .sv-price{font-size:38px}
.sv-bigprice .sv-old{font-size:17px}
.sv-save{font-size:13.5px;font-weight:700;background:#F4E3E0;color:var(--sv-rea);padding:4px 10px;border-radius:7px}
.sv-cta{display:block;text-align:center;background:var(--sv-senap);color:#2B2009;font-weight:700;font-size:17px;padding:15px;border-radius:11px;text-decoration:none}
.sv-cta:hover{filter:brightness(1.05);color:#2B2009}
.sv-cta small{display:block;font-size:12.5px;font-weight:500;opacity:.75}
.sv-trust{font-size:12.5px;color:var(--sv-muted);text-align:center;margin-top:10px}
.sv-specs{background:var(--sv-paper);border:1px solid var(--sv-line);border-radius:var(--sv-radius);padding:10px 24px;margin:8px 0 32px}
.sv-specs dl{display:grid;grid-template-columns:1fr 1fr;font-size:14.5px;margin:0}
.sv-specs dt{color:var(--sv-muted);padding:11px 0;border-bottom:1px solid var(--sv-line)}
.sv-specs dd{font-weight:700;padding:11px 0;border-bottom:1px solid var(--sv-line);text-align:right;margin:0}
.sv-specs dt:last-of-type,.sv-specs dd:last-of-type{border-bottom:none}
.sv-relhead{font-size:22px;margin:0 0 16px}

/* Responsivt */
@media (max-width:880px){
  .sv-layout,.sv-single{grid-template-columns:1fr}
  .sv-filters{position:static}
  .sv-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){.sv-grid{grid-template-columns:1fr}}
