/* Kitchens.se design layer for pris.kitchens.se (v1, 2026-11-01). Remove the <link> in index.html to roll back. */
:root{--ks-ink:#1E1C1A;--ks-text:#2B2621;--ks-muted:#6E655B;--ks-gold:#8A6430;--ks-sand:#F3ECE0;--ks-line:#E6DCCB;--ks-cream:#FBF8F3;}

/* ---------- Nästa: real bottom bar that never covers content ---------- */
body{padding-bottom:96px !important;}
button.next-fixed-btn{
  position:fixed !important;left:50% !important;right:auto !important;transform:translateX(-50%) !important;
  bottom:calc(14px + env(safe-area-inset-bottom)) !important;
  width:min(420px,calc(100vw - 32px)) !important;max-width:none !important;flex:none !important;
  height:54px !important;border-radius:6px !important;font-size:17px !important;font-weight:600 !important;letter-spacing:.5px !important;
  opacity:1 !important;box-shadow:0 8px 24px rgba(30,28,26,.18) !important;z-index:1000 !important;
}
button.next-fixed-btn.btn-primary{background:var(--ks-ink) !important;border:1px solid var(--ks-ink) !important;color:#fff !important;}
button.next-fixed-btn.disabled,button.next-fixed-btn[disabled],button.next-fixed-btn.btn-outline-darker{
  background:#EDE6DA !important;border:1px solid #D9CEBC !important;color:#8C8276 !important;box-shadow:none !important;
}
button.next-fixed-btn::after{content:"";}

/* ---------- Stone and product cards ---------- */
.product .product-image{border-radius:6px;}
.product-img-container{border-radius:6px;overflow:hidden;}
.product .product-body{padding-top:12px !important;}
.product .product-cat a{color:var(--ks-gold) !important;font-size:11px !important;letter-spacing:1.5px;text-transform:uppercase;}
.product h3.product-title a{color:var(--ks-ink) !important;font-size:17px !important;font-weight:500 !important;line-height:1.3 !important;}
.product .product-price{color:var(--ks-ink) !important;font-size:18px !important;font-weight:600 !important;}
.product .product-price .before-discounter-price{color:#A0968A !important;font-size:14px !important;font-weight:400 !important;margin-right:8px !important;}
.product.selected,.product.ks-selected{outline:2px solid var(--ks-ink);outline-offset:4px;border-radius:8px;}
div.discount-label{font-size:11px !important;letter-spacing:1px;padding:5px 9px !important;border-radius:3px;}
@media (min-width:992px){
  /* 3 columns instead of 4 on desktop: bigger stone photos */
  app-items-with-filters img.product-image{height:300px !important;object-fit:cover !important;}
}
@media (max-width:767px){
  /* bigger stone photos on phones: 2 per row, tall images */
  app-items-with-filters img.product-image{height:auto !important;aspect-ratio:3/4;object-fit:cover !important;width:100% !important;}
  app-sink-with-filters img.product-image{height:auto !important;aspect-ratio:1/1;object-fit:cover !important;width:100% !important;}
}
@media (min-width:992px){ app-items-with-filters img.product-image{height:auto !important;aspect-ratio:4/5;} }

/* ---------- Filters ---------- */
.sidebar-filter .widget-title{font-size:13px !important;letter-spacing:1.5px;text-transform:uppercase;color:var(--ks-ink) !important;font-weight:600 !important;}
.sidebar-filter .custom-control-label{font-size:15px !important;color:var(--ks-text) !important;}
.sidebar-filter input#search{height:44px !important;font-size:16px !important;border:1px solid var(--ks-line) !important;border-radius:6px !important;background:#fff !important;}
a.sidebar-toggler{display:inline-flex !important;align-items:center;gap:8px;border:1px solid var(--ks-ink);border-radius:999px;padding:8px 16px !important;color:var(--ks-ink) !important;font-weight:600;}

/* ---------- Primary buttons (Visa pris, Maila mig offert) ---------- */
.btn.btn-primary:not(.btn-thickness):not(.dropdown-toggle):not(.btn-quantity){background:var(--ks-ink) !important;border-color:var(--ks-ink) !important;color:#fff !important;}
form.contact-form .btn,app-location-info .btn.btn-primary,app-location-info .btn.btn-outline-darker{
  width:100% !important;height:56px !important;font-size:17px !important;font-weight:600 !important;border-radius:6px !important;letter-spacing:.3px;
}
.btn.btn-outline-darker[disabled]{opacity:1 !important;background:#EDE6DA !important;border-color:#D9CEBC !important;color:#8C8276 !important;}

/* ---------- Contact form: readable, not grey ---------- */
form.contact-form .form-control{
  height:52px !important;font-size:16px !important;color:var(--ks-ink) !important;background:#fff !important;
  border:1px solid #CDBFA8 !important;border-radius:6px !important;padding:0 14px !important;
}
form.contact-form .form-control::placeholder{color:#9A8F84 !important;}
form.contact-form .form-control:focus{border-color:var(--ks-ink) !important;box-shadow:0 0 0 3px rgba(30,28,26,.08) !important;}
form.contact-form h2.title{font-size:26px !important;color:var(--ks-ink) !important;}
form.contact-form p.mb-2{color:var(--ks-text) !important;font-size:15px !important;}
form.contact-form .text-danger{font-size:13px !important;}

/* Reassurance box injected by ks-skin.js */
.ks-assure{background:var(--ks-sand);border:1px solid var(--ks-line);border-radius:8px;padding:18px 20px;margin:4px 0 18px;color:var(--ks-text);font-size:15px;line-height:1.55;}
.ks-assure strong{color:var(--ks-ink);}
.ks-assure ul{margin:10px 0 0;padding-left:18px;}
.ks-assure li{margin:4px 0;}

/* Sink campaign banner injected by ks-skin.js */
.ks-banner{display:flex;gap:16px;align-items:center;background:var(--ks-ink);color:#fff;border-radius:8px;padding:18px 20px;margin:8px 0 22px;}
.ks-banner .ks-tag{background:#C9A57A;color:var(--ks-ink);font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;border-radius:3px;padding:6px 10px;white-space:nowrap;}
.ks-banner .ks-h{font-size:18px;font-weight:600;line-height:1.3;}
.ks-banner .ks-s{font-size:14px;color:#E8DFD2;margin-top:4px;line-height:1.45;}
@media (max-width:767px){.ks-banner{flex-direction:column;align-items:flex-start;gap:10px;}.ks-banner .ks-h{font-size:17px;}}

/* Mobile: stop the 10px sideways scroll on the measurement step */
body{overflow-x:clip;}

/* Campaign tag on the Andano 500-U card */
div.discount-label.ks-camp{position:absolute !important;top:10px !important;left:10px !important;right:auto !important;bottom:auto !important;width:auto !important;z-index:2;font-weight:700 !important;}
.ks-assure .ks-hold{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--ks-line);}

/* Hint shown instead of a missing Nästa on the products step */
.ks-hint{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));width:min(440px,calc(100vw - 24px));
  background:#F3ECE0;border:1px solid #D9CEBC;color:#1E1C1A;border-radius:8px;padding:12px 16px;font:inherit;font-size:15px;line-height:1.35;text-align:center;z-index:1000;box-shadow:0 8px 24px rgba(30,28,26,.16);cursor:default;}
.ks-hint strong{display:block;font-size:16px;font-weight:700;}
.ks-hint .ks-hint-sub{display:block;font-size:13.5px;margin-top:3px;opacity:.85;}
.ks-hint .ks-hint-step{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#C9A57A;margin-bottom:3px;}
.ks-hint.ks-hint-mount{background:#1E1C1A;border-color:#1E1C1A;color:#fff;cursor:pointer;animation:ksPop .35s ease-out;}
.ks-hint.ks-hint-mount u{color:#C9A57A;text-underline-offset:3px;font-weight:700;}
@keyframes ksPop{from{transform:translate(-50%,12px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
/* The mounting button that still needs a choice */
.ks-need-mount{outline:3px solid #C9A57A !important;outline-offset:2px;box-shadow:0 0 0 6px rgba(201,165,122,.25) !important;animation:ksPulse 1.6s ease-in-out infinite;}
@keyframes ksPulse{0%,100%{box-shadow:0 0 0 4px rgba(201,165,122,.35)}50%{box-shadow:0 0 0 9px rgba(201,165,122,.08)}}
@media (prefers-reduced-motion:reduce){.ks-need-mount,.ks-hint.ks-hint-mount{animation:none;}}

/* Remove the 195px gap kitchens.se reserves for its floating header (pris has a normal header) */
@media screen and (min-width:64em){ body main.main{padding-top:0 !important;} }

/* Stone step: columns chosen in the toolbar (default 3 desktop, 2 phone) */
app-items-with-filters.ks-cols-1 .products .row > [class*="col-"]{flex:0 0 100% !important;max-width:100% !important;}
app-items-with-filters.ks-cols-2 .products .row > [class*="col-"]{flex:0 0 50% !important;max-width:50% !important;}
app-items-with-filters.ks-cols-3 .products .row > [class*="col-"]{flex:0 0 33.333% !important;max-width:33.333% !important;}
app-items-with-filters.ks-cols-4 .products .row > [class*="col-"]{flex:0 0 25% !important;max-width:25% !important;}
app-items-with-filters .products .row{justify-content:flex-start !important;}
app-items-with-filters.ks-cols-1 img.product-image{aspect-ratio:4/3 !important;}

/* Toolbar: sort + per row */
app-items-with-filters .toolbox{display:flex !important;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px !important;}
.ks-tools{display:flex;align-items:center;gap:12px;margin-left:auto;}
.ks-sort{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;color:var(--ks-muted);}
.ks-sort select{height:40px;border:1px solid var(--ks-line);border-radius:6px;background:#fff;padding:0 10px;font-size:15px;color:var(--ks-ink);}
.ks-cols{display:flex;border:1px solid var(--ks-line);border-radius:6px;overflow:hidden;}
.ks-cols button{width:40px;height:40px;border:0;background:#fff;color:var(--ks-muted);font-size:15px;font-weight:600;cursor:pointer;}
.ks-cols button + button{border-left:1px solid var(--ks-line);}
.ks-cols button.on{background:var(--ks-ink);color:#fff;}
.ks-cols .ks-m{display:none;}
@media (max-width:767px){
  .ks-cols .ks-d{display:none;} .ks-cols .ks-m{display:block;}
  .ks-tools{width:100%;justify-content:space-between;margin-left:0;}
  .ks-sort span{display:none;}
  .ks-sort select{height:44px;font-size:16px;}
}

/* Campaign line above the stones */
.ks-stone-camp{background:var(--ks-ink);color:#fff;border-radius:8px;padding:14px 18px;margin:0 0 16px;font-size:15px;line-height:1.5;}
.ks-stone-camp strong{color:#E2C9A2;}
.ks-stone-camp .ks-dot{color:#8C8276;margin:0 6px;}
@media (max-width:767px){.ks-stone-camp{font-size:14px;padding:12px 14px;}}

/* Summary: smaller "Byt sten" */
app-calculation-info .btn.btn-orange{min-height:0 !important;height:auto !important;width:auto !important;flex:0 0 auto !important;padding:7px 14px !important;font-size:13px !important;font-weight:600 !important;letter-spacing:.02em;border-radius:6px !important;background:transparent !important;border:1px solid #C9A57A !important;color:#1E1C1A !important;}
app-calculation-info .btn.btn-orange:hover{background:#F3ECE0 !important;}

/* Price box under Totalpris: savings, moms, campaign */
.ks-pricebox{width:100%;margin:6px 0 10px;padding:14px 16px;background:#FAF7F2;border:1px solid #E6DCCB;border-radius:8px;font-size:14.5px;color:#1E1C1A;}
.ks-pricebox .ks-save{display:inline-block;background:#E9F3EC;color:#1F5B35;border-radius:999px;padding:4px 12px;font-size:14px;margin-bottom:10px;}
.ks-pricebox .ks-save strong{font-weight:700;}
.ks-pricebox dl{margin:0;display:grid;gap:4px;max-width:520px;}
.ks-pricebox dl div{display:flex;justify-content:space-between;gap:12px;}
.ks-pricebox dt{font-weight:400;color:#5E5A55;margin:0;}
.ks-pricebox dd{margin:0;font-variant-numeric:tabular-nums;}
.ks-pricebox .ks-pc{margin-top:10px;padding-top:10px;border-top:1px solid #E6DCCB;font-weight:600;display:flex;align-items:baseline;}
.ks-pricebox .ks-pc:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#C9A57A;margin-right:8px;flex:0 0 8px;transform:translateY(-1px);}

/* ROT: clear card with a big checkbox */
.custom-control.ks-rot{background:#FAF7F2;border:1.5px solid #C9A57A;border-radius:8px;padding:14px 16px !important;margin:6px 0 4px;}
.custom-control.ks-rot .custom-control-label{cursor:pointer;display:block;position:relative;padding-left:38px;margin-left:0 !important;}
.custom-control.ks-rot .custom-control-label:before,.custom-control.ks-rot .custom-control-label:after{width:22px !important;height:22px !important;left:0 !important;top:1px !important;}
.custom-control.ks-rot .custom-control-label:before{border:2px solid #1E1C1A !important;border-radius:4px !important;background:#fff !important;}
.custom-control.ks-rot .custom-control-input:checked ~ .custom-control-label:before{background:#1E1C1A !important;border-color:#1E1C1A !important;}
.ks-rot-h{display:block;font-size:16px;font-weight:600;color:#1E1C1A;}
.ks-rot-sub{display:block;font-size:13.5px;color:#5E5A55;margin-top:2px;line-height:1.4;}
app-location-info .col-sm-6:has(> .ks-rot), form .col-sm-6:has(> .ks-rot){flex:0 0 100%;max-width:640px;}

/* Contact step: read more + design help */
.ks-assure .ks-more{margin-top:10px;}
.ks-assure .ks-more summary{cursor:pointer;color:#8A6A44;font-weight:600;font-size:14px;}
.ks-assure .ks-more p{margin:8px 0 0;font-size:14px;}
.ks-assure .ks-design{display:flex;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--ks-line);}
.ks-assure .ks-dh-icon{flex:0 0 32px;height:32px;border-radius:50%;background:#fff;border:1px solid var(--ks-line);display:flex;align-items:center;justify-content:center;color:#C9A57A;font-size:15px;}
.ks-assure .ks-design p{margin:4px 0 0;font-size:14px;}

/* Optional price gate (off by default) */
html.ks-locked app-calculation-info .medium-bold-text,html.ks-locked .ks-pricebox dd,html.ks-locked .ks-pricebox .ks-save{filter:blur(7px);user-select:none;pointer-events:none;}
.ks-gate{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin:24px 0 0;padding:16px 18px;background:#1E1C1A;color:#fff;border-radius:8px;}
.ks-gate strong{font-size:17px;}
.ks-gate span{font-size:14.5px;line-height:1.45;color:#E8DFD2;}
.ks-gate button{margin-top:6px;background:#C9A57A;color:#1E1C1A;border:0;border-radius:6px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer;}
.ks-assure .ks-design a{color:#8A6A44;font-weight:600;text-decoration:underline;text-underline-offset:2px;}

/* Stone campaign strip v2: Christmas first, then the reasons, appliances quiet at the bottom */
.ks-stone-camp .ks-sc-h{font-size:17px;font-weight:600;line-height:1.35;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ks-stone-camp .ks-sc-tag{background:#C9A57A;color:#1E1C1A;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:3px;padding:4px 8px;}
.ks-stone-camp .ks-sc-l{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 20px;font-size:14.5px;color:#EDE6DA;}
.ks-stone-camp .ks-sc-l li{position:relative;padding-left:16px;}
.ks-stone-camp .ks-sc-l li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#C9A57A;}
.ks-stone-camp .ks-sc-s{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#B9AFA2;}
@media (max-width:767px){.ks-stone-camp .ks-sc-h{font-size:16px;}.ks-stone-camp .ks-sc-l{flex-direction:column;font-size:14px;}}

/* Mobile stone toolbar: one tidy row [Filter] [Sort] [1|2], count below; no floating empty Nästa */
@media (max-width:767px){
  app-items-with-filters .toolbox{display:grid !important;grid-template-columns:1fr 1.25fr auto;gap:8px;align-items:center;margin:0 0 14px !important;padding:0 !important;}
  app-items-with-filters .toolbox > .toolbox-left,app-items-with-filters .ks-tools{display:contents !important;}
  app-items-with-filters .toolbox-left .toolbox-left{grid-column:1;grid-row:1;margin:0 !important;padding:0 !important;width:100%;}
  app-items-with-filters a.sidebar-toggler{display:flex !important;width:100%;height:44px;justify-content:center;align-items:center;gap:8px;border-radius:6px !important;border:1px solid var(--ks-ink) !important;padding:0 10px !important;font-size:15px !important;text-transform:none !important;letter-spacing:0 !important;margin:0 !important;background:#fff;}
  app-items-with-filters .ks-sort{grid-column:2;grid-row:1;width:100%;}
  app-items-with-filters .ks-sort select{width:100%;height:44px;font-size:15px;padding:0 8px;}
  app-items-with-filters .ks-cols{grid-column:3;grid-row:1;}
  app-items-with-filters .ks-cols button{width:40px;height:44px;}
  app-items-with-filters .toolbox-info{grid-column:1 / -1;grid-row:2;font-size:13px !important;color:var(--ks-muted) !important;margin:0 !important;padding:0 !important;text-align:left;}
  app-items-with-filters .toolbox-info span{color:var(--ks-ink);font-weight:600;}
  .ks-stone-camp{padding:12px 14px !important;margin-bottom:12px !important;}
  .ks-stone-camp .ks-sc-h{font-size:15.5px !important;gap:8px !important;}
  .ks-stone-camp .ks-sc-l{font-size:13.5px !important;gap:3px !important;margin-top:6px !important;}
  .ks-stone-camp .ks-sc-s{font-size:12.5px !important;margin-top:6px !important;padding-top:6px !important;}
}
/* Stone step: hide the greyed-out Nästa until a stone is chosen (it covered the photos) */
body:has(app-items-with-filters) button.next-fixed-btn:is([disabled],.disabled,.btn-outline-darker){display:none !important;}

