/* Skomaskiner front page (front-page.php). Uses the shared tokens in site.css (--ink, --green = light brand blue,
   --surface-muted) and the text rules in type.css. */
.sk-home {padding-bottom:24px;}
body a.rt-btn-primary, body a.rt-btn-secondary {display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:99px;font-size:16px;font-weight:650;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;}
body a.rt-btn-primary {background:var(--green);color:var(--ink);}
body a.rt-btn-primary:hover {background:#005694;}
body a.rt-btn-secondary {border:1px solid var(--ink);color:var(--ink);}
body a.rt-btn-secondary:hover {background:var(--ink);color:#fff;}

/* Hero */
.sk-hero {background:var(--surface-muted);}
.sk-hero-inner {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center;min-height:min(620px,calc(100vh - 140px));padding-top:40px;padding-bottom:40px;}
.sk-eyebrow {margin:0 0 14px;font-size:16px;font-weight:650;}
.sk-hero h1 {margin:0;font-size:clamp(36px,1.4rem + 2.6vw,60px);line-height:1.05;letter-spacing:-.025em;text-wrap:balance;}
.sk-hero-sub {max-width:520px;margin:20px 0 0;font-size:clamp(17px,1rem + .3vw,20px);line-height:1.55;}
.sk-hero-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.sk-hero-points {display:flex;flex-wrap:wrap;gap:8px 22px;margin:24px 0 0;padding:0;list-style:none;font-size:16px;}
.sk-hero-points li {display:flex;align-items:center;gap:8px;}
.sk-hero-points li::before {content:"";width:7px;height:12px;margin:-3px 2px 0 2px;border:solid var(--success);border-width:0 2px 2px 0;transform:rotate(45deg);} /* Green like "På lager". */
.sk-hero-image {display:flex;justify-content:center;}
.sk-hero-image img {display:block;width:100%;max-width:560px;height:auto;max-height:540px;object-fit:contain;}

/* Machines */
.sk-section-head {max-width:640px;margin:0 0 28px;}
.sk-section-head h2, .sk-proof h2, .sk-demo h2 {margin:0;font-size:var(--rt-section-size);line-height:var(--rt-section-leading);letter-spacing:var(--rt-section-tracking);}
.sk-section-head p {margin:10px 0 0;font-size:16px;}
.home-categories-bare.home-section {margin-top:64px;}
.sk-hero-image img {border-radius:16px;}

/* Customers */
.sk-customers {display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:24px 0 18px;padding:0;list-style:none;}
.sk-customers li {padding:10px 18px;border-radius:99px;background:var(--surface-muted);font-size:16px;font-weight:650;}
body a.sk-text-link {font-size:16px;font-weight:650;color:var(--ink);text-decoration:underline;text-underline-offset:3px;}

/* Demonstration */
.sk-demo {display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;padding:40px;border-radius:18px;background:var(--ink);color:#fff;}
.sk-demo h2 {color:#fff;}
.sk-demo p {margin:8px 0 0;font-size:16px;color:#fff;}
.sk-demo-actions {display:flex;flex-wrap:wrap;gap:12px;}
body .sk-demo a.rt-btn-secondary {border-color:#fff;color:#fff;}
body .sk-demo a.rt-btn-secondary:hover {background:#fff;color:var(--ink);}

@media (max-width:900px) {
 .sk-hero-inner {grid-template-columns:1fr;gap:12px;min-height:0;padding-top:28px;}
 .sk-hero-image {order:-1;}
 .sk-hero-image img {max-height:300px;}
}
@media (max-width:700px) {
 .sk-demo {padding:28px 22px;border-radius:14px;}
 .sk-hero-actions a {flex:1 1 auto;}
}
@media (prefers-reduced-motion:reduce) {body a.rt-btn-primary, body a.rt-btn-secondary {transition:none;}}
/* Quotes and logos on the front page (shared styles: content.css is not loaded here, so the essentials are repeated). */
/* Sale price: <ins> without the browser's underline; the old price smaller and grey, like the product cards. */

/* "Velg maskin" (concept C): three cards whose rows line up (subgrid), so capacity, covers, sizes and price read across
   like a table. The most bought machine has a blue outline and a "Mest kjøpt" tab. */
.sk-machine-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(6,auto);gap:0 24px;padding-top:14px;}
.sk-machine {position:relative;display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0;padding:0 0 24px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);}
.sk-machine.is-top {border:2px solid var(--green);}
.sk-machine-badge {position:absolute;top:0;left:50%;z-index:1;transform:translate(-50%,-50%);padding:5px 16px;border-radius:99px;background:var(--green);color:#fff;font-size:15px;font-weight:650;line-height:1.3;white-space:nowrap;}
.sk-machine-image {position:relative;display:block;overflow:hidden;border-radius:14px 14px 0 0;background:var(--surface-muted);aspect-ratio:4/3;}
.sk-machine.is-top .sk-machine-image {border-radius:13px 13px 0 0;}
.sk-machine-image img {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;transform:scale(var(--sk-scale,1));}
.sk-machine > :not(.sk-machine-image,.sk-machine-badge,.sk-machine-video) {margin-left:24px;margin-right:24px;}
.sk-machine-name {margin:20px 24px 10px;font-size:26px;font-weight:700;line-height:1.2;letter-spacing:-.01em;}
body .sk-machine-name a {color:inherit;text-decoration:none;}
@media (hover:hover) {body .sk-machine-name a:hover {text-decoration:underline;text-underline-offset:4px;}}
.sk-machine-specs {margin:0;}
.sk-machine-specs div {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:16px;}
.sk-machine-specs dt {margin:0;font-weight:400;}
.sk-machine-specs dd {margin:0;font-weight:650;}
.sk-machine-facts {margin:16px 0 18px;padding:0;list-style:none;font-size:16px;}
.sk-machine-facts li {position:relative;margin:6px 0;padding-left:28px;}
.sk-machine-facts li::before {content:"";position:absolute;left:5px;top:5px;width:6px;height:11px;border:solid var(--success);border-width:0 2px 2px 0;transform:rotate(45deg);} /* Green like "På lager". */
.sk-machine-price {display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:0 24px 16px;align-self:end;}
.sk-machine-price strong {font-size:30px;font-weight:700;line-height:1.1;letter-spacing:-.01em;}
.sk-machine-price del {font-size:22px;font-weight:600;color:#5b6876;}
.sk-machine-price small {font-size:14px;font-weight:400;color:#5b6876;}
body .sk-machine a.sk-machine-button, body .sk-machine a.sk-machine-button:visited {display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:10px;background:var(--green);color:#fff;font-size:17px;font-weight:650;text-decoration:none;transition:background-color .15s;}
@media (hover:hover) {body .sk-machine a.sk-machine-button:hover {background:#00589a;color:#fff;}}
@media (max-width:900px) {
 .sk-machine-grid {grid-template-columns:1fr;grid-template-rows:none;gap:28px;}
 .sk-machine {grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column;}
 .sk-machine-name {font-size:22px;}
 .sk-machine-price {align-self:auto;margin-top:auto;}
}
@media (prefers-reduced-motion:reduce) {body .sk-machine a.sk-machine-button, body .sk-machine a.sk-machine-button:visited {transition:none;}}

/* Machine cards: the whole card is clickable (the name's link covers it; the button stays on top). Hover: only the
   border, 2px like the "Mest kjøpt" card, in a light grey (#c9d1da; was #8fa1b2, too dark). Drawn as a 2px frame on a layer above the
   photo (so it is the same all round), over the card's 1px border, so the card doesn't change size. No movement, shadow or zoom. */
.sk-machine::before {content:"";position:absolute;inset:-1px;z-index:3;border:2px solid transparent;border-radius:16px;pointer-events:none;transition:border-color .15s;}
.sk-machine-name a::after {content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;}
body .sk-machine a.sk-machine-button {position:relative;z-index:1;}
.sk-machine-badge {position:absolute;z-index:2;}
@media (hover:hover) {
 .sk-machine:not(.is-top):hover::before {border-color:#c9d1da;}
 body .sk-machine:hover .sk-machine-name a {text-decoration:none;}
}
@media (prefers-reduced-motion:reduce) {.sk-machine::before {transition:none;}}

/* Categories: five on Skomaskiner (the shared grid has six columns), so use the full width. */
@media (min-width:1201px) {.sk-home .category-grid {grid-template-columns:repeat(5,minmax(0,1fr));}}

/* Customers (concept C, 2026-11-08): heading left, arrows right; quote cards in a row that scrolls sideways with
   snap (three visible, the next peeking in); logos unboxed in one grey, same visual size; the link at the row's end. */
.sk-proof-head {display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;}
.sk-proof-head p {margin:10px 0 0;font-size:16px;color:#4a5866;}
.sk-proof-nav {display:flex;gap:10px;flex:none;}
.sk-proof-nav button {display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;}
.sk-proof-nav button svg {width:20px;height:20px;}
.sk-proof-nav .sk-proof-next {border-color:var(--green);background:var(--green);color:#fff;}
@media (hover:hover) {.sk-proof-nav button:not(:disabled):hover {border-color:#c9d1da;} .sk-proof-nav .sk-proof-next:not(:disabled):hover {background:#00589a;border-color:#00589a;}}
.sk-proof-nav button:disabled {cursor:default;opacity:.4;}
.sk-proof-nav .sk-proof-next:disabled {background:#fff;border-color:var(--line);color:var(--ink);}
.sk-proof-track {display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * 20px) / 3.15);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;margin:0 -32px;padding:2px 32px 4px;scroll-padding:0 32px;overscroll-behavior-x:contain;}
.sk-proof-track::-webkit-scrollbar {display:none;}
.sk-proof-track:focus-visible {outline:2px solid var(--ink);outline-offset:4px;}
.sk-proof-card {display:flex;flex-direction:column;margin:0;padding:28px 28px 26px;border:1px solid var(--line);border-radius:16px;background:#fff;scroll-snap-align:start;}
.sk-proof-mark {display:block;width:30px;height:23px;margin-bottom:18px;color:var(--green);}
.sk-proof-card blockquote {margin:0 0 24px;}
.sk-proof-card blockquote p {margin:0;font-size:18px;line-height:1.55;}
.sk-proof-card figcaption {display:flex;flex-direction:column;gap:2px;margin-top:auto;font-size:15px;color:#4a5866;}
.sk-proof-card figcaption strong {font-size:16px;font-weight:650;color:var(--ink);}
.sk-proof-foot {display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:44px;}
.sk-proof-logos {display:flex;flex:1;align-items:center;justify-content:space-between;gap:28px;margin:0;padding:0;list-style:none;}
.sk-proof-logos img {display:block;max-width:none;height:auto;opacity:.85;}
.sk-proof-all {flex:none;white-space:nowrap;}
@media (max-width:1100px) {.sk-proof-track {grid-auto-columns:calc((100% - 20px) / 2.15);}}
@media (max-width:900px) {
 .sk-proof-foot {flex-direction:column;align-items:flex-start;gap:24px;}
 .sk-proof-logos {flex-wrap:wrap;justify-content:flex-start;gap:24px 32px;}
}
@media (max-width:700px) {
 .sk-proof-head {align-items:flex-start;}
 .sk-proof-nav {display:none;}
 .sk-proof-track {grid-auto-columns:84%;gap:14px;margin:0 -16px;padding:2px 16px 4px;scroll-padding:0 16px;}
 .sk-proof-card {padding:24px 22px 22px;}
 .sk-proof-card blockquote p {font-size:17px;}
 .sk-proof-logos {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px;justify-items:center;width:100%;}
 .sk-proof-logos img {max-width:100%;height:auto;}
}
@media (prefers-reduced-motion:reduce) {.sk-proof-track {scroll-behavior:auto;}}

/* Section rhythm (2026-11-08: "all sections so close together"): 56–64px became more space between the front
   page's sections: 120px on desktop, scaling down to 72px on phones. The product groups inside the catalogue keep
   their own (smaller) spacing, so the big gaps mark the big sections. */
body .sk-home > .home-section, body .sk-home > .home-categories-bare.home-section {margin-top:clamp(72px,8.5vw,120px);}
body .sk-home > .sk-machines.home-section {margin-top:clamp(56px,6vw,88px);}
body .sk-home {padding-bottom:clamp(72px,8.5vw,120px);}

/* References as a full-width band in a light cool grey (2026-11-08: sections still ran together): the band marks
   where the section starts and ends, and the white quote cards stand out on it. The band is a pseudo-element across
   the whole window (clipped, so it never adds a horizontal scrollbar); the quote row runs on to the window's right
   edge so the next card peeks in from the edge, not from the content column. */
body .sk-home > .sk-proof.home-section {position:relative;isolation:isolate;padding-block:clamp(64px,7vw,96px);}
.sk-proof::before {content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background:#f4f6f8;}
.sk-home {overflow-x:clip;}
.sk-proof-card {border-color:#e8ecf0;}
.sk-proof-track {margin-right:calc((100% - 100vw) / 2);padding-right:calc((100vw - 100%) / 2);}
body .sk-home > .sk-demo.home-section {margin-top:clamp(72px,8.5vw,120px);}

/* Version 2 (/?versjon=2): categories right under the hero; machine cards with check-mark points and a badge. */
body .sk-home--v2 > .home-categories-bare.home-section {margin-top:clamp(40px,4.5vw,64px);}
.catalog-facts {margin:6px 0 14px;padding:0;list-style:none;font-size:15px;line-height:1.45;}
.catalog-facts li {position:relative;margin:5px 0;padding-left:24px;}
.catalog-facts li::before {content:"";position:absolute;left:5px;top:3px;width:5px;height:10px;border:solid var(--success);border-width:0 2px 2px 0;transform:rotate(45deg);}
.product-image {position:relative;}
.catalog-badge {position:absolute;top:12px;left:12px;z-index:1;padding:4px 12px;border-radius:99px;background:var(--green);color:#fff;font-size:13px;font-weight:650;line-height:1.4;}
.product-image[style*=--card-img-scale] img {transform:scale(var(--card-img-scale));}

/* Front page: a product group with exactly three products uses the full width (three columns instead of four with
   one empty). Desktop only; below 1201px the grid is three columns anyway. */
@media (min-width:1201px) {.sk-home .catalog-range .product-grid:has(> :nth-child(3):last-child) {grid-template-columns:repeat(3,minmax(0,1fr));}}

/* Product groups: "Se alle →" on the right of the heading (2026-11-09). */
.sk-home .catalog-range-head {display:flex;align-items:baseline;justify-content:space-between;gap:16px;}
.sk-home .catalog-range-head .catalog-range-title {margin-bottom:0;}
.sk-home .catalog-range-head {margin-bottom:var(--sk-range-gap,22px);}
body .sk-home a.catalog-range-more {flex:none;font-size:16px;font-weight:650;color:var(--green);text-decoration:none;white-space:nowrap;}
@media (hover:hover) {body .sk-home a.catalog-range-more:hover {text-decoration:underline;text-underline-offset:3px;}}

/* "Se video" on the machine cards (sk-machine-video.js): a white pill top-left on the photo; the clip fills the photo area. */
.sk-machine-video {position:absolute;top:16px;left:16px;z-index:2;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px 0 12px;border:0;border-radius:99px;background:rgba(255,255,255,.94);color:var(--ink);font:inherit;font-size:15px;font-weight:650;box-shadow:0 2px 10px rgba(16,24,40,.12);cursor:pointer;}
.sk-machine-video svg {width:18px;height:18px;}
.sk-machine-video .i-stop, .sk-machine.is-playing .sk-machine-video .i-play {display:none;}
.sk-machine.is-playing .sk-machine-video .i-stop {display:block;}
@media (hover:hover) {.sk-machine-video:hover {background:#fff;}}
.sk-machine-video:focus-visible {outline:2px solid var(--ink);outline-offset:3px;}
.sk-machine-image video.sk-machine-clip {position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;background:#000;}
