/* Kemi Kadence child — chrome + shared components. Ported from kemi-layout-lab v2.css (2026-10-05).
   Everything is prefixed .kemi- so it never fights Kadence's own selectors. */
:root {
  --kemi-red: #da251c; --kemi-red-dark: #b81e16; --kemi-green: #1e8e3e; --kemi-ink: #141414; --kemi-text: #2b2b2b; --kemi-muted: #6f6f6f;
  --kemi-line: #e4e4e4; --kemi-bg: #f4f4f4; --kemi-white: #fff; --kemi-max: 1360px;
  --kemi-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
body.kemi-theme { font-family: var(--kemi-font); color: var(--kemi-text); background: #fff; }
.kemi-theme #wrapper, .kemi-theme #inner-wrap, .kemi-theme .content-bg, .kemi-theme .site-main, .kemi-theme .content-area, .kemi-theme main, .kemi-theme .kemi-shop, .kemi-theme .kemi-crumbs-wrap, .kemi-theme .site-container, .kemi-theme .content-container, .kemi-theme .content-wrap { background: #fff; }
body.kemi-theme.kemi-drawer-open { overflow: hidden; }
.kemi-container { max-width: var(--kemi-max); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.kemi-theme .kemi-hdr a, .kemi-theme .kemi-ftr a, .kemi-theme .kemi-drawer a { text-decoration: none; }
.kemi-theme .kemi-hdr ul, .kemi-theme .kemi-drawer ul, .kemi-theme .kemi-ftr ul { list-style: none; margin: 0; padding: 0; }
.kemi-hdr button, .kemi-drawer button { font: inherit; }

/* ---------- header ---------- */
.kemi-hdr { background: var(--kemi-white); position: sticky; top: 0; z-index: 90; border-bottom: 1px solid var(--kemi-line); }
/* Kadence wraps the header in #masthead with its own (low) stacking context; lift it so menus win over the sticky archive bar (z 40). */
.kemi-theme #masthead, .kemi-theme .site-header-wrap, .kemi-theme .site-header-inner-wrap, .kemi-theme header.site-header { position: relative; z-index: 90; overflow: visible; }
.kemi-hdr-main { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 40px; height: 80px; }
.kemi-logo { flex: none; }
.kemi-theme .kemi-hdr .kemi-logo img { height: 46px; width: auto; max-width: none; display: block; }
@media (min-width: 801px) and (max-width: 1100px) { .kemi-hdr-main { gap: 18px; grid-template-columns: auto minmax(0, 1fr) auto; } .kemi-theme .kemi-hdr .kemi-logo img { height: 36px; } }
.kemi-burger { display: none; width: 44px; height: 44px; background: none; border: 0; padding: 10px; cursor: pointer; flex-direction: column; justify-content: space-between; }
.kemi-burger span { display: block; height: 2px; background: var(--kemi-ink); }

.kemi-search { max-width: none; width: auto; margin-right: -20px; display: flex; align-items: stretch; height: 46px; border: 1px solid #c8c8c8; background: #fff; transition: border-color .15s; }
.kemi-search:focus-within { border-color: var(--kemi-ink); }
.kemi-search-tabs { display: flex; flex: 0 0 auto; }
.kemi-search-tabs button { background: #fff; border: 0; border-right: 1px solid var(--kemi-line); padding: 0 14px; font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--kemi-muted); cursor: pointer; }
.kemi-search-tabs button { position: relative; }
.kemi-search-tabs button.is-active { background: var(--kemi-bg); color: var(--kemi-ink); }
.kemi-search-tabs button.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--kemi-red); }
.kemi-search-pane { display: none; flex: 1; min-width: 0; }
.kemi-search-pane.is-active { display: flex; }
.kemi-search-pane form { display: flex; flex: 1; min-width: 0; margin: 0; align-items: stretch; }
.kemi-search-pane input[type=search], .kemi-search-pane input[type=text] { flex: 1; min-width: 0; border: 0; border-radius: 0; box-shadow: none; padding: 0 16px; font-size: 16px; font-family: var(--kemi-font); outline: none; background: #fff; height: auto; }
.kemi-search-pane button[type=submit] { background: var(--kemi-red); color: #fff; border: 0; border-radius: 0; padding: 0 18px; font-weight: 700; cursor: pointer; display: flex; align-items: center; gap: 8px; }
.kemi-search-pane button[type=submit] svg { width: 22px; height: 22px; }
.kemi-search-pane button[type=submit]:hover { background: var(--kemi-red-dark); }
/* Humla's own form inside our box. Since 2026-10-13 the header asks for the UNSTYLED variant (`humla-search-form-unstyled`,
   Humla ≥ 1.5), which the plugin's stylesheet does not touch, so the generic pane rules above (flex, no border, square,
   red submit) are the whole look. The `.humla-search-form` rules below stay for an older plugin. */
.kemi-search-pane .humla-search-form-unstyled { --humla-accent: var(--kemi-red); display: flex; flex: 1; min-width: 0; margin: 0; align-items: stretch; border: 0; border-radius: 0; background: #fff; }
.kemi-search-pane .humla-search-form-unstyled__input { flex: 1; min-width: 0; border: 0; border-radius: 0; box-shadow: none; padding: 0 16px; font-size: 16px; font-family: var(--kemi-font); outline: none; background: #fff; height: auto; }
.kemi-search-pane .humla-search-form-unstyled__submit { background: var(--kemi-red); color: #fff; border: 0; border-radius: 0; padding: 0 18px; cursor: pointer; display: flex; align-items: center; }
.kemi-search-pane .humla-search-form-unstyled__submit:hover { background: var(--kemi-red-dark); }
.kemi-search-pane .humla-search-form-unstyled__submit svg { width: 22px; height: 22px; }
.kemi-search-pane .humla-search-form { --humla-accent: var(--kemi-red); }
.kemi-search-pane .humla-search-form__input { border: 0 !important; border-radius: 0 !important; }
.kemi-search-pane .humla-search-form__submit { background: var(--kemi-red) !important; color: #fff !important; border-radius: 0 !important; }
/* tecdoc plate app (#search_box_app, Vue) inside our box */
.kemi-theme .kemi-plate { display: flex; flex: 1; min-width: 0; align-items: stretch; }
.kemi-theme .kemi-plate .nh_platesearch { flex: 1; display: flex; min-width: 0; position: relative; }
.kemi-theme .kemi-plate .p-platenr-input-container { flex: 1 1 auto !important; }
.kemi-theme .kemi-plate .p-plate-box > div:not(.p-platenr-input-container) { flex: 0 0 auto; }
.kemi-theme .kemi-plate .header-button.adv_search { flex: 0 0 auto; margin-left: auto; }
.kemi-theme .kemi-plate form { display: flex; flex: 1; min-width: 0; margin: 0; align-items: stretch; }
.kemi-theme .kemi-plate .p-plate-box { display: flex !important; flex: 1 1 auto; min-width: 0; align-items: stretch; margin: 0; padding: 0; flex-wrap: nowrap; }
.kemi-theme .kemi-plate .p-plate-box > div { display: flex; }
.kemi-theme .kemi-plate .p-platenr-input-container { display: flex; align-items: center; flex: 1; min-width: 0; position: relative; }
.kemi-theme .kemi-plate .p-platenr-input-container span, .kemi-theme .kemi-plate .isplate-label { display: none !important; }
.kemi-theme .kemi-plate input.masked { position: static !important; flex: 1 1 auto !important; width: 100% !important; max-width: none !important; min-width: 120px; height: 100% !important; border: 0; border-radius: 0; box-shadow: none; padding: 0 16px; font-size: 18px; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; font-family: var(--kemi-font); background: #fff; outline: none; margin: 0; }
.kemi-theme .kemi-plate button.tecdoc_show { height: 100%; background: var(--kemi-red); border: 0; border-radius: 0; padding: 0 18px; margin: 0; display: flex; align-items: center; cursor: pointer; box-shadow: none; }
.kemi-theme .kemi-plate button.tecdoc_show:hover { background: var(--kemi-red-dark); }
.kemi-theme .kemi-plate .header-button.adv_search { display: flex; align-items: center; margin: 0; }
.kemi-theme .kemi-plate .adv_search button { background: #fff; color: var(--kemi-ink); border: 0; border-left: 1px solid var(--kemi-line); border-radius: 0; box-shadow: none; height: 100%; padding: 0 14px; font-size: 13px; font-weight: 600; cursor: pointer; margin: 0; }
.kemi-theme .kemi-plate .adv_search button svg { stroke: var(--kemi-ink); margin-left: 4px; }
.kemi-theme .kemi-plate .adv-dropdown { top: calc(100% + 2px); right: 0; left: auto; min-width: 720px; border-radius: 0; z-index: 95; }
.kemi-plate--missing { color: var(--kemi-muted); font-size: 14px; }
/* "Ítarleg leit" dropdown (tecdoc Vue app): plugin ships rounded panel, Kadence paints its <button>s blue and the
 * plugin reads --primary-color. Kemi look: square panel, hairline tabs with red active line, labelled 2×2 selects,
 * black "Velja", red square search buttons — Gústi, 2026-10-06. */
.kemi-theme .kemi-plate { --primary-color: var(--kemi-ink); }
.kemi-theme .kemi-plate .adv_search button.active { background: var(--kemi-ink) !important; color: #fff; }
.kemi-theme .kemi-plate .adv_search button.active svg { stroke: #fff; }
.kemi-theme .kemi-plate .adv-dropdown { border: 1px solid var(--kemi-line); border-radius: 0; box-shadow: 0 14px 34px rgba(0,0,0,.14); min-width: 760px; width: 760px; max-width: calc(100vw - 32px); padding: 0; overflow: hidden; }
.kemi-theme .kemi-plate .adv-dropdown-tabs { padding: 0 !important; }
.kemi-theme .kemi-plate .adv-dropdown-tabs ul { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--kemi-line); background: var(--kemi-bg); }
.kemi-theme .kemi-plate .adv-dropdown-tabs li { opacity: 1; margin: 0; padding: 0 !important; transform: none; border: 0; }
.kemi-theme .kemi-plate .adv-dropdown-tabs li button { display: block; background: none; border: 0; border-bottom: 2px solid transparent; border-radius: 0; box-shadow: none; margin: 0 0 -1px; padding: 14px 20px; font-family: var(--kemi-font); font-size: 14px; font-weight: 600; line-height: 1.2; letter-spacing: 0; text-transform: none; color: var(--kemi-muted); cursor: pointer; }
.kemi-theme .kemi-plate .adv-dropdown-tabs li button:hover { color: var(--kemi-ink); }
.kemi-theme .kemi-plate .adv-dropdown-tabs li.adv-dropdown-active { border: 0; }
.kemi-theme .kemi-plate .adv-dropdown-tabs li.adv-dropdown-active button { color: var(--kemi-ink); border-bottom-color: var(--kemi-red); background: #fff; }
.kemi-theme .kemi-plate .nhtecdoc_advsearch_grid { padding: 22px 24px 24px; display: block; }
.kemi-theme .kemi-plate .search-option { padding: 0; border: 0; }
.kemi-theme .kemi-plate .search-option > div { display: flex; flex-direction: column; gap: 6px; }
.kemi-theme .kemi-plate .search-option:not(:has(form)) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
.kemi-theme .kemi-plate .search-option:not(:has(form)) > footer { grid-column: 1 / -1; display: flex; justify-content: flex-end; margin-top: 6px; }
.kemi-theme .kemi-plate .search-option label { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--kemi-muted); margin: 0; }
.kemi-theme .kemi-plate .search-option select, .kemi-theme .kemi-plate .search-option input[type=text] { width: 100%; height: 44px; margin: 0; padding: 0 14px; border: 1px solid var(--kemi-line); border-radius: 0; box-shadow: none; background-color: #fff; color: var(--kemi-ink); font-family: var(--kemi-font); font-size: 15px; font-weight: 500; }
.kemi-theme .kemi-plate .search-option select:focus, .kemi-theme .kemi-plate .search-option input[type=text]:focus { outline: none; border-color: var(--kemi-ink); }
.kemi-theme .kemi-plate .search-option select:disabled { background-color: var(--kemi-bg); color: var(--kemi-muted); cursor: not-allowed; }
.kemi-theme .kemi-plate .search-option footer .button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 26px; margin: 0; background: var(--kemi-ink); color: #fff; border: 0; border-radius: 0; box-shadow: none; font-family: var(--kemi-font); font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; cursor: pointer; }
.kemi-theme .kemi-plate .search-option footer .button:hover { background: var(--kemi-red); }
.kemi-theme .kemi-plate .search-option footer .button:disabled { opacity: .35; cursor: not-allowed; background: var(--kemi-ink); }
.kemi-theme .kemi-plate .search-option form { display: flex; align-items: stretch; gap: 0; margin: 0; }
.kemi-theme .kemi-plate .search-option form > div:first-child { flex: 1 1 auto; min-width: 0; }
.kemi-theme .kemi-plate .search-option form input[type=text] { letter-spacing: .08em; text-transform: uppercase; border-right: 0; }
.kemi-theme .kemi-plate .search-option form input[type=text]::placeholder { letter-spacing: 0; text-transform: none; color: var(--kemi-muted); }
.kemi-theme .kemi-plate .search-option button.tecdoc_show { position: static; width: auto !important; height: 44px !important; margin: 0 !important; padding: 0 18px; top: auto; transform: none; background: var(--kemi-red); border: 0; border-radius: 0; box-shadow: none; display: flex; align-items: center; cursor: pointer; }
.kemi-theme .kemi-plate .search-option button.tecdoc_show:hover { background: var(--kemi-red-dark); }
.kemi-theme .kemi-plate .search-option button.tecdoc_show:active { transform: none; }
/* tecdoc overrides (plugin pins max-width:159px, margin-top:-15px, padding-top:10px on its own scoped rules) */
.kemi-theme .kemi-plate .nh_platesearch, .kemi-theme .kemi-plate form, .kemi-theme .kemi-plate .p-plate-box, .kemi-theme .kemi-plate .p-plate-box > div, .kemi-theme .kemi-plate .header-button.adv_search { height: 100% !important; padding: 0 !important; margin: 0 !important; }
.kemi-theme .kemi-plate .p-platenr-input-container { max-width: none !important; width: auto !important; border-radius: 0 !important; background: transparent !important; }
.kemi-theme .kemi-plate input.masked { max-height: none !important; padding-left: 16px !important; padding-right: 8px !important; } /* the tecdoc plugin pads the right side 90px for its own button; here the button is a sibling, so that padding left the phone input with ~0px of visible text area (2026-10-09) */
.kemi-theme .kemi-plate button.tecdoc_show { width: auto !important; margin: 0 !important; top: auto !important; transform: none !important; box-shadow: none !important; }

.kemi-hdr-tools { display: flex; gap: 8px; }
.kemi-hdr-tools a { display: flex; align-items: center; gap: 8px; padding: 10px 12px; font-size: 13px; font-weight: 600; color: var(--kemi-ink); }
.kemi-hdr-tools a:hover { background: var(--kemi-bg); }
.kemi-hdr-tools svg { width: 22px; height: 22px; }
.kemi-hdr-tools .kemi-cart { background: var(--kemi-ink); color: #fff; }
.kemi-hdr-tools .kemi-cart:hover { background: var(--kemi-red); }
.kemi-cart-count { background: var(--kemi-red); color: #fff; font-size: 11px; padding: 1px 6px; font-weight: 700; }

.kemi-hdr-nav { display: flex; justify-content: space-between; align-items: stretch; border-top: 1px solid var(--kemi-line); height: 52px; }
.kemi-nav { display: flex; align-items: stretch; }
.kemi-nav > li { position: relative; display: flex; align-items: stretch; }
.kemi-nav > li > a { display: flex; align-items: center; padding: 0 16px; font-size: 14px; font-weight: 600; color: var(--kemi-ink); box-shadow: inset 0 -3px 0 transparent; }
.kemi-nav > li:hover > a, .kemi-nav > li.current-menu-item > a { box-shadow: inset 0 -3px 0 var(--kemi-red); }
.kemi-nav > li.kemi-catnav > a { background: var(--kemi-ink); color: #fff; padding: 0 22px; margin-right: 12px; box-shadow: none; }
.kemi-nav > li.kemi-catnav > a::before { content: "☰"; margin-right: 10px; font-size: 13px; }
.kemi-nav > li.kemi-catnav:hover > a { background: var(--kemi-red); }
.kemi-nav > li > ul.sub-menu { display: none; position: absolute; top: 100%; left: 0; background: #fff; border: 1px solid var(--kemi-line); box-shadow: 0 14px 34px rgba(0,0,0,.14); z-index: 95; padding: 10px 0; min-width: 260px; }
.kemi-nav > li.kemi-catnav > ul.sub-menu { columns: 2; column-gap: 0; min-width: 520px; }
.kemi-nav > li:hover > ul.sub-menu, .kemi-nav > li:focus-within > ul.sub-menu { display: block; }
.kemi-nav > li > ul.sub-menu li { break-inside: avoid; }
.kemi-nav > li > ul.sub-menu a { display: block; padding: 9px 22px; font-size: 14px; color: var(--kemi-ink); white-space: nowrap; }
.kemi-nav > li > ul.sub-menu a:hover { background: var(--kemi-bg); color: var(--kemi-red); }
.kemi-nav > li > ul.sub-menu li.all a { font-weight: 700; }
.kemi-phone { display: flex; align-items: center; font-size: 18px; font-weight: 700; color: var(--kemi-ink); letter-spacing: -.01em; }
.kemi-phone:hover { color: var(--kemi-red); }
.kemi-hdr-contact { display: flex; align-items: center; gap: 22px; }
.kemi-open { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--kemi-ink); white-space: nowrap; }
.kemi-open::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--kemi-muted); }
.kemi-open.is-open::before { background: var(--kemi-green); }
.kemi-open.is-closed::before { background: var(--kemi-red); }
.kemi-open[hidden] { display: none; }
.kemi-phone { white-space: nowrap; }
@media (max-width: 1180px) { .kemi-open { display: none; } }
.kemi-brand-banner { max-width: var(--kemi-max); margin: 16px auto 0; padding: 0 24px; }

/* ---------- drawer ---------- */
.kemi-drawer { position: fixed; top: 0; left: 0; bottom: 0; width: 320px; max-width: 90vw; background: #fff; z-index: 120; transform: translateX(-100%); transition: transform .25s; overflow: auto; padding-bottom: 40px; }
.kemi-drawer.is-open { transform: none; }
.kemi-scrim { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 110; }
.kemi-drawer-head { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--kemi-line); }
.kemi-theme .kemi-drawer-close { background: none !important; color: var(--kemi-ink) !important; border: 0; border-radius: 0; box-shadow: none; padding: 0 8px; font-size: 28px; line-height: 1; cursor: pointer; }
.kemi-theme .kemi-sub-toggle { background: none !important; color: var(--kemi-muted) !important; box-shadow: none; border-radius: 0; }
.kemi-theme .kemi-search-tabs button, .kemi-theme .kemi-dot { box-shadow: none; border-radius: 0; }
.kemi-drawer li { position: relative; }
.kemi-drawer li > a { display: block; padding: 12px 52px 12px 20px; font-weight: 600; color: var(--kemi-ink); border-bottom: 1px solid var(--kemi-line); }
.kemi-drawer li ul { display: none; }
.kemi-drawer li.is-open > ul { display: block; }
.kemi-drawer li ul a { font-weight: 400; padding-left: 36px; font-size: 14px; }
.kemi-sub-toggle { position: absolute; top: 4px; right: 8px; width: 40px; height: 40px; background: none; border: 0; font-size: 20px; cursor: pointer; color: var(--kemi-muted); }
.kemi-drawer-title { padding: 22px 20px 6px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--kemi-muted); font-weight: 700; }
.kemi-drawer-primary { display: none; }

/* ---------- shared blocks (used by kemi-blocks) ---------- */
.kemi-hero { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: 1fr 1fr; gap: 12px; padding-top: 20px; height: clamp(280px, 27vw, 400px); box-sizing: content-box; }
.kemi-slider { grid-row: 1 / 3; position: relative; min-width: 0; overflow: hidden; background: #111; }
.kemi-slider .kemi-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .6s; }
.kemi-slider .kemi-slide.is-active { opacity: 1; }
.kemi-slider img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kemi-dots { position: absolute; bottom: 14px; left: 20px; display: flex; gap: 6px; z-index: 2; }
.kemi-dot { width: 22px; height: 4px; border: 0; background: rgba(255,255,255,.5); padding: 0; cursor: pointer; }
.kemi-dot.is-active { background: var(--kemi-red); }
.kemi-hero-tile { display: flex; flex-direction: column; justify-content: flex-end; padding: 22px 24px; color: #fff; min-width: 0; overflow: hidden; text-decoration: none; }
.kemi-hero-tile.is-red { background: var(--kemi-red); }
.kemi-hero-tile.is-dark { background: var(--kemi-ink); }
.kemi-hero-tile .k { font-size: 24px; font-weight: 800; letter-spacing: -.01em; line-height: 1.1; color: #fff; }
.kemi-hero-tile .s { font-size: 14px; opacity: .9; margin-top: 6px; color: #fff; }
.kemi-hero-tile:hover { filter: brightness(1.08); }

.kemi-section { padding: 36px 0 8px; }
.kemi-section.is-alt { background: var(--kemi-bg); padding: 36px 0 32px; margin-top: 28px; }
.kemi-sec-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 18px; }
.kemi-sec-head h2 { font-size: 26px; font-weight: 800; margin: 0; letter-spacing: -.015em; color: var(--kemi-ink); }
.kemi-more { font-size: 14px; font-weight: 600; color: var(--kemi-ink); text-decoration: none; }
.kemi-more:hover { color: var(--kemi-red); }

/* Hairline grids: the 1px lines live on the tiles (box-shadow), not on a grey grid background, so empty slots in a
 * short last row stay white instead of showing a grey block — Gústi, 2026-10-06. */
.kemi-cat-grid { display: grid; grid-template-columns: repeat(var(--kemi-cols, 6), minmax(0, 1fr)); gap: 1px; padding: 1px; }
.kemi-cat { background: #fff; box-shadow: 0 0 0 1px var(--kemi-line); display: flex; flex-direction: column; align-items: center; padding: 16px 12px 14px; text-align: center; color: var(--kemi-ink); font-size: 13px; font-weight: 600; text-decoration: none; }
.kemi-cat:hover { background: var(--kemi-bg); color: var(--kemi-red); }
.kemi-cat-img { display: block; width: 100%; aspect-ratio: 1; margin-bottom: 10px; }
.kemi-cat-img img { width: 100%; height: 100%; object-fit: contain; }

.kemi-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; padding: 1px; }
.kemi-card { background: #fff; box-shadow: 0 0 0 1px var(--kemi-line); display: flex; flex-direction: column; position: relative; }
.kemi-card-img { display: block; aspect-ratio: 1; padding: 18px; position: relative; }
.kemi-card-img img { width: 100%; height: 100%; object-fit: contain; }
.kemi-badge { position: absolute; top: 10px; left: 10px; background: var(--kemi-green); color: #fff; font-size: 15px; font-weight: 800; letter-spacing: .01em; padding: 6px 10px; z-index: 1; line-height: 1.1; }
.kemi-card-body { padding: 0 18px 18px; display: flex; flex-direction: column; flex: 1; }
.kemi-card-title { font-size: 14px; font-weight: 600; color: var(--kemi-ink); line-height: 1.35; min-height: 38px; overflow-wrap: anywhere; text-decoration: none; }
.kemi-card-title:hover { color: var(--kemi-red); }
.kemi-card-meta { font-size: 12px; color: var(--kemi-muted); margin: 6px 0 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.kemi-empty { color: var(--kemi-muted); }
.kemi-card .kemi-card-img img { width: 100%; height: 100%; object-fit: contain; }
.kemi-card .price { font-size: 16px; font-weight: 700; color: var(--kemi-ink); margin-bottom: 14px; display: block; }
.kemi-card .price del { color: var(--kemi-muted); font-weight: 400; font-size: 13px; margin-right: 6px; }
.kemi-card .price ins { text-decoration: none; color: var(--kemi-red); }
.kemi-btn { display: flex; align-items: center; justify-content: center; text-align: center; background: var(--kemi-ink); color: #fff; font-size: 13px; font-weight: 600; line-height: 1.2; min-height: 40px; padding: 10px 12px; margin-top: auto; text-decoration: none; border: 0; border-radius: 0; cursor: pointer; box-sizing: border-box; }
.kemi-btn:hover { background: var(--kemi-red); color: #fff; }

.kemi-posts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.kemi-post-img { display: block; aspect-ratio: 16/9; overflow: hidden; }
.kemi-post-img img { width: 100%; height: 100%; object-fit: cover; }
.kemi-post h3 { font-size: 16px; font-weight: 600; margin: 14px 0 6px; }
.kemi-post h3 a { color: var(--kemi-ink); text-decoration: none; }
.kemi-post h3 a:hover { color: var(--kemi-red); }
.kemi-post p { font-size: 14px; color: var(--kemi-muted); margin: 0; }

/* hero slide copy (title / text / button over the image) */
.kemi-slide.has-copy::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.35) 50%, rgba(0,0,0,0) 85%); }
.kemi-slide-copy { position: absolute; left: 36px; right: 36px; bottom: 44px; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; max-width: 520px; color: #fff; text-decoration: none; }
.kemi-slide-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: var(--kemi-red); color: #fff; padding: 4px 8px; }
.kemi-slide-title { font-size: clamp(24px, 2.6vw, 40px); font-weight: 800; line-height: 1.05; letter-spacing: -.01em; color: #fff; }
.kemi-slide-text { font-size: 15px; line-height: 1.4; color: rgba(255,255,255,.9); }
.kemi-slide-cta { display: inline-block; margin-top: 4px; background: #fff; color: var(--kemi-ink); font-size: 14px; font-weight: 700; padding: 11px 18px; }
.kemi-slide:hover .kemi-slide-cta { background: var(--kemi-red); color: #fff; }

/* ---------- customer access (login / register) ---------- */
.kemi-access { padding: 32px 0 56px; }
.kemi-access-intro { text-align: center; margin: 0 auto 28px; max-width: 700px; }
.kemi-access-intro h1 { font-size: clamp(30px, 4vw, 44px); font-weight: 800; letter-spacing: -.01em; margin: 0 0 8px; }
.kemi-access-intro p { font-size: 17px; color: var(--kemi-muted); margin: 0; }
.kemi-access-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 980px; margin: 0 auto; }
.kemi-access-woo { display: contents; }
.kemi-access-woo .woocommerce-notices-wrapper:empty { display: none; }
.kemi-access-woo .woocommerce, .kemi-access-woo .u-columns { display: contents; }
.kemi-access-woo form.login, .kemi-access-woo form.register { border: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0; box-shadow: none; }
.kemi-access-woo .u-column2 h2 { display: flex; align-items: center; gap: 12px; }
.kemi-access-woo .u-column2 h2::before { content: ""; width: 44px; height: 44px; border-radius: 50%; background: var(--kemi-bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='8' r='4'/><path d='M2 21c0-4 3-7 7-7s7 3 7 7'/><path d='M19 8v6M16 11h6'/></svg>") center / 22px no-repeat; }
.kemi-access-woo .u-column2 form > p.form-row-wide:first-child input { margin-bottom: 0; }
.kemi-access-woo .u-columns::before, .kemi-access-woo .u-columns::after { content: none; }
.kemi-access-card, .kemi-access-woo .u-column1, .kemi-access-woo .u-column2 { background: #fff; border: 1px solid var(--kemi-line); padding: 26px 26px 24px; box-sizing: border-box; float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; }
.kemi-access-woo .woocommerce-notices-wrapper { grid-column: 1 / -1; grid-row: 1; }
.kemi-access-woo .woocommerce-notices-wrapper:empty, .kemi-access-woo .woocommerce-notices-wrapper:not(:has(*)) { display: none; }
.kemi-access-card--phone { grid-column: 1; grid-row: 2; }
.kemi-access-woo .u-column1 { grid-column: 2; grid-row: 2; }
.kemi-access-woo .u-column2 { grid-column: 1 / -1; grid-row: 3; }
.kemi-access-card-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.kemi-access-icon { width: 44px; height: 44px; border-radius: 50%; background: var(--kemi-bg); color: var(--kemi-ink); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.kemi-access-card h2, .kemi-access-woo .u-column1 h2, .kemi-access-woo .u-column2 h2 { font-size: 22px; font-weight: 800; margin: 0 0 18px; }
.kemi-access-card-head h2 { margin: 0; }
.kemi-access-woo .u-column1 h2 { display: flex; align-items: center; gap: 12px; }
.kemi-access-woo .u-column1 h2::before { content: ""; width: 44px; height: 44px; border-radius: 50%; background: var(--kemi-bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4'/><path d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/></svg>") center / 22px no-repeat; }
.kemi-access-phone label, .kemi-access-woo form label { display: block; font-size: 13px; font-weight: 700; margin: 0 0 6px; color: var(--kemi-ink); }
.kemi-access-woo form label .required { color: var(--kemi-red); }
.kemi-access-phone input, .kemi-access-woo form input.input-text { width: 100%; box-sizing: border-box; height: 46px; border: 1px solid #c8c8c8; border-radius: 0; padding: 0 14px; font: inherit; font-size: 15px; background: #fff; box-shadow: none; margin: 0 0 14px; }
.kemi-access-phone input:focus, .kemi-access-woo form input.input-text:focus { outline: none; border-color: var(--kemi-ink); }
.kemi-access-woo form p.form-row, .kemi-access-woo form p { margin: 0 0 12px; }
.kemi-access .kemi-btn, .kemi-access-woo form button.button { display: inline-block; width: 100%; height: 48px; border: 0; border-radius: 0; background: var(--kemi-ink); color: #fff; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; padding: 0 20px; }
.kemi-access .kemi-btn:hover, .kemi-access-woo form button.button:hover { background: var(--kemi-red); color: #fff; }
.kemi-access-woo .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; margin: 0 0 14px; }
.kemi-access-woo .woocommerce-form-login__rememberme input { margin: 0; }
.kemi-access-woo .lost_password { text-align: right; margin: 12px 0 0 !important; font-size: 14px; }
.kemi-access-woo .lost_password a { color: var(--kemi-red); font-weight: 600; text-decoration: none; }
.kemi-access-woo .lost_password a:hover { text-decoration: underline; }
.kemi-access-woo .u-column2 form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 24px; align-items: end; }
.kemi-access-woo .u-column2 form > * { grid-column: 1 / -1; }
.kemi-access-woo .u-column2 form > p.form-row-wide:first-child { grid-column: 1; }
.kemi-access-woo .u-column2 form > p.form-row:last-child { grid-column: 2; }
.kemi-access-woo .woocommerce-privacy-policy-text p { font-size: 13px; color: var(--kemi-muted); }
.kemi-access-woo .u-column2 { background: #101418; border: 0; border-top: 3px solid var(--kemi-red); box-shadow: 0 10px 30px rgba(0,0,0,.18); padding: 30px 32px 32px; color: #c3c9cf; }
.kemi-access-woo .u-column2 h2 { color: #fff; margin-bottom: 22px; }
.kemi-access-woo .u-column2 form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 44px; align-items: start; }
.kemi-access-woo .u-column2 form > * { grid-column: 2; }
.kemi-access-woo .u-column2 form { grid-template-rows: auto auto auto auto auto 1fr; }
.kemi-access-woo .u-column2 form input.input-text { height: 52px; }
.kemi-access-woo .u-column2 form > p.form-row:last-child { align-self: end; }
.kemi-theme .kemi-access .kemi-access-contact { margin-top: 32px; padding-bottom: 8px; }
.kemi-access-woo .u-column2 form > .kemi-reg-benefits { align-self: stretch; }
.kemi-access-woo .u-column2 form > .kemi-reg-benefits { grid-column: 1; grid-row: 1 / span 6; align-self: stretch; display: flex; flex-direction: column; padding: 0; margin: 0; background: none; border-right: 1px solid #2a323a; padding-right: 36px; }
.kemi-reg-eyebrow { margin: 0 0 16px !important; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.kemi-reg-benefits ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.kemi-reg-benefits li { display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: 0; }
.kemi-reg-benefits li svg { flex: none; margin-top: 1px; color: var(--kemi-red); }
.kemi-reg-benefits li span { display: grid; gap: 2px; font-size: 14px; line-height: 1.5; color: #c3c9cf; }
.kemi-reg-benefits li strong { font-size: 16px; font-weight: 800; color: #fff; }
.kemi-access-woo .u-column2 form > .kemi-reg-note { margin: 0 0 14px; padding: 0; font-size: 14px; line-height: 1.55; color: #c3c9cf; }
.kemi-access-woo .u-column2 form label { color: #fff; }
.kemi-access-woo .u-column2 form > p:not(.form-row):not(.woocommerce-privacy-policy-text) { font-size: 14px; color: #c3c9cf; margin: 4px 0 14px; }
.kemi-access-woo .u-column2 form > .woocommerce-privacy-policy-text { margin: 6px 0 22px; }
.kemi-access-woo .u-column2 .woocommerce-privacy-policy-text p, .kemi-access-woo .u-column2 .woocommerce-privacy-policy-text { color: #9aa2aa; }
.kemi-access-woo .u-column2 .woocommerce-privacy-policy-text a { color: #fff; text-decoration: underline; }
.kemi-access-woo .u-column2 form > p.form-row-wide, .kemi-access-woo .u-column2 form > p.form-row:last-child { grid-column: 2; margin: 0 0 4px; }
.kemi-access-woo .u-column2 form button.woocommerce-form-register__submit { background: var(--kemi-red); }
.kemi-access-woo .u-column2 form button.woocommerce-form-register__submit:hover { background: #fff; color: var(--kemi-ink); }
.kemi-access-help { font-size: 13px; color: var(--kemi-muted); margin: 10px 0 0; line-height: 1.5; }
.kemi-access-status { font-size: 13px; color: var(--kemi-red); font-weight: 600; margin: 8px 0 0; }
.kemi-access-security { display: flex; gap: 12px; align-items: flex-start; border-top: 1px solid var(--kemi-line); margin-top: 22px; padding-top: 16px; color: var(--kemi-ink); }
.kemi-access-security span { display: grid; gap: 2px; }
.kemi-access-security strong { font-size: 14px; }
.kemi-access-security small { font-size: 13px; color: var(--kemi-muted); line-height: 1.45; }
.kemi-access-next, .kemi-access-contact { max-width: 980px; margin: 28px auto 0; font-size: 14px; color: var(--kemi-muted); }
.kemi-access-next { background: var(--kemi-bg); padding: 14px 18px; }
.kemi-access-next strong { color: var(--kemi-ink); }
.kemi-access-contact a { color: var(--kemi-red); font-weight: 700; text-decoration: none; }
.kemi-access-contact a:hover { text-decoration: underline; }
.kemi-access-dash { max-width: 1100px; margin: 0 auto; }
/* ---- My account (logged in): sidebar card + content card ---- */
.kemi-access-dash .woocommerce { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 24px; align-items: start; }
.kemi-access-dash .woocommerce::before, .kemi-access-dash .woocommerce::after { content: none; }
.kemi-access-dash .account-navigation-wrap { grid-column: 1; width: auto; float: none; background: #fff; border: 1px solid var(--kemi-line); border-top: 3px solid var(--kemi-red); position: sticky; top: 150px; }
.kemi-access-dash .kadence-account-avatar { display: flex; align-items: center; gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--kemi-line); }
.kemi-access-dash .kadence-customer-image img { width: 44px; height: 44px; border-radius: 50%; display: block; }
.kemi-access-dash .kadence-customer-name { font-weight: 800; font-size: 16px; color: var(--kemi-ink); overflow-wrap: anywhere; }
.kemi-access-dash .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 6px 0; }
.kemi-access-dash .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; }
.kemi-access-dash .woocommerce-MyAccount-navigation li a { display: block; padding: 11px 20px; font-size: 15px; font-weight: 600; color: var(--kemi-text); text-decoration: none; border-left: 3px solid transparent; }
.kemi-access-dash .woocommerce-MyAccount-navigation li a:hover { background: var(--kemi-bg); color: var(--kemi-ink); }
.kemi-access-dash .woocommerce-MyAccount-navigation li.is-active a { background: var(--kemi-bg); color: var(--kemi-ink); font-weight: 800; border-left-color: var(--kemi-red); }
.kemi-access-dash .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { border-top: 1px solid var(--kemi-line); margin-top: 6px; }
.kemi-access-dash .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--kemi-muted); }
.kemi-access-dash .woocommerce-MyAccount-content { grid-column: 2; width: auto; float: none; box-sizing: border-box; background: #fff; border: 1px solid var(--kemi-line); padding: 28px 30px; min-width: 0; }
.kemi-access-dash .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.kemi-access-dash .woocommerce-MyAccount-content h2, .kemi-access-dash .woocommerce-MyAccount-content h3 { font-size: 22px; font-weight: 800; margin: 0 0 18px; color: var(--kemi-ink); }
.kemi-access-dash .woocommerce-MyAccount-content p { font-size: 16px; line-height: 1.6; }
.kemi-access-dash .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button) { color: var(--kemi-red); }
.kemi-access-dash .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button):hover { color: var(--kemi-red-dark); }
/* notices */
.kemi-access-dash .woocommerce-info, .kemi-access-dash .woocommerce-message, .kemi-access-dash .woocommerce-error { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; list-style: none; margin: 0 0 22px; padding: 14px 18px; background: var(--kemi-bg); border: 0; border-left: 4px solid var(--kemi-ink); border-radius: 0; color: var(--kemi-text); font-size: 14px; }
.kemi-access-dash .woocommerce-message { border-left-color: var(--kemi-green); }
.kemi-access-dash .woocommerce-error { border-left-color: var(--kemi-red); }
.kemi-access-dash .woocommerce-info::before, .kemi-access-dash .woocommerce-message::before, .kemi-access-dash .woocommerce-error::before { content: none; }
.kemi-access-dash .woocommerce-info .button { order: 2; margin-left: auto; }
.kemi-access-dash .woocommerce-info { flex-wrap: nowrap; justify-content: space-between; }
.kemi-access-dash .woocommerce-info .button { flex: none; }
.kemi-access-dash .woocommerce-MyAccount-content form select { appearance: none; -webkit-appearance: none; padding-right: 40px; background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23141414' stroke-width='1.8'><path d='M1 1l5 5 5-5'/></svg>") no-repeat right 16px center; }
/* buttons */
.kemi-access-dash .woocommerce-MyAccount-content .button, .kemi-access-dash .woocommerce-MyAccount-content button[type=submit], .kemi-access-dash .woocommerce-MyAccount-content a.woocommerce-button { display: inline-block; width: auto; height: auto; min-height: 44px; padding: 12px 22px; border: 0; border-radius: 0; background: var(--kemi-ink); color: #fff; font: 700 14px/1.2 var(--kemi-font); text-align: center; text-decoration: none; cursor: pointer; transition: background .15s; }
.kemi-access-dash .woocommerce-MyAccount-content .button:hover, .kemi-access-dash .woocommerce-MyAccount-content button[type=submit]:hover, .kemi-access-dash .woocommerce-MyAccount-content a.woocommerce-button:hover { background: var(--kemi-red); color: #fff; }
.kemi-access-dash .woocommerce-MyAccount-content .woocommerce-button.view, .kemi-access-dash .woocommerce-MyAccount-content .woocommerce-orders-table .button { min-height: 0; padding: 8px 16px; font-size: 13px; background: #fff; color: var(--kemi-ink); border: 1px solid var(--kemi-ink); }
.kemi-access-dash .woocommerce-MyAccount-content .woocommerce-orders-table .button:hover { background: var(--kemi-ink); color: #fff; }
/* tables */
.kemi-access-dash table.shop_table, .kemi-access-dash .woocommerce-table { width: 100%; border: 0; border-collapse: collapse; background: #fff; margin: 0 0 20px; }
.kemi-access-dash table.shop_table th { text-align: left; padding: 10px 12px; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--kemi-muted); background: none; border: 0; border-bottom: 2px solid var(--kemi-ink); }
.kemi-access-dash table.shop_table td, .kemi-access-dash table.shop_table tbody th { padding: 14px 12px; border: 0; border-bottom: 1px solid var(--kemi-line); vertical-align: middle; font-size: 15px; text-transform: none; letter-spacing: 0; color: var(--kemi-text); font-weight: 400; }
.kemi-access-dash table.shop_table tbody th a { font-weight: 800; }
.kemi-access-dash table.shop_table tfoot th, .kemi-access-dash table.shop_table tfoot td { font-weight: 700; color: var(--kemi-ink); padding: 14px 12px; border: 0; border-bottom: 1px solid var(--kemi-line); text-transform: none; letter-spacing: 0; font-size: 15px; }
.kemi-access-dash .woocommerce-MyAccount-content mark { background: var(--kemi-bg); padding: 2px 8px; font-weight: 700; color: var(--kemi-ink); }
/* forms */
.kemi-access-dash .woocommerce-MyAccount-content form .woocommerce-address-fields__field-wrapper, .kemi-access-dash .woocommerce-MyAccount-content form.edit-account { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 20px; }
.kemi-access-dash .woocommerce-MyAccount-content form p.form-row { float: none; width: auto; grid-column: 1 / -1; margin: 0 0 16px; padding: 0; }
.kemi-access-dash .woocommerce-MyAccount-content form p.form-row-first, .kemi-access-dash .woocommerce-MyAccount-content form p.form-row-last { grid-column: auto; }
.kemi-access-dash .woocommerce-MyAccount-content form > p:not(.form-row), .kemi-access-dash .woocommerce-MyAccount-content form > fieldset, .kemi-access-dash .woocommerce-MyAccount-content form > .clear { grid-column: 1 / -1; }
.kemi-access-dash .woocommerce-MyAccount-content form label { display: block; font-size: 13px; font-weight: 700; margin: 0 0 6px; color: var(--kemi-ink); line-height: 1.3; }
.kemi-access-dash .woocommerce-MyAccount-content form label .required { color: var(--kemi-red); text-decoration: none; }
.kemi-access-dash .woocommerce-MyAccount-content form input.input-text, .kemi-access-dash .woocommerce-MyAccount-content form select, .kemi-access-dash .woocommerce-MyAccount-content form textarea { width: 100%; box-sizing: border-box; height: 46px; border: 1px solid #c8c8c8; border-radius: 0; padding: 0 14px; font: 16px var(--kemi-font); background: #fff; box-shadow: none; color: var(--kemi-ink); }
.kemi-access-dash .woocommerce-MyAccount-content form textarea { height: auto; padding: 12px 14px; }
.kemi-access-dash .woocommerce-MyAccount-content form input.input-text:focus, .kemi-access-dash .woocommerce-MyAccount-content form select:focus { outline: none; border-color: var(--kemi-ink); }
.kemi-access-dash .woocommerce-MyAccount-content form fieldset { border: 1px solid var(--kemi-line); padding: 18px 20px 6px; margin: 8px 0 20px; }
.kemi-access-dash .woocommerce-MyAccount-content form legend { font-size: 16px; font-weight: 800; padding: 0 8px; }
.kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Addresses, .kemi-access-dash .woocommerce-MyAccount-content .u-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Addresses::before, .kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Addresses::after, .kemi-access-dash .woocommerce-MyAccount-content .u-columns::before, .kemi-access-dash .woocommerce-MyAccount-content .u-columns::after { content: none; }
.kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Address { float: none; width: auto; box-sizing: border-box; padding: 20px 22px; border: 1px solid var(--kemi-line); background: var(--kemi-bg); }
.kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0 0 12px; padding: 0 0 12px; border-bottom: 1px solid var(--kemi-line); float: none; width: auto; }
.kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Address-title h2, .kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Address-title h3 { font-size: 17px; line-height: 1.3; margin: 0; padding: 0; }
.kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Address-title a.edit { flex: none; float: none; font-size: 13px; font-weight: 700; white-space: nowrap; margin: 0; padding: 0; }
.kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Address address { font-style: normal; font-size: 15px; line-height: 1.6; margin: 0; padding: 0; color: var(--kemi-text); }
.kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Address-title h2::before { content: none; display: none; }
.kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Address-title h2 { display: block; }
.kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Address-title::before, .kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Address-title::after { content: none; display: none; }
.kemi-access-dash .woocommerce-MyAccount-content a.edit { text-decoration: none; }
.kemi-access-dash .woocommerce-MyAccount-content a.edit:hover { text-decoration: underline; text-underline-offset: 3px; }
.kemi-dash-hello { margin: 0 0 24px; }
.kemi-theme .kemi-dash-hello h2 { font-size: 28px; font-weight: 800; margin: 0 0 4px; letter-spacing: -.01em; }
.kemi-theme .kemi-access-dash .kemi-dash-hello p { margin: 0; font-size: 14px; color: var(--kemi-muted); }
.kemi-dash-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 22px; }
.kemi-theme .kemi-access-dash a.kemi-dash-tile { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 20px 20px 22px; background: var(--kemi-bg); border-top: 3px solid transparent; color: var(--kemi-ink); text-decoration: none; transition: background .15s, border-color .15s; }
.kemi-theme .kemi-access-dash a.kemi-dash-tile:hover, .kemi-theme .kemi-access-dash a.kemi-dash-tile:focus-visible { background: #fff; border-top-color: var(--kemi-red); box-shadow: 0 6px 18px rgba(0,0,0,.08); color: var(--kemi-ink); }
.kemi-dash-ico { flex: none; color: var(--kemi-ink); margin-bottom: 6px; }
.kemi-access-dash .kemi-dash-tile strong { font-size: 17px; font-weight: 800; line-height: 1.25; color: var(--kemi-ink); }
.kemi-dash-tile > span:not(.kemi-dash-go) { font-size: 14px; line-height: 1.45; color: var(--kemi-muted); padding-right: 22px; }
.kemi-dash-go { position: absolute; right: 18px; bottom: 18px; color: var(--kemi-red); font-size: 20px; transition: transform .15s; }
.kemi-dash-tile:hover .kemi-dash-go { transform: translateX(4px); }
.kemi-dash-biz { display: flex; align-items: center; gap: 20px; padding: 22px 24px; background: #101418; color: #d4d8dc; border-left: 4px solid var(--kemi-red); }
.kemi-dash-biz .kemi-dash-ico { color: #fff; width: 36px; height: 36px; }
.kemi-dash-biz-text { flex: 1; min-width: 0; }
.kemi-theme .kemi-dash-biz h3 { color: #fff; font-size: 18px; margin: 0 0 4px; }
.kemi-theme .kemi-access-dash .kemi-dash-biz p { margin: 0; font-size: 14px; line-height: 1.55; color: #c3c9cf; }
.kemi-access-dash .woocommerce-MyAccount-content a.button.kemi-dash-biz-btn { flex: none; background: var(--kemi-red); color: #fff; }
.kemi-access-dash .woocommerce-MyAccount-content a.button.kemi-dash-biz-btn:hover { background: #fff; color: var(--kemi-ink); }
@media (max-width: 800px) {
  .kemi-access-dash .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .kemi-access-dash .account-navigation-wrap, .kemi-access-dash .woocommerce-MyAccount-content { grid-column: 1; position: static; }
  .kemi-access-dash .kadence-account-avatar { padding: 14px 16px; }
  .kemi-access-dash .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; padding: 0; scrollbar-width: none; }
  .kemi-access-dash .woocommerce-MyAccount-navigation li a { white-space: nowrap; padding: 12px 14px; border-left: 0; border-bottom: 3px solid transparent; }
  .kemi-access-dash .woocommerce-MyAccount-navigation li.is-active a { border-bottom-color: var(--kemi-red); }
  .kemi-access-dash .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { border-top: 0; margin-top: 0; }
  .kemi-access-dash .woocommerce-MyAccount-content { padding: 20px 16px; }
  .kemi-access-dash .woocommerce-MyAccount-content form .woocommerce-address-fields__field-wrapper, .kemi-access-dash .woocommerce-MyAccount-content form.edit-account, .kemi-access-dash .woocommerce-MyAccount-content .woocommerce-Addresses, .kemi-access-dash .woocommerce-MyAccount-content .u-columns { grid-template-columns: minmax(0, 1fr); }
  .kemi-access-dash .woocommerce-MyAccount-content form p.form-row-first, .kemi-access-dash .woocommerce-MyAccount-content form p.form-row-last { grid-column: 1 / -1; }
  .kemi-access-dash .woocommerce-info { flex-wrap: wrap; }
  .kemi-dash-tiles { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .kemi-dash-biz { flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px 18px; }
  .kemi-theme .kemi-dash-hello h2 { font-size: 24px; }
  .kemi-access-dash .woocommerce-info .button { margin-left: 0; }
  .kemi-access-dash table.shop_table_responsive tr { display: block; border-bottom: 1px solid var(--kemi-line); padding: 8px 0; }
  .kemi-access-dash table.shop_table_responsive td, .kemi-access-dash table.shop_table_responsive tbody th { display: flex; justify-content: space-between; gap: 12px; padding: 6px 4px; border: 0; text-align: right; }
  .kemi-access-dash table.shop_table_responsive td::before, .kemi-access-dash table.shop_table_responsive tbody th::before { content: attr(data-title); font-weight: 700; color: var(--kemi-muted); text-align: left; }
}
/* ---- Lost / reset password: one focused dark card ---- */
.kemi-reset-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 0 44px; max-width: 980px; margin: 0 auto; box-sizing: border-box; padding: 32px; background: #101418; border-top: 3px solid var(--kemi-red); box-shadow: 0 10px 30px rgba(0,0,0,.18); color: #c3c9cf; }
.kemi-reset-steps { border-right: 1px solid #2a323a; padding-right: 36px; }
.kemi-reset-steps ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.kemi-reset-steps li { display: flex; gap: 14px; align-items: flex-start; margin: 0; font-size: 14px; line-height: 1.5; color: #c3c9cf; }
.kemi-reset-steps li > span { flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid var(--kemi-red); color: #fff; font-weight: 800; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; }
.kemi-reset-steps li strong { display: block; font-size: 16px; font-weight: 800; color: #fff; margin-bottom: 2px; }
.kemi-reset-form { align-self: center; min-width: 0; }
.kemi-reset-form .woocommerce, .kemi-reset-form form { display: block; margin: 0; padding: 0; border: 0; }
.kemi-reset-form .woocommerce-notices-wrapper:empty { display: none; }
.kemi-reset-form form > p:first-child { margin: 0 0 18px; font-size: 15px; line-height: 1.55; color: #c3c9cf; }
.kemi-theme .kemi-reset-form .woocommerce > p { margin: 0 0 14px; font-size: 15px; line-height: 1.6; color: #c3c9cf; }
.kemi-reset-form form .form-row { float: none; width: auto; margin: 0 0 16px; padding: 0; }
.kemi-reset-form form label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 700; color: #fff; }
.kemi-reset-form form label .required { color: var(--kemi-red); text-decoration: none; }
.kemi-reset-form form input.input-text { width: 100%; box-sizing: border-box; height: 52px; border: 1px solid #c8c8c8; border-radius: 0; padding: 0 14px; font: 16px var(--kemi-font); background: #fff; color: var(--kemi-ink); box-shadow: none; }
.kemi-reset-form form input.input-text:focus { outline: 2px solid var(--kemi-red); outline-offset: 1px; }
.kemi-reset-form form .clear { display: none; }
.kemi-reset-form form button.button, .kemi-reset-form form .woocommerce-Button { display: block; width: 100%; height: 52px; padding: 0 18px; border: 0; border-radius: 0; background: var(--kemi-red); color: #fff; font: 700 15px var(--kemi-font); cursor: pointer; transition: background .15s; }
.kemi-reset-form form button.button:hover, .kemi-reset-form form .woocommerce-Button:hover { background: #fff; color: var(--kemi-ink); }
.kemi-reset-form .woocommerce-message, .kemi-reset-form .woocommerce-info, .kemi-reset-form .woocommerce-error { list-style: none; margin: 0 0 18px; padding: 14px 16px; background: #1b2128; border: 0; border-left: 4px solid var(--kemi-green); color: #fff; font-size: 14px; line-height: 1.5; }
.kemi-reset-form .woocommerce-error { border-left-color: var(--kemi-red); }
.kemi-reset-form .woocommerce-message::before, .kemi-reset-form .woocommerce-error::before, .kemi-reset-form .woocommerce-info::before { content: none; }
.kemi-reset-form .woocommerce-message a, .kemi-reset-form .woocommerce-error a { color: #fff; text-decoration: underline; }
.kemi-reset-form .show-password-input { filter: invert(1); }
.kemi-theme .kemi-reset-form form label, .kemi-theme .kemi-reset-form form .woocommerce-form-row label { color: #fff; }
.kemi-theme .kemi-reset-form .woocommerce-message, .kemi-theme .kemi-reset-form .woocommerce-info, .kemi-theme .kemi-reset-form .woocommerce-error { background: #1b2128; color: #fff; border: 0; border-left: 4px solid var(--kemi-green); box-shadow: none; outline: 0; }
.kemi-theme .kemi-reset-form .woocommerce-error { border-left-color: var(--kemi-red); }
.kemi-theme .kemi-reset-form .woocommerce-error li, .kemi-theme .kemi-reset-form .woocommerce-message li { color: #fff; margin: 0; }
.kemi-theme .kemi-access--reset .kemi-access-contact { text-align: center; margin-top: 24px; }
.kemi-theme .kemi-access--reset .kemi-access-contact--help { margin-top: 8px; }
@media (max-width: 800px) {
  .kemi-access { padding: 20px 0 40px; }
  .kemi-reset-card { grid-template-columns: minmax(0, 1fr); padding: 22px 16px 24px; }
  .kemi-reset-steps { border-right: 0; padding-right: 0; border-bottom: 1px solid #2a323a; padding-bottom: 20px; margin-bottom: 20px; }
  .kemi-access-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .kemi-access-card, .kemi-access-woo .u-column1, .kemi-access-woo .u-column2 { padding: 20px 16px; }
  .kemi-access-woo .u-column2 form { grid-template-columns: minmax(0, 1fr); }
  .kemi-access-woo .u-column2 { padding: 22px 16px 24px; }
  .kemi-access-woo .u-column2 form { grid-template-rows: none; }
  .kemi-access-woo .u-column2 form > *, .kemi-access-woo .u-column2 form > p.form-row-wide, .kemi-access-woo .u-column2 form > p.form-row:last-child { grid-column: 1; }
  .kemi-access-woo .u-column2 form > .kemi-reg-benefits { grid-row: auto; border-right: 0; padding-right: 0; border-bottom: 1px solid #2a323a; padding-bottom: 20px; margin-bottom: 20px; }
  .kemi-access-woo .u-column2 form > p.form-row-wide:first-child, .kemi-access-woo .u-column2 form > p.form-row:last-child { grid-column: 1; }
  .kemi-access-card--phone, .kemi-access-woo .u-column1, .kemi-access-woo .u-column2, .kemi-access-woo .woocommerce-notices-wrapper { grid-column: 1; grid-row: auto; }
}

/* Kadence palette: its blue (#2B6CB0) is the accent for pagination, post category labels, links and buttons — make it Kemi red. */
.kemi-theme, body.kemi-theme { --global-palette1: #e3000f; --global-palette2: #b8000c; --global-palette7: #f0f0f0; --global-palette8: #ffffff; }
.kemi-theme .entry-hero, .kemi-theme .entry-hero-container-inner, .kemi-theme .page-hero-section, .kemi-theme .post-archive-hero-section, .kemi-theme .content-container, .kemi-theme .single-content { background: #fff; }
.kemi-theme .entry-hero { padding: 24px 0 8px; }
/* Narrow post column: 3 per row. Pages (e.g. Tilboðsvörur) keep the archive ladder 5/4/3/2 — Gústi, 2026-10-06. */
.kemi-theme .single-post .entry-content .kemi-archive-grid, .kemi-theme .kemi-fs-products .kemi-archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kemi-theme .kemi-fs-products .kemi-archive-grid.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kemi-theme .kemi-fs-products .kemi-archive-grid.columns-4, .kemi-theme .kemi-fs-products .kemi-archive-grid.columns-5 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kemi-theme .kemi-fs-col:not([style*="--span:12"]) .kemi-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kemi-theme .entry-hero .entry-title { font-weight: 800; letter-spacing: -.01em; }
/* Page title (Tilboðsvörur, Starfsfólk, …): rendered inside .entry-content-wrap (page_title_layout = normal, functions.php), same scale
 * and left alignment as the category hero — Gústi, 2026-10-06. Container pages zero the wrap padding, so give the header the
 * .kemi-container gutters there. */
.kemi-theme .entry-content-wrap .entry-header.page-title, .kemi-theme .entry-header.page-title { display: block; text-align: left; min-height: 0; margin: 14px 0 28px; padding: 36px 0 0; border-top: 1px solid var(--kemi-line); }
.kemi-theme .entry-header.page-title .entry-title { display: block; font-size: clamp(32px, 4.5vw, 56px); font-weight: 700; letter-spacing: -.02em; line-height: 1.05; margin: 0; color: var(--kemi-ink); text-align: left; }
/* Regular pages: drop Kadence's 80px content-area margin and the wrap's top padding so the title band starts right under the nav. */
.kemi-theme.page .content-area { margin-top: 0; }
.kemi-theme.page .entry-content-wrap { padding-top: 0; }
.kemi-theme.kemi-page-container .entry-header.page-title { width: calc(100% - 48px); max-width: calc(var(--kemi-max) - 48px); margin-left: auto; margin-right: auto; } /* = .kemi-container's inner width, so the rule and title sit on the grid edge */
/* Kadence's link highlight is blue too (post tag hover, plain links) — Kemi red. Post tags: square tiles, ink/white on hover — Gústi, 2026-10-06. */
.kemi-theme, body.kemi-theme { --global-palette-highlight: #e3000f; --global-palette-highlight-alt: #b8000c; }
.kemi-theme .entry-tags a.tag-link { border: 1px solid var(--kemi-line); border-radius: 0; color: var(--kemi-ink); font-size: 13px; font-weight: 600; padding: 7px 12px; margin: 8px 8px 0 0; background: #fff; }
.kemi-theme .entry-tags a.tag-link .tag-hash { color: var(--kemi-muted); margin-right: 1px; }
.kemi-theme .entry-tags a.tag-link:hover, .kemi-theme .entry-tags a.tag-link:focus-visible { background: var(--kemi-ink); border-color: var(--kemi-ink); color: #fff; }
.kemi-theme .entry-tags a.tag-link:hover .tag-hash { color: rgba(255,255,255,.7); }
/* blog cards (Kadence archive) */
.kemi-theme .entry.loop-entry { border: 1px solid var(--kemi-line); border-radius: 0; box-shadow: none; }
.kemi-theme .loop-entry .entry-taxonomies .category-links a, .kemi-theme .entry-taxonomies a { color: var(--kemi-red); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.kemi-theme .loop-entry .entry-title a:hover { color: var(--kemi-red); }
.kemi-theme .post-more-link { color: var(--kemi-ink); font-weight: 700; text-transform: uppercase; font-size: 12px; letter-spacing: .06em; }
.kemi-theme .post-more-link:hover { color: var(--kemi-red); }
.kemi-theme .kadence-pagination .page-numbers, .kemi-theme .woocommerce-pagination .page-numbers { border-radius: 0; }
.kemi-theme .page-numbers.current { background: var(--kemi-ink) !important; border-color: var(--kemi-ink) !important; color: #fff !important; }
/* Flatsome shortcode shim (inc/flatsome-shim.php) */
.kemi-fs-row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; margin: 0 0 8px; }
.kemi-fs-col { grid-column: span var(--span, 12); min-width: 0; }
.kemi-fs-section { margin: 0 0 24px; }
.kemi-fs-gap { height: 24px; }
.kemi-fs-divider { border: 0; border-top: 1px solid var(--kemi-line); margin: 24px 0; }
.kemi-fs-title { margin: 28px 0 12px; }
.kemi-fs-btn-wrap { margin: 16px 0; }
.kemi-fs-btn { display: inline-flex; width: auto; padding: 12px 20px; font-size: 14px; }
.kemi-fs-image { width: 100%; height: auto; display: block; }
.kemi-fs-video { margin: 16px 0; aspect-ratio: 16 / 9; }
.kemi-fs-video iframe { width: 100%; height: 100%; }
.kemi-fs-message { background: var(--kemi-bg); border-left: 4px solid var(--kemi-red); padding: 14px 18px; margin: 16px 0; }
.kemi-fs-products { margin: 16px 0 24px; }
/* Pages built from a kemi-container group (Tilboðsvörur): drop Kadence's wrapper padding so the grid aligns with the
 * category archives (1312px at 1440, 16px gutters on phones). Body class set by the body_class filter in functions.php. */
.kemi-theme.kemi-page-container .entry-content-wrap { padding-left: 0; padding-right: 0; }
.kemi-theme .entry-content .wp-block-group.kemi-container { padding-left: 24px; padding-right: 24px; }
.kemi-sale-page { padding-bottom: 40px; }
@media (max-width: 800px) { .kemi-fs-row { grid-template-columns: minmax(0, 1fr); } .kemi-fs-col { grid-column: auto; } }

/* ---------- Tilboðsvörur landing page — shared Kemi/Poulsen rebuild ---------- */
.kemi-sale-page { padding-bottom: 0; }
.kemi-sale-page .kemi-sale-hero { padding-top: 68px; padding-bottom: 68px; }
.kemi-sale-page .kemi-sale-hero-inner { max-width: var(--kemi-max); }
.kemi-sale-page .kemi-sale-hero .kemi-lp-lead { max-width: 58ch; }
.kemi-sale-page .kemi-sale-facts { padding-block: 0; }
.kemi-sale-page .kemi-sale-products { padding-top: 56px; padding-bottom: 64px; }
.kemi-sale-page .kemi-sale-products > * { max-width: var(--kemi-max); }
.kemi-sale-page .kemi-sale-products > .wp-block-shortcode { max-width: var(--kemi-max); }
.kemi-sale-page .kemi-sale-products .woocommerce { margin-top: 28px; }
.kemi-sale-page .kemi-sale-products .woocommerce ul.products { margin-top: 0; }
.kemi-sale-page .kemi-sale-note { padding-top: 52px; padding-bottom: 52px; }
.kemi-sale-page .kemi-sale-note > * { max-width: var(--kemi-max); }
.kemi-sale-page .kemi-sale-note h3 { margin-bottom: 8px; }
.kemi-sale-page .kemi-sale-note p { margin-bottom: 0; }
@media (max-width: 600px) {
  .kemi-sale-page .kemi-sale-hero { padding-top: 48px; padding-bottom: 48px; }
  .kemi-sale-page .kemi-sale-products { padding-top: 40px; padding-bottom: 44px; }
  .kemi-sale-page .kemi-sale-note { padding-top: 38px; padding-bottom: 38px; }
}

/* ---------- footer ---------- */
.kemi-ftr { background: #101418; color: #d4d8dc; font-size: 15px; line-height: 1.6; margin-top: 48px; }
.kemi-ftr-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding-top: 40px; padding-bottom: 8px; }
.kemi-theme .kemi-ftr a.kemi-ftr-tile { display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: #1b2128; border-top: 3px solid var(--kemi-red); color: #fff; transition: background .15s; }
.kemi-theme .kemi-ftr a.kemi-ftr-tile:hover, .kemi-theme .kemi-ftr a.kemi-ftr-tile:focus-visible { background: #242c35; text-decoration: none; }
.kemi-ftr-ico { flex: none; color: #fff; }
.kemi-ftr-tile-t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.kemi-ftr-tile-t strong { font-size: 17px; font-weight: 800; line-height: 1.25; }
.kemi-ftr-tile-t span { font-size: 13px; color: #aab1b8; line-height: 1.4; }
.kemi-ftr-tile-go { flex: none; font-size: 20px; color: var(--kemi-red); transition: transform .15s; }
.kemi-ftr-tile:hover .kemi-ftr-tile-go { transform: translateX(4px); }
.kemi-ftr-cols { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1.2fr; gap: 40px; padding-top: 44px; padding-bottom: 44px; }
.kemi-ftr h4 { color: #fff; font-size: 18px; font-weight: 800; margin: 0 0 12px; }
.kemi-ftr h4:not(:first-child) { margin-top: 26px; }
.kemi-ftr p { margin: 4px 0; }
.kemi-ftr a { color: #d4d8dc; }
.kemi-ftr a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.kemi-ftr .kemi-legal, .kemi-ftr-cols ul { display: flex; flex-direction: column; gap: 8px; }
.kemi-theme .kemi-ftr .kemi-ftr-big { font-size: 30px; font-weight: 800; line-height: 1.2; margin: 0; }
.kemi-theme .kemi-ftr .kemi-ftr-big a { color: #fff; }
.kemi-ftr-hours { display: grid; grid-template-columns: auto 1fr; gap: 2px 18px; margin: 0; }
.kemi-ftr-hours dt { margin: 0; color: #aab1b8; }
.kemi-ftr-hours dd { margin: 0; color: #fff; font-weight: 600; }
/* The contact column is three wrapped groups so phones can lay them out side by side; keep the stacked rhythm here. */
.kemi-ftr-open, .kemi-ftr-mail { margin-top: 26px; }
.kemi-day-short { display: none; }
/* `.woocommerce img { height: auto }` outranks a lone class, so the logo rendered at its natural size on shop pages — scope it. */
.kemi-theme .kemi-ftr .kemi-ftr-logo, .woocommerce .kemi-ftr .kemi-ftr-logo { height: 36px; width: auto; max-width: 180px; margin-bottom: 18px; }
.kemi-ftr-badge { width: 160px; margin-top: 18px; }
.kemi-ftr-bar { background: #080b0e; }
.kemi-ftr-legal { padding-top: 16px; padding-bottom: 16px; font-size: 13px; display: flex; gap: 24px; align-items: center; justify-content: space-between; }
.kemi-ftr-social { display: inline-flex; color: #fff; }
.kemi-copy { color: #aab1b8; }

/* ---------- WooCommerce touch-ups (phase 1: squares, brand red) ---------- */
.kemi-theme .button, .kemi-theme button.single_add_to_cart_button, .kemi-theme .wc-block-components-button { border-radius: 0; }
.kemi-theme .shop-product-sku { font-size: 12px; color: var(--kemi-muted); margin: 2px 0 6px; }
.kemi-theme .product-sku { font-size: 13px; color: var(--kemi-muted); margin-bottom: 12px; padding-bottom: 6px; border-bottom: 2px solid rgba(218,37,28,.5); }
.kemi-theme .kemi-contact-sales { background: #f8bd01; color: #424242; padding: 10px 16px; font-weight: 600; }
.kemi-theme .site-header-row-container-inner { display: none; } /* belt and braces: Kadence header rows, should not render */


/* ---------- shop: shared (phase 3, Rubix style) ---------- */
.kemi-shop { padding-bottom: 40px; }
.kemi-crumbs-wrap { padding-top: 14px; }
.kemi-crumbs { font-size: 12px; color: var(--kemi-muted); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.kemi-crumbs a { color: var(--kemi-muted); text-decoration: none; }
.kemi-crumbs a:hover { color: var(--kemi-ink); }
.kemi-crumbs-sep { color: #b5b5b5; }
.kemi-theme .kemi-card-img img { width: 100%; height: 100%; object-fit: contain; display: block; background: #fff; }
.kemi-card-img { background: #fff; padding: 10px; box-sizing: border-box; }
.kemi-card-img img.woocommerce-placeholder, .kemi-card-img img[src*="placeholder"] { opacity: .35; }
.kemi-card-brand { position: absolute; top: 10px; right: 10px; z-index: 1; width: 72px; height: 40px; background: #fff; display: flex; align-items: center; justify-content: center; padding: 3px; box-sizing: border-box; }
.kemi-card-brand img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.kemi-card-body { padding: 14px 16px 16px; }
.kemi-card-title { font-size: 15px; font-weight: 600; margin-bottom: 4px; min-height: 0; }
.kemi-card-excerpt { font-size: 13px; color: var(--kemi-muted); line-height: 1.4; margin: 2px 0 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kemi-card-meta { margin: 0 0 8px; }
.kemi-theme .kemi-card .price { font-size: 16px; font-weight: 700; color: var(--kemi-ink); margin-bottom: 12px; display: block; }
.kemi-theme .kemi-card .price del { color: var(--kemi-muted); font-weight: 400; font-size: 13px; margin-left: 6px; opacity: 1; }
.kemi-theme .kemi-card .price ins { text-decoration: none; }
.kemi-btn.is-secondary { background: #fff; color: var(--kemi-ink); border: 1px solid var(--kemi-ink); }
.kemi-btn:hover { background: var(--kemi-red); color: #fff; }
.kemi-btn.added::after { content: " ✓"; }
.kemi-card .added_to_cart { display: block; text-align: center; font-size: 12px; margin-top: 6px; color: var(--kemi-red); font-weight: 600; }
.kemi-card--cat { text-decoration: none; }
.kemi-card--cat .kemi-card-img { display: block; aspect-ratio: 1; padding: 20px; background: #fff; }
.kemi-card--cat .kemi-card-body { display: flex; flex-direction: column; }
.kemi-card--cat .kemi-card-title { font-size: 15px; }
.kemi-badge.is-new { background: var(--kemi-red); }
.kemi-btn-outline { display: inline-block; border: 1px solid var(--kemi-ink); color: var(--kemi-ink); padding: 9px 14px; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.kemi-btn-outline.is-light { border-color: #fff; color: #fff; }

/* ---------- shop: archive ---------- */
.kemi-arch-hero { background: #fff; margin-top: 14px; border-top: 1px solid var(--kemi-line); }
.kemi-arch-hero-in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; padding-top: 40px; padding-bottom: 40px; }
.kemi-arch-hero.has-img .kemi-arch-hero-in { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.kemi-arch-title { font-size: clamp(32px, 4.5vw, 56px); font-weight: 700; letter-spacing: -.02em; line-height: 1.05; margin: 0 0 14px; color: var(--kemi-ink); }
.kemi-arch-desc { font-size: 15px; line-height: 1.6; color: var(--kemi-text); max-width: 760px; }
.kemi-arch-desc p { margin: 0 0 .8em; }
.kemi-arch-desc h2, .kemi-arch-desc h3 { font-size: 17px; margin: 1em 0 .4em; }
.kemi-arch-desc.is-collapsed { max-height: 7.2em; overflow: hidden; position: relative; }
.kemi-arch-desc.is-collapsed::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3em; background: linear-gradient(rgba(255,255,255,0), #fff); }
/* Category descriptions rebuilt in Gutenberg (post 54423 → Innréttingar; inc/flatsome-shim.php runs do_blocks on them).
 * Core's block stylesheet is not enqueued on shop archives, so the few blocks a description actually uses are styled
 * here — same 24px gutter and 800px stacking breakpoint as the Flatsome shim grid above, so old and new look alike. */
.kemi-arch-desc .wp-block-columns { display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: 24px; margin: 0 0 8px; align-items: start; }
.kemi-arch-desc .wp-block-columns:has(> .wp-block-column:nth-child(3)) { --cols: 3; }
.kemi-arch-desc .wp-block-column { min-width: 0; }
.kemi-arch-desc .wp-block-column > :last-child { margin-bottom: 0; }
/* max-width, not width: these are 390–633px source files and stretching them past that is what the Flatsome markup did. */
.kemi-arch-desc .wp-block-image { margin: 0 0 .8em; }
.kemi-arch-desc .wp-block-image img { max-width: 100%; height: auto; display: block; }
.kemi-arch-desc .wp-block-embed { margin: 0 0 .8em; }
.kemi-arch-desc .wp-block-embed__wrapper { aspect-ratio: 16 / 9; }
.kemi-arch-desc .wp-block-embed iframe { width: 100%; height: 100%; display: block; }
/* An oEmbed in a plain (non-block) description has no wp-block-embed wrapper, so
   kemi_term_description_embeds() gives it this one, carrying the provider's own ratio inline. */
.kemi-arch-desc .kemi-term-embed { display: block; margin: 0 0 .8em; }
.kemi-arch-desc .kemi-term-embed iframe { display: block; width: 100%; height: 100%; border: 0; }
.kemi-arch-desc a { color: var(--kemi-red); text-decoration: underline; text-underline-offset: 3px; }
.kemi-arch-desc a:hover { color: var(--kemi-ink); }
.kemi-arch-desc .kemi-cat-guide { margin-top: 1.2em; }
@media (max-width: 800px) { .kemi-arch-desc .wp-block-columns, .kemi-arch-desc .wp-block-columns:has(> .wp-block-column:nth-child(3)) { grid-template-columns: minmax(0, 1fr); } }
.kemi-theme .kemi-readmore, .kemi-theme .kemi-readmore:hover, .kemi-theme .kemi-readmore:focus, .kemi-theme .kemi-readmore:active { background: none; border: 0; box-shadow: none; padding: 6px 0 0; color: var(--kemi-ink); font: inherit; font-size: 14px; font-weight: 600; text-decoration: underline; cursor: pointer; border-radius: 0; }
.kemi-theme .kemi-readmore:hover { color: var(--kemi-red); }
.kemi-arch-hero-img { aspect-ratio: 4/3; max-height: 340px; display: flex; align-items: center; justify-content: center; }
.kemi-arch-hero-img img { max-width: 100%; max-height: 340px; width: auto; height: auto; object-fit: contain; }
.kemi-arch-bar-wrap { position: sticky; top: 0; z-index: 40; background: #fff; box-shadow: 0 1px 0 var(--kemi-line); }
.kemi-arch-bar { display: flex; align-items: center; gap: 10px; padding: 16px 0 14px; }
.kemi-theme .kemi-filter-btn, .kemi-theme .kemi-filter-btn:focus, .kemi-theme .kemi-filter-btn:active { display: inline-flex; align-items: center; gap: 8px; background: var(--kemi-ink); color: #fff; border: 0; border-radius: 0; box-shadow: none; padding: 0 16px; height: 42px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; flex: 0 0 auto; }
.kemi-theme .kemi-filter-btn:hover { background: #333; color: #fff; }
.kemi-theme .kemi-filter-btn:focus-visible { outline: 2px solid var(--kemi-red); outline-offset: 2px; }
.kemi-filter-ico { width: 16px; height: 12px; background: linear-gradient(#fff 0 2px, transparent 2px 5px, #fff 5px 7px, transparent 7px 10px, #fff 10px 12px); }
.kemi-chips { display: flex; gap: 8px; flex-wrap: wrap; flex: 1 1 auto; min-width: 0; }
/* One chip style for every category bar (sub-category links, group filters, shop categories): grey fill, black border on hover, black fill when active — Gústi, 2026-10-07. */
.kemi-chip { display: inline-flex; align-items: center; height: 42px; padding: 0 14px; border: 1px solid transparent; background: var(--kemi-bg); color: var(--kemi-ink); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.kemi-chip:hover, .kemi-chip:focus-visible, .kemi-theme a.kemi-chip:hover { border-color: var(--kemi-ink); color: var(--kemi-ink); } /* black, not Kadence's highlight colour */
/* Sub-category groups (inc/category-groups.php): one chip per group, the active one filled; wraps on desktop,
 * phones get the same scrolling row as other chips (≤900px rule below). */
.kemi-chip.is-active, .kemi-theme a.kemi-chip.is-active:hover { background: var(--kemi-ink); border-color: var(--kemi-ink); color: #fff; }
.kemi-arch-sub { margin: 4px 0 0; font-size: 18px; font-weight: 600; color: var(--kemi-muted); }
.kemi-archive-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 28px; }
.kemi-theme .woocommerce-pagination { display: flex; justify-content: center; margin: 12px 0 24px; }
.kemi-theme .woocommerce-pagination ul.page-numbers { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; border: 0; }
.kemi-theme .woocommerce-pagination ul.page-numbers li { border: 0; margin: 0; }
.kemi-theme .woocommerce-pagination .page-numbers { display: flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 10px; border: 1px solid var(--kemi-line); background: #fff; color: var(--kemi-ink); font-size: 14px; font-weight: 600; text-decoration: none; border-radius: 0; }
.kemi-theme .woocommerce-pagination .page-numbers.current { border-color: var(--kemi-ink); }
.kemi-theme .woocommerce-pagination a.page-numbers:hover { border-color: var(--kemi-ink); }
.kemi-theme .woocommerce-pagination .page-numbers.dots { border: 0; }
.kemi-theme .woocommerce-info, .kemi-theme .woocommerce-no-products-found { margin: 20px 0; }

/* filters drawer */
.kemi-filters { padding-bottom: 60px; }
.kemi-filters-set { padding: 10px 20px; }
.kemi-theme .kemi-filters .wpc-filter-layout-submit-button { position: sticky; bottom: 0; background: #fff; padding: 12px 0 0; margin-top: 10px; border-top: 1px solid var(--kemi-line); }
.kemi-theme .kemi-filters .wpc-sticky-buttons { display: flex; gap: 8px; }
.kemi-theme .kemi-filters a.wpc-filters-submit-button { flex: 1; display: block; text-align: center; background: var(--kemi-ink); color: #fff; border: 0; border-radius: 0; padding: 12px 18px; font-size: 14px; font-weight: 600; text-decoration: none; }
.kemi-theme .kemi-filters a.wpc-filters-submit-button:hover { background: var(--kemi-red); color: #fff; }
.kemi-theme .kemi-filters a.wpc-filters-reset-button { display: block; padding: 12px 14px; border: 1px solid var(--kemi-line); color: var(--kemi-ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.kemi-filters .wpc-filter-title, .kemi-filters .wpc-filters-section { font-size: 14px; }

/* archive: progressive loader (ported from Fálkinn) */
.kemi-load-more { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 28px 0 8px; text-align: center; }
.kemi-theme .kemi-load-more__button { background: var(--kemi-ink); color: #fff; border: 0; border-radius: 0; height: 44px; padding: 0 28px; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.kemi-theme .kemi-load-more__button:hover, .kemi-theme .kemi-load-more__button:focus-visible { background: var(--kemi-red); color: #fff; }
.kemi-theme .kemi-load-more__button:disabled { opacity: .6; cursor: wait; }
.kemi-load-more.is-auto-loading .kemi-load-more__button { display: none; }
.kemi-load-more__status { margin: 0; font-size: 13px; color: var(--kemi-muted); min-height: 1.4em; }
.kemi-load-more.is-loading .kemi-load-more__status::before { content: ""; display: inline-block; width: 14px; height: 14px; margin-right: 8px; vertical-align: -2px; border: 2px solid var(--kemi-line); border-top-color: var(--kemi-ink); border-radius: 50%; animation: kemi-spin .8s linear infinite; }
@keyframes kemi-spin { to { transform: rotate(360deg); } }
.kemi-theme .woocommerce-pagination { padding: 24px 0; text-align: center; }
/* Humla search inside our header box + results page */
.kemi-theme main > .container:has(> .humla-page) { max-width: var(--kemi-max); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.kemi-theme .humla-page { --humla-accent: var(--kemi-red); padding: 20px 0 40px; }
@media (max-width: 760px) { .kemi-theme main > .container:has(> .humla-page) { padding: 0 16px; } }
.kemi-theme .humla-page__title { font-size: 28px; font-weight: 800; margin: 0 0 16px; }
/* No product counts on the search results page (Gústi, 2026-10-13): neither the "N vörur" total nor the number beside each category facet. */
.kemi-theme .humla-ssr__count, .kemi-theme .humla-ssr__facet-count { display: none !important; }

/* ---------- shop: single product ---------- */
.kemi-product-top { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 48px; padding-top: 20px; align-items: start; }
.kemi-product-gallery { position: sticky; top: 150px; }
.kemi-theme .kemi-product-gallery .woocommerce-product-gallery { width: 100%; max-width: none; float: none; margin: 0; }
.kemi-theme .kemi-product-gallery .woocommerce-product-gallery__wrapper { margin: 0; }
.kemi-theme .kemi-product-gallery .woocommerce-product-gallery__image { background: #fff; border: 1px solid var(--kemi-line); }
.kemi-theme .kemi-product-gallery .woocommerce-product-gallery__image img { object-fit: contain; aspect-ratio: 1; width: 100%; padding: 24px; box-sizing: border-box; background: #fff; }
.kemi-theme .kemi-product-gallery .flex-control-thumbs { display: flex; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.kemi-theme .kemi-product-gallery .flex-control-thumbs li { width: 80px; margin: 0; float: none; }
.kemi-theme .kemi-product-gallery .flex-control-thumbs img { background: #fff; padding: 6px; box-sizing: border-box; opacity: .7; cursor: pointer; border: 1px solid var(--kemi-line); }
.kemi-theme .kemi-product-gallery .flex-control-thumbs img.flex-active, .kemi-theme .kemi-product-gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--kemi-ink); }
.kemi-theme .kemi-product-gallery .woocommerce-product-gallery__trigger { border-radius: 0; }
.kemi-theme div.product div.summary.kemi-product-summary { float: none; width: auto; margin: 0; padding-top: 8px; }
.kemi-theme div.product div.images, .kemi-theme div.product div.woocommerce-product-gallery { float: none; width: 100%; margin: 0; }
.kemi-theme div.product .kemi-product-top::after, .kemi-theme div.product .kemi-product-top::before { display: none; }
.kemi-single-badges { display: flex; gap: 8px; align-items: center; margin-bottom: 14px; }
.kemi-single-badges { gap: 12px; }
.kemi-single-badges .kemi-badge { position: static; font-size: 20px; padding: 9px 16px; }
.kemi-single-brand { height: 44px; display: inline-flex; align-items: center; }
.kemi-single-brand img { max-height: 44px; width: auto; }
.kemi-theme .kemi-product-summary .product_title { font-size: clamp(26px, 3vw, 38px); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 12px; color: var(--kemi-ink); }
.kemi-sku-chip { display: inline-flex; align-items: baseline; gap: 6px; background: var(--kemi-bg); color: var(--kemi-text); font-size: 12px; font-weight: 600; padding: 4px 8px; margin-bottom: 18px; }
.kemi-sku-chip-k { font-size: 10px; font-weight: 700; letter-spacing: .08em; color: var(--kemi-muted); }
.kemi-pricebox { border: 1px solid var(--kemi-line); padding: 18px 20px; display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; margin-bottom: 20px; }
.kemi-pricelabel { display: block; font-size: 13px; color: var(--kemi-muted); margin-bottom: 4px; }
.kemi-theme .kemi-price .price, .kemi-theme .kemi-price .amount { font-size: 32px; font-weight: 700; color: var(--kemi-ink); line-height: 1.1; }
.kemi-theme .kemi-price del, .kemi-theme .kemi-price del .amount { font-size: 15px; font-weight: 400; color: var(--kemi-muted); opacity: 1; }
.kemi-theme .kemi-price ins { text-decoration: none; }
.kemi-theme .kemi-price del + ins { display: block; }
.kemi-pricebox-side { text-align: right; font-size: 13px; color: var(--kemi-text); display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }
.kemi-theme .kemi-contact-sales { margin: 0; }
.kemi-theme .kemi-product-summary .woocommerce-product-details__short-description { font-size: 15px; line-height: 1.6; color: var(--kemi-text); margin-bottom: 18px; }
.kemi-theme .kemi-product-summary form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; margin-bottom: 16px; }
.kemi-theme .kemi-product-summary form.cart .quantity { display: inline-flex; align-items: stretch; border: 1px solid var(--kemi-ink); height: 52px; }
.kemi-theme .kemi-product-summary form.cart .quantity .qty { width: 56px; border: 0; text-align: center; font: inherit; font-size: 16px; font-weight: 600; -moz-appearance: textfield; background: #fff; }
.kemi-theme .kemi-product-summary form.cart .quantity .qty::-webkit-inner-spin-button, .kemi-theme .kemi-product-summary form.cart .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; }
.kemi-qty-btn { width: 44px; border: 0; background: #fff; font-size: 20px; cursor: pointer; color: var(--kemi-ink); }
.kemi-qty-btn:hover { background: var(--kemi-bg); }
.kemi-theme .kemi-product-summary form.cart .single_add_to_cart_button { flex: 1 1 200px; height: 52px; background: var(--kemi-ink); color: #fff; border: 0; border-radius: 0; font: inherit; font-size: 15px; font-weight: 600; padding: 0 24px; cursor: pointer; }
.kemi-theme .kemi-product-summary form.cart .single_add_to_cart_button:hover { background: var(--kemi-red); }
.kemi-theme .kemi-product-summary .stock { font-size: 14px; font-weight: 600; margin: 0 0 10px; width: 100%; }
.kemi-theme .kemi-product-summary .stock.in-stock { color: #1d7a3a; }
.kemi-theme .kemi-product-summary .stock.out-of-stock { color: var(--kemi-red); }
/* one info box: availability | stock per store | product facts — every row is [label 150px | value] so values line up */
.kemi-infobox { background: var(--kemi-bg); margin: 20px 0 24px; --kemi-info-k: 150px; }
.kemi-infobox-sec { padding: 14px 18px; }
.kemi-infobox-sec + .kemi-infobox-sec { border-top: 1px solid #d9d9d9; }
.kemi-infobox-label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--kemi-muted); margin-bottom: 8px; }
.kemi-infobox-row { display: grid; grid-template-columns: var(--kemi-info-k) minmax(0, 1fr); gap: 4px 12px; align-items: baseline; }
.kemi-infobox-row .kemi-infobox-label { margin: 0; }
.kemi-avail { font-weight: 700; font-size: 15px; display: inline-flex; align-items: center; gap: 8px; }
.kemi-avail::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #1a9c3a; flex: 0 0 auto; }
.kemi-avail.is-out-of-stock::before { background: var(--kemi-red); }
.kemi-avail.is-on-backorder::before { background: #e3a008; }
.kemi-theme .kemi-stock.dk_warehouses__container { background: transparent; border-radius: 0; margin: 0; display: none; }
.kemi-theme .kemi-stock.dk_warehouses__container--in_view { display: block; }
.kemi-theme .dk_stock_status_container { display: grid; grid-template-columns: var(--kemi-info-k) minmax(0, 1fr); gap: 4px 12px; align-items: baseline; margin: 0 0 6px; }
.kemi-theme .dk_stock_status_container::before { display: none; }
.kemi-theme .dk_stock_status_container h4 { width: auto; font-size: 13px; font-weight: 500; color: var(--kemi-muted); margin: 0; display: flex; align-items: center; gap: 8px; }
.kemi-theme .dk_stock_status_container h4::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #1a9c3a; flex: 0 0 auto; }
.kemi-theme .dk_out_of_stock h4::before { background: var(--kemi-red); }
.kemi-theme .dk_stock_status_values { color: var(--kemi-ink); font-size: 14px; font-weight: 600; letter-spacing: 0; line-height: 1.45; opacity: 1; }
.kemi-theme .dk_out_of_stock .dk_stock_status_values { color: var(--kemi-muted); font-weight: 500; }
.kemi-theme .dk_stock_line { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.kemi-theme .dk_stock_line + .dk_stock_line { margin-top: 3px; }
.kemi-theme .dk_stock_qty { flex: 0 0 auto; font-weight: 700; font-variant-numeric: tabular-nums; }
.kemi-theme .dk_out_of_stock .dk_stock_qty { color: var(--kemi-red); }
.kemi-theme .kemi-infobox .product_meta { display: grid; gap: 5px; }
.kemi-theme .kemi-infobox .product_meta > span { display: grid !important; grid-template-columns: var(--kemi-info-k) minmax(0, 1fr); gap: 4px 12px; align-items: baseline; font-size: 13px !important; line-height: 1.5; }
.kemi-theme .kemi-infobox .kemi-meta-k { color: var(--kemi-muted); font-weight: 500; font-size: 13px; }
.kemi-theme .kemi-infobox .kemi-meta-v { color: var(--kemi-ink); font-weight: 600; font-size: 13px; }
.kemi-theme .kemi-infobox .kemi-meta-v a { color: var(--kemi-red) !important; font-weight: 600; text-decoration: underline !important; text-underline-offset: 2px; }
.kemi-theme .kemi-infobox .kemi-meta-v a:hover { color: var(--kemi-ink) !important; }
.kemi-theme .kemi-product-summary p.stock { display: none; }
.kemi-theme .dk_stock_status_container h4 { font: inherit; font-size: 13px; }
.kemi-theme .kemi-meta { font-size: 13px; color: var(--kemi-muted); display: flex; flex-direction: column; gap: 4px; border-top: 1px solid var(--kemi-line); padding-top: 14px; }
.kemi-theme .kemi-meta a { color: var(--kemi-ink); text-decoration: none; }
.kemi-theme .kemi-meta a:hover { text-decoration: underline; }
.kemi-product-bottom { padding-top: 40px; }
.kemi-theme .kemi-product-bottom .woocommerce-tabs { margin: 0 0 40px; }
.kemi-theme .kemi-product-bottom .woocommerce-tabs ul.tabs, .kemi-theme.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; border: 0; box-shadow: inset 0 -2px 0 var(--kemi-line); } /* inset shadow, not border: Kadence's overflow:hidden on ul.tabs clips an overlapping line */
.kemi-theme .kemi-product-bottom .woocommerce-tabs ul.tabs::before, .kemi-theme .kemi-product-bottom .woocommerce-tabs ul.tabs::after, .kemi-theme.woocommerce div.product .woocommerce-tabs ul.tabs::before, .kemi-theme.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.kemi-theme .kemi-product-bottom .woocommerce-tabs ul.tabs li, .kemi-theme.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; margin: 0; padding: 0; border-radius: 0; box-shadow: none; }
.kemi-theme .kemi-product-bottom .woocommerce-tabs ul.tabs li::before, .kemi-theme .kemi-product-bottom .woocommerce-tabs ul.tabs li::after, .kemi-theme.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .kemi-theme.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.kemi-theme .kemi-product-bottom .woocommerce-tabs ul.tabs li a, .kemi-theme.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 18px; font-size: 15px; font-weight: 600; color: var(--kemi-muted); border-bottom: 2px solid transparent; text-decoration: none; }
/* Active tab: red line like active links — Gústi, 2026-10-06. Kadence's `.woocommerce div.product … li.active a` (5 classes)
 * otherwise wins the text colour, so match it with body.woocommerce + div.product. */
.kemi-theme .kemi-product-bottom .woocommerce-tabs ul.tabs li.active a, .kemi-theme.woocommerce div.product .woocommerce-tabs ul.tabs li.active a, .kemi-theme div.product .kemi-product-bottom .woocommerce-tabs ul.tabs li.active a { color: var(--kemi-ink); border-bottom-color: var(--kemi-red); }
.kemi-theme .kemi-product-bottom .woocommerce-tabs .panel { padding: 24px 0 0; max-width: 900px; font-size: 15px; line-height: 1.65; border: 0; background: none; box-shadow: none; margin: 0; }
.kemi-theme .kemi-product-bottom .woocommerce-tabs .panel h2:first-child { display: none; }
.kemi-theme .kemi-product-bottom #tab-additional_information { max-width: 960px; }
.kemi-theme #tab-additional_information table.shop_attributes { width: 100%; border: 0; border-collapse: collapse; margin: 0 0 24px; font-size: 15px; background: #fff; }
.kemi-theme #tab-additional_information table.shop_attributes tr { border: 0; }
.kemi-theme #tab-additional_information table.shop_attributes th, .kemi-theme #tab-additional_information table.shop_attributes td { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--kemi-line); vertical-align: middle; background: none; text-align: left; font-style: normal; line-height: 1.5; }
.kemi-theme #tab-additional_information table.shop_attributes th { width: 32%; font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--kemi-muted); }
.kemi-theme #tab-additional_information table.shop_attributes td { color: var(--kemi-ink); font-weight: 600; }
.kemi-theme #tab-additional_information table.shop_attributes td p { margin: 0; padding: 0; }
.kemi-theme #tab-additional_information table.shop_attributes th { line-height: 1.5; }
.kemi-theme #tab-additional_information table.shop_attributes tr:nth-child(even) th, .kemi-theme #tab-additional_information table.shop_attributes tr:nth-child(even) td { background: #fafafa; }
.kemi-theme #tab-additional_information table.shop_attributes td a { color: var(--kemi-red); font-weight: 700; text-decoration: none; }
.kemi-theme #tab-additional_information table.shop_attributes td a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) { .kemi-theme #tab-additional_information table.shop_attributes th { width: 40%; font-size: 12px; } }
/* ---- Product description content (default Gutenberg markup + the Kemi block styles in inc/product-content.php) ---- */
.kemi-theme .kemi-product-bottom .woocommerce-tabs #tab-description, .kemi-theme .kemi-product-bottom .woocommerce-tabs #tab-additional_information, .kemi-theme .kemi-product-bottom .woocommerce-tabs #tab-reviews { padding-top: 28px; }
.kemi-theme .kemi-product-bottom #tab-description { max-width: 960px; font-size: 16px; line-height: 1.7; color: var(--kemi-text); }
.kemi-theme #tab-description p:empty { display: none; }
.kemi-theme #tab-description p { margin: 0 0 14px; }
.kemi-theme #tab-description p.is-style-kemi-lead, .kemi-theme #tab-description > p:has(> strong:only-child):not(:empty) { font-size: 19px; line-height: 1.5; color: var(--kemi-ink); margin: 0 0 18px; }
.kemi-theme #tab-description > p:has(> strong:only-child) > strong { font-weight: 800; }
.kemi-theme #tab-description h3 { position: relative; margin: 34px 0 14px; padding-left: 16px; font-size: 22px; line-height: 1.25; font-weight: 800; color: var(--kemi-ink); }
.kemi-theme #tab-description h3::before { content: ""; position: absolute; left: 0; top: 3px; bottom: 3px; width: 5px; background: var(--kemi-red); }
.kemi-theme #tab-description ul { list-style: none; margin: 0 0 18px; padding: 0; }
.kemi-theme #tab-description ul li { position: relative; margin: 0 0 8px; padding-left: 32px; }
.kemi-theme #tab-description ul li::before { content: ""; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--kemi-red) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M5.5 10.5l3 3 6-6.5'/></svg>") center / 14px no-repeat; }
.kemi-theme #tab-description ol { margin: 0 0 18px; padding-left: 22px; }
.kemi-theme #tab-description ol li { margin: 0 0 8px; padding-left: 6px; }
.kemi-theme #tab-description img { max-width: 100%; height: auto; }
.kemi-theme #tab-description .wp-block-table, .kemi-theme #tab-description figure.wp-block-table { margin: 0 0 24px; overflow-x: auto; }
.kemi-theme #tab-description table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 15px; background: #fff; }
.kemi-theme #tab-description table th { padding: 11px 14px; text-align: left; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--kemi-muted); background: none; border: 0; border-bottom: 2px solid var(--kemi-ink); }
.kemi-theme #tab-description table td { padding: 10px 14px; border: 0; border-bottom: 1px solid var(--kemi-line); vertical-align: top; color: var(--kemi-text); }
.kemi-theme #tab-description table tbody tr:nth-child(even) td { background: #fafafa; }
.kemi-theme #tab-description table tbody tr:hover td { background: var(--kemi-bg); }
.kemi-theme #tab-description table td:first-child { font-weight: 600; color: var(--kemi-ink); }
.kemi-theme #tab-description table td:nth-child(n+2) { font-variant-numeric: tabular-nums; }
.kemi-theme #tab-description .is-style-kemi-callout, .kemi-theme #tab-description .is-style-kemi-callout-warn { margin: 26px 0; padding: 18px 22px; background: var(--kemi-bg); border-left: 4px solid var(--kemi-ink); }
.kemi-theme #tab-description .is-style-kemi-callout-warn { border-left-color: var(--kemi-red); background: #fdf1f0; }
.kemi-theme #tab-description .is-style-kemi-callout > :last-child, .kemi-theme #tab-description .is-style-kemi-callout-warn > :last-child { margin-bottom: 0; }
@media (max-width: 640px) {
  .kemi-theme .kemi-product-bottom #tab-description { font-size: 15px; }
  .kemi-theme .kemi-product-bottom .woocommerce-tabs #tab-description, .kemi-theme .kemi-product-bottom .woocommerce-tabs #tab-additional_information, .kemi-theme .kemi-product-bottom .woocommerce-tabs #tab-reviews { padding-top: 22px; }
  .kemi-theme #tab-description p.is-style-kemi-lead, .kemi-theme #tab-description > p:has(> strong:only-child):not(:empty) { font-size: 17px; }
  .kemi-theme #tab-description h3 { font-size: 20px; }
  .kemi-theme #tab-description table { display: block; overflow-x: auto; white-space: nowrap; }
}
.kemi-row { margin: 0 0 40px; }
/* Lead tile + one horizontal track; cards never wrap. 4 visible at desktop, 3 ≤1200, 2 ≤900 (lead on top). Arrows from kemi.js. */
.kemi-row-cards { grid-template-columns: minmax(0, 1fr) minmax(0, 4fr); }
.kemi-row-scroller { position: relative; min-width: 0; }
.kemi-row-track { display: flex; gap: 1px; padding: 1px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.kemi-row-track::-webkit-scrollbar { display: none; }
.kemi-row-track .kemi-card { flex: 0 0 calc((100% - 3px) / 4); min-width: 0; scroll-snap-align: start; }
.kemi-row-arrow { display: none; position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; padding: 0; border: 0; border-radius: 0; background: var(--kemi-ink); color: #fff; cursor: pointer; z-index: 2; align-items: center; justify-content: center; box-shadow: 0 2px 10px rgba(0,0,0,.18); }
.kemi-row-arrow:hover, .kemi-row-arrow:focus-visible { background: var(--kemi-red); }
.kemi-row-arrow.is-next { right: 0; }
.kemi-row-arrow.is-prev { left: 0; }
.kemi-row-arrow.is-prev svg { transform: rotate(180deg); }
.kemi-row-scroller.has-overflow .kemi-row-arrow { display: flex; }
.kemi-row-scroller.at-end .kemi-row-arrow.is-next, .kemi-row-scroller.at-start .kemi-row-arrow.is-prev { display: none; }
.kemi-row-lead { background: var(--kemi-bg); display: flex; flex-direction: column; justify-content: center; padding: 28px; text-decoration: none; color: var(--kemi-ink); gap: 18px; min-height: 240px; }
.kemi-row-lead-title { font-size: 26px; font-weight: 700; letter-spacing: -.02em; line-height: 1.15; }
.kemi-row-lead.is-red { background: var(--kemi-red); color: #fff; justify-content: space-between; }
.kemi-row-lead-logo { display: block; width: 90px; background: #fff; padding: 6px; box-sizing: border-box; }
.kemi-row-lead-logo img { display: block; width: 100%; height: auto; }
.kemi-row-lead .kemi-btn-outline { align-self: flex-start; }

/* ---------- responsive ---------- */
@media (max-width: 1200px) {
  .kemi-slide-copy { left: 16px; right: 16px; bottom: 30px; gap: 6px; }
  .kemi-slide-text { display: none; }
  .kemi-slide-cta { font-size: 13px; padding: 9px 14px; }

  .kemi-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .kemi-cat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .kemi-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kemi-hdr-main { gap: 20px; }
  .kemi-search { margin-right: 0; }
}
@media (max-width: 900px) {
  .kemi-hdr-main { grid-template-columns: auto auto 1fr auto; grid-template-rows: 64px auto; height: auto; gap: 12px; padding-bottom: 12px; }
  .kemi-burger { display: flex; }
  .kemi-logo img { height: 34px; }
  .kemi-search { grid-column: 1 / -1; grid-row: 2; max-width: none; margin-right: 0; height: 44px; }
  .kemi-search-tabs button { padding: 0 10px; font-size: 11px; }
  .kemi-theme .kemi-plate input.masked { font-size: 15px; letter-spacing: .15em; min-width: 80px; padding-left: 10px !important; padding-right: 6px !important; }
  .kemi-theme .kemi-plate button.tecdoc_show { padding: 0 12px; }
  .kemi-theme .kemi-plate .adv_search button { padding: 0 8px; font-size: 12px; }
  .kemi-theme .kemi-plate .adv-dropdown { min-width: 0; width: calc(100vw - 32px); }
  .kemi-theme .kemi-plate .search-option:not(:has(form)) { grid-template-columns: minmax(0, 1fr); }
  .kemi-theme .kemi-plate .nhtecdoc_advsearch_grid { padding: 16px; }
  .kemi-theme .kemi-plate .adv-dropdown-tabs li button { padding: 12px 12px; font-size: 13px; }
  .kemi-hdr-tools { justify-self: end; }
  .kemi-hdr-tools a span { display: none; }
  .kemi-hdr-tools a { padding: 8px; }
  .kemi-hdr-nav { display: none; }
  .kemi-drawer-primary { display: block; }
  .kemi-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); grid-template-rows: auto auto; padding-top: 12px; height: auto; }
  .kemi-slider { grid-column: 1 / -1; grid-row: 1; aspect-ratio: 2/1; }
  .kemi-hero-tile { min-height: 96px; padding: 16px; }
  .kemi-hero-tile .k { font-size: 18px; }
  .kemi-hero-tile .s { font-size: 12px; }
  .kemi-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .kemi-cat { font-size: 12px; padding: 10px 8px; }
  .kemi-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kemi-card-img { padding: 12px; }
  .kemi-card-body { padding: 0 12px 12px; }
  .kemi-posts { grid-template-columns: 1fr; }
  /* Phones (Haukur, 2026-10-10): company block and the whole contact column side by side on the first
     row, so the phone number and opening hours are on screen with the footer; the two link columns
     pair up underneath. */
  .kemi-ftr-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px 20px; padding-top: 32px; padding-bottom: 32px; align-items: start; }
  .kemi-ftr-col-company { order: 1; }
  .kemi-ftr-col-contact { order: 2; }
  .kemi-ftr-col-links { order: 3; }
  .kemi-ftr-col-legal { order: 4; }
  .kemi-ftr-open, .kemi-ftr-mail { margin-top: 20px; }
  .kemi-ftr h4 { font-size: 16px; margin-bottom: 8px; }
  .kemi-theme .kemi-ftr .kemi-ftr-big { font-size: clamp(22px, 7vw, 26px); }
  .kemi-ftr-badge { width: min(140px, 100%); margin-top: 14px; }
  .kemi-ftr-tiles { grid-template-columns: 1fr 1fr; gap: 10px; padding-top: 28px; }
  .kemi-theme .kemi-ftr a.kemi-ftr-tile { padding: 14px; gap: 10px; flex-wrap: wrap; }
  .kemi-ftr-tile-go, .kemi-ftr-ico { display: none; }
  .kemi-ftr-tile-t strong { font-size: 15px; }
  .kemi-sec-head h2 { font-size: 21px; }
  .kemi-container, .kemi-theme .entry-content .wp-block-group.kemi-container { padding-left: 16px; padding-right: 16px; }
  .kemi-theme.kemi-page-container .entry-header.page-title { width: calc(100% - 32px); }
}

@media (max-width: 1200px) {
  .kemi-archive-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .kemi-row-cards { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
  .kemi-row-track .kemi-card { flex-basis: calc((100% - 2px) / 3); }
}
@media (max-width: 900px) {
  .kemi-arch-hero.has-img .kemi-arch-hero-in { grid-template-columns: 1fr; gap: 16px; padding-top: 20px; padding-bottom: 24px; }
  .kemi-arch-hero-img { order: -1; max-height: 200px; }
  .kemi-arch-hero-img img { max-height: 200px; }
  .kemi-arch-bar { flex-wrap: wrap; }
  .kemi-chips { order: 3; flex: 1 1 100%; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
  .kemi-archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kemi-row-cards { grid-template-columns: minmax(0, 1fr); }
  .kemi-row-cards .kemi-row-lead { min-height: 0; padding: 20px; }
  .kemi-row-track .kemi-card { flex-basis: calc((100% - 1px) / 2); }
  .kemi-product-top { grid-template-columns: 1fr; gap: 24px; }
  .kemi-product-gallery { position: static; }
  .kemi-pricebox { flex-direction: column; }
  .kemi-pricebox-side { align-items: flex-start; text-align: left; }
  .kemi-theme .kemi-product-bottom .woocommerce-tabs ul.tabs { overflow-x: auto; }
}
@media (max-width: 600px) {
  /* Footer hours sit in half a phone's width: short day labels, no wrapping. */
  .kemi-ftr-hours { font-size: clamp(12px, 3.6vw, 14px); gap: 3px 8px; }
  .kemi-ftr-hours dt, .kemi-ftr-hours dd { white-space: nowrap; }
  .kemi-day-long { display: none; }
  .kemi-day-short { display: inline; }
  .kemi-infobox { --kemi-info-k: 104px; }
  .kemi-theme .dk_stock_status_container h4 { font-size: 12px; }
  /* Every product grid is 2 per row on phones, including the in-post shim grids with a columns-N class. */
  .kemi-archive-grid, .kemi-theme .single-post .entry-content .kemi-archive-grid, .kemi-theme .kemi-fs-products .kemi-archive-grid[class], .kemi-theme .kemi-fs-col .kemi-archive-grid[class] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .kemi-card-body { padding: 10px 10px 12px; }
  .kemi-card-title { font-size: 14px; }
  .kemi-theme .kemi-card .price { font-size: 15px; }
}

/* ---------------------------------------------------------------- Um okkur (page 183) — Gústi, 2026-10-06 */
.kemi-about { padding-bottom: 48px; }
.kemi-about-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: center; padding: 8px 0 40px; }
.kemi-about-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--kemi-red); margin: 0 0 12px; }
.kemi-about-lead { font-size: clamp(26px, 3vw, 40px); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 18px; color: var(--kemi-ink); }
.kemi-about-intro-text p { font-size: 16px; line-height: 1.6; color: var(--kemi-text); margin: 0 0 1em; }
.kemi-about-cta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.kemi-about .kemi-btn, .kemi-about .kemi-btn-outline { display: inline-flex; align-items: center; min-height: 46px; padding: 0 22px; font-size: 14px; margin: 0; }
.kemi-about .kemi-btn-outline:hover { background: var(--kemi-ink); color: #fff; }
.kemi-about-intro-media { aspect-ratio: 4 / 3; background: var(--kemi-bg); box-shadow: 0 0 0 1px var(--kemi-line); }
.kemi-about-intro-media iframe { display: block; width: 100%; height: 100%; border: 0; }
.kemi-about-facts { list-style: none; margin: 0 0 56px; padding: 1px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; }
.kemi-about-facts li { background: #fff; box-shadow: 0 0 0 1px var(--kemi-line); padding: 22px 24px; }
.kemi-about-facts strong { display: block; font-size: 30px; font-weight: 800; letter-spacing: -.02em; color: var(--kemi-ink); line-height: 1; margin-bottom: 8px; }
.kemi-about-facts span { font-size: 14px; color: var(--kemi-muted); line-height: 1.4; display: block; }
.kemi-about-story { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 40px; margin-bottom: 56px; }
.kemi-about h2 { font-size: 26px; font-weight: 800; letter-spacing: -.015em; margin: 0 0 16px; color: var(--kemi-ink); }
.kemi-about-story-text p { font-size: 16px; line-height: 1.7; color: var(--kemi-text); margin: 0 0 1em; max-width: 720px; }
.kemi-about-side { display: grid; gap: 1px; align-content: start; padding: 1px; }
.kemi-about-card { background: var(--kemi-bg); padding: 24px; box-shadow: 0 0 0 1px var(--kemi-line); }
.kemi-about-card h3 { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 12px; color: var(--kemi-ink); }
.kemi-about-card p { margin: 0 0 6px; font-size: 15px; line-height: 1.5; color: var(--kemi-text); }
.kemi-about-card p.is-note { font-weight: 700; margin-top: 12px; color: var(--kemi-ink); }
.kemi-about-card a { color: var(--kemi-ink); font-weight: 600; text-decoration: none; }
.kemi-about-card a:hover { color: var(--kemi-red); }
.kemi-about-focus { margin-bottom: 56px; }
.kemi-about-focus-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; padding: 1px; }
.kemi-about-focus-grid a { background: #fff; box-shadow: 0 0 0 1px var(--kemi-line); padding: 22px 18px; text-decoration: none; color: var(--kemi-ink); font-weight: 600; font-size: 15px; line-height: 1.3; display: flex; flex-direction: column; gap: 12px; min-height: 120px; }
.kemi-about-focus-grid a::before { content: ""; width: 28px; height: 3px; background: var(--kemi-red); }
.kemi-about-focus-grid a:hover { background: var(--kemi-bg); color: var(--kemi-red); }
.kemi-about-b2b { background: var(--kemi-ink); color: #fff; padding: 44px; margin-bottom: 56px; }
.kemi-about-b2b h2 { color: #fff; }
.kemi-about-b2b-intro { color: #cfcfcf; max-width: 720px; margin: 0 0 28px; font-size: 16px; line-height: 1.6; }
.kemi-about-b2b-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; padding: 1px; }
.kemi-about-b2b-grid > div { box-shadow: 0 0 0 1px rgba(255,255,255,.18); padding: 24px; }
.kemi-about-b2b-grid h3 { font-size: 17px; font-weight: 700; margin: 0 0 10px; color: #fff; }
.kemi-about-b2b-grid p { color: #cfcfcf; font-size: 15px; line-height: 1.55; margin: 0 0 14px; }
.kemi-about-b2b-grid a { color: #fff; font-weight: 700; font-size: 14px; text-decoration: none; border-bottom: 2px solid var(--kemi-red); padding-bottom: 2px; }
.kemi-about-b2b-grid a:hover { color: var(--kemi-red); }
.kemi-about-map { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 1px; padding: 1px; }
.kemi-about-map-info { background: var(--kemi-bg); box-shadow: 0 0 0 1px var(--kemi-line); padding: 32px; }
.kemi-about-map-info p { margin: 0 0 8px; font-size: 15px; line-height: 1.5; color: var(--kemi-text); }
.kemi-about-map-info .kemi-btn-outline { margin-top: 18px; }
.kemi-about-map iframe { display: block; width: 100%; height: 100%; min-height: 380px; border: 0; box-shadow: 0 0 0 1px var(--kemi-line); }
@media (max-width: 1200px) { .kemi-about-focus-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .kemi-about-intro, .kemi-about-story, .kemi-about-map { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .kemi-about-intro { padding-bottom: 28px; }
  .kemi-about-facts, .kemi-about-b2b-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kemi-about-b2b { padding: 28px 20px; }
  .kemi-about-map iframe { min-height: 300px; }
}
@media (max-width: 600px) { .kemi-about-focus-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kemi-about-facts, .kemi-about-b2b-grid { grid-template-columns: minmax(0, 1fr); } .kemi-about-facts strong { font-size: 26px; } .kemi-about-facts li, .kemi-about-card, .kemi-about-map-info, .kemi-about-b2b-grid > div { padding: 18px; } .kemi-about-lead { font-size: 26px; } }

/* ---------- consistent sub-page title band (Tilboðsvörur is the reference) — Gústi, 2026-10-06 ----------
 * Every sub-page — text pages, Fróðleikur, post archives — gets the same hairline, left-aligned 56px title and the
 * 1312px content column (24px gutters, 16px on phones) as the container pages. Prose keeps a readable measure. */
.kemi-theme.kemi-page-std .content-container.site-container,
.kemi-theme.blog .content-container.site-container,
.kemi-theme.archive:not(.woocommerce) .content-container.site-container { max-width: var(--kemi-max); padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
.kemi-theme.kemi-page-std .entry-content-wrap, .kemi-theme.kemi-page-std .content-wrap { padding-left: 0; padding-right: 0; }
.kemi-theme.kemi-page-std .entry-content > :is(p, ul, ol, h2, h3, h4, h5, blockquote, table, dl) { max-width: 880px; }
.kemi-theme.kemi-page-std .entry-content > :is(.wp-block-columns, .wp-block-group, .alignwide, .alignfull) { max-width: none; }
/* Blog home / post archives: the hero band is outside the content container, so give it the same gutters and left alignment. */
.kemi-theme .post-archive-hero-section { background: #fff; min-height: 0; padding: 0; }
.kemi-theme .post-archive-hero-section .hero-container { max-width: var(--kemi-max); padding: 0 24px; box-sizing: border-box; margin: 0 auto; }
.kemi-theme .post-archive-hero-section .entry-header.post-archive-title { display: block; text-align: left; min-height: 0; margin: 14px 0 28px; padding: 36px 0 0; border-top: 1px solid var(--kemi-line); }
.kemi-theme .post-archive-hero-section .entry-header.post-archive-title .page-title,
.kemi-theme .post-archive-hero-section .entry-header.post-archive-title h1 { display: block; font-size: clamp(32px, 4.5vw, 56px); font-weight: 700; letter-spacing: -.02em; line-height: 1.05; margin: 0; color: var(--kemi-ink); text-align: left; }
.kemi-theme .post-archive-hero-section .entry-hero-container-inner { background: #fff; padding: 0; }
.kemi-theme.blog .content-area, .kemi-theme.archive:not(.woocommerce) .content-area { margin-top: 0; }
/* Starfsfólk (ksp page): the page now shows the standard title, so the block's own H1 steps aside. */
.kemi-theme .ksp-page .ksp-title { display: none; }
.kemi-theme .ksp-page { padding-left: 0; padding-right: 0; padding-top: 0; }
/* This theme wraps every Group block's children in .wp-block-group__inner-container; the staff markup (written for a theme without it) lays out the Group's direct children, so make the wrapper transparent. */
.kemi-theme .ksp-page .wp-block-group__inner-container { display: contents; }
@media (max-width: 600px) {
	.kemi-theme.kemi-page-std .content-container.site-container, .kemi-theme.blog .content-container.site-container, .kemi-theme.archive:not(.woocommerce) .content-container.site-container, .kemi-theme .post-archive-hero-section .hero-container { padding-left: 16px; padding-right: 16px; }
	.kemi-theme.kemi-page-std article.entry.single-entry { margin-left: 0; margin-right: 0; } /* Kadence's boxed style pulls the article out by the edge padding on phones */
}

/* ---------- Starfsfólk (ksp page) in the Kemi look — Gústi, 2026-10-06 ----------
 * The block ships its own teal/rounded design; here it follows the site: square corners, ink/red/hairline tokens, hairline card
 * grid (empty slots stay white), square chips, no intro hero box. */
.kemi-theme .ksp-page, .kemi-theme .ksp-page.ksp-kemi { --ksp-accent: var(--kemi-red); --ksp-ink: var(--kemi-ink); --ksp-muted: var(--kemi-muted); --ksp-panel: #fff; --ksp-line: var(--kemi-line); --ksp-radius: 0; font-family: inherit; }
.kemi-theme .ksp-page .ksp-hero { display: none !important; }
.kemi-theme .ksp-page h1, .kemi-theme .ksp-page h2, .kemi-theme .ksp-page h3 { font-weight: 700; letter-spacing: -.01em; }
.kemi-theme .ksp-page a { color: var(--kemi-ink); text-decoration: none; }
.kemi-theme .ksp-page a:hover { color: var(--kemi-red); text-decoration: underline; text-underline-offset: 3px; }
/* search + department chips */
.kemi-theme .ksp-page .ksp-controls { margin-bottom: 24px; }
.kemi-theme .ksp-page .ksp-controls label { color: var(--kemi-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.kemi-theme .ksp-page .ksp-controls :is(input, select) { border: 1px solid var(--kemi-line); border-radius: 0; min-height: 46px; font-family: inherit; }
.kemi-theme .ksp-page .ksp-controls :is(input, select):focus { border-color: var(--kemi-ink); outline: 0; box-shadow: none; }
.kemi-theme .ksp-page .ksp-controls button { border: 1px solid var(--kemi-line); border-radius: 0; min-height: 40px; padding: 8px 16px; font-family: inherit; font-weight: 600; color: var(--kemi-ink); background: #fff; box-shadow: none; }
.kemi-theme .ksp-page .ksp-controls button:hover { border-color: var(--kemi-ink); color: var(--kemi-ink); background: #fff; }
.kemi-theme .ksp-page .ksp-controls button[aria-pressed="true"] { background: var(--kemi-ink); border-color: var(--kemi-ink); color: #fff; }
.kemi-theme .ksp-page .ksp-controls button:focus-visible, .kemi-theme .ksp-page .ksp-controls input:focus-visible { outline: 2px solid var(--kemi-red); outline-offset: 2px; }
/* cards: hairline grid on the tiles, white background */
.kemi-theme .ksp-page .ksp-card-grid { gap: 1px; padding: 1px; }
.kemi-theme .ksp-page .ksp-person { background: #fff; border-radius: 0; box-shadow: 0 0 0 1px var(--kemi-line); }
.kemi-theme .ksp-page .ksp-person-info { padding: 20px 20px 18px; }
.kemi-theme .ksp-page .ksp-person-name { font-size: 17px; font-weight: 700; color: var(--kemi-ink); }
.kemi-theme .ksp-page .ksp-role { color: var(--kemi-ink); font-size: 13px; }
.kemi-theme .ksp-page .ksp-meta { color: var(--kemi-red); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.kemi-theme .ksp-page .ksp-contact { color: var(--kemi-muted); }
.kemi-theme .ksp-page .ksp-contact a { color: var(--kemi-ink); font-weight: 600; }
.kemi-theme .ksp-page .ksp-contact a:hover { color: var(--kemi-red); }
.kemi-theme .ksp-page .ksp-portrait img { border-radius: 0; }
/* contact box */
.kemi-theme .ksp-page .ksp-contact-box { background: var(--kemi-bg); border-radius: 0; border-top: 2px solid var(--kemi-red); }
.kemi-theme .ksp-page .ksp-contact-intro, .kemi-theme .ksp-page .ksp-count { color: var(--kemi-muted); }
.kemi-theme .ksp-page .ksp-empty { background: var(--kemi-bg); border-radius: 0; }
.kemi-theme .ksp-page .ksp-page-lead { max-width: 680px; margin: -12px 0 24px; color: var(--kemi-muted); font-size: 17px; line-height: 1.5; }

/* Keep the consent notice compact on phones so it does not hide the page's first controls. */
@media (max-width: 600px) {
	.cmplz-cookiebanner { box-sizing: border-box !important; left: 12px !important; right: 12px !important; bottom: 12px !important; width: auto !important; max-height: min(46vh, 420px) !important; padding: 12px 14px !important; border-radius: 14px !important; overflow-y: auto !important; }
	.cmplz-cookiebanner .cmplz-header { min-height: 0 !important; padding: 0 0 6px !important; }
	.cmplz-cookiebanner .cmplz-divider { display: none !important; }
	.cmplz-cookiebanner .cmplz-body { padding: 0 !important; }
	.cmplz-cookiebanner .cmplz-message { margin: 0 0 10px !important; font-size: 13px !important; line-height: 1.4 !important; }
	.cmplz-cookiebanner .cmplz-buttons { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px !important; }
	.cmplz-cookiebanner .cmplz-buttons .cmplz-accept { grid-column: 1 / -1; }
	.cmplz-cookiebanner .cmplz-btn { min-height: 40px !important; margin: 0 !important; padding: 8px 10px !important; font-size: 13px !important; line-height: 1.2 !important; }
	.cmplz-cookiebanner .cmplz-links.cmplz-information { display: none !important; }
	.cmplz-cookiebanner .cmplz-documents ul { margin: 8px 0 0 !important; }
}

/* ---------- blog images: never crop — Gústi, 2026-10-06 ----------
 * Kadence forces a 2:3 frame and object-fit: cover on post thumbnails (list cards and the single-post lead image), which cuts the
 * banner-shaped artwork (1200×630, text near the edges). Let the frame follow the image's own ratio instead. */
.kemi-theme .post-thumbnail[class*="kadence-thumbnail-ratio"] { padding-bottom: 0; height: auto; }
.kemi-theme .post-thumbnail[class*="kadence-thumbnail-ratio"] .post-thumbnail-inner { position: static; height: auto; }
.kemi-theme .post-thumbnail[class*="kadence-thumbnail-ratio"] img { position: static; display: block; width: 100%; height: auto; object-fit: contain; }
/* Single post: the lead image sits above the article (Kadence's "behind" layout pulls the text box 4.3em over it and fades the bottom to white, covering the artwork). */
.kemi-theme .article-post-thumbnail.kadence-thumbnail-position-behind { margin: 0 0 28px; width: auto; max-width: 100%; }
.kemi-theme .article-post-thumbnail.kadence-thumbnail-position-behind:after { display: none; }
/* Staff card order: department first (red eyebrow), then name, title and contact kept together as one block — Gústi, 2026-10-06. */
.kemi-theme .ksp-page .ksp-person-info { display: flex; flex-direction: column; justify-content: center; }
.kemi-theme .ksp-page .ksp-person-info > * { margin: 0; }
.kemi-theme .ksp-page .ksp-person-info .ksp-meta { order: -1; margin: 0 0 8px; }
.kemi-theme .ksp-page .ksp-person-info .ksp-person-name { margin: 0 0 4px; }
.kemi-theme .ksp-page .ksp-person-info .ksp-role { margin: 0 0 12px; }
.kemi-theme .ksp-page .ksp-person-info .ksp-contact { margin: 0; }
/* Similar posts: white band (Kadence paints it grey with a white inner box) — Gústi, 2026-10-06. */
.kemi-theme .entry-related, .kemi-theme .entry-related.alignfull, .kemi-theme .entry-related-inner, .kemi-theme .entry-related-inner-content { background: #fff; }

/* ---------- Fróðleikur article content (Gutenberg blocks in a single post) — 2026-10-09 ----------
 * Opt-in only: nothing here changes an article that does not use these blocks/classes. The block styles are the same
 * ones product descriptions use (register_block_style in inc/product-content.php), so one article look applies
 * everywhere. Rewriting the remaining Flatsome posts as blocks is phase 4 (inc/flatsome-shim.php). */
.kemi-theme.single-post .entry-content > p.is-style-kemi-lead { font-size: 19px; line-height: 1.55; color: var(--kemi-ink); margin: 0 0 24px; }
.kemi-theme.single-post .entry-content .is-style-kemi-callout, .kemi-theme.single-post .entry-content .is-style-kemi-callout-warn { margin: 32px 0; padding: 18px 22px; background: var(--kemi-bg); border-left: 4px solid var(--kemi-ink); }
.kemi-theme.single-post .entry-content .is-style-kemi-callout-warn { border-left-color: var(--kemi-red); background: #fdf1f0; }
.kemi-theme.single-post .entry-content :is(.is-style-kemi-callout, .is-style-kemi-callout-warn) :last-child { margin-bottom: 0; }
.kemi-theme.single-post .entry-content :is(.is-style-kemi-callout, .is-style-kemi-callout-warn) a { color: var(--kemi-red); font-weight: 600; text-underline-offset: 3px; }
/* Captions: core prints gallery captions as an absolutely-positioned strip over the bottom of the image (dark gradient,
 * white text) — unreadable on these white/pale product shots. Put them back in the flow under the image. */
.kemi-theme.single-post .entry-content figcaption.wp-element-caption { background: none; padding: 8px 0 0; font-size: 13px; line-height: 1.4; color: var(--kemi-muted); text-align: center; }
.kemi-theme.single-post .entry-content .wp-block-gallery figure.wp-block-image figcaption.wp-element-caption { position: static; max-height: none; overflow: visible; flex: 0 0 auto; width: auto; font-weight: 600; color: var(--kemi-ink); }
.kemi-theme.single-post .entry-content .wp-block-gallery figure.wp-block-image { display: flex; flex-direction: column; }
/* When the image count is not a multiple of the column count, the leftover image sits alone on the last row and
 * core's `flex-grow: 1` blows it up to the full width of the gallery (poulsen "Veturo PRO": 17 images, 4 columns —
 * the 17th rendered 4x the size of the other 16, on desktop and on phones). Keep every image at its column width;
 * the last row simply starts from the left. Only galleries with an explicit column count, so the default
 * (grow-to-fill) gallery is untouched. `:not(#individual-image)` mirrors core's own selector. */
.kemi-theme.single-post .entry-content .wp-block-gallery.has-nested-images:is(.columns-2, .columns-3, .columns-4, .columns-5, .columns-6, .columns-7, .columns-8) figure.wp-block-image:not(#individual-image) { flex-grow: 0; }
/* kemi/product-row inside an article: the block carries its own section wrapper (max-width + 24px gutters) meant for
 * full-width pages — inside the reading column that double-indents it, so drop the gutters and let it span the column. */
.kemi-theme.single-post .entry-content > .kemi-section { margin: 40px 0; padding: 0; }
.kemi-theme.single-post .entry-content > .kemi-section.is-alt { padding: 28px 24px; background: var(--kemi-bg); }
.kemi-theme.single-post .entry-content > .kemi-section > .kemi-container { max-width: none; padding: 0; }
.kemi-theme.single-post .entry-content > .kemi-section .kemi-sec-head { margin-bottom: 16px; }
.kemi-theme.single-post .entry-content > .kemi-section .kemi-sec-head h2 { font-size: clamp(20px, 2.4vw, 26px); }
@media (max-width: 600px) {
	/* Core drops a 3-image gallery to two columns on phones, so the third image stretches to full width on its own row.
	 * These galleries compare variants side by side (white / grey / yellow) — keep all three in one row. */
	/* `:not(#individual-image)` mirrors core's own selector — without the id its specificity loses to the 2-column rule.
	 * `:has(> figure:nth-child(3):last-child)` keeps this to galleries of exactly three: a longer three-column gallery
	 * (poulsen "Blandað bílalakk", five images) would be squeezed to ~100px a side on a phone, so it keeps core's 2-up. */
	.kemi-theme.single-post .entry-content .wp-block-gallery.has-nested-images.columns-3:has(> figure:nth-child(3):last-child) figure.wp-block-image:not(#individual-image) { width: calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px) * 2 / 3); flex-grow: 0; }
	.kemi-theme.single-post .entry-content .wp-block-gallery figcaption.wp-element-caption { font-size: 11px; padding-top: 6px; }
	.kemi-theme.single-post .entry-content > .kemi-section { margin: 32px 0; }
	.kemi-theme.single-post .entry-content > .kemi-section.is-alt { padding: 22px 16px; }
}
/* A product row inside an article can sit in a narrow Columns block ("Mælt með" beside the text). The card
 * count is chosen by viewport media queries, so at a desktop width five cards were squeezed into a 1/3 column
 * and the titles wrapped one letter per line. Let the row measure itself instead.
 * The selectors repeat the article ancestors so they outrank the viewport rule further down the file
 * (".kemi-product-row .kemi-row-track .kemi-card"), which otherwise wins on source order. */
.kemi-theme.single-post .entry-content .kemi-product-row .kemi-row-scroller { container-type: inline-size; }
@container (max-width: 1000px) { .kemi-theme.single-post .entry-content .kemi-product-row .kemi-row-track .kemi-card { flex-basis: calc((100% - 3px) / 4); } }
@container (max-width: 780px)  { .kemi-theme.single-post .entry-content .kemi-product-row .kemi-row-track .kemi-card { flex-basis: calc((100% - 2px) / 3); } }
@container (max-width: 560px)  { .kemi-theme.single-post .entry-content .kemi-product-row .kemi-row-track .kemi-card { flex-basis: calc((100% - 1px) / 2); } }
@container (max-width: 360px)  { .kemi-theme.single-post .entry-content .kemi-product-row .kemi-row-track .kemi-card { flex-basis: 100%; } }

/* ---------- empty cart (woocommerce/cart/cart-empty.php) — Gústi, 2026-10-06 ---------- */
.kemi-theme .kemi-empty-cart { padding: 8px 0 24px; }
.kemi-theme .kemi-empty-cart-head { padding: 8px 0 36px; max-width: 720px; }
.kemi-theme .kemi-empty-cart-head h2 { font-size: clamp(24px, 3vw, 32px); font-weight: 800; letter-spacing: -.015em; color: var(--kemi-ink); margin: 0 0 10px; }
.kemi-theme .kemi-empty-cart-head p { color: var(--kemi-muted); font-size: 16px; line-height: 1.55; margin: 0 0 22px; }
.kemi-theme .kemi-empty-cart-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.kemi-theme .kemi-btn--wide { display: inline-flex; width: auto; min-height: 46px; padding: 0 28px; margin: 0; font-size: 14px; }
.kemi-theme .kemi-empty-cart-sec { margin: 0 0 40px; }
.kemi-theme .kemi-empty-cart .kemi-cat-grid { --kemi-cols: 6; }
.kemi-theme .kemi-empty-cart-help { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 20px; padding: 22px 24px; background: var(--kemi-bg); border-top: 2px solid var(--kemi-red); color: var(--kemi-ink); }
.kemi-theme .kemi-empty-cart-help span { color: var(--kemi-muted); }
.kemi-theme .kemi-empty-cart-help a { color: var(--kemi-ink); font-weight: 700; text-decoration: none; }
.kemi-theme .kemi-empty-cart-help a:hover { color: var(--kemi-red); }
@media (max-width: 900px) { .kemi-theme .kemi-empty-cart .kemi-cat-grid { --kemi-cols: 3; } }
@media (max-width: 600px) { .kemi-theme .kemi-empty-cart-actions .kemi-btn--wide { flex: 1 1 100%; } .kemi-theme .kemi-empty-cart-help { padding: 18px 16px; } }

/* ---------- product documents accordion (WooCommerce Product Documents / jQuery UI) — Gústi, 2026-10-06 ----------
 * jQuery UI's own theme is not loaded, so the headers were plain bold text with no hint they open. Rows with a +/− marker, hairline
 * borders, hover and a red bar on the open one. */
.kemi-theme .woocommerce-product-documents-title { margin: 28px 0 10px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--kemi-muted); }
.kemi-theme .woocommerce-product-documents { margin: 0 0 24px; border-top: 1px solid var(--kemi-line); }
.kemi-theme .woocommerce-product-documents .ui-accordion-header { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; padding: 14px 18px; background: #fff; border: 1px solid var(--kemi-line); border-top: 0; border-radius: 0; color: var(--kemi-ink); font-size: 15px; font-weight: 700; line-height: 1.3; letter-spacing: 0; cursor: pointer; transition: background .12s, border-color .12s; }
.kemi-theme .woocommerce-product-documents .ui-accordion-header .ui-icon { display: none; }
.kemi-theme .woocommerce-product-documents .ui-accordion-header::after { content: "+"; flex: none; font-size: 22px; font-weight: 500; line-height: 1; color: var(--kemi-red); }
.kemi-theme .woocommerce-product-documents .ui-accordion-header:hover { background: var(--kemi-bg); border-color: var(--kemi-ink); border-top: 0; }
.kemi-theme .woocommerce-product-documents .ui-accordion-header.ui-state-active { background: var(--kemi-bg); box-shadow: inset 3px 0 0 var(--kemi-red); }
.kemi-theme .woocommerce-product-documents .ui-accordion-header.ui-state-active::after { content: "−"; }
.kemi-theme .woocommerce-product-documents .ui-accordion-header:focus-visible { outline: 2px solid var(--kemi-red); outline-offset: -2px; }
.kemi-theme .woocommerce-product-documents .ui-accordion-content { margin: 0; padding: 6px 18px 14px; border: 1px solid var(--kemi-line); border-top: 0; background: #fff; border-radius: 0; }
.kemi-theme .woocommerce-product-documents .ui-accordion-content ul { list-style: none; margin: 0; padding: 0; }
.kemi-theme .woocommerce-product-documents .ui-accordion-content li { margin: 0; padding: 9px 0; border-top: 1px solid var(--kemi-line); }
.kemi-theme .woocommerce-product-documents .ui-accordion-content li:first-child { border-top: 0; }
.kemi-theme .woocommerce-product-documents .ui-accordion-content a { display: inline-flex; align-items: baseline; gap: 10px; color: var(--kemi-ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.kemi-theme .woocommerce-product-documents .ui-accordion-content a:hover { color: var(--kemi-red); text-decoration: underline; text-underline-offset: 3px; }
.kemi-theme .woocommerce-product-documents .ui-accordion-content a[href$=".pdf"]::before { content: "PDF"; flex: none; padding: 2px 6px; background: var(--kemi-red); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .06em; }

/* ---------- variable products: one boxed purchase panel — Gústi, 2026-10-06 ----------
 * Option select(s), the chosen variation's price/stock and the quantity + add-to-cart row sit in a single hairline box, so it reads as
 * "choose, then buy". The add button stays visibly inactive (with a hint) until a choice is made. */
.kemi-theme .kemi-product-summary form.variations_form { display: block; padding: 20px 22px 22px; margin: 0 0 18px; border: 1px solid var(--kemi-line); background: #fff; }
.kemi-theme.woocommerce div.product .kemi-product-summary form.variations_form::before { content: "Veldu útfærslu"; display: block; margin: 0 0 14px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--kemi-muted); }
.kemi-theme .kemi-product-summary form.variations_form table.variations { display: block; width: 100%; margin: 0; border: 0; }
.kemi-theme .kemi-product-summary form.variations_form table.variations tbody, .kemi-theme .kemi-product-summary form.variations_form table.variations tr { display: block; }
.kemi-theme .kemi-product-summary form.variations_form table.variations tr + tr { margin-top: 14px; }
.kemi-theme .kemi-product-summary form.variations_form table.variations th, .kemi-theme .kemi-product-summary form.variations_form table.variations td { display: block; padding: 0; border: 0; background: none; }
.kemi-theme .kemi-product-summary form.variations_form table.variations th.label { margin-bottom: 6px; }
.kemi-theme .kemi-product-summary form.variations_form table.variations label { font-size: 14px; font-weight: 700; color: var(--kemi-ink); }
.kemi-theme .kemi-product-summary form.variations_form table.variations td.value { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.kemi-theme .kemi-product-summary form.variations_form select { flex: 1 1 240px; min-width: 0; height: 46px; padding: 0 40px 0 14px; border: 1px solid var(--kemi-line); border-radius: 0; background-color: #fff; color: var(--kemi-ink); font: inherit; font-size: 15px; }
.kemi-theme .kemi-product-summary form.variations_form select:hover { border-color: var(--kemi-ink); }
.kemi-theme .kemi-product-summary form.variations_form select:focus { border-color: var(--kemi-ink); outline: 2px solid var(--kemi-red); outline-offset: 1px; }
.kemi-theme .kemi-product-summary form.variations_form .reset_variations { font-size: 13px; font-weight: 600; color: var(--kemi-muted); text-decoration: underline; text-underline-offset: 3px; }
.kemi-theme .kemi-product-summary form.variations_form .reset_variations:hover { color: var(--kemi-red); }
.kemi-theme .kemi-product-summary form.variations_form .single_variation_wrap { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--kemi-line); }
.kemi-theme .kemi-product-summary form.variations_form .woocommerce-variation:not(:empty) { margin: 0 0 16px; font-size: 14px; color: var(--kemi-text); }
.kemi-theme .kemi-product-summary form.variations_form .woocommerce-variation .price { font-size: 22px; font-weight: 800; color: var(--kemi-ink); }
.kemi-theme .kemi-product-summary form.variations_form .variations_button { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.kemi-theme .kemi-product-summary form.variations_form .single_add_to_cart_button.disabled, .kemi-theme .kemi-product-summary form.variations_form .single_add_to_cart_button:disabled { background: var(--kemi-bg); color: var(--kemi-muted); border: 1px solid var(--kemi-line); cursor: not-allowed; opacity: 1; }
.kemi-theme .kemi-product-summary form.variations_form .single_add_to_cart_button.disabled:hover { background: var(--kemi-bg); }
.kemi-theme .kemi-product-summary form.variations_form .woocommerce-variation-add-to-cart-disabled .quantity { opacity: .55; }
.kemi-theme.woocommerce div.product .kemi-product-summary form.variations_form .woocommerce-variation-add-to-cart-disabled::after { content: "Veldu valkost hér að ofan til að setja í körfu"; flex: 1 1 100%; margin-top: 2px; font-size: 13px; color: var(--kemi-muted); }
.kemi-theme .kemi-product-summary form.variations_form .reset_variations[style*="hidden"] { display: none; } /* an invisible "Hreinsa" wrapped onto its own line and left a gap under the select */

/* ---------- blog pagination (Fróðleikur): same square tiles as the shop pagination — Gústi, 2026-10-06 ---------- */
.kemi-theme .pagination.navigation .nav-links { display: flex; justify-content: center; align-items: center; gap: 6px; flex-wrap: wrap; }
.kemi-theme .pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; margin: 0; padding: 0 10px; line-height: 1; border: 1px solid var(--kemi-line); border-radius: 0; background: #fff; color: var(--kemi-ink); font-weight: 600; text-decoration: none; transition: border-color .12s, background .12s; }
.kemi-theme .pagination a.page-numbers:hover, .kemi-theme .pagination a.page-numbers:focus-visible { border-color: var(--kemi-ink); background: #fff; color: var(--kemi-ink); outline: 0; }
.kemi-theme .pagination a.page-numbers:focus-visible { outline: 2px solid var(--kemi-red); outline-offset: 2px; }
.kemi-theme .pagination .page-numbers.current { background: var(--kemi-ink); border-color: var(--kemi-ink); color: #fff; }
.kemi-theme .pagination .page-numbers.dots { border-color: transparent; }
.kemi-theme .pagination .page-numbers svg { fill: currentColor; }

/* ---------- WooCommerce notices (added to cart, errors, info) — Gústi, 2026-10-06 ----------
 * Kadence prints them in a full-bleed wrapper outside the content container, with Woo's blue button. Same hairline box as the rest of the
 * theme, held to the 1312px column, with a coloured edge: green = done, ink = info, red = problem. */
.kemi-theme .woocommerce-message, .kemi-theme .woocommerce-info, .kemi-theme .woocommerce-error { position: relative; box-sizing: border-box; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px 20px; flex-wrap: wrap; margin: 16px 0; padding: 14px 18px; background: #fff; border: 1px solid var(--kemi-line); border-left: 3px solid var(--kemi-ink); border-top-width: 1px; border-radius: 0; box-shadow: none; color: var(--kemi-ink); font-size: 15px; line-height: 1.5; list-style: none; }
.kemi-theme .woocommerce-message::before, .kemi-theme .woocommerce-info::before, .kemi-theme .woocommerce-error::before { display: none; }
.kemi-theme .woocommerce-message { border-left-color: #1d7a3a; }
.kemi-theme .woocommerce-error { border-left-color: var(--kemi-red); }
.kemi-theme .woocommerce-error li { margin: 0; padding: 0; }
.kemi-theme .woocommerce-message a:not(.button), .kemi-theme .woocommerce-info a:not(.button), .kemi-theme .woocommerce-error a:not(.button) { color: var(--kemi-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.kemi-theme .woocommerce-message a:not(.button):hover, .kemi-theme .woocommerce-info a:not(.button):hover, .kemi-theme .woocommerce-error a:not(.button):hover { color: var(--kemi-red); }
.kemi-theme .woocommerce-message .button, .kemi-theme .woocommerce-info .button { order: 2; flex: none; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; margin: 0 0 0 auto; padding: 0 20px; background: var(--kemi-ink); color: #fff; border: 0; border-radius: 0; font-size: 14px; font-weight: 600; text-decoration: none; text-transform: none; letter-spacing: 0; float: none; }
.kemi-theme .woocommerce-message .button:hover, .kemi-theme .woocommerce-info .button:hover { background: var(--kemi-red); color: #fff; }
/* the full-bleed wrapper on archives / product pages: pull the box onto the content column */
.kemi-theme .kadence-woo-messages-none-woo-pages > .woocommerce-message, .kemi-theme .kadence-woo-messages-none-woo-pages > .woocommerce-info, .kemi-theme .kadence-woo-messages-none-woo-pages > .woocommerce-error,
.kemi-theme .kadence-woo-messages-none-woo-pages > ul.woocommerce-error,
.kemi-theme.single-product .woocommerce-notices-wrapper > .woocommerce-message, .kemi-theme.single-product .woocommerce-notices-wrapper > .woocommerce-info, .kemi-theme.single-product .woocommerce-notices-wrapper > .woocommerce-error,
.kemi-theme.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .woocommerce-notices-wrapper > .woocommerce-message { width: calc(100% - 48px); max-width: calc(var(--kemi-max) - 48px); margin: 16px auto; }
@media (max-width: 600px) {
	.kemi-theme .kadence-woo-messages-none-woo-pages > .woocommerce-message, .kemi-theme .kadence-woo-messages-none-woo-pages > .woocommerce-info, .kemi-theme .kadence-woo-messages-none-woo-pages > .woocommerce-error, .kemi-theme.single-product .woocommerce-notices-wrapper > * { width: calc(100% - 32px) !important; }
	.kemi-theme .woocommerce-message, .kemi-theme .woocommerce-info, .kemi-theme .woocommerce-error { flex-direction: column; align-items: stretch; }
	.kemi-theme .woocommerce-message .button, .kemi-theme .woocommerce-info .button { width: 100%; margin: 4px 0 0; }
}

/* ---------- Cart page — Gústi, 2026-10-06 ---------- */
.kemi-theme.woocommerce-cart .cart-summary h2, .kemi-theme.woocommerce-cart .cart_totals > h2 { margin: 0 0 14px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--kemi-muted); }
.kemi-theme.woocommerce-cart table.shop_table { width: 100%; margin: 0; border: 1px solid var(--kemi-line); border-radius: 0; border-collapse: collapse; background: #fff; }
.kemi-theme.woocommerce-cart table.shop_table th, .kemi-theme.woocommerce-cart table.shop_table td { padding: 14px 16px; border: 0; border-top: 1px solid var(--kemi-line); vertical-align: middle; background: transparent; color: var(--kemi-ink); font-size: 15px; text-align: left; }
.kemi-theme.woocommerce-cart table.cart thead th { padding: 11px 16px; border-top: 0; background: var(--kemi-bg); font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--kemi-muted); line-height: 1.3; }
.kemi-theme.woocommerce-cart table.cart td.product-thumbnail { width: 96px; padding-right: 0; }
.kemi-theme.woocommerce-cart table.cart td.product-thumbnail img { display: block; width: 72px; height: 72px; object-fit: contain; border: 1px solid var(--kemi-line); background: #fff; }
.kemi-theme.woocommerce-cart table.cart td.product-name a { color: var(--kemi-ink); font-weight: 700; text-decoration: none; }
.kemi-theme.woocommerce-cart table.cart td.product-name a:hover { color: var(--kemi-red); text-decoration: underline; text-underline-offset: 3px; }
.kemi-theme.woocommerce-cart table.cart td.product-subtotal, .kemi-theme.woocommerce-cart table.cart td.product-subtotal .amount { font-weight: 800; }
.kemi-theme.woocommerce-cart table.cart td.product-remove { width: 52px; padding-right: 0; }
.kemi-theme.woocommerce-cart table.cart a.remove { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--kemi-line); border-radius: 0; background: #fff; color: var(--kemi-muted) !important; font-size: 18px; font-weight: 400; line-height: 1; text-decoration: none; transition: border-color .12s, color .12s; }
.kemi-theme.woocommerce-cart table.cart a.remove:hover { background: #fff; border-color: var(--kemi-red); color: var(--kemi-red) !important; }
.kemi-theme.woocommerce-cart table.cart .quantity .qty { width: 72px; height: 44px; padding: 0 8px; border: 1px solid var(--kemi-ink); border-radius: 0; background: #fff; color: var(--kemi-ink); font: inherit; font-size: 15px; font-weight: 600; text-align: center; }
.kemi-theme.woocommerce-cart table.cart .quantity .qty:focus { outline: 2px solid var(--kemi-red); outline-offset: 1px; }
/* coupon + update row */
.kemi-theme.woocommerce-cart table.cart td.actions { padding: 16px; background: var(--kemi-bg); }
.kemi-theme.woocommerce-cart td.actions::after { content: ""; display: table; clear: both; }
.kemi-theme.woocommerce-cart td.actions .coupon { display: inline-flex; align-items: stretch; gap: 8px; float: left; flex-wrap: wrap; }
.kemi-theme.woocommerce-cart td.actions .coupon .input-text { width: 220px; max-width: 100%; height: 44px; margin: 0; padding: 0 14px; border: 1px solid var(--kemi-line); border-radius: 0; background: #fff; color: var(--kemi-ink); font: inherit; font-size: 14px; }
.kemi-theme.woocommerce-cart td.actions .coupon .input-text:focus { border-color: var(--kemi-ink); outline: 2px solid var(--kemi-red); outline-offset: 1px; }
.kemi-theme.woocommerce-cart td.actions .button, .kemi-theme.woocommerce-cart .wc-proceed-to-checkout .button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 0 22px; border: 1px solid var(--kemi-ink); border-radius: 0; background: var(--kemi-ink); color: #fff; font: inherit; font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; box-shadow: none; cursor: pointer; transition: background .12s, border-color .12s; }
.kemi-theme.woocommerce-cart td.actions .button:hover, .kemi-theme.woocommerce-cart .wc-proceed-to-checkout .button:hover { background: var(--kemi-red); border-color: var(--kemi-red); color: #fff; }
.kemi-theme.woocommerce-cart td.actions button[name="update_cart"] { float: right; background: #fff; color: var(--kemi-ink); }
.kemi-theme.woocommerce-cart td.actions button[name="update_cart"]:hover { background: var(--kemi-ink); border-color: var(--kemi-ink); color: #fff; }
.kemi-theme.woocommerce-cart td.actions button[name="update_cart"]:disabled { background: transparent; border-color: var(--kemi-line); color: var(--kemi-muted); opacity: 1; cursor: not-allowed; }
/* totals panel */
.kemi-theme.woocommerce-cart .cart_totals { padding: 0; }
.kemi-theme.woocommerce-cart .cart_totals table.shop_table th { width: 46%; font-size: 13px; font-weight: 700; }
.kemi-theme.woocommerce-cart .cart_totals tr.order-total th, .kemi-theme.woocommerce-cart .cart_totals tr.order-total td { padding-top: 18px; padding-bottom: 18px; background: var(--kemi-bg); }
.kemi-theme.woocommerce-cart .cart_totals tr.order-total .amount { font-size: 22px; font-weight: 800; }
.kemi-theme.woocommerce-cart .cart_totals small.includes_tax { display: block; margin-top: 4px; color: var(--kemi-muted); font-size: 12px; font-weight: 400; }
/* cart totals: the shipping chooser (Woo cart/cart-shipping.php + Pósturinn/Dropp extras) — Gústi, 2026-10-13 */
.kemi-theme.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals th { vertical-align: top; padding-top: 24px; }
.kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li { display: grid; grid-template-columns: 20px minmax(0, 1fr); column-gap: 10px; align-items: start; margin: 0; padding: 9px 0; border-top: 1px solid var(--kemi-line); }
.kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li:first-child { border-top: 0; padding-top: 0; }
.kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li > input[type=radio] { grid-column: 1; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--kemi-red); cursor: pointer; }
.kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li > label { grid-column: 2; margin: 0; font-size: 14px; line-height: 1.4; color: var(--kemi-ink); cursor: pointer; text-transform: none; letter-spacing: 0; }
.kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li > label .amount { font-weight: 700; white-space: nowrap; }
.kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li > :not(input):not(label) { grid-column: 2; }
.kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li p, .kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li small, .kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li .description { margin: 3px 0 0; font-size: 12.5px; line-height: 1.35; color: var(--kemi-muted); text-transform: none !important; letter-spacing: 0 !important; font-weight: 400; }
.kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li select { margin-top: 8px; width: 100%; max-width: 100%; height: 40px; border: 1px solid #cfcfcf; border-radius: 0; font: 400 14px var(--kemi-font); }
.kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li .button, .kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li button { margin-top: 8px; background: var(--kemi-ink); color: #fff; border: 0; border-radius: 0; padding: 0 14px; height: 38px; font: 600 13px var(--kemi-font); }
.kemi-theme.woocommerce-cart .cart_totals p.woocommerce-shipping-destination { margin: 12px 0 0; font-size: 13px; line-height: 1.4; color: var(--kemi-muted); }
.kemi-theme.woocommerce-cart .cart_totals p.woocommerce-shipping-destination strong { color: var(--kemi-ink); }
.kemi-theme.woocommerce-cart .cart_totals p.woocommerce-shipping-contents { margin: 8px 0 0; color: var(--kemi-muted); }
.kemi-theme.woocommerce-cart .wc-proceed-to-checkout { padding: 16px 0 0; }
.kemi-theme.woocommerce-cart .wc-proceed-to-checkout .button { display: flex; width: 100%; min-height: 52px; font-size: 15px; font-weight: 700; }
@media (max-width: 780px) {
	.kemi-theme.woocommerce-cart table.shop_table_responsive tr { display: block; border-top: 1px solid var(--kemi-line); }
	.kemi-theme.woocommerce-cart table.shop_table_responsive tr:first-child { border-top: 0; }
	.kemi-theme.woocommerce-cart table.shop_table_responsive td { display: flex; justify-content: space-between; align-items: center; gap: 16px; border-top: 0; padding: 10px 14px; text-align: right; }
	.kemi-theme.woocommerce-cart table.shop_table_responsive td::before { content: attr(data-title); float: none; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--kemi-muted); text-align: left; }
	.kemi-theme.woocommerce-cart table.cart td.product-remove, .kemi-theme.woocommerce-cart table.cart td.product-thumbnail { width: auto; justify-content: flex-start; }
	.kemi-theme.woocommerce-cart table.cart td.product-remove::before, .kemi-theme.woocommerce-cart table.cart td.product-thumbnail::before, .kemi-theme.woocommerce-cart table.cart td.actions::before { display: none; }
	.kemi-theme.woocommerce-cart td.actions { display: block; }
	.kemi-theme.woocommerce-cart td.actions .coupon, .kemi-theme.woocommerce-cart td.actions button[name="update_cart"] { float: none; display: flex; width: 100%; }
	.kemi-theme.woocommerce-cart td.actions .coupon .input-text { flex: 1 1 100%; width: 100%; }
	.kemi-theme.woocommerce-cart td.actions .coupon .button { flex: 1 1 100%; }
	.kemi-theme.woocommerce-cart td.actions button[name="update_cart"] { margin-top: 10px; }
	.kemi-theme.woocommerce-cart .cart_totals table.shop_table th { width: auto; }
	/* the shipping chooser is a list, not a value: stack label over list, left-aligned, full width */
	.kemi-theme.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals th { display: block; padding: 14px 14px 0; }
	.kemi-theme.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td { display: block; text-align: left; padding: 8px 14px 14px; }
	.kemi-theme.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td::before { display: none; }
	.kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li { display: grid !important; grid-template-columns: 20px minmax(0, 1fr); justify-content: start; justify-items: start; text-align: left; }
	.kemi-theme.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li > label { text-align: left; }
}
.kemi-theme.woocommerce-cart .cart_totals small.includes_tax .amount { font-size: inherit; font-weight: 400; color: inherit; }
.kemi-theme.woocommerce-cart .woocommerce-cart-form td.actions .coupon button.button { background: var(--kemi-ink); border: 1px solid var(--kemi-ink); color: #fff; }
.kemi-theme.woocommerce-cart .woocommerce-cart-form td.actions .coupon button.button:hover { background: var(--kemi-red); border-color: var(--kemi-red); }
/* Kadence's soft shadow under every boxed entry reads as a smudge on a white page */
.kemi-theme .entry.content-bg.single-entry, .kemi-theme .content-bg.entry { box-shadow: none; }

/* ---------- Checkout — Gústi, 2026-10-06 ---------- */
.kemi-theme.woocommerce-checkout .woocommerce-billing-fields > h3, .kemi-theme.woocommerce-checkout .woocommerce-shipping-fields > h3, .kemi-theme.woocommerce-checkout .woocommerce-additional-fields > h3, .kemi-theme.woocommerce-checkout #order_review_heading, .kemi-theme.woocommerce-checkout #ship-to-different-address { margin: 0 0 14px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--kemi-muted); }
.kemi-theme.woocommerce-checkout #ship-to-different-address label { font-size: inherit; font-weight: inherit; cursor: pointer; }
.kemi-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .kemi-theme.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.kemi-theme.woocommerce-checkout .form-row { float: none; width: 100%; margin: 0 0 16px; padding: 0; grid-column: 1 / -1; }
.kemi-theme.woocommerce-checkout .form-row-first, .kemi-theme.woocommerce-checkout .form-row-last { grid-column: auto; }
.kemi-theme.woocommerce-checkout .form-row > label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--kemi-ink); }
.kemi-theme.woocommerce-checkout .form-row .optional { font-weight: 400; color: var(--kemi-muted); }
.kemi-theme.woocommerce-checkout .form-row .required { color: var(--kemi-red); text-decoration: none; }
.kemi-theme.woocommerce-checkout .form-row .input-text, .kemi-theme.woocommerce-checkout .form-row select, .kemi-theme.woocommerce-checkout .form-row textarea, .kemi-theme.woocommerce-checkout .select2-container .select2-selection--single { width: 100%; height: 46px; padding: 0 14px; border: 1px solid var(--kemi-line); border-radius: 0; background: #fff; color: var(--kemi-ink); font: inherit; font-size: 15px; box-shadow: none; box-sizing: border-box; }
.kemi-theme.woocommerce-checkout .form-row textarea { height: auto; min-height: 96px; padding: 12px 14px; }
.kemi-theme.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 44px; color: var(--kemi-ink); }
.kemi-theme.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 44px; }
.kemi-theme.woocommerce-checkout .form-row .input-text:hover, .kemi-theme.woocommerce-checkout .form-row select:hover, .kemi-theme.woocommerce-checkout .form-row textarea:hover { border-color: var(--kemi-ink); }
.kemi-theme.woocommerce-checkout .form-row .input-text:focus, .kemi-theme.woocommerce-checkout .form-row select:focus, .kemi-theme.woocommerce-checkout .form-row textarea:focus { border-color: var(--kemi-ink); outline: 2px solid var(--kemi-red); outline-offset: 1px; }
.kemi-theme.woocommerce-checkout .form-row.woocommerce-invalid .input-text, .kemi-theme.woocommerce-checkout .form-row.woocommerce-invalid select { border-color: var(--kemi-red); }
.kemi-theme.woocommerce-checkout input[type="checkbox"], .kemi-theme.woocommerce-checkout input[type="radio"] { accent-color: var(--kemi-red); }
.kemi-theme.woocommerce-checkout .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; cursor: pointer; }
/* order review */
.kemi-theme.woocommerce-checkout table.shop_table { width: 100%; margin: 0 0 18px; border: 1px solid var(--kemi-line); border-radius: 0; border-collapse: collapse; background: #fff; }
.kemi-theme.woocommerce-checkout table.shop_table th, .kemi-theme.woocommerce-checkout table.shop_table td { padding: 12px 16px; border: 0; border-top: 1px solid var(--kemi-line); background: transparent; color: var(--kemi-ink); font-size: 14px; text-align: left; vertical-align: top; }
.kemi-theme.woocommerce-checkout table.shop_table thead th { padding: 10px 16px; border-top: 0; background: var(--kemi-bg); font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--kemi-muted); }
.kemi-theme.woocommerce-checkout table.shop_table td:last-child, .kemi-theme.woocommerce-checkout table.shop_table th:last-child { text-align: right; }
.kemi-theme.woocommerce-checkout table.shop_table .product-name { font-weight: 600; }
.kemi-theme.woocommerce-checkout table.shop_table .product-quantity { font-weight: 800; }
.kemi-theme.woocommerce-checkout table.shop_table tr.order-total th, .kemi-theme.woocommerce-checkout table.shop_table tr.order-total td { padding: 16px; background: var(--kemi-bg); }
.kemi-theme.woocommerce-checkout table.shop_table tr.order-total .amount { font-size: 20px; font-weight: 800; }
.kemi-theme.woocommerce-checkout table.shop_table small.includes_tax { display: block; margin-top: 3px; color: var(--kemi-muted); font-size: 12px; font-weight: 400; }
.kemi-theme.woocommerce-checkout table.shop_table small.includes_tax .amount { font-size: inherit; font-weight: 400; }
/* payment methods: selectable rows */
.kemi-theme.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.kemi-theme.woocommerce-checkout #payment ul.payment_methods { margin: 0 0 18px; padding: 0; list-style: none; border: 0; }
.kemi-theme.woocommerce-checkout #payment ul.payment_methods > li { position: relative; margin: 0 0 8px; padding: 0; border: 1px solid var(--kemi-line); background: #fff; transition: border-color .12s; }
.kemi-theme.woocommerce-checkout #payment ul.payment_methods > li:hover { border-color: var(--kemi-ink); }
.kemi-theme.woocommerce-checkout #payment ul.payment_methods > li:has(input:checked) { border-color: var(--kemi-ink); box-shadow: inset 3px 0 0 var(--kemi-red); }
.kemi-theme.woocommerce-checkout #payment ul.payment_methods > li > input { position: absolute; top: 19px; left: 16px; margin: 0; }
.kemi-theme.woocommerce-checkout #payment ul.payment_methods > li > label { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 14px 16px 14px 44px; font-size: 15px; font-weight: 700; text-align: left; cursor: pointer; }
.kemi-theme.woocommerce-checkout #payment ul.payment_methods > li > label img { max-height: 28px; width: auto; margin: 0; }
.kemi-theme.woocommerce-checkout #payment .payment_box { margin: 0; padding: 0 16px 16px 44px; background: transparent; color: var(--kemi-muted); font-size: 14px; line-height: 1.55; border-radius: 0; }
.kemi-theme.woocommerce-checkout #payment .payment_box::before { display: none; }
.kemi-theme.woocommerce-checkout #payment .payment_box p { margin: 0 0 10px; }
.kemi-theme.woocommerce-checkout #payment .payment_box input[type="text"] { width: 100%; max-width: 320px; height: 44px; padding: 0 14px; border: 1px solid var(--kemi-line); border-radius: 0; font: inherit; }
/* privacy text, terms, place order */
.kemi-theme.woocommerce-checkout .woocommerce-privacy-policy-text p { margin: 0 0 14px; color: var(--kemi-muted); font-size: 13px; line-height: 1.55; }
.kemi-theme.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text, .kemi-theme.woocommerce-checkout .validate-required .woocommerce-terms-and-conditions-checkbox-text { color: var(--kemi-ink); font-weight: 600; }
.kemi-theme.woocommerce-checkout .woocommerce-privacy-policy-text a, .kemi-theme.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a { color: var(--kemi-ink); text-decoration: underline; text-underline-offset: 3px; }
.kemi-theme.woocommerce-checkout .woocommerce-privacy-policy-text a:hover, .kemi-theme.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a:hover { color: var(--kemi-red); }
.kemi-theme.woocommerce-checkout #place_order { display: flex; align-items: center; justify-content: center; float: none; width: 100%; min-height: 54px; margin: 8px 0 0; padding: 0 24px; border: 1px solid var(--kemi-ink); border-radius: 0; background: var(--kemi-ink); color: #fff; font: inherit; font-size: 16px; font-weight: 700; text-transform: none; letter-spacing: 0; cursor: pointer; transition: background .12s, border-color .12s; }
.kemi-theme.woocommerce-checkout #place_order:hover { background: var(--kemi-red); border-color: var(--kemi-red); }
@media (max-width: 600px) { .kemi-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .kemi-theme.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); } .kemi-theme.woocommerce-checkout .form-row-first, .kemi-theme.woocommerce-checkout .form-row-last { grid-column: 1 / -1; } }
/* error list: one problem per line; inline field messages small and red */
.kemi-theme .woocommerce-error { flex-direction: column; align-items: stretch; gap: 6px; padding-top: 16px; padding-bottom: 16px; }
.kemi-theme .woocommerce-error li { display: block; font-size: 14px; }
.kemi-theme .woocommerce-error li a { font-weight: 600; }
.kemi-theme.woocommerce-checkout .form-row .checkout-inline-error-message, .kemi-theme.woocommerce-checkout .form-row .woocommerce-error-inline, .kemi-theme.woocommerce-checkout .form-row > .error { display: block; margin-top: 6px; color: var(--kemi-red); font-size: 13px; font-weight: 600; }
.kemi-theme.woocommerce-checkout .form-row.woocommerce-invalid > label { color: var(--kemi-red); }

/* /tecdocs/ (plate / vehicle search results, tecdoc plugin template with Flatsome grid classes): hold it to the content column. */
.kemi-theme .page-wrapper .row.row-main { max-width: var(--kemi-max); margin: 0 auto; padding: 24px 24px 40px; box-sizing: border-box; }
.kemi-theme .page-wrapper .row.row-main > .col, .kemi-theme .page-wrapper .row.row-main .col-inner { width: 100%; max-width: none; padding: 0; }
@media (max-width: 600px) { .kemi-theme .page-wrapper .row.row-main { padding: 16px 16px 32px; } }
/* The tecdoc results app itself (#tecdocs_app, Vue, plugin classes). Flatsome used to supply the flex quantity box, the
   button look and the column widths; the plugin's own stylesheet only sketches the layout. Gústi, 2026-10-13 (launch day). */
.kemi-theme #tecdocs_app { font-family: var(--kemi-font); color: var(--kemi-ink); }
.kemi-theme #tecdocs_app .category-page__container { display: flex; gap: 32px; align-items: flex-start; }
.kemi-theme #tecdocs_app aside.cat-sidebar { flex: 0 0 260px; width: 260px; margin: 0; }
.kemi-theme #tecdocs_app aside.cat-sidebar h4 { font-family: var(--kemi-font); }
.kemi-theme #tecdocs_app .category-page__container > :not(aside) { flex: 1 1 0; min-width: 0; }
.kemi-theme #tecdocs_app header.nhtectoc_header { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 0 0 18px; }
.kemi-theme #tecdocs_app header.nhtectoc_header h1 { margin: 0; font-family: var(--kemi-font); font-size: 26px; font-weight: 800; line-height: 1.2; }
.kemi-theme #tecdocs_app header.nhtectoc_header .nhtecdoc_special_order { margin-left: auto; }
.kemi-theme #tecdocs_app header.nhtectoc_header > :last-child:not(h1):not(.nhtecdoc_special_order) { margin-left: auto; }
.kemi-theme #tecdocs_app header.nhtectoc_header .nhtecdoc_special_order + * { margin-left: 0; }
.kemi-theme #tecdocs_app header.nhtectoc_header a { text-decoration: none; }
.kemi-theme #tecdocs_app header.nhtectoc_header span { display: inline-block; position: relative; padding-left: 26px; margin: 0; font-size: 17px; font-weight: 800; letter-spacing: .04em; color: var(--kemi-ink); text-transform: uppercase; white-space: nowrap; }
.kemi-theme #tecdocs_app header.nhtectoc_header span::before { left: 0; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; background-size: 18px; }
.kemi-theme #tecdocs_app .nhtecdoc_select__container select { height: 40px; border: 1px solid #cfcfcf; border-radius: 0; font: 400 14px var(--kemi-font); padding: 0 10px; }
/* one result = image | facts | buy box */
.kemi-theme #tecdocs_app .nhtecdoc_carparts_grid { display: block; width: 100%; }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_grid_item { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; gap: 28px; min-height: 0; height: auto; padding: 24px 0; border-top: 1px solid var(--kemi-line); }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_grid_item:first-child { border-top: 0; padding-top: 8px; }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_grid_item > * { flex: 0 0 auto; }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_grid_item_img { flex: 0 0 200px; width: 200px; }
.kemi-theme #tecdocs_app section.nhtecdoc_carparts_info_area { flex: 1 1 0; min-width: 0; }
.kemi-theme #tecdocs_app section.nhtecdoc_carparts_action_area { flex: 0 0 240px; width: 240px; padding-left: 24px; border-left: 1px solid var(--kemi-line); display: flex; flex-direction: column; }
.kemi-theme #tecdocs_app figure.nhtecdoc_carparts_brand_image_area { display: block; margin: 0 0 10px; min-height: 26px; }
.kemi-theme #tecdocs_app figure.nhtecdoc_carparts_brand_image_area img { display: block; max-height: 28px; width: auto; font-size: 0; color: transparent; border: 0; }
.kemi-theme #tecdocs_app figure.nhtecdoc_carparts_image_area { position: relative; display: block; width: 100%; height: auto; margin: 0; }
.kemi-theme #tecdocs_app figure.nhtecdoc_carparts_image_area img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; border: 1px solid var(--kemi-line); background: #fff; padding: 6px; box-sizing: border-box; }
.kemi-theme #tecdocs_app .badge-container { position: absolute; left: 8px; top: 8px; z-index: 1; margin: 0; }
.kemi-theme #tecdocs_app .badge-container .badge-inner, .kemi-theme #tecdocs_app .onsale { position: static; display: inline-block; background: var(--kemi-red); color: #fff; font-size: 13px; font-weight: 800; line-height: 1; padding: 5px 8px; border-radius: 0; min-width: 0; min-height: 0; }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_title_area a { text-decoration: none; color: var(--kemi-ink); }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_title_area a:hover h3 { color: var(--kemi-red); }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_title_area h3 { margin: 0 0 4px; font-family: var(--kemi-font); font-size: 20px; font-weight: 800; line-height: 1.25; }
.kemi-theme #tecdocs_app .nhtecdoc_carpart_sku { font-size: 13px; color: var(--kemi-muted); }
.kemi-theme #tecdocs_app .nhtecdoc_carpart_sku strong { font-weight: 600; margin-right: 4px; }
.kemi-theme #tecdocs_app ul.nhtecdoc_carparts_attributes { list-style: none; margin: 14px 0 12px; padding: 0; max-width: 560px; }
.kemi-theme #tecdocs_app ul.nhtecdoc_carparts_attributes li { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 4px 0; border-bottom: 1px solid #f0f0f0; font-size: 13.5px; line-height: 1.35; }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_attribute_name { font-weight: 600; color: var(--kemi-muted); }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_attribute_value { text-align: right; }
.kemi-theme #tecdocs_app a.nhtecdoc_carparts_view_link { display: inline-block; margin-top: 4px; font-weight: 800; color: var(--kemi-red); text-decoration: none; }
.kemi-theme #tecdocs_app a.nhtecdoc_carparts_view_link:hover { text-decoration: underline; text-underline-offset: 3px; }
/* buy box */
.kemi-theme #tecdocs_app .nhtecdoc_carpart_price { margin: 0 0 6px; line-height: 1.1; border: 0; padding: 0; }
.kemi-theme #tecdocs_app .nhtecdoc_carpart_price:not(.small) .price { font-size: 26px; font-weight: 800; color: var(--kemi-ink); }
.kemi-theme #tecdocs_app .nhtecdoc_carpart_price.small { font-size: 14px; color: var(--kemi-muted); opacity: 1; }
.kemi-theme #tecdocs_app .nhtecdoc_carpart_original_price { font-size: 14px; color: var(--kemi-muted); margin: 0 0 10px; }
.kemi-theme #tecdocs_app .nhtecdoc_carpart_original_price label { display: inline; margin: 0 .35em 0 0; font-size: inherit; font-weight: 400; line-height: inherit; opacity: 1; }
.kemi-theme #tecdocs_app .nhtecdoc_carpart_original_price .price { text-decoration: line-through; opacity: .7; }
.kemi-theme #tecdocs_app .align-bottom { margin-top: auto; }
.kemi-theme #tecdocs_app ul.dk_warehouselist { margin: 6px 0 0; padding: 0; list-style: none; font-size: 13px; line-height: 1.3; font-weight: 600; }
.kemi-theme #tecdocs_app li.dk_warehouse { display: flex; align-items: flex-start; gap: 6px; margin: 0; }
.kemi-theme #tecdocs_app .dk_warehouse_qty { display: none; } /* no stock counts anywhere (Gústi, 2026-10-13) */
.kemi-theme #tecdocs_app .nhtecdoc_carparts_action_area .quantity, .kemi-theme #tecdocs_app .quantity.buttons_added { display: flex; align-items: stretch; margin: 14px 0 10px; }
.kemi-theme #tecdocs_app .quantity .button.is-form, .kemi-theme #tecdocs_app .quantity input[type=button] { flex: 0 0 40px; width: 40px; height: 42px; margin: 0; padding: 0; border: 1px solid #cfcfcf; border-radius: 0; background: #fff; color: var(--kemi-ink); font: 700 18px var(--kemi-font); cursor: pointer; box-shadow: none; }
.kemi-theme #tecdocs_app .quantity .button.is-form:hover, .kemi-theme #tecdocs_app .quantity input[type=button]:hover { background: var(--kemi-bg); }
.kemi-theme #tecdocs_app .quantity input.qty { flex: 1 1 56px; min-width: 0; width: 56px; height: 42px; margin: 0; border: 1px solid #cfcfcf; border-left: 0; border-right: 0; border-radius: 0; text-align: center; font: 600 15px var(--kemi-font); color: var(--kemi-ink); background: #fff; box-shadow: none; -moz-appearance: textfield; }
.kemi-theme #tecdocs_app .quantity input.qty::-webkit-outer-spin-button, .kemi-theme #tecdocs_app .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_action_area button { width: 100%; max-width: 100%; height: 46px; margin: 0; padding: 0 14px; border: 0; border-radius: 0; background: var(--kemi-red); color: #fff; font: 700 14px var(--kemi-font) !important; letter-spacing: .01em; cursor: pointer; box-shadow: none; }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_action_area button:hover { background: var(--kemi-red-dark); }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_action_area button:disabled { background: #cfcfcf; cursor: not-allowed; }
.kemi-theme #tecdocs_app .nhtecdoc_carparts_empty_state { padding: 24px 0; color: var(--kemi-muted); }
@media (max-width: 800px) {
	.kemi-theme #tecdocs_app .category-page__container { flex-direction: column; gap: 16px; }
	.kemi-theme #tecdocs_app aside.cat-sidebar { flex: 0 0 auto; width: 100%; }
	.kemi-theme #tecdocs_app header.nhtectoc_header h1 { font-size: 22px; }
	.kemi-theme #tecdocs_app .nhtecdoc_carparts_grid_item { flex-wrap: wrap; gap: 16px 20px; padding: 18px 0; }
	.kemi-theme #tecdocs_app .nhtecdoc_carparts_grid_item_img { flex: 0 0 140px; width: 140px; }
	.kemi-theme #tecdocs_app section.nhtecdoc_carparts_info_area { flex: 1 1 160px; }
	.kemi-theme #tecdocs_app section.nhtecdoc_carparts_action_area { flex: 1 1 100%; width: 100%; padding: 14px 0 0; border-left: 0; border-top: 1px dashed var(--kemi-line); }
	.kemi-theme #tecdocs_app .nhtecdoc_carparts_action_area .quantity, .kemi-theme #tecdocs_app .quantity.buttons_added { max-width: 200px; }
}
@media (max-width: 480px) {
	/* no room for image + facts side by side: image on top, facts full width */
	.kemi-theme #tecdocs_app .nhtecdoc_carparts_grid_item_img { flex: 0 0 100%; width: 100%; max-width: 170px; }
	.kemi-theme #tecdocs_app section.nhtecdoc_carparts_info_area { flex: 1 1 100%; }
	.kemi-theme #tecdocs_app ul.nhtecdoc_carparts_attributes { max-width: none; }
}

/* ---------- Flatsome shim, second batch ---------- */
.kemi-theme .kemi-fs-html { margin: 16px 0; max-width: 100%; }
.kemi-theme .kemi-fs-html iframe { display: block; width: 100%; max-width: 100%; border: 0; }
.kemi-theme .kemi-fs-banner { position: relative; display: block; margin: 0 0 28px; overflow: hidden; background-color: var(--kemi-ink); color: #fff; }
.kemi-theme .kemi-fs-banner-ov { position: absolute; inset: 0; pointer-events: none; }
.kemi-theme .kemi-fs-tb { position: absolute; z-index: 1; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); width: calc(var(--w) * 1%); transform: translate(calc(var(--x) * -1%), calc(var(--y) * -1%)); color: #fff; }
.kemi-theme .kemi-fs-tb h1, .kemi-theme .kemi-fs-tb h2, .kemi-theme .kemi-fs-tb h3, .kemi-theme .kemi-fs-tb p { color: #fff; margin: 0 0 8px; text-transform: none; }
.kemi-theme .kemi-fs-tb .uppercase { text-transform: uppercase; }
.kemi-theme .kemi-fs-tb h1 { font-size: clamp(28px, 4vw, 52px); line-height: 1.05; font-weight: 800; letter-spacing: -.02em; }
.kemi-theme .kemi-fs-tb h2 { font-size: clamp(22px, 3vw, 38px); line-height: 1.1; font-weight: 800; }
.kemi-theme .kemi-fs-slider { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0; margin: 0 0 28px; }
.kemi-theme .kemi-fs-slider > .kemi-fs-banner { flex: 0 0 100%; scroll-snap-align: start; margin: 0; }
.kemi-theme .kemi-fs-ibox { display: block; border: 1px solid var(--kemi-line); background: #fff; color: var(--kemi-ink); text-decoration: none; }
.kemi-theme .kemi-fs-ibox-img img { display: block; width: 100%; height: auto; }
.kemi-theme .kemi-fs-ibox-body { padding: 14px 16px; }
.kemi-theme .kemi-fs-ibox-body h3 { margin: 0 0 6px; font-size: 16px; }
.kemi-theme .kemi-fs-member { display: block; border: 1px solid var(--kemi-line); padding: 0 0 14px; text-align: center; background: #fff; }
.kemi-theme .kemi-fs-member img { display: block; width: 100%; height: auto; margin: 0 0 12px; }
.kemi-theme .kemi-fs-member h3 { margin: 0 0 2px; font-size: 16px; }
.kemi-theme .kemi-fs-member p { margin: 0; color: var(--kemi-muted); font-size: 14px; }
.kemi-theme .kemi-fs-anchor { display: block; height: 0; scroll-margin-top: 90px; }
.kemi-theme .kemi-fs-accordion { border-top: 1px solid var(--kemi-line); margin: 0 0 24px; }
.kemi-theme .kemi-fs-acc-item { border: 1px solid var(--kemi-line); border-top: 0; background: #fff; }
.kemi-theme .kemi-fs-acc-item > summary { list-style: none; cursor: pointer; padding: 14px 18px; font-weight: 700; display: flex; justify-content: space-between; gap: 16px; }
.kemi-theme .kemi-fs-acc-item > summary::-webkit-details-marker { display: none; }
.kemi-theme .kemi-fs-acc-item > summary::after { content: "+"; color: var(--kemi-red); font-size: 22px; line-height: 1; }
.kemi-theme .kemi-fs-acc-item[open] > summary { background: var(--kemi-bg); box-shadow: inset 3px 0 0 var(--kemi-red); }
.kemi-theme .kemi-fs-acc-item[open] > summary::after { content: "−"; }
.kemi-theme .kemi-fs-acc-item > div { padding: 6px 18px 16px; }
@media (max-width: 800px) { .kemi-theme .kemi-fs-tb { width: calc(var(--w-sm) * 1%); } }

/* ---------------------------------------------------------------- Checkout (inc/checkout.php) — Kemi lab proposal, 2026-10-07 */
.kemi-checkout .kemi-hdr-main { height: 78px; }
.kemi-co-steps { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: var(--kemi-muted); }
.kemi-theme .kemi-co-steps a { color: var(--kemi-muted); text-decoration: none; }
.kemi-theme .kemi-co-steps a:hover { color: var(--kemi-ink); }
.kemi-co-steps b { color: var(--kemi-ink); }
.kemi-co-steps .sep { color: var(--kemi-line); }
.kemi-co-secure { margin-left: auto; font-size: 14px; color: var(--kemi-muted); white-space: nowrap; }
.kemi-checkout .kemi-burger { display: none; }
.kemi-checkout, .kemi-checkout #wrapper, .kemi-checkout #inner-wrap, .kemi-checkout .content-bg, .kemi-checkout .site-main, .kemi-checkout .content-area, .kemi-checkout main, .kemi-checkout .site-container, .kemi-checkout .content-container, .kemi-checkout .content-wrap { background: var(--kemi-bg); }
.kemi-theme.kemi-checkout .entry-header, .kemi-theme.kemi-checkout .kemi-page-title, .kemi-theme.kemi-checkout h1.entry-title { display: none; } /* beats the .kemi-page-std title band */
.kemi-theme.kemi-checkout article, .kemi-theme.kemi-checkout .entry-content-wrap, .kemi-theme.kemi-checkout .entry-content, .kemi-theme.kemi-checkout .content-wrap { background: transparent; box-shadow: none; padding-top: 0; padding-bottom: 0; }
.kemi-theme.kemi-checkout #order_review, .kemi-theme.kemi-checkout #customer_details, .kemi-theme.kemi-checkout .woocommerce-checkout #payment { float: none; width: auto; }
.kemi-checkout .woocommerce { max-width: 1180px; margin: 0 auto; padding: 8px 0 40px; }
.kemi-checkout .woocommerce-form-coupon-toggle .woocommerce-info { border: 1px solid var(--kemi-line); border-left: 3px solid var(--kemi-ink); background: #fff; color: var(--kemi-text); font-size: 14.5px; padding: 12px 16px; margin: 0 0 16px; }
.kemi-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
.kemi-checkout form.checkout_coupon { border: 1px solid var(--kemi-line); background: #fff; padding: 16px; margin: 0 0 16px; border-radius: 0; }
.kemi-checkout form.checkout_coupon .form-row { float: none; width: auto; margin: 0 0 12px; padding: 0; }
.kemi-checkout form.checkout_coupon .input-text { width: 100%; box-sizing: border-box; height: 48px; padding: 0 14px; border: 1px solid #c8c8c8; border-radius: 0; background: #fff; box-shadow: none; font: 16px var(--kemi-font); color: var(--kemi-ink); }
.kemi-theme.woocommerce-checkout form.checkout_coupon .form-row .input-text:focus { outline: none; border-color: var(--kemi-ink); box-shadow: 0 0 0 3px rgba(5,10,48,.08); }
.kemi-theme.kemi-checkout form.checkout_coupon button.button { height: 48px; padding: 0 24px; border: 0; border-radius: 0; background: var(--kemi-red); color: #fff; font: 700 15px var(--kemi-font); cursor: pointer; transition: background .15s; }
.kemi-theme.kemi-checkout form.checkout_coupon button.button:hover, .kemi-theme.kemi-checkout form.checkout_coupon button.button:focus { background: var(--kemi-ink); color: #fff; }
.kemi-co-cols { display: grid; grid-template-columns: minmax(0, 1fr) 372px; gap: 26px; align-items: start; }
.kemi-co-card { background: #fff; border: 1px solid var(--kemi-line); padding: 24px; margin-bottom: 16px; box-shadow: 0 1px 2px rgba(20, 20, 20, .05); }
.kemi-theme .kemi-co-h { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font-size: 19px; font-weight: 700; letter-spacing: -.01em; color: var(--kemi-ink); }
.kemi-co-num { width: 26px; height: 26px; background: var(--kemi-red); color: #fff; font-size: 14px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
/* fields */
.kemi-co-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.kemi-checkout .kemi-co-fields .form-row, .kemi-checkout .kemi-co-shipto .form-row { float: none; width: auto; margin: 14px 0 0; padding: 0; grid-column: 1 / -1; }
.kemi-checkout .kemi-co-fields .form-row-first { grid-column: 1; }
.kemi-checkout .kemi-co-fields .form-row-last { grid-column: 2; }
.kemi-checkout .form-row label { display: block; font-size: 14px; font-weight: 600; color: var(--kemi-ink); margin: 0 0 6px; line-height: 1.3; }
.kemi-checkout .form-row label .optional { font-weight: 400; color: var(--kemi-muted); }
.kemi-checkout .form-row label .required { color: var(--kemi-red); text-decoration: none; }
.kemi-checkout .form-row .input-text, .kemi-checkout .form-row select, .kemi-checkout .form-row textarea, .kemi-checkout .form-row .select2-container .select2-selection--single { width: 100%; height: 48px; padding: 0 14px; border: 1px solid #cfcfcf; border-radius: 0; background: #fff; color: var(--kemi-text); font: 400 16px var(--kemi-font); box-shadow: none; }
.kemi-checkout .form-row textarea { height: auto; min-height: 96px; padding: 12px 14px; }
.kemi-checkout .form-row .input-text:focus, .kemi-checkout .form-row select:focus, .kemi-checkout .form-row textarea:focus { outline: 0; border-color: var(--kemi-ink); box-shadow: 0 0 0 2px rgba(20, 20, 20, .08); }
.kemi-checkout .form-row.woocommerce-invalid .input-text { border-color: var(--kemi-red); }
.kemi-checkout .form-row .description { font-size: 13px; color: var(--kemi-muted); margin: 5px 0 0; }
.kemi-checkout .form-row .woocommerce-input-wrapper { display: block; }
.kemi-checkout .form-row .woocommerce-input-wrapper > strong { display: flex; align-items: center; height: 48px; padding: 0 14px; border: 1px solid #e4e4e4; background: var(--kemi-bg); font-weight: 500; } /* single allowed country */
.kemi-checkout .kemi-co-check, .kemi-checkout #ship-to-different-address { margin-top: 16px; }
.kemi-checkout .kemi-co-check label, .kemi-checkout #ship-to-different-address label { display: flex; align-items: center; gap: 12px; margin: 0; padding: 14px; background: #fafafa; border: 1px solid var(--kemi-line); font-size: 15px; font-weight: 600; cursor: pointer; }
.kemi-checkout #ship-to-different-address { font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.kemi-checkout .kemi-co-check input, .kemi-checkout #ship-to-different-address input { width: 19px; height: 19px; margin: 0; accent-color: var(--kemi-red); }
.kemi-checkout .woocommerce-shipping-fields h3, .kemi-checkout .woocommerce-additional-fields h3 { margin: 0; font-size: 15px; }
.kemi-checkout .woocommerce-additional-fields h3 { display: none; }
.kemi-checkout .shipping_address { margin-top: 6px; }
/* choice cards: shipping + payment */
.kemi-checkout ul.kemi-co-choices { list-style: none; margin: 0; padding: 0; }
.kemi-checkout .kemi-choice { position: relative; display: block; border: 1px solid #cfcfcf; background: #fff; margin: 12px 0 0; transition: border-color .12s; }
.kemi-checkout .kemi-choice:hover { border-color: var(--kemi-ink); }
.kemi-checkout .kemi-choice:has(> input:checked) { border-color: var(--kemi-red); box-shadow: 0 0 0 1px var(--kemi-red) inset; }
.kemi-checkout .kemi-choice > input { position: absolute; left: 16px; top: 18px; width: 19px; height: 19px; margin: 0; accent-color: var(--kemi-red); }
.kemi-checkout .kemi-choice > label { display: flex; gap: 14px; align-items: flex-start; margin: 0; padding: 16px 16px 16px 49px; font-weight: 400; cursor: pointer; }
.kemi-checkout .kemi-choice .t { flex: 1; }
.kemi-checkout .kemi-choice .t b { display: block; font-size: 16px; color: var(--kemi-ink); overflow-wrap: anywhere; line-height: 1.35; }
.kemi-checkout .kemi-choice .t small { color: var(--kemi-muted); font-size: 13.5px; }
.kemi-checkout .kemi-choice .p { font-weight: 700; color: var(--kemi-ink); white-space: nowrap; }
.kemi-checkout .kemi-choice .p.brand { display: flex; align-items: center; gap: 6px; }
.kemi-checkout .kemi-choice .p.brand img { max-height: 24px; width: auto; margin: 0; }
.kemi-checkout .kemi-choice .payment_box, .kemi-checkout .kemi-choice-extra:not(:empty) { padding: 0 16px 16px 49px; font-size: 14px; color: var(--kemi-muted); }
.kemi-checkout .kemi-choice .payment_box p:last-child { margin-bottom: 0; }
.kemi-checkout .kemi-choice-extra .button, .kemi-checkout .kemi-choice-extra button { margin-top: 10px; background: var(--kemi-ink); color: #fff; border: 0; border-radius: 0; padding: 0 16px; height: 40px; font: 600 14px var(--kemi-font); }
.kemi-checkout .kemi-co-shipping { margin-bottom: 4px; }
.kemi-co-hint { margin: 0; padding: 14px 16px; background: #fafafa; border: 1px dashed #cfcfcf; font-size: 14px; color: var(--kemi-muted); }
/* payment card + CTA */
.kemi-co-intro { margin: 0; font-size: 14.5px; color: var(--kemi-muted); }
.kemi-co-intro b { color: var(--kemi-ink); }
.kemi-checkout #payment .wc_payment_methods { margin: 0; padding: 0; background: none; }
.kemi-checkout #payment div.payment_box { background: none; border-radius: 0; margin: 0; }
.kemi-checkout #payment div.payment_box::before { display: none; }
.kemi-co-redirect { display: flex; gap: 12px; align-items: flex-start; margin-top: 18px; padding: 15px 16px; background: #fafafa; border-left: 3px solid var(--kemi-ink); font-size: 14.5px; line-height: 1.55; }
.kemi-co-ri { font-size: 17px; line-height: 1.3; }
.kemi-co-redirect small { display: block; color: var(--kemi-muted); margin-top: 6px; font-size: 13px; }
.kemi-checkout .kemi-co-place { margin: 20px -24px -24px; padding: 20px 24px 24px; border-top: 1px solid var(--kemi-line); background: #fff; }
.kemi-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p { font-size: 13px; color: var(--kemi-muted); margin: 0 0 10px; }
.kemi-checkout .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0; }
.kemi-checkout .woocommerce-terms-and-conditions-wrapper label { display: flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 500; }
.kemi-checkout .woocommerce-terms-and-conditions-wrapper input { width: 19px; height: 19px; margin: 0; accent-color: var(--kemi-red); }
.kemi-theme.kemi-checkout #place_order, .kemi-theme.kemi-checkout #place_order:focus { display: block; width: 100%; height: 58px; margin-top: 18px; border: 0; border-radius: 0; background: var(--kemi-red); color: #fff; font: 700 17px var(--kemi-font); letter-spacing: .01em; cursor: pointer; }
.kemi-theme.kemi-checkout #place_order:hover { background: var(--kemi-red-dark); color: #fff; }
.kemi-co-trust { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-top: 16px; font-size: 13px; color: var(--kemi-muted); }
/* summary */
.kemi-co-aside { position: sticky; top: 20px; }
.kemi-theme .kemi-co-sum-h { margin: 0 0 14px; font-size: 17px; font-weight: 700; color: var(--kemi-ink); }
.kemi-co-item { display: flex; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--kemi-line); }
.kemi-co-thumb { width: 56px; height: 56px; flex: 0 0 auto; background: var(--kemi-bg); border: 1px solid var(--kemi-line); display: grid; place-items: center; overflow: hidden; }
.kemi-co-thumb img { width: 100%; height: 100%; object-fit: contain; margin: 0; }
.kemi-co-item-n { flex: 1; font-size: 14.5px; color: var(--kemi-ink); line-height: 1.4; }
.kemi-co-item-n small { display: block; color: var(--kemi-muted); font-size: 12.5px; }
.kemi-co-item-n .variation { font-size: 12.5px; color: var(--kemi-muted); margin: 2px 0 0; }
.kemi-co-item-p { white-space: nowrap; color: var(--kemi-ink); }
.kemi-co-lines { margin-top: 6px; }
.kemi-co-line { display: flex; justify-content: space-between; gap: 12px; font-size: 15.5px; margin: 9px 0; }
.kemi-co-line small { color: var(--kemi-muted); font-size: 13px; }
.kemi-co-line.kemi-co-total { font-size: 21px; font-weight: 800; color: var(--kemi-ink); border-top: 1px solid var(--kemi-line); padding-top: 14px; margin-top: 14px; align-items: baseline; }
.kemi-co-line.kemi-co-total .includes_tax { display: block; font-size: 13px; font-weight: 400; color: var(--kemi-muted); text-align: right; margin-top: 4px; }
.kemi-co-neg, .kemi-checkout .cart-discount .amount { color: #1a7f45; }
.kemi-checkout .kemi-co-line .woocommerce-remove-coupon { margin-left: 6px; font-size: 12px; }
.kemi-checkout .woocommerce-checkout-review-order-table { margin: 0; }
.kemi-checkout #reikningsvidskipti_apply_banner { margin: 0 0 14px; padding: 12px 14px; background: #fafafa; border: 1px solid var(--kemi-line); font-size: 14px; }
.kemi-checkout .woocommerce-NoticeGroup, .kemi-checkout .woocommerce-notices-wrapper { margin-bottom: 16px; }
@media (max-width: 900px) {
  .kemi-checkout .kemi-hdr-main { height: 62px; }
  .kemi-co-steps { display: none; }
  .kemi-co-cols { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .kemi-co-aside { position: static; }
  .kemi-co-card { padding: 18px 16px; }
  .kemi-checkout .kemi-co-place { margin: 16px -16px -18px; padding: 16px; }
  .kemi-checkout .woocommerce { padding: 0 0 24px; }
}
@media (max-width: 600px) {
  .kemi-co-fields { grid-template-columns: 1fr; }
  .kemi-checkout .kemi-co-fields .form-row-first, .kemi-checkout .kemi-co-fields .form-row-last { grid-column: 1; }
}
/* checkout: specificity fixes against Woo/Kadence ID rules (2026-10-07) */
.kemi-theme.kemi-checkout .entry-header.page-title, .kemi-theme.kemi-checkout .entry-header { display: none !important; }
.kemi-theme.kemi-checkout #shipping_method li.kemi-choice > label, .kemi-theme.kemi-checkout #payment ul.payment_methods li.kemi-choice > label { display: flex !important; gap: 14px; align-items: flex-start; margin: 0; padding: 16px 16px 16px 49px; font-weight: 400; line-height: 1.35; }
.kemi-theme.kemi-checkout #shipping_method li.kemi-choice > label .p, .kemi-theme.kemi-checkout #payment li.kemi-choice > label .p { margin-left: auto; }
.kemi-theme.kemi-checkout #shipping_method li.kemi-choice, .kemi-theme.kemi-checkout #payment ul.payment_methods li.kemi-choice, .kemi-theme.kemi-checkout #payment ul.payment_methods li.kemi-choice:has(> input:checked) { background: #fff; padding: 0; margin: 12px 0 0; border: 1px solid #cfcfcf; border-left-width: 1px; border-radius: 0; line-height: inherit; }
.kemi-theme.kemi-checkout #payment ul.payment_methods li.kemi-choice:has(> input:checked), .kemi-theme.kemi-checkout #shipping_method li.kemi-choice:has(> input:checked) { border-color: var(--kemi-red); box-shadow: 0 0 0 1px var(--kemi-red) inset; }
.kemi-theme.kemi-checkout #payment ul.payment_methods li.kemi-choice > input, .kemi-theme.kemi-checkout #shipping_method li.kemi-choice > input { position: absolute; left: 16px; top: 18px; width: 19px; height: 19px; margin: 0; appearance: auto; -webkit-appearance: radio; accent-color: var(--kemi-red); }
.kemi-theme.kemi-checkout #payment ul.payment_methods li.kemi-choice .payment_box { background: none; padding: 0 16px 16px 49px; margin: 0; font-size: 14px; color: var(--kemi-muted); }
.kemi-theme.kemi-checkout #payment ul.payment_methods li.kemi-choice .payment_box::before { display: none; }
.kemi-theme.kemi-checkout #ship-to-different-address, .kemi-theme.kemi-checkout #ship-to-different-address label { text-transform: none !important; letter-spacing: 0 !important; font-size: 15px !important; }
.kemi-co-line > span:first-child { flex: 1 1 auto; min-width: 0; }
.kemi-co-line > span:last-child { flex: 0 0 auto; white-space: nowrap; text-align: right; }
.kemi-theme.kemi-checkout #shipping_method li.kemi-choice, .kemi-theme.kemi-checkout #payment ul.payment_methods li.kemi-choice { display: block; }
.kemi-theme.kemi-checkout #shipping_method li.kemi-choice > label, .kemi-theme.kemi-checkout #payment ul.payment_methods li.kemi-choice > label { width: 100%; box-sizing: border-box; background: transparent !important; }
.kemi-theme.kemi-checkout #shipping_method li.kemi-choice > label .t, .kemi-theme.kemi-checkout #payment ul.payment_methods li.kemi-choice > label .t { flex: 1 1 auto; }
.kemi-theme.kemi-checkout #shipping_method li.kemi-choice .kemi-choice-extra { padding: 0 16px 16px 49px; }
.kemi-theme.kemi-checkout #shipping_method li.kemi-choice .kemi-choice-extra:empty { padding: 0; }
.kemi-theme.kemi-checkout #shipping_method li.kemi-choice .kemi-choice-extra label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 600; color: var(--kemi-ink); }
.kemi-theme.kemi-checkout #shipping_method li.kemi-choice .kemi-choice-extra select { width: 100%; max-width: 420px; height: 44px; padding: 0 12px; border: 1px solid #cfcfcf; border-radius: 0; font: 400 15px var(--kemi-font); }
/* Plate search: tab says "Varahlutir", the input keeps its "-- ---" mask and shows a light "Bílnúmer" hint on the right until something is typed (Gústi, 2026-10-07). */
.kemi-theme .kemi-plate .p-platenr-input-container::after { content: "Bílnúmer"; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); pointer-events: none; font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #b0b0b0; }
.kemi-theme .kemi-plate .p-platenr-input-container:has(input:not(:placeholder-shown))::after, .kemi-theme .kemi-plate .p-platenr-input-container:has(input:focus)::after { opacity: .45; }
.kemi-theme .kemi-plate .p-platenr-input-container input { padding-right: 96px !important; }
/* Checkout: field hints are plain text under the field (Woo hides them as focus tooltips, which pushed the "Stofna aðgang?" box over the phone field). */
.kemi-theme.kemi-checkout form .form-row .description { display: block !important; position: static !important; margin: 5px 0 0; padding: 0; border: 0; background: none; box-shadow: none; font-size: 13px; color: var(--kemi-muted); }
.kemi-theme.kemi-checkout form .form-row .description::before { display: none; }
.kemi-theme.kemi-checkout form .form-row.create-account.kemi-co-check { margin: 16px 0 0; }
.kemi-theme .kemi-plate .p-platenr-input-container::after { z-index: 2; }
@media (max-width: 600px) {
  .kemi-theme .kemi-plate .p-platenr-input-container::after { right: 8px; font-size: 11px; letter-spacing: .02em; }
  .kemi-theme .kemi-plate .p-platenr-input-container input { padding-right: 70px !important; }
}
/* Phones: the plate input gets the whole row; "Ítarleg leit" drops to its own row below (it used to squeeze the input to ~60px). */
@media (max-width: 600px) {
  .kemi-theme .kemi-plate form { flex-wrap: wrap; }
  .kemi-theme .kemi-plate .p-plate-box { flex: 1 1 100%; }
  .kemi-theme .kemi-plate .header-button.adv_search { flex: 1 1 100%; margin: 0; border-top: 1px solid var(--kemi-line); }
  .kemi-theme .kemi-plate .adv_search button { width: 100%; height: 40px; border-left: 0; justify-content: center; display: flex; align-items: center; }
  .kemi-theme .kemi-plate .p-platenr-input-container::after { right: 12px; font-size: 12px; }
  .kemi-theme .kemi-plate .p-platenr-input-container input { padding-right: 90px !important; }
}
@media (max-width: 600px) {
  .kemi-theme .kemi-plate, .kemi-theme .kemi-plate .nh_platesearch, .kemi-theme .kemi-plate form { width: 100%; }
  .kemi-theme .kemi-plate .header-button.adv_search { width: 100%; background: #fff; }
  .kemi-search-pane.tab-bill.is-active { flex-wrap: wrap; }
}
/* Phones, final: no second row — "Ítarleg leit" becomes an icon-only button beside the search button. */
@media (max-width: 600px) {
  .kemi-theme .kemi-plate form { flex-wrap: nowrap; }
  .kemi-theme .kemi-plate .p-plate-box { flex: 1 1 auto; }
  .kemi-theme .kemi-plate .header-button.adv_search { flex: 0 0 auto; width: auto; border-top: 0; }
  .kemi-theme .kemi-plate .adv_search button { width: 44px; height: 100%; padding: 0; font-size: 0; border-left: 1px solid var(--kemi-line); }
  .kemi-theme .kemi-plate .adv_search button svg { width: 16px; height: 16px; margin: 0; }
  .kemi-search-pane.tab-bill.is-active { flex-wrap: nowrap; }
}
/* Front-page product rows (kemi/product-row): one scrolling row, 5 cards wide like the archive ladder (2026-10-07). */
.kemi-product-row .kemi-row-scroller { margin-top: 4px; }
.kemi-product-row .kemi-row-track .kemi-card { flex-basis: calc((100% - 4px) / 5); }
@media (max-width: 1200px) { .kemi-product-row .kemi-row-track .kemi-card { flex-basis: calc((100% - 3px) / 4); } }
@media (max-width: 900px) { .kemi-product-row .kemi-row-track .kemi-card { flex-basis: calc((100% - 2px) / 3); } }
@media (max-width: 600px) { .kemi-product-row .kemi-row-track .kemi-card { flex-basis: calc((100% - 1px) / 2); } }
/* Hero tiles with a background photo (kemi/hero tile1Img/tile2Img, images ship in plugins/kemi-blocks/assets/hero) — 2026-10-07 */
.kemi-hero-tile { position: relative; isolation: isolate; }
.kemi-hero-tile .kemi-tile-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .5s ease; }
.kemi-hero-tile.has-img::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(0,0,0,.66) 0%, rgba(0,0,0,.38) 48%, rgba(0,0,0,.06) 100%); }
.kemi-hero-tile.has-img.is-red::before { background: linear-gradient(90deg, rgba(150,12,8,.82) 0%, rgba(190,25,18,.5) 48%, rgba(218,37,28,.08) 100%); }
.kemi-hero-tile.has-img:hover .kemi-tile-bg { transform: scale(1.04); }
.kemi-hero-tile.has-img:hover { filter: none; }
.kemi-hero-tile.has-img .k, .kemi-hero-tile.has-img .s { text-shadow: 0 1px 8px rgba(0,0,0,.35); }
@media (max-width: 480px) {
  .kemi-hero-tile { padding: 14px; }
  .kemi-hero-tile .k { font-size: 14px; letter-spacing: -.02em; overflow-wrap: anywhere; }
  .kemi-hero-tile .s { font-size: 11.5px; line-height: 1.35; }
}
/* Plate-search spotlight (kemi.js, "Bílavarahlutaleit" tile): four panels dim + blur everything except the search box. */
.kemi-spot-panel { position: fixed; z-index: 99990; background: rgba(12, 12, 12, .32); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .22s ease, visibility 0s linear .22s; cursor: pointer; }
.kemi-spot-panel.is-on { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .22s ease; } /* hidden panels must never swallow clicks */
.kemi-search.is-spotlit { position: relative; z-index: 99991; box-shadow: 0 0 0 4px rgba(255, 255, 255, .92), 0 10px 36px rgba(0, 0, 0, .35); border-color: var(--kemi-ink); }
@media (prefers-reduced-motion: reduce) { .kemi-spot-panel { transition: none; } }

/* ---------- Vörumerki: logo grid + sticky A–Z bar + search (inc/brands.php) — 2026-10-07 ---------- */
.kemi-brands { --kemi-brands-top: 0px; }
.kemi-brands-bar { position: sticky; top: var(--kemi-brands-top); z-index: 40; background: #fff; border-bottom: 1px solid var(--kemi-line); padding: 14px 0; display: grid; grid-template-columns: minmax(240px, 340px) 1fr; gap: 12px 24px; align-items: center; }
.kemi-brands-search { display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 14px; border: 1px solid #c8c8c8; background: #fff; color: var(--kemi-muted); margin: 0; }
.kemi-brands-search:focus-within { border-color: var(--kemi-ink); color: var(--kemi-ink); }
.kemi-brands-search input[type=search] { flex: 1; min-width: 0; border: 0; box-shadow: none; outline: none; background: transparent; padding: 0; height: auto; font: 500 16px var(--kemi-font); color: var(--kemi-ink); }
.kemi-brands-az { display: flex; flex-wrap: wrap; gap: 4px; }
.kemi-brands-az a, .kemi-brands-az span { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 6px; box-sizing: border-box; font-size: 14px; font-weight: 700; text-decoration: none; }
.kemi-brands-az a { background: var(--kemi-bg); color: var(--kemi-ink); border: 1px solid transparent; }
.kemi-brands-az a:hover, .kemi-brands-az a:focus-visible { border-color: var(--kemi-ink); color: var(--kemi-ink); }
.kemi-brands-az a.is-off { opacity: .3; pointer-events: none; }
.kemi-brands-az .is-empty { color: #c4c4c4; }
.kemi-brands-count { margin: 16px 0 0; font-size: 14px; color: var(--kemi-muted); }
.kemi-brands-group { scroll-margin-top: 130px; padding-top: 8px; }
.kemi-brands-group[hidden], .kemi-brands-grid li[hidden], .kemi-brands-none[hidden] { display: none; }
.kemi-brands-letter { display: flex; align-items: center; gap: 16px; margin: 28px 0 16px; font-size: 28px; line-height: 1; font-weight: 800; color: var(--kemi-ink); max-width: none !important; }
.kemi-brands-letter::before { content: ""; width: 4px; height: 26px; background: var(--kemi-red); }
.kemi-brands-letter::after { content: ""; flex: 1; height: 1px; background: var(--kemi-line); }
.kemi-theme .kemi-brands ul.kemi-brands-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--kb-cols, 6), minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--kemi-line); border-left: 1px solid var(--kemi-line); max-width: none !important; }
.kemi-theme .kemi-brands ul.kemi-brands-grid > li { list-style: none; margin: 0; background: #fff; border-right: 1px solid var(--kemi-line); border-bottom: 1px solid var(--kemi-line); }
.kemi-theme a.kemi-brand-card { display: flex; flex-direction: column; height: 100%; padding: 16px 16px 14px; box-sizing: border-box; text-decoration: none; color: var(--kemi-ink); transition: box-shadow .15s; }
.kemi-theme a.kemi-brand-card:hover, .kemi-theme a.kemi-brand-card:focus-visible { box-shadow: inset 0 0 0 2px var(--kemi-ink); color: var(--kemi-ink); position: relative; z-index: 1; }
.kemi-brand-card-logo { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; background: #fff; position: relative; overflow: hidden; }
.kemi-brand-card-logo img { position: absolute; inset: 0; margin: auto; max-width: 74%; max-height: 74%; width: auto; height: auto; object-fit: contain; }
.kemi-brand-card.is-nologo .kemi-brand-card-logo { background: var(--kemi-bg); padding: 10px; box-sizing: border-box; text-align: center; }
.kemi-brand-card-logo b { font-size: 16px; line-height: 1.2; font-weight: 800; color: #8a8a8a; letter-spacing: .01em; overflow-wrap: anywhere; }
.kemi-brand-card-name { margin-top: 12px; font-size: 15px; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.kemi-theme a.kemi-brand-card:hover .kemi-brand-card-name { color: var(--kemi-red); }
.kemi-brands-none { margin: 32px 0; padding: 24px; background: var(--kemi-bg); font-size: 16px; }
@media (max-width: 1200px) { .kemi-brands { --kb-cols: 5; } }
@media (max-width: 960px) {
  .kemi-brands-bar { grid-template-columns: 1fr; }
  .kemi-brands { --kb-cols: 4; }
}
@media (max-width: 720px) {
  .kemi-brands-az { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 2px; }
  .kemi-brands-az::-webkit-scrollbar { display: none; }
  .kemi-brands-az a, .kemi-brands-az span { flex: 0 0 auto; min-width: 40px; height: 40px; }
  .kemi-brands { --kb-cols: 2; }
  .kemi-brands-group { scroll-margin-top: 150px; }
  .kemi-brands-letter { font-size: 24px; margin: 22px 0 12px; }
  .kemi-theme a.kemi-brand-card { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) { .kemi-theme a.kemi-brand-card { transition: none; } }

/* ---------- Vörulistar: PDF card grid (inc/catalogues.php) — 2026-10-08 ---------- */
.kemi-cats-count { margin: 0 0 16px; font-size: 14px; color: var(--kemi-muted); }
.kemi-theme .kemi-cats ul.kemi-cats-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--kemi-line); border-left: 1px solid var(--kemi-line); }
.kemi-theme .kemi-cats ul.kemi-cats-grid > li { list-style: none; margin: 0; background: #fff; border-right: 1px solid var(--kemi-line); border-bottom: 1px solid var(--kemi-line); }
.kemi-theme a.kemi-cat-card { display: flex; align-items: center; gap: 16px; height: 100%; padding: 20px; box-sizing: border-box; text-decoration: none; color: var(--kemi-ink); transition: box-shadow .15s; }
.kemi-theme a.kemi-cat-card:hover, .kemi-theme a.kemi-cat-card:focus-visible { box-shadow: inset 0 0 0 2px var(--kemi-ink); color: var(--kemi-ink); position: relative; z-index: 1; }
.kemi-cat-ico { position: relative; flex: 0 0 56px; height: 64px; display: flex; align-items: center; justify-content: center; background: var(--kemi-bg); color: var(--kemi-red); }
.kemi-cat-ico b { position: absolute; bottom: 7px; font-size: 9px; letter-spacing: .06em; font-weight: 800; color: var(--kemi-ink); }
.kemi-cat-ico svg { margin-bottom: 10px; }
.kemi-cat-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.kemi-cat-title { font-size: 16px; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.kemi-theme a.kemi-cat-card:hover .kemi-cat-title { color: var(--kemi-red); }
.kemi-cat-meta { font-size: 13px; color: var(--kemi-muted); }
.kemi-cat-go { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--kemi-ink); }
.kemi-cats-note { margin: 24px 0 0; padding: 18px 20px; background: var(--kemi-bg); font-size: 15px; }
@media (max-width: 1100px) { .kemi-theme .kemi-cats ul.kemi-cats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .kemi-theme .kemi-cats ul.kemi-cats-grid { grid-template-columns: 1fr; }
  .kemi-theme a.kemi-cat-card { padding: 16px; gap: 14px; }
  .kemi-cat-go span, .kemi-cat-go { font-size: 0; gap: 0; }
  .kemi-cat-go svg { width: 20px; height: 20px; }
}
@media (prefers-reduced-motion: reduce) { .kemi-theme a.kemi-cat-card { transition: none; } }

/* ---------- Fylgiskjöl + Öryggisblöð (inc/documents.php) — 2026-10-09 ---------- */
.kemi-theme .kemi-docs { margin: 0 0 24px; border-top: 1px solid var(--kemi-line); }
.kemi-theme .kemi-docs-group > summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; padding: 14px 18px; list-style: none; background: #fff; border: 1px solid var(--kemi-line); border-top: 0; color: var(--kemi-ink); font-size: 15px; font-weight: 700; line-height: 1.3; cursor: pointer; transition: background .12s, border-color .12s; }
.kemi-theme .kemi-docs-group > summary::-webkit-details-marker { display: none; }
.kemi-theme .kemi-docs-group > summary::after { content: "+"; flex: none; font-size: 22px; font-weight: 500; line-height: 1; color: var(--kemi-red); }
.kemi-theme .kemi-docs-group > summary:hover { background: var(--kemi-bg); border-color: var(--kemi-ink); border-top: 0; }
.kemi-theme .kemi-docs-group[open] > summary { background: var(--kemi-bg); box-shadow: inset 3px 0 0 var(--kemi-red); }
.kemi-theme .kemi-docs-group[open] > summary::after { content: "−"; }
.kemi-theme .kemi-docs-group > summary:focus-visible { outline: 2px solid var(--kemi-red); outline-offset: -2px; }
.kemi-theme .kemi-docs-group > ul { margin: 0; padding: 6px 18px 14px; list-style: none; border: 1px solid var(--kemi-line); border-top: 0; background: #fff; }
.kemi-theme .kemi-docs-group > ul > li { margin: 0; padding: 7px 0; overflow-wrap: anywhere; }
.kemi-sds-q { width: 100%; max-width: 520px; box-sizing: border-box; padding: 12px 14px; font-size: 16px; border: 1px solid var(--kemi-line); background: #fff; }
.kemi-sds-count { margin: 10px 0 16px; font-size: 14px; color: var(--kemi-muted); }
.kemi-theme .kemi-sds-table { width: 100%; border-collapse: collapse; background: #fff; }
.kemi-theme .kemi-sds-table th { text-align: left; padding: 10px 12px; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--kemi-muted); border-bottom: 2px solid var(--kemi-ink); }
.kemi-theme .kemi-sds-table td { padding: 9px 12px; font-size: 15px; line-height: 1.45; border-bottom: 1px solid var(--kemi-line); vertical-align: middle; overflow-wrap: anywhere; }
.kemi-theme .kemi-sds-table tr[hidden] { display: none; }
.kemi-theme .kemi-sds-table th:nth-child(n+3), .kemi-theme .kemi-sds-table td:nth-child(n+3) { width: 96px; text-align: center; white-space: nowrap; vertical-align: middle; }
.kemi-theme .kemi-sds-table td:nth-child(n+3) { color: var(--kemi-muted); }
.kemi-theme a.kemi-sds-pdf { display: inline-block; min-width: 64px; box-sizing: border-box; padding: 6px 14px; border: 1px solid var(--kemi-ink); background: #fff; font-size: 12px; font-weight: 800; letter-spacing: .06em; line-height: 1.2; text-align: center; white-space: nowrap; text-decoration: none; color: var(--kemi-ink); transition: background .15s, color .15s, border-color .15s; }
.kemi-theme a.kemi-sds-pdf:hover, .kemi-theme a.kemi-sds-pdf:focus-visible { background: var(--kemi-red); border-color: var(--kemi-red); color: #fff; }
@media (max-width: 640px) {
  .kemi-theme .kemi-sds-table thead { display: none; }
  .kemi-theme .kemi-sds-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; padding: 12px 0; border-bottom: 1px solid var(--kemi-line); }
  .kemi-theme .kemi-sds-table td { display: block; padding: 0; border: 0; }
  .kemi-theme .kemi-sds-table td:first-child { grid-column: 1 / -1; font-weight: 700; }
  .kemi-theme .kemi-sds-table td:nth-child(2) { grid-column: 1 / -1; font-size: 13px; color: var(--kemi-muted); }
  .kemi-theme .kemi-sds-table td:nth-child(n+3) { width: auto; text-align: left; }
}

/* ---------- Hafa samband (inc/contact.php) ---------- */
.kemi-contact { max-width: var(--kemi-max); margin: 0 auto; }
.kemi-ct-lead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 0 0 26px; }
.kemi-theme .kemi-contact .kemi-ct-lead p { margin: 0; font-size: 18px; line-height: 1.5; color: var(--kemi-text); max-width: 720px; }
.kemi-ct-status { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; font-size: 14px; font-weight: 700; background: var(--kemi-bg); color: var(--kemi-ink); }
.kemi-ct-status::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--kemi-muted); }
.kemi-ct-status.is-open::before { background: var(--kemi-green); }
.kemi-ct-status.is-closed::before { background: var(--kemi-red); }
.kemi-ct-status[hidden] { display: none; }
.kemi-ct-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 28px; }
.kemi-theme .kemi-contact a.kemi-ct-tile { display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: var(--kemi-bg); border-top: 3px solid var(--kemi-red); color: var(--kemi-ink); text-decoration: none; transition: background .15s, box-shadow .15s; }
.kemi-theme .kemi-contact a.kemi-ct-tile:hover, .kemi-theme .kemi-contact a.kemi-ct-tile:focus-visible { background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.09); color: var(--kemi-ink); }
.kemi-ct-ico { flex: none; color: var(--kemi-ink); }
.kemi-ct-tile span { display: flex; flex-direction: column; min-width: 0; }
.kemi-ct-tile small { font-size: 13px; line-height: 1.35; color: var(--kemi-muted); }
.kemi-ct-tile strong { font-size: 19px; font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; }
.kemi-ct-main { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px; align-items: start; margin: 0 0 24px; }
.kemi-ct-info { display: grid; gap: 24px; }
.kemi-ct-card, .kemi-ct-form { background: #fff; border: 1px solid var(--kemi-line); padding: 26px 28px; box-sizing: border-box; }
.kemi-ct-form { border-top: 3px solid var(--kemi-red); box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.kemi-theme .kemi-contact h2 { display: flex; align-items: center; gap: 10px; font-size: 21px; font-weight: 800; margin: 0 0 14px; color: var(--kemi-ink); }
.kemi-theme .kemi-contact h2 .kemi-ct-ico { width: 24px; height: 24px; color: var(--kemi-red); }
.kemi-theme .kemi-contact .kemi-ct-card address { font-style: normal; font-size: 16px; line-height: 1.6; margin: 0 0 6px; }
.kemi-theme .kemi-contact .kemi-ct-company { margin: 0 0 16px; font-size: 14px; color: var(--kemi-muted); }
.kemi-theme .kemi-contact a.kemi-ct-btn { display: inline-block; padding: 10px 18px; background: var(--kemi-ink); color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; transition: background .15s; }
.kemi-theme .kemi-contact a.kemi-ct-btn:hover { background: var(--kemi-red); color: #fff; }
.kemi-ct-hours { margin: 0; }
.kemi-ct-hours > div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 12px; margin: 0 -12px; border-bottom: 1px solid var(--kemi-line); font-size: 16px; }
.kemi-ct-hours > div:last-child { border-bottom: 0; }
.kemi-ct-hours dt { margin: 0; color: var(--kemi-text); }
.kemi-ct-hours dd { margin: 0; font-weight: 700; color: var(--kemi-ink); }
.kemi-ct-hours > div.is-today { background: var(--kemi-bg); box-shadow: inset 3px 0 0 var(--kemi-red); }
.kemi-theme .kemi-contact .kemi-ct-note { margin: 14px 0 0; font-size: 14px; color: var(--kemi-muted); }
.kemi-theme .kemi-contact .kemi-ct-form > p { margin: 0 0 20px; color: var(--kemi-muted); font-size: 15px; }
.kemi-ct-form .gform_wrapper { margin: 0; }
.kemi-ct-form .gform_fields { display: grid; gap: 18px; }
.kemi-ct-form .gfield { margin: 0; padding: 0; }
.kemi-ct-form .gfield_label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 700; color: var(--kemi-ink); }
.kemi-ct-form .gfield_required, .kemi-ct-form .gfield_required_text { margin-left: 6px; font-size: 12px; font-weight: 600; font-style: normal; color: var(--kemi-muted); }
.kemi-ct-form input[type=text], .kemi-ct-form input[type=email], .kemi-ct-form input[type=tel], .kemi-ct-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #c8c8c8; border-radius: 0; background: #fff; padding: 0 14px; height: 48px; font: 16px var(--kemi-font); color: var(--kemi-ink); box-shadow: none; }
.kemi-ct-form textarea { height: auto; min-height: 180px; padding: 12px 14px; resize: vertical; }
.kemi-ct-form input:focus, .kemi-ct-form textarea:focus { outline: none; border-color: var(--kemi-ink); }
.kemi-ct-form .gform_footer { margin: 20px 0 0; padding: 0; }
.kemi-theme .kemi-ct-form .gform_button, .kemi-theme .kemi-ct-form .gform_footer input[type=submit] { display: block; width: 100%; height: 50px; border: 0; border-radius: 0; background: var(--kemi-red); color: #fff; font: 700 15px var(--kemi-font); cursor: pointer; transition: background .15s; }
.kemi-theme .kemi-ct-form .gform_button:hover { background: var(--kemi-ink); }
.kemi-ct-form .gform_confirmation_message { padding: 16px 18px; background: var(--kemi-bg); border-left: 4px solid var(--kemi-green); font-size: 15px; }
.kemi-ct-form .validation_error, .kemi-ct-form .gfield_validation_message { color: var(--kemi-red); font-size: 14px; font-weight: 600; }
/* Multi-step Gravity Forms on standard pages (Bóka tíma): card, step bar, choice cards, 12-col grid.
   The contact form keeps its own .kemi-ct-form rules. */
.kemi-page-std .gform_wrapper.gravity-theme:not(.kemi-ct-form *) { max-width: 980px; margin: 8px 0 40px; background: #fff; border: 1px solid var(--kemi-line); border-top: 3px solid var(--kemi-red); box-shadow: 0 10px 30px rgba(0,0,0,.06); padding: 28px 32px 32px; box-sizing: border-box; }
.kemi-page-std .gform_wrapper .gform_heading { margin: 0 0 22px; }
.kemi-page-std .gform_wrapper .gform_title { margin: 0 0 6px; font-size: 24px; font-weight: 800; color: var(--kemi-ink); }
.kemi-page-std .gform_wrapper .gform_description { margin: 0; color: var(--kemi-muted); font-size: 15px; }
.kemi-page-std .gform_wrapper .gform_required_legend:empty { display: none; }
/* steps */
.kemi-page-std .gform_wrapper .gf_page_steps { display: flex; gap: 8px; margin: 0 0 28px; padding: 0; border: 0; counter-reset: none; }
.kemi-page-std .gform_wrapper .gf_step { flex: 1 1 0; display: flex; align-items: center; gap: 10px; min-width: 0; padding: 0 0 12px; border-bottom: 3px solid var(--kemi-line); margin: 0; font-size: 14px; font-weight: 700; color: var(--kemi-muted); }
.kemi-page-std .gform_wrapper .gf_step_number { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--kemi-line); background: #fff; font-size: 13px; font-weight: 800; line-height: 1; color: var(--kemi-muted); }
.kemi-page-std .gform_wrapper .gf_step_label { min-width: 0; line-height: 1.25; }
.kemi-page-std .gform_wrapper .gf_step_active { border-bottom-color: var(--kemi-red); color: var(--kemi-ink); }
.kemi-page-std .gform_wrapper .gf_step_active .gf_step_number { background: var(--kemi-red); border-color: var(--kemi-red); color: #fff; }
.kemi-page-std .gform_wrapper .gf_step_completed { border-bottom-color: var(--kemi-green); color: var(--kemi-ink); }
.kemi-page-std .gform_wrapper .gf_step_completed .gf_step_number { background: var(--kemi-green); border-color: var(--kemi-green); color: #fff; font-size: 0; }
.kemi-page-std .gform_wrapper .gf_step_number { position: relative; }
.kemi-page-std .gform_wrapper .gf_step_completed .gf_step_number::after { content: ""; position: absolute; left: 50%; top: 50%; width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: translate(-50%, -62%) rotate(45deg); }
/* field grid */
.kemi-page-std .gform_wrapper .gform_fields { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px 20px; margin: 0; padding: 0; list-style: none; }
.kemi-page-std .gform_wrapper .gfield { grid-column: span 12; margin: 0; padding: 0; min-width: 0; border: 0; }
.kemi-page-std .gform_wrapper .gfield--width-half { grid-column: span 6; }
.kemi-page-std .gform_wrapper .gfield--width-five-twelfths { grid-column: span 5; }
.kemi-page-std .gform_wrapper .gfield--width-seven-twelfths { grid-column: span 7; }
.kemi-page-std .gform_wrapper .gfield--width-third { grid-column: span 4; }
.kemi-page-std .gform_wrapper .gfield_visibility_hidden, .kemi-page-std .gform_wrapper .gfield .admin-hidden-markup { display: none; }
.kemi-page-std .gform_wrapper .gfield_label, .kemi-page-std .gform_wrapper legend.gfield_label { display: block; margin: 0 0 8px; padding: 0; font-size: 14px; font-weight: 700; color: var(--kemi-ink); }
.kemi-page-std .gform_wrapper .hidden_label > .gfield_label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.kemi-page-std .gform_wrapper .gfield_required { margin-left: 4px; font-size: 14px; font-weight: 700; color: var(--kemi-red); }
.kemi-page-std .gform_wrapper .gfield_required .gfield_required { margin: 0; }
.kemi-page-std .gform_wrapper .gfield_description { margin: 6px 0 0; font-size: 13px; color: var(--kemi-muted); }
/* inputs */
.kemi-page-std .gform_wrapper :is(input[type=text], input[type=email], input[type=tel], input[type=number], select, textarea) { width: 100%; box-sizing: border-box; height: 48px; padding: 0 14px; border: 1px solid #c8c8c8; border-radius: 0; background: #fff; font: 16px var(--kemi-font); color: var(--kemi-ink); box-shadow: none; }
.kemi-page-std .gform_wrapper textarea { height: auto; min-height: 130px; padding: 12px 14px; resize: vertical; }
.kemi-page-std .gform_wrapper :is(input, select, textarea):focus { outline: none; border-color: var(--kemi-ink); box-shadow: 0 0 0 3px rgba(5,10,48,.08); }
.kemi-page-std .gform_wrapper ::placeholder { color: #9a9a9a; }
.kemi-page-std .gform_wrapper .ginput_container_date { position: relative; }
.kemi-page-std .gform_wrapper .ginput_container_date input { padding-right: 48px; }
.kemi-page-std .gform_wrapper .gform-datepicker-toggle { position: absolute; top: 0; right: 0; width: 48px; height: 48px; padding: 0; border: 0; background: transparent; color: var(--kemi-ink); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.kemi-page-std .gform_wrapper .gform-datepicker-toggle:hover { color: var(--kemi-red); }
/* choice fields */
.kemi-page-std .gform_wrapper .gfield_radio, .kemi-page-std .gform_wrapper .gfield_checkbox { display: grid; gap: 10px; margin: 0; padding: 0; }
.kemi-page-std .gform_wrapper .gf_list_2col .gfield_radio { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.kemi-page-std .gform_wrapper .gchoice { position: relative; display: flex; align-items: center; gap: 12px; margin: 0; padding: 14px 16px; border: 1px solid #c8c8c8; background: #fff; transition: border-color .15s, background .15s; cursor: pointer; }
.kemi-page-std .gform_wrapper .gchoice:hover { border-color: var(--kemi-ink); }
.kemi-page-std .gform_wrapper .gchoice:has(input:checked) { border-color: var(--kemi-red); background: var(--kemi-bg); box-shadow: inset 3px 0 0 var(--kemi-red); }
.kemi-page-std .gform_wrapper .gchoice:has(input:focus-visible) { outline: 2px solid var(--kemi-ink); outline-offset: 2px; }
.kemi-page-std .gform_wrapper .gchoice input[type=radio], .kemi-page-std .gform_wrapper .gchoice input[type=checkbox] { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--kemi-red); cursor: pointer; }
.kemi-page-std .gform_wrapper .gchoice label { flex: 1; margin: 0; font-size: 16px; font-weight: 600; color: var(--kemi-ink); cursor: pointer; }
/* insurer notices + summary */
.kemi-page-std .gform_wrapper .gfield_html h3 { margin: 0 0 8px; font-size: 18px; font-weight: 800; color: var(--kemi-ink); }
.kemi-page-std .gform_wrapper .gfield_html p { font-size: 15px !important; line-height: 1.55; }
.kemi-page-std .gform_wrapper .gfield_html:has(> h3) { padding: 16px 18px; background: var(--kemi-bg); border-left: 4px solid var(--kemi-red); }
.kemi-page-std .gform_wrapper .gfield_html:has(> h3) a { color: var(--kemi-red); font-weight: 700; }
.kemi-page-std .gform_wrapper .gfield_html:has(> div[style*="padding-top"]:only-child), .kemi-page-std .gform_wrapper .gfield_html:empty { display: none; }
.kemi-page-std .gform_wrapper .gfield_html svg { display: block; max-width: 100%; height: auto; }
.kemi-page-std .gform_wrapper .custom-form-container { border: 1px solid var(--kemi-line); }
.kemi-page-std .gform_wrapper .custom-form-step { padding: 16px 20px; border-bottom: 1px solid var(--kemi-line); }
.kemi-page-std .gform_wrapper .custom-form-step:last-child { border-bottom: 0; }
.kemi-page-std .gform_wrapper .step-title { margin: 0 0 10px; font-size: 16px; font-weight: 800; color: var(--kemi-ink); }
.kemi-page-std .gform_wrapper .form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px 24px; margin: 0 0 6px; }
.kemi-page-std .gform_wrapper .form-columns { font-size: 15px; color: var(--kemi-text); overflow-wrap: anywhere; }
.kemi-page-std .gform_wrapper .form-info-label { font-weight: 700; color: var(--kemi-ink); }
/* footer buttons */
.kemi-page-std .gform_wrapper :is(.gform_page_footer, .gform-page-footer, .gform_footer) { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 0; padding: 0; }
.kemi-theme .gform_wrapper :is(.gform_next_button, .gform_button, input[type=submit]) { margin: 0; min-width: 160px; height: 50px; padding: 0 28px; border: 0; border-radius: 0; background: var(--kemi-red); color: #fff; font: 700 15px var(--kemi-font); cursor: pointer; transition: background .15s; }
.kemi-theme .gform_wrapper :is(.gform_next_button, .gform_button, input[type=submit]):hover { background: var(--kemi-ink); }
.kemi-page-std .gform_wrapper.gravity-theme :is(.gform_page_footer, .gform-page-footer, .gform_footer) :is(button, input) + :is(button, input), .kemi-page-std .gform_wrapper.gravity-theme :is(.gform_page_footer, .gform-page-footer, .gform_footer) :is(button, input) { margin: 0; }
.kemi-theme .gform_wrapper .gform_previous_button { min-width: 120px; height: 50px; padding: 0 24px; border: 1px solid var(--kemi-ink); border-radius: 0; background: #fff; color: var(--kemi-ink); font: 700 15px var(--kemi-font); cursor: pointer; transition: background .15s, color .15s; }
.kemi-theme .gform_wrapper .gform_previous_button:hover { background: var(--kemi-ink); color: #fff; }
.kemi-page-std .gform_wrapper .gform_confirmation_message, .kemi-page-std .gform_confirmation_wrapper { padding: 18px 20px; background: var(--kemi-bg); border-left: 4px solid var(--kemi-green); font-size: 16px; }
.kemi-page-std .gform_wrapper :is(.validation_error, .gform_validation_errors) { margin: 0 0 20px; padding: 14px 16px; border-left: 4px solid var(--kemi-red); background: #fff4f3; color: var(--kemi-red); font-size: 14px; font-weight: 700; }
.kemi-page-std .gform_wrapper .gfield_error :is(input, select, textarea), .kemi-page-std .gform_wrapper .gfield_error .gchoice { border-color: var(--kemi-red); }
.kemi-page-std .gform_wrapper .gfield_validation_message, .kemi-page-std .gform_wrapper .validation_message { margin-top: 6px; color: var(--kemi-red); font-size: 13px; font-weight: 600; }
/* Booking form (GF 9, same id on live): the license-plate-validator-booking plugin ships ID-scoped blue cards
   (hidden radios, 350px photo cards whose images 404). Override from the theme so the plugin stays untouched. */
.kemi-page-std #gform_wrapper_9 .gchoice { flex-direction: row; margin: 0; border-radius: 0; box-shadow: none; color: var(--kemi-ink); }
.kemi-page-std #gform_wrapper_9 .gchoice:has(input:checked) { background: var(--kemi-bg); box-shadow: inset 3px 0 0 var(--kemi-red); }
.kemi-page-std #gform_wrapper_9 .gchoice input[type=radio], .kemi-page-std #gform_wrapper_9 .gchoice input[type=checkbox] { width: 20px; height: 20px; margin: 0; padding: 0; opacity: 1; accent-color: var(--kemi-red); }
.kemi-page-std #gform_wrapper_9 .gchoice label { display: block; width: auto; height: auto; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; text-align: left; color: var(--kemi-ink); font-size: 16px !important; font-weight: 600; }
.kemi-page-std #gform_wrapper_9 .gchoice input:is(:hover, :focus) + label, .kemi-page-std #gform_wrapper_9 .gchoice input:checked + label { background: none; border: 0; box-shadow: none; color: var(--kemi-ink); }
.kemi-page-std #gform_wrapper_9 #input_9_1 .gchoice { padding: 22px 20px; }
.kemi-page-std #gform_wrapper_9 #input_9_1 .gchoice label { font-size: 18px !important; font-weight: 800; }
.kemi-page-std #gform_wrapper_9 #input_9_1 .gchoice label::before { content: ""; display: inline-block; width: 18px; height: 22px; margin: 0 10px -4px 0; background: var(--kemi-red); -webkit-mask: var(--kemi-pin) center/contain no-repeat; mask: var(--kemi-pin) center/contain no-repeat; }
.kemi-page-std #gform_wrapper_9 .custom-form-step { margin: 0; padding: 16px 20px; border-radius: 0; box-shadow: none; }
.kemi-page-std #gform_wrapper_9 .step-title { margin: 0 0 10px; padding: 0; border: 0; font-size: 16px; color: var(--kemi-ink); }
.kemi-page-std #gform_wrapper_9 .form-columns { flex: none; margin: 0; }
.kemi-page-std #gform_wrapper_9 .gf_step_active .gf_step_number { background: var(--kemi-red); border: 2px solid var(--kemi-red); color: #fff; }
.kemi-page-std #gform_wrapper_9 .gf_step_completed .gf_step_number::before { display: none; }
.kemi-page-std #gform_wrapper_9 #field_9_26 { background: none; }
.kemi-page-std { --kemi-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22'%3E%3Cpath d='M9 0C4 0 0 4 0 9c0 6.5 9 13 9 13s9-6.5 9-13c0-5-4-9-9-9zm0 12.5A3.5 3.5 0 1 1 9 5.5a3.5 3.5 0 0 1 0 7z'/%3E%3C/svg%3E"); }
@media (max-width: 760px) {
	.kemi-page-std .gform_wrapper.gravity-theme:not(.kemi-ct-form *) { padding: 20px 16px 24px; }
	.kemi-page-std .gform_wrapper .gf_page_steps { gap: 6px; }
	.kemi-page-std .gform_wrapper .gf_step:not(.gf_step_active) .gf_step_label { display: none; }
	.kemi-page-std .gform_wrapper .gf_step_active { flex: 3 1 0; }
	.kemi-page-std .gform_wrapper .gf_step { flex-direction: row; align-items: center; gap: 8px; font-size: 13px; }
	.kemi-page-std .gform_wrapper :is(.gfield--width-half, .gfield--width-five-twelfths, .gfield--width-seven-twelfths, .gfield--width-third) { grid-column: span 12; }
	.kemi-page-std .gform_wrapper .gf_list_2col .gfield_radio { grid-template-columns: 1fr; }
	.kemi-page-std .gform_wrapper :is(.gform_page_footer, .gform-page-footer, .gform_footer) > * { flex: 1 1 100%; }
	.kemi-page-std .gform_wrapper .gfield_html:has(svg) { display: none; }
}
.kemi-ct-map { position: relative; margin: 0 0 24px; border: 1px solid var(--kemi-line); background: var(--kemi-bg); }
.kemi-ct-map iframe { display: block; width: 100%; height: 340px; border: 0; }
.kemi-theme .kemi-contact a.kemi-ct-map-link { position: absolute; right: 12px; bottom: 12px; padding: 8px 14px; background: #fff; color: var(--kemi-ink); font-size: 13px; font-weight: 700; text-decoration: none; box-shadow: 0 2px 10px rgba(0,0,0,.2); }
@media (max-width: 980px) {
  .kemi-ct-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kemi-ct-main { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .kemi-ct-tiles { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .kemi-ct-card, .kemi-ct-form { padding: 20px 16px; }
  .kemi-theme .kemi-contact .kemi-ct-lead p { font-size: 16px; }
  .kemi-ct-map iframe { height: 260px; }
}

/* ---------- Policy / document pages (body.kemi-doc: jafnlaunastefna, persónuvernd, skilmálar, vafrakökur) ---------- */
.kemi-theme.kemi-doc .entry-content { max-width: 820px; font-size: 17px; line-height: 1.75; color: var(--kemi-text); padding-bottom: 24px; }
.kemi-theme.kemi-doc .entry-content p:empty, .kemi-theme.kemi-doc .entry-content .wp-block-column:empty { display: none; }
.kemi-theme.kemi-doc .entry-content p { margin: 0 0 18px; }
.kemi-theme.kemi-doc .entry-content > p:first-child:not(:has(> strong:only-child)) { font-size: 20px; line-height: 1.55; color: var(--kemi-ink); margin-bottom: 24px; }
.kemi-theme.kemi-doc .entry-content h2, .kemi-theme.kemi-doc .entry-content h3 { position: relative; margin: 38px 0 14px; padding-left: 16px; font-weight: 800; line-height: 1.25; color: var(--kemi-ink); }
.kemi-theme.kemi-doc .entry-content h2 { font-size: 26px; }
.kemi-theme.kemi-doc .entry-content h3 { font-size: 21px; }
.kemi-theme.kemi-doc .entry-content h2::before, .kemi-theme.kemi-doc .entry-content h3::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 5px; background: var(--kemi-red); }
.kemi-theme.kemi-doc .entry-content ul { list-style: none; margin: 0 0 24px; padding: 0; }
.kemi-theme.kemi-doc .entry-content ul li { position: relative; margin: 0 0 10px; padding-left: 34px; }
.kemi-theme.kemi-doc .entry-content ul li::before { content: ""; position: absolute; left: 0; top: 5px; width: 20px; height: 20px; border-radius: 50%; background: var(--kemi-red) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M5.5 10.5l3 3 6-6.5'/></svg>") center / 14px no-repeat; }
.kemi-theme.kemi-doc .entry-content ol { margin: 0 0 24px; padding-left: 24px; }
.kemi-theme.kemi-doc .entry-content ol li { margin: 0 0 10px; padding-left: 6px; }
.kemi-theme.kemi-doc .entry-content .wp-block-columns { display: block; margin: 0; }
.kemi-theme.kemi-doc .entry-content .wp-block-column { flex-basis: auto !important; width: auto; }
.kemi-theme.kemi-doc .entry-content a:not(.wp-block-button__link) { color: var(--kemi-red); text-underline-offset: 3px; }
.kemi-theme.kemi-doc .entry-content a:not(.wp-block-button__link):hover { color: var(--kemi-red-dark); }
.kemi-theme.kemi-doc .entry-content p:has(~ .wp-block-buttons):is(:has(> strong:first-child + br), :has(> strong:first-child > br)) { margin: 34px 0 28px; padding: 16px 22px; background: var(--kemi-bg); border-left: 4px solid var(--kemi-ink); line-height: 1.5; }
.kemi-theme.kemi-doc .entry-content p:has(~ .wp-block-buttons):is(:has(> strong:first-child + br), :has(> strong:first-child > br)) strong { display: block; font-size: 18px; color: var(--kemi-ink); }
.kemi-theme.kemi-doc .entry-content .wp-block-buttons { margin: 8px 0 0; }
.kemi-theme.kemi-doc .entry-content .wp-block-button, .kemi-theme.kemi-doc .entry-content .wp-block-button.wp-block-button__width-100 { width: auto; }
.kemi-theme.kemi-doc .entry-content .wp-block-button__link, .kemi-theme.kemi-doc .entry-content .wp-block-button.wp-block-button__width-100 > .wp-block-button__link { width: auto; display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; border: 0 !important; border-radius: 0 !important; background: var(--kemi-red); color: #fff !important; font: 700 16px/1.2 var(--kemi-font); text-decoration: none; transition: background .15s; }
.kemi-theme.kemi-doc .entry-content .wp-block-button__link::after { content: "→"; }
.kemi-theme.kemi-doc .entry-content .wp-block-button__link:hover { background: var(--kemi-ink); }
@media (max-width: 640px) {
  .kemi-theme.kemi-doc .entry-content { font-size: 16px; }
  .kemi-theme.kemi-doc .entry-content > p:first-child:not(:has(> strong:only-child)) { font-size: 18px; }
  .kemi-theme.kemi-doc .entry-content h2 { font-size: 22px; }
  .kemi-theme.kemi-doc .entry-content .wp-block-button, .kemi-theme.kemi-doc .entry-content .wp-block-button__link { width: 100%; justify-content: center; box-sizing: border-box; }
}

/* ---- Long policy pages: bold-paragraph headings, numbered list, footnotes, auto table of contents (kemi.js) ---- */
.kemi-theme.kemi-doc .entry-content p.kemi-doc-h { position: relative; margin: 40px 0 14px; padding-left: 16px; font-size: 21px; line-height: 1.3; color: var(--kemi-ink); scroll-margin-top: 150px; }
.kemi-theme.kemi-doc .entry-content p.kemi-doc-h::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 5px; background: var(--kemi-red); }
.kemi-theme.kemi-doc .entry-content p.kemi-doc-h strong { font-weight: 800; }
.kemi-theme.kemi-doc .entry-content > p.kemi-doc-h:first-child { margin-top: 8px; }
.kemi-theme.kemi-doc .entry-content ol { list-style: none; counter-reset: kemi-ol; padding: 0; }
.kemi-theme.kemi-doc .entry-content ol > li { position: relative; counter-increment: kemi-ol; padding-left: 42px; }
.kemi-theme.kemi-doc .entry-content ol > li::before { content: counter(kemi-ol); position: absolute; left: 0; top: 1px; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--kemi-red); color: var(--kemi-ink); font-size: 14px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.kemi-theme.kemi-doc .entry-content p:has(> a[href^="#_ftnref"]) { font-size: 14px; line-height: 1.5; color: var(--kemi-muted); padding: 10px 0 0; border-top: 1px solid var(--kemi-line); max-width: 560px; }
.kemi-theme.kemi-doc .entry-content a[href^="#_ftn"] { font-size: .8em; vertical-align: super; text-decoration: none; }
.kemi-theme.kemi-doc .entry-content p > em:only-child { color: var(--kemi-muted); }
.kemi-doc .entry-content.has-toc { display: grid; grid-template-columns: minmax(0, 820px) 290px; column-gap: 56px; max-width: 1170px; align-items: start; }
.kemi-doc .entry-content.has-toc > * { grid-column: 1; }
.kemi-doc .entry-content.has-toc > .kemi-toc { grid-column: 2; grid-row: 1 / span 400; position: sticky; top: 150px; align-self: start; margin: 8px 0 0; }
.kemi-toc { background: var(--kemi-bg); border-top: 3px solid var(--kemi-red); font-size: 14px; line-height: 1.4; }
.kemi-toc > summary { list-style: none; padding: 14px 18px; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--kemi-ink); cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.kemi-toc > summary::-webkit-details-marker { display: none; }
.kemi-toc > summary::after { content: "+"; font-size: 20px; font-weight: 500; letter-spacing: 0; color: var(--kemi-red); }
.kemi-toc[open] > summary::after { content: "−"; }
.kemi-toc ol { list-style: none; counter-reset: none; margin: 0; padding: 0 0 10px; max-height: calc(100vh - 260px); overflow-y: auto; }
.kemi-toc ol li { padding: 0; margin: 0; counter-increment: none; }
.kemi-toc ol li::before { content: none; }
.kemi-theme .kemi-toc a { display: block; padding: 7px 18px; color: var(--kemi-text); text-decoration: none; border-left: 3px solid transparent; }
.kemi-theme .kemi-toc a:hover { background: #fff; color: var(--kemi-ink); }
.kemi-theme .kemi-toc a.is-active { background: #fff; color: var(--kemi-ink); font-weight: 700; border-left-color: var(--kemi-red); }
@media (max-width: 1200px) {
  .kemi-doc .entry-content.has-toc { display: block; max-width: 820px; }
  .kemi-doc .entry-content.has-toc > .kemi-toc { position: static; margin: 0 0 28px; }
  .kemi-toc ol { max-height: 320px; }
}
@media (max-width: 640px) {
  .kemi-theme.kemi-doc .entry-content p.kemi-doc-h { font-size: 19px; margin-top: 32px; }
}

.kemi-theme.kemi-doc .entry-content .kemi-toc ol { margin: 0; padding: 0 0 10px; }
.kemi-theme.kemi-doc .entry-content .kemi-toc ol > li { padding-left: 0; margin: 0; counter-increment: none; }
.kemi-theme.kemi-doc .entry-content .kemi-toc ol > li::before { content: none; display: none; }
.kemi-theme.kemi-doc .entry-content .kemi-toc a { color: var(--kemi-text); }
.kemi-theme.kemi-doc .entry-content .kemi-toc a:hover, .kemi-theme.kemi-doc .entry-content .kemi-toc a.is-active { color: var(--kemi-ink); }

/* ---- Terms-style pages: <p><b>Label:</b><br>text</p> blocks as cards, quick-facts strip, version line ---- */
.kemi-doc-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 4px 0 30px; }
.kemi-doc-fact { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; background: var(--kemi-bg); border-top: 3px solid var(--kemi-red); font-size: 15px; line-height: 1.5; color: var(--kemi-text); }
.kemi-doc-ico { flex: none; color: var(--kemi-ink); margin-top: 1px; }
.kemi-doc-fact span { display: flex; flex-direction: column; }
.kemi-doc-fact strong { font-size: 16px; font-weight: 800; color: var(--kemi-ink); }
.kemi-theme.kemi-doc .entry-content > p:has(> :is(b, strong):first-child + br):not(:has(~ .wp-block-buttons)) { margin: 0 0 14px; padding: 20px 24px 18px; background: #fff; border: 1px solid var(--kemi-line); border-left: 4px solid var(--kemi-red); font-size: 16px; line-height: 1.7; }
.kemi-theme.kemi-doc .entry-content > p:has(> :is(b, strong):first-child + br):not(:has(~ .wp-block-buttons)) > :is(b, strong):first-child { display: block; margin: 0 0 4px; font-size: 19px; font-weight: 800; color: var(--kemi-ink); }
.kemi-theme.kemi-doc .entry-content > p:has(> :is(b, strong):first-child + br):not(:has(~ .wp-block-buttons)) > br { display: none; }
.kemi-theme.kemi-doc .entry-content .kemi-doc-hide { display: none; }
.kemi-theme.kemi-doc .entry-content p.kemi-doc-meta { display: inline-block; margin: 22px 0 0; padding: 6px 12px; background: var(--kemi-bg); font-size: 13px; font-weight: 700; color: var(--kemi-muted); }
@media (max-width: 640px) {
  .kemi-doc-facts { grid-template-columns: minmax(0, 1fr); }
  .kemi-theme.kemi-doc .entry-content > p:has(> :is(b, strong):first-child + br):not(:has(~ .wp-block-buttons)) { padding: 16px 16px 14px; }
}

/* ---- Q&A-style text pages (body.kemi-doc-qa, e.g. Vafrakökur): leading question/title of a paragraph becomes the card heading (kemi.js) ---- */
.kemi-theme.kemi-doc .entry-content > p:has(> strong.kemi-doc-q) { margin: 0 0 14px; padding: 20px 24px 18px; background: #fff; border: 1px solid var(--kemi-line); border-left: 4px solid var(--kemi-red); font-size: 16px; line-height: 1.7; }
.kemi-theme.kemi-doc .entry-content > p > strong.kemi-doc-q { display: block; margin: 0 0 4px; font-size: 19px; font-weight: 800; line-height: 1.35; color: var(--kemi-ink); }
@media (max-width: 640px) { .kemi-theme.kemi-doc .entry-content > p:has(> strong.kemi-doc-q) { padding: 16px 16px 14px; } }

/* Contact page with several locations (poulsen.is): one card per location, maps side by side. */
.kemi-ct-maps { margin: 0 0 24px; display: grid; gap: 24px; }
.kemi-ct-maps .kemi-ct-map { margin: 0; }
.kemi-ct-maps.is-multi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 800px) { .kemi-ct-maps.is-multi { grid-template-columns: minmax(0, 1fr); } }

/* Promo row block (kemi/promo-row): image cards with the text on top; one column = wide banner. */
.kemi-promo-grid { display: grid; grid-template-columns: repeat(var(--kemi-promo-cols, 3), minmax(0, 1fr)); gap: 16px; }
.kemi-promo { position: relative; display: flex; align-items: flex-end; min-height: 300px; overflow: hidden; color: #fff; background: var(--kemi-ink); text-decoration: none; }
.kemi-promo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.kemi-promo::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.04) 30%, rgba(0,0,0,.74) 100%); }
.kemi-promo:hover img { transform: scale(1.04); }
.kemi-promo-t { position: relative; z-index: 2; display: grid; gap: 6px; padding: 24px 26px; justify-items: start; }
.kemi-promo-t small { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .9; }
.kemi-promo-t strong { font-size: 26px; line-height: 1.15; font-weight: 800; letter-spacing: -.015em; }
.kemi-promo-t em { font-style: normal; font-size: 16px; line-height: 1.45; max-width: 46ch; opacity: .95; }
.kemi-promo-cta { margin-top: 8px; padding: 10px 18px; background: #fff; color: var(--kemi-ink); font-size: 14px; font-weight: 700; }
.kemi-promo:hover .kemi-promo-cta { background: var(--kemi-red); color: #fff; }
.kemi-promo-grid.cols-1 .kemi-promo { min-height: 360px; }
.kemi-promo-grid.cols-1 .kemi-promo::before { background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.25) 60%, rgba(0,0,0,.04) 100%); }
.kemi-promo-grid.cols-1 .kemi-promo { align-items: center; }
.kemi-promo-grid.cols-1 .kemi-promo-t { padding: 40px clamp(24px, 6vw, 80px); }
.kemi-promo-grid.cols-1 .kemi-promo-t strong { font-size: clamp(28px, 3.6vw, 44px); }
@media (max-width: 900px) { .kemi-promo-grid { grid-template-columns: minmax(0, 1fr); } .kemi-promo { min-height: 240px; } .kemi-promo-grid.cols-1 .kemi-promo { min-height: 300px; } .kemi-promo-t strong { font-size: 22px; } }

/* Flatsome shim extras (ux_stack, ux_gallery) */
.kemi-fs-stack { display: flex; flex-wrap: wrap; align-items: center; margin: 0 0 1em; }
.kemi-fs-stack > * { margin-top: 0; margin-bottom: 0; }
.kemi-fs-gallery { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: 12px; margin: 0 0 1.5em; }
.kemi-fs-gallery figure { margin: 0; } .kemi-fs-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
@media (max-width: 800px) { .kemi-fs-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Phones: the plate input is only ~95px wide (tabs + search + "Ítarleg leit" icon share the row), so the 70–90px padding that reserved room
 * for the light "Bílnúmer" hint left ZERO visible text area — typed plates were invisible (Gústi, 2026-10-09, both shops). The hint now disappears
 * as soon as the field is focused or filled, and the field keeps its whole width for the plate. */
@media (max-width: 600px) {
  .kemi-theme .kemi-plate .p-platenr-input-container input, .kemi-theme .kemi-plate input.masked { padding-right: 6px !important; }
  .kemi-theme .kemi-plate .p-platenr-input-container:has(input:focus)::after, .kemi-theme .kemi-plate .p-platenr-input-container:has(input:not(:placeholder-shown))::after { opacity: 0; }
}
@media (max-width: 360px) { .kemi-theme .kemi-plate input.masked { font-size: 14px; letter-spacing: .06em; padding-left: 8px !important; } }

/* ---------- Service page (Poulsen Bílrúðuskipti): block page, all rules scoped to .kemi-svc ---------- */
.kemi-svc { display: grid; gap: 56px; margin: 8px 0 40px; }
.kemi-svc .wp-block-group__inner-container { display: contents; }
.kemi-svc :is(h2, h3) { color: var(--kemi-ink); letter-spacing: -.01em; margin: 0 0 14px; }
.kemi-svc h2 { font-size: 30px; font-weight: 800; line-height: 1.15; }
.kemi-svc h3 { font-size: 20px; font-weight: 800; }
.kemi-svc p { font-size: 17px; line-height: 1.65; margin: 0 0 14px; color: var(--kemi-text); }
.kemi-svc .wp-block-list { margin: 0 0 16px; padding-left: 22px; font-size: 17px; line-height: 1.7; }
.kemi-svc .wp-block-image { margin: 0; }
.kemi-svc .wp-block-image img { display: block; width: 100%; height: auto; }
.kemi-svc .wp-block-columns { display: grid; gap: 36px; margin: 0; align-items: center; }
.kemi-svc .wp-block-column { min-width: 0; }
.kemi-svc .wp-block-buttons { margin: 20px 0 0; }
.kemi-svc .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 26px; border: 0; border-radius: 0; background: var(--kemi-red); color: #fff; font: 700 15px var(--kemi-font); text-decoration: none; transition: background .15s; }
.kemi-svc .wp-block-button__link::after { content: "→"; margin-left: 10px; }
.kemi-svc .wp-block-button__link:hover { background: var(--kemi-ink); color: #fff; }
.kemi-svc .wp-block-button.is-style-outline .wp-block-button__link, .kemi-svc .wp-block-button.is-style-outline .wp-block-button__link:is(:visited, :focus, :active) { background: transparent; border: 2px solid #fff; color: #fff !important; }
.kemi-svc .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--kemi-ink) !important; }
.kemi-svc .wp-block-button__link, .kemi-svc .wp-block-button__link:is(:visited, :focus, :active) { color: #fff; }
/* hero */
.kemi-svc-hero { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 380px; padding: 48px 56px; box-sizing: border-box; background: linear-gradient(90deg, rgba(5,10,48,.86) 0%, rgba(5,10,48,.55) 55%, rgba(5,10,48,.1) 100%), var(--kemi-svc-hero) center / cover no-repeat; }
.kemi-svc-hero > * { max-width: 560px; }
.kemi-svc .kemi-svc-hero .kemi-svc-eyebrow { margin: 0 0 12px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #fff; opacity: .85; }
.kemi-svc .kemi-svc-hero h2 { margin: 0 0 8px; font-size: 40px; color: #fff; }
.kemi-svc-hero .wp-block-buttons { margin-top: 22px; }
/* quality badge */
.kemi-svc-badge { display: flex; align-items: center; gap: 18px; margin-top: 22px; padding: 16px 20px; background: var(--kemi-bg); border-left: 4px solid var(--kemi-red); }
.kemi-svc .kemi-svc-badge .wp-block-image { flex: none; width: 96px; margin: 0; }
.kemi-svc .kemi-svc-badge .wp-block-image a { display: block; line-height: 0; }
.kemi-svc-badge .wp-block-image img { width: 96px; height: auto; border: 0; }
.kemi-svc .kemi-svc-badge p { margin: 0; font-size: 16px; line-height: 1.45; }
.kemi-svc-badge strong { color: var(--kemi-ink); }
/* sections */
.kemi-svc-section > h2 { margin-bottom: 12px; }
.kemi-svc-section > p { max-width: 880px; }
.kemi-svc-intro { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.kemi-svc-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.kemi-svc-logos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.kemi-svc .kemi-svc-logos .wp-block-image { display: block; width: 100%; margin: 0; }
.kemi-svc .kemi-svc-logos a { display: flex; align-items: center; justify-content: center; width: 100%; height: 150px; padding: 0; box-sizing: border-box; background: #fff; transition: box-shadow .15s, transform .15s; }
.kemi-svc-logos a:hover { box-shadow: 0 8px 22px rgba(0,0,0,.1); transform: translateY(-2px); }
.kemi-svc .kemi-svc-logos img { width: 100%; height: 100%; padding: 16px; box-sizing: border-box; object-fit: contain; border: 0; }
.kemi-svc-split .wp-block-image img { border: 1px solid var(--kemi-line); }
.kemi-svc-dark { padding: 44px 48px; background: var(--kemi-ink); }
.kemi-svc-dark :is(h2, p, li) { color: #fff; }
.kemi-svc-dark .wp-block-image img { border: 0; background: #fff; padding: 12px; box-sizing: border-box; }
/* damage-criteria diagram (replaces the old static image) */
.kemi-svc .kemi-svc-diagram { padding: 24px 26px 28px; background: #fff; border-top: 4px solid var(--kemi-red); }
.kemi-svc .kemi-svc-diagram .kemi-svc-car { margin: 0 0 18px; text-align: center; }
.kemi-svc .kemi-svc-diagram .kemi-svc-car img { width: 78%; max-width: 380px; margin: 0 auto; background: none; padding: 0; border: 0; }
.kemi-svc .kemi-svc-diagram-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
.kemi-svc-dark .kemi-svc-diagram p.kemi-svc-chip { margin: 0 0 12px; padding: 9px 14px; background: var(--kemi-red); color: #fff; font-size: 15px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; line-height: 1.2; }
.kemi-svc-dark .kemi-svc-diagram .kemi-svc-criteria { margin: 0; padding: 0; list-style: none; }
.kemi-svc-dark .kemi-svc-diagram .kemi-svc-criteria li { margin: 0; padding: 9px 0; border-bottom: 2px dotted var(--kemi-red); color: var(--kemi-ink); font-size: 15px; font-weight: 600; line-height: 1.4; }
.kemi-svc-dark .kemi-svc-diagram .kemi-svc-criteria li:last-child { border-bottom: 0; }
.kemi-svc-callout { padding: 28px 32px; background: var(--kemi-bg); border-left: 4px solid var(--kemi-red); }
.kemi-svc-callout > :last-child { margin-bottom: 0; }
.kemi-svc-callout a { color: var(--kemi-red); font-weight: 700; }
/* FAQ */
.kemi-svc-faq > h2 { margin-bottom: 16px; }
.kemi-svc-faq-item { margin: 0; border: 1px solid var(--kemi-line); border-top-width: 0; background: #fff; }
.kemi-svc-faq h2 + .kemi-svc-faq-item { border-top-width: 1px; }
.kemi-svc-faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; font-size: 17px; font-weight: 700; color: var(--kemi-ink); cursor: pointer; list-style: none; }
.kemi-svc-faq-item summary::-webkit-details-marker { display: none; }
.kemi-svc-faq-item summary::after { content: "+"; flex: none; font-size: 24px; font-weight: 400; line-height: 1; color: var(--kemi-red); }
.kemi-svc-faq-item[open] summary::after { content: "–"; }
.kemi-svc-faq-item[open] summary { box-shadow: inset 3px 0 0 var(--kemi-red); }
.kemi-svc-faq-item > :not(summary) { padding: 0 22px; }
.kemi-svc-faq-item > p:last-child { padding-bottom: 18px; margin: 0; }
/* shops */
.kemi-svc-shops { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; margin-top: 24px; }
.kemi-svc-shops h3 { margin-bottom: 6px; }
.kemi-svc-mapwrap { position: relative; border: 1px solid var(--kemi-line); background: var(--kemi-bg); }
.kemi-svc-map { display: block; width: 100%; height: 320px; border: 0; }
.kemi-svc .kemi-svc-maplink { position: absolute; right: 12px; bottom: 12px; padding: 8px 14px; background: #fff; color: var(--kemi-ink); font-size: 13px; font-weight: 700; text-decoration: none; box-shadow: 0 2px 10px rgba(0,0,0,.2); }
.kemi-svc-wipers { padding: 0; background: var(--kemi-bg); gap: 0; }
.kemi-svc-wipers .wp-block-image img { border: 0; height: 100%; min-height: 240px; object-fit: cover; }
.kemi-svc-wipers .wp-block-column:last-child { padding: 32px 40px; }
@media (max-width: 860px) {
	.kemi-svc { gap: 40px; }
	.kemi-svc h2 { font-size: 25px; }
	.kemi-svc-hero { min-height: 320px; padding: 32px 22px; background: linear-gradient(0deg, rgba(5,10,48,.88) 0%, rgba(5,10,48,.55) 100%), var(--kemi-svc-hero) center / cover no-repeat; }
	.kemi-svc .kemi-svc-hero h2 { font-size: 30px; }
	.kemi-svc :is(.kemi-svc-intro, .kemi-svc-split, .kemi-svc-shops) { grid-template-columns: 1fr; gap: 24px; }
	.kemi-svc .kemi-svc-logos a { height: 110px; }
	.kemi-svc-dark { padding: 28px 20px; }
	.kemi-svc .kemi-svc-diagram { padding: 18px 16px 22px; }
	.kemi-svc .kemi-svc-diagram-cols { grid-template-columns: 1fr; gap: 18px; }
	.kemi-svc-callout { padding: 22px 18px; }
	.kemi-svc-wipers .wp-block-column:last-child { padding: 24px 20px; }
	.kemi-svc .wp-block-button, .kemi-svc .wp-block-button__link { width: 100%; box-sizing: border-box; }
}

/* embedded third-party tool (oil advisor): framed card, full width */
.kemi-svc-embed { background: #fff; border: 1px solid var(--kemi-line); border-top: 3px solid var(--kemi-red); box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.kemi-svc-embed iframe { display: block; width: 100%; min-height: 1300px; border: 0; }
.kemi-svc-embed iframe[height="820"] { min-height: 820px; }
@media (max-width: 860px) { .kemi-svc-embed iframe { min-height: 1500px; } }

/* ---------- Campaign landing pages (.kemi-lp): ad traffic lands here, full-bleed bands ----------
 * All selectors are class-based, never child combinators, so the page survives a round trip through
 * the block editor (which may or may not wrap groups in .wp-block-group__inner-container).
 * Every colour comes from --kemi-red / --kemi-ink, so the same page is Kemi red on kemi.is and
 * Poulsen blue on poulsen.is. See inc/landing.php and ops/data/build-ducar.py. */
.kemi-lp { --kemi-lp-pad: 64px; display: block; margin: 0; }
.kemi-lp .wp-block-group__inner-container { display: contents; }
.kemi-lp :is(.kemi-lp-hero, .kemi-lp-facts, .kemi-lp-section, .kemi-lp-callout, .kemi-lp-faq, .kemi-lp-cta) {
  padding: var(--kemi-lp-pad) 24px; box-sizing: border-box;
  /* the editor's block gap puts 32px between siblings, which shows up as a white stripe between
     two coloured bands — the bands must butt straight up against each other */
  margin-block: 0;
}
/* every band keeps its content on the site's content column */
.kemi-lp :is(.kemi-lp-hero, .kemi-lp-facts, .kemi-lp-section, .kemi-lp-callout, .kemi-lp-faq, .kemi-lp-cta) > *,
.kemi-lp :is(.kemi-lp-hero, .kemi-lp-facts, .kemi-lp-section, .kemi-lp-callout, .kemi-lp-faq, .kemi-lp-cta) > .wp-block-group__inner-container > * {
  max-width: var(--kemi-max); margin-inline: auto;
}
.kemi-lp :is(h2, h3) { color: var(--kemi-ink); letter-spacing: -.015em; margin: 0 0 14px; }
.kemi-lp h2 { font-size: 32px; font-weight: 800; line-height: 1.15; }
.kemi-lp h3 { font-size: 20px; font-weight: 800; }
.kemi-lp p { font-size: 17px; line-height: 1.65; margin: 0 0 14px; color: var(--kemi-text); }
.kemi-lp .wp-block-list { margin: 0 0 16px; padding-left: 22px; font-size: 17px; line-height: 1.75; }
.kemi-lp .wp-block-list li { margin-bottom: 8px; }
.kemi-lp .wp-block-image { margin: 0; }
.kemi-lp .wp-block-image img { display: block; width: 100%; height: auto; }
.kemi-lp .wp-block-columns { display: grid; gap: 40px; margin: 0; align-items: start; }
.kemi-lp .wp-block-column { min-width: 0; }

/* buttons: square, accent fill; outline variant for the secondary action on dark bands */
.kemi-lp .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 0; }
.kemi-lp .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px; border: 2px solid var(--kemi-red); border-radius: 0; background: var(--kemi-red); color: #fff; font: 800 15px var(--kemi-font); text-decoration: none; transition: background .15s, border-color .15s, color .15s; }
.kemi-lp .wp-block-button__link::after { content: "→"; margin-left: 10px; }
.kemi-lp .wp-block-button__link:is(:visited, :focus, :active) { color: #fff; }
.kemi-lp .wp-block-button__link:hover { background: var(--kemi-red-dark); border-color: var(--kemi-red-dark); color: #fff; }
.kemi-lp .wp-block-button.is-style-outline .wp-block-button__link,
.kemi-lp .wp-block-button.is-style-outline .wp-block-button__link:is(:visited, :focus, :active) { background: transparent; border-color: #fff; color: #fff !important; }
.kemi-lp .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--kemi-ink) !important; }
/* …but the rule above hard-codes white because it was written for the hero and the CTA, which are
   the only dark bands. On a light band — an ordinary section, the grey `is-alt`, the callout, the
   FAQ — a secondary button came out white on white and was effectively invisible (found on the
   smurolía guide, whose "aðrar olíur" row has four secondary category links on `is-alt`). Correct
   it for the light bands instead of rewriting the base rule, which the hero still needs.
   `!important` is required because the base rule uses it, and the selector has to out-specify
   `…__link:is(:visited, :focus, :active)` at (0,5,0) — `:is()` of single classes adds (0,1,0), so
   these land at (0,5,0) and (0,6,0). */
.kemi-lp :is(.kemi-lp-section, .kemi-lp-callout, .kemi-lp-faq) .wp-block-button.is-style-outline .wp-block-button__link,
.kemi-lp :is(.kemi-lp-section, .kemi-lp-callout, .kemi-lp-faq) .wp-block-button.is-style-outline .wp-block-button__link:is(:visited, :focus, :active) { border-color: var(--kemi-line); color: var(--kemi-ink) !important; }
.kemi-lp :is(.kemi-lp-section, .kemi-lp-callout, .kemi-lp-faq) .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--kemi-ink); border-color: var(--kemi-ink); color: #fff !important; }

/* 1. hero — dark band, copy left, machine right */
.kemi-lp-hero { background: var(--kemi-ink); }
.kemi-lp .kemi-lp-hero-cols { grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: 56px; align-items: center; }
.kemi-lp .kemi-lp-eyebrow { margin: 0 0 14px; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #fff; opacity: .72; }
.kemi-lp .kemi-lp-title { margin: 0 0 16px; font-size: 48px; line-height: 1.08; color: #fff; }
.kemi-lp .kemi-lp-lead { margin: 0; max-width: 46ch; font-size: 19px; line-height: 1.6; color: rgba(255,255,255,.82); }
.kemi-lp .kemi-lp-hero-img img { display: block; width: 100%; max-height: 460px; object-fit: contain; }

/* 2. fact strip — accent band straight under the hero.
   NB the padding override must be scoped under .kemi-lp: the shared band rule above is
   `.kemi-lp :is(…)` (0,2,0) and a bare `.kemi-lp-facts` (0,1,0) loses to it. */
.kemi-lp .kemi-lp-facts { background: var(--kemi-red); padding-block: 0; }
/* one column per tile, whatever the count: a hard-coded repeat(4) left a quarter of the accent
   band empty on the three-tile DAS 3000 page */
.kemi-lp .kemi-lp-facts-inner { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.kemi-lp .kemi-lp-fact { padding: 26px 28px; border-left: 1px solid rgba(255,255,255,.22); }
.kemi-lp .kemi-lp-fact:first-child { border-left: 0; padding-left: 0; }
.kemi-lp .kemi-lp-fact strong { display: block; font-size: 25px; font-weight: 800; line-height: 1.15; color: #fff; letter-spacing: -.015em; }
.kemi-lp .kemi-lp-fact span { display: block; margin-top: 5px; font-size: 14px; line-height: 1.4; color: rgba(255,255,255,.85); }
.kemi-lp .kemi-lp-fact span b { font-weight: 800; color: #fff; }
/* two wide tiles, one per product family: pooling both families' numbers into one range per tile
   made the reader work out which figure belonged to which machine (Haukur, 2026-10-10) */
.kemi-lp .kemi-lp-facts-inner.is-two .kemi-lp-fact { padding-block: 30px; }
.kemi-lp .kemi-lp-facts-inner.is-two .kemi-lp-fact span { font-size: 15px; }

/* 3. ordinary sections; every other one sits on the grey to give the page rhythm */
.kemi-lp-section.is-alt { background: var(--kemi-bg); }
.kemi-lp .kemi-lp-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kemi-lp .kemi-lp-models { margin-top: 44px; gap: 48px; }
.kemi-lp .kemi-lp-models h3 { padding-bottom: 12px; border-bottom: 3px solid var(--kemi-red); }
.kemi-lp .kemi-lp-shot { margin-top: 18px; border: 1px solid var(--kemi-line); }
.kemi-lp .kemi-lp-shot img { aspect-ratio: 4 / 3; object-fit: cover; }

/* product rows render their own <section class="kemi-section"><div class="kemi-container">; inside a
   band that already pads and centres, both have to stand down */
.kemi-lp .kemi-section { padding: 36px 0 0; background: none; margin: 0; }
.kemi-lp .kemi-section .kemi-container { max-width: none; padding: 0; }
.kemi-lp .kemi-section.kemi-product-row { max-width: var(--kemi-max); margin-inline: auto; padding-inline: 24px; box-sizing: border-box; }
.kemi-lp .kemi-sec-head h2 { font-size: 20px; }
.kemi-lp .kemi-sec-head.is-untitled { justify-content: flex-end; margin-bottom: 10px; }

/* spec tables */
.kemi-lp .kemi-lp-spec { margin: 44px 0 0; }
.kemi-lp .kemi-lp-spec table { width: 100%; border-collapse: collapse; background: #fff; font-size: 15px; }
.kemi-lp .kemi-lp-spec :is(th, td) { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--kemi-line); }
.kemi-lp .kemi-lp-spec thead th { background: var(--kemi-ink); color: #fff; font-weight: 800; font-size: 14px; letter-spacing: .02em; border-bottom: 0; }
.kemi-lp .kemi-lp-spec tbody td:first-child { font-weight: 600; color: var(--kemi-ink); width: 34%; }
.kemi-lp .kemi-lp-spec tbody tr:nth-child(even) td { background: var(--kemi-bg); }
.kemi-lp .kemi-lp-spec figcaption { margin-top: 10px; font-size: 13px; color: var(--kemi-muted); }

/* "which one" cards */
.kemi-lp .kemi-lp-picks { margin-top: 8px; }
.kemi-lp .kemi-lp-pick { height: 100%; padding: 28px 30px; background: #fff; border: 1px solid var(--kemi-line); border-top: 4px solid var(--kemi-red); box-sizing: border-box; }
.kemi-lp .kemi-lp-pick-h { margin: 0 0 14px; font-size: 18px; font-weight: 700; color: var(--kemi-ink); }
.kemi-lp .kemi-lp-pick ul { margin: 0; padding-left: 20px; font-size: 16px; line-height: 1.7; color: var(--kemi-text); }
.kemi-lp .kemi-lp-pick li { margin-bottom: 7px; }
.kemi-lp .kemi-lp-help { margin-top: 28px; font-size: 17px; }

/* oil warning — white band, content in one accented card so it never merges with the grey FAQ below */
.kemi-lp-callout > *, .kemi-lp-callout > .wp-block-group__inner-container > * { border-left: 4px solid var(--kemi-red); padding-left: 26px; }
.kemi-lp .kemi-lp-callout h2 { font-size: 26px; }

/* FAQ */
.kemi-lp-faq { background: var(--kemi-bg); }
.kemi-lp .kemi-lp-faq-item { margin: 0; background: #fff; border: 1px solid var(--kemi-line); border-top: 0; }
.kemi-lp .kemi-lp-faq-item:first-of-type { border-top: 1px solid var(--kemi-line); }
.kemi-lp .kemi-lp-faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; font-size: 17px; font-weight: 700; color: var(--kemi-ink); cursor: pointer; list-style: none; }
.kemi-lp .kemi-lp-faq-item summary::-webkit-details-marker { display: none; }
.kemi-lp .kemi-lp-faq-item summary::after { content: "+"; flex: none; font-size: 24px; font-weight: 400; line-height: 1; color: var(--kemi-red); }
.kemi-lp .kemi-lp-faq-item[open] summary::after { content: "–"; }
.kemi-lp .kemi-lp-faq-item[open] summary { border-bottom: 1px solid var(--kemi-line); }
.kemi-lp .kemi-lp-faq-item p { margin: 0; padding: 16px 22px 0; font-size: 16px; }
.kemi-lp .kemi-lp-faq-item p:last-child { padding-bottom: 20px; }

/* closing CTA */
.kemi-lp-cta { background: var(--kemi-ink); text-align: center; }
.kemi-lp .kemi-lp-cta h2 { color: #fff; }
.kemi-lp .kemi-lp-cta p { max-width: 60ch; margin-inline: auto; color: rgba(255,255,255,.82); }
.kemi-lp .kemi-lp-cta a { color: #fff; }
.kemi-lp .kemi-lp-cta .wp-block-buttons { justify-content: center; }

@media (max-width: 1000px) {
  .kemi-lp { --kemi-lp-pad: 48px; }
  .kemi-lp .kemi-lp-title { font-size: 38px; }
  .kemi-lp .kemi-lp-facts-inner { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kemi-lp .kemi-lp-fact:nth-child(3) { border-left: 0; padding-left: 0; }
  .kemi-lp .kemi-lp-fact:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.22); }
}
@media (max-width: 860px) {
  .kemi-lp :is(.kemi-lp-hero-cols, .kemi-lp-two) { grid-template-columns: minmax(0, 1fr); }
  .kemi-lp .kemi-lp-hero-cols { gap: 32px; }
  /* stacked: the photo runs edge to edge and is the last thing in the band, so it must sit flush
     against the fact strip instead of leaving a strip of empty hero colour under it */
  .kemi-lp .kemi-lp-hero { padding-bottom: 0; }
  .kemi-lp .kemi-lp-hero-img { margin-inline: -24px; width: calc(100% + 48px); max-width: none; }
  .kemi-lp .kemi-lp-hero-img img { max-height: 320px; object-fit: cover; }
  .kemi-lp h2 { font-size: 27px; }
  .kemi-lp .kemi-lp-models { gap: 36px; }
  .kemi-lp .kemi-row-track .kemi-card { flex: 0 0 calc((100% - 1px) / 2); }
}
@media (max-width: 600px) {
  .kemi-lp { --kemi-lp-pad: 40px; }
  .kemi-lp :is(.kemi-lp-hero, .kemi-lp-facts, .kemi-lp-section, .kemi-lp-callout, .kemi-lp-faq, .kemi-lp-cta) { padding-inline: 18px; }
  .kemi-lp .kemi-section.kemi-product-row { padding-inline: 18px; }
  .kemi-lp .kemi-lp-hero { padding-bottom: 0; }
  .kemi-lp .kemi-lp-hero-img { margin-inline: -18px; width: calc(100% + 36px); }
  .kemi-lp .kemi-lp-title { font-size: 30px; }
  .kemi-lp .kemi-lp-lead { font-size: 17px; }
  .kemi-lp .kemi-lp-facts-inner { grid-template-columns: minmax(0, 1fr); }
  .kemi-lp .kemi-lp-fact { padding: 18px 0; border-left: 0; }
  .kemi-lp .kemi-lp-fact:nth-child(n+2) { border-top: 1px solid rgba(255,255,255,.22); }
  .kemi-lp .kemi-lp-fact strong { font-size: 22px; }
  .kemi-lp .wp-block-buttons { display: grid; grid-template-columns: minmax(0, 1fr); }
  .kemi-lp .kemi-lp-spec { overflow-x: auto; }
  .kemi-lp .kemi-lp-spec :is(th, td) { padding: 10px 12px; }
  .kemi-lp .kemi-lp-pick { padding: 22px 20px; }
  .kemi-lp-callout > *, .kemi-lp-callout > .wp-block-group__inner-container > * { padding-left: 18px; }
}

/* ---------- .kemi-lp additions for single-product lead pages (Bosch DAS 3000) ---------- */
/* A manufacturer studio shot comes on white. Floating it on the dark hero would read as a pasted
   rectangle, so give it a deliberate white card instead of cutting the product out. */
.kemi-lp .kemi-lp-hero-img.is-card { background: #fff; padding: 22px; box-sizing: border-box; }
.kemi-lp .kemi-lp-hero-img.is-card img { max-height: 416px; object-fit: contain; }

.kemi-lp .kemi-lp-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kemi-lp .kemi-lp-three .kemi-lp-pick p:not(.kemi-lp-pick-h) { margin: 0; font-size: 16px; line-height: 1.6; }

/* Four tracks, for a department hub whose chooser is a card per system rather than a card per
   product family: eight short link lists read as one board at four across and as a long scroll at
   three. Every track-count class only sets grid-template-columns — `display: grid` comes from
   `.kemi-lp .wp-block-columns`, so the cards still have to go through a real wp-block-columns
   wrapper. Breaks to two before one, because these cards are lists of links and a two-up grid
   still fits a tablet; `.kemi-lp-three` goes straight to one at 900px and would waste the width. */
.kemi-lp .kemi-lp-four { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.kemi-lp .kemi-lp-four .kemi-lp-pick p:not(.kemi-lp-pick-h) { margin: 0; font-size: 16px; line-height: 1.6; }
.kemi-lp .kemi-lp-four .kemi-lp-pick ul { font-size: 15px; line-height: 1.65; }
@media (max-width: 1100px) { .kemi-lp .kemi-lp-four { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px)  { .kemi-lp .kemi-lp-four { grid-template-columns: minmax(0, 1fr); } }

/* A link list inside a pick card. The cards in the Bílavarahlutir chooser are lists of category
   links, so the bullet is noise — the link itself is the affordance. */
.kemi-lp .kemi-lp-pick ul.kemi-lp-links { list-style: none; padding-left: 0; }
.kemi-lp .kemi-lp-pick ul.kemi-lp-links li { margin-bottom: 6px; }
.kemi-lp .kemi-lp-pick ul.kemi-lp-links a { color: var(--kemi-ink); text-decoration: none; border-bottom: 1px solid var(--kemi-line); }
.kemi-lp .kemi-lp-pick ul.kemi-lp-links a:hover { color: var(--kemi-red); border-bottom-color: var(--kemi-red); }

/* numbered process list — core/list cannot carry the numeral treatment */
.kemi-lp .kemi-lp-steps { counter-reset: kemi-step; list-style: none; display: grid; gap: 1px; margin: 28px 0 0; padding: 0; background: var(--kemi-line); border: 1px solid var(--kemi-line); }
.kemi-lp .kemi-lp-steps li { counter-increment: kemi-step; position: relative; margin: 0; padding: 22px 26px 22px 78px; background: #fff; font-size: 17px; line-height: 1.6; color: var(--kemi-text); }
.kemi-lp .kemi-lp-steps li::before { content: counter(kemi-step); position: absolute; left: 26px; top: 20px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: var(--kemi-red); color: #fff; font: 800 16px var(--kemi-font); }
.kemi-lp .kemi-lp-steps strong { color: var(--kemi-ink); }

.kemi-lp .kemi-lp-source { margin-top: 14px; font-size: 14px; color: var(--kemi-muted); }
.kemi-lp .kemi-lp-source a { color: var(--kemi-muted); text-decoration: underline; }

/* lead form: the enquiry form is the page's conversion point, so give it a card of its own */
.kemi-lp-form { background: var(--kemi-bg); }
/* `auto` on the inline sides, never 0: the wrapper is a direct band child, so the shared band rule
   is what puts it on the centred content column. A `margin` shorthand carrying 0 drops the whole
   form to the band's padding edge — at 1920 it sat at x=24 while its own heading sat at x=280.
   Found on the seven Landbúnaður pages and both DAS 3000 pages, 2026-10-12. */
.kemi-lp .kemi-lp-form .gform_wrapper { margin: 26px auto 0; padding: 30px 32px; background: #fff; border: 1px solid var(--kemi-line); border-top: 3px solid var(--kemi-red); }
.kemi-lp .kemi-lp-form .gform_wrapper .gform_fields { display: grid; gap: 18px; }
.kemi-lp .kemi-lp-form .gform_wrapper :is(input[type=text], input[type=email], textarea) { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid var(--kemi-line); border-radius: 0; font: 16px var(--kemi-font); background: #fff; }
.kemi-lp .kemi-lp-form .gform_wrapper :is(input[type=text], input[type=email], textarea):focus { outline: none; border-color: var(--kemi-ink); }
.kemi-lp .kemi-lp-form .gform_wrapper textarea { min-height: 150px; resize: vertical; }
.kemi-lp .kemi-lp-form .gform_wrapper :is(.gfield_label, legend) { display: block; margin-bottom: 7px; font-size: 15px; font-weight: 700; color: var(--kemi-ink); }
.kemi-lp .kemi-lp-form .gform_wrapper .gform_button { min-height: 52px; padding: 0 30px; border: 0; border-radius: 0; background: var(--kemi-red); color: #fff; font: 800 15px var(--kemi-font); cursor: pointer; transition: background .15s; }
.kemi-lp .kemi-lp-form .gform_wrapper .gform_button:hover { background: var(--kemi-red-dark); }
.kemi-lp .kemi-lp-form .gform_wrapper .gform_footer { margin-top: 22px; }

@media (max-width: 900px) {
  .kemi-lp .kemi-lp-three { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 860px) {
  /* the stacked hero photo bleeds edge to edge and switches to cover — a white product card must
     do neither, or the device gets cropped inside a full-bleed white slab */
  .kemi-lp .kemi-lp-hero-img.is-card { margin-inline: 0; width: 100%; }
  .kemi-lp .kemi-lp-hero-img.is-card img { max-height: 360px; object-fit: contain; }
  .kemi-lp .kemi-lp-hero:has(.is-card) { padding-bottom: var(--kemi-lp-pad); }
}
@media (max-width: 600px) {
  .kemi-lp .kemi-lp-hero-img.is-card { padding: 16px; }
  .kemi-lp .kemi-lp-steps li { padding: 18px 18px 18px 64px; font-size: 16px; }
  .kemi-lp .kemi-lp-steps li::before { left: 18px; width: 28px; height: 28px; font-size: 15px; }
  .kemi-lp .kemi-lp-form .gform_wrapper { padding: 22px 20px; }
}

/* Section label on a light band — the hero's `.kemi-lp-eyebrow` is white and belongs to the hero.
   `margin-block`, never the `margin` shorthand: this sits as a direct band child on a brand page,
   and a shorthand would wipe the `margin-inline: auto` that puts it on the content column. */
.kemi-lp .kemi-lp-eyebrow-dark { margin-block: 0 12px; color: var(--kemi-red); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

/* Intro copy above a product row. The wrapper itself must stay the full column (it is a direct
   band child); the measure goes on the prose inside it, which is what keeps a 1360px band from
   setting 160-character lines. */
.kemi-lp .kemi-lp-band-copy > p { max-width: 64ch; }
.kemi-lp .kemi-lp-band-copy > h2 { max-width: 22ch; }
.kemi-lp .kemi-lp-band-copy > p:last-child { margin-bottom: 0; }
.kemi-lp .kemi-lp-band-copy + .kemi-product-row { margin-top: 28px; }

/* Three embedded videos on a dark band. The frame holds 16:9 before the iframe loads, so the
   band does not jump when YouTube resolves. */
.kemi-lp .kemi-lp-videos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.kemi-lp .kemi-lp-video { margin: 0; background: var(--kemi-ink); }
.kemi-lp .kemi-lp-video-frame { aspect-ratio: 16 / 9; }
.kemi-lp .kemi-lp-video iframe { display: block; width: 100%; height: 100%; border: 0; }
.kemi-lp .kemi-lp-video figcaption { padding: 14px 16px 16px; color: #fff; font-size: 15px; font-weight: 700; line-height: 1.35; }
@media (max-width: 900px) { .kemi-lp .kemi-lp-videos { grid-template-columns: 1fr; } }

/* practical note under a section intro — the "do this first" line on a brand page */
.kemi-lp .kemi-lp-tip { margin: 0 0 4px; padding: 14px 18px; background: var(--kemi-bg); border-left: 3px solid var(--kemi-red); font-size: 16px; line-height: 1.55; color: var(--kemi-text); }
.kemi-lp-section.is-alt .kemi-lp-tip { background: #fff; }
.kemi-lp .kemi-lp-tip strong { color: var(--kemi-ink); }

/* "Í okkar úrvali" / "Ekki í okkar úrvali" under a system card. Own class rather than an inline
   style, and scoped under .kemi-lp because the shared band rule is `:is()` at (0,2,0).
   inline-block so the line hugs its own text — stretched across the column it read as a banner
   rather than as a note belonging to the system above it. The bottom margin is the gap between
   one system and the next heading.
   It cannot ride the band's `margin-inline: auto` the way the other children do: on an inline-block
   `auto` computes to 0, so the badge landed on the band's padding edge (x=24 at 1920) while its own
   section sat on the column at x=280. `width: fit-content` keeps the hug, and the left margin
   reproduces the column's gutter — `100%` is the band's content box, so this is the same offset the
   centred column gets, and it collapses to 0 below --kemi-max where there is no gutter.
   The selector has to mirror the band rule's own two shapes: `… > .wp-block-group__inner-container > *`
   is (0,3,0), so the obvious `.kemi-lp .kemi-lp-stock` at (0,2,0) loses and `margin-inline: auto`
   centred the badge mid-band instead. Measured, not inferred — the first attempt landed at x=881. */
.kemi-lp :is(.kemi-lp-hero, .kemi-lp-facts, .kemi-lp-section, .kemi-lp-callout, .kemi-lp-faq, .kemi-lp-cta) > .kemi-lp-stock,
.kemi-lp :is(.kemi-lp-hero, .kemi-lp-facts, .kemi-lp-section, .kemi-lp-callout, .kemi-lp-faq, .kemi-lp-cta) > .wp-block-group__inner-container > .kemi-lp-stock { display: block; width: fit-content; max-width: 100%; margin: 16px 0 44px max(0px, (100% - var(--kemi-max)) / 2); }

/* detail gallery on a guide page. core/gallery lays itself out with its own flex rules from
   wp-block-library; all this adds is the frame and the spacing of the band it sits in. */
.kemi-lp .kemi-lp-gallery { margin: 28px 0 0; }
.kemi-lp .kemi-lp-gallery figure.wp-block-image { border: 1px solid var(--kemi-line); }
.kemi-lp .kemi-lp-gallery figure.wp-block-image img { aspect-ratio: 1 / 1; object-fit: cover; }

/* ---------- Síðukort (inc/sitemap.php): the human site map ----------------------------------
   An ordinary content page, so it sits inside Kadence's entry-content and gets the page-title band
   for its <h1> — unlike a .kemi-lp page, which brings its own. Everything here is scoped under
   .kemi-sitemap and uses no .kemi-lp class, so the two cannot interfere.

   The group list is a masonry column flow rather than a grid: the groups differ wildly in length
   (Vörumerki has twelve entries, Tilboðsdagar two) and a grid row leaves the short ones sitting in
   a tall empty cell. `columns` packs them. `break-inside: avoid` keeps a group whole; without it
   Chrome splits a list across the column break and the heading ends up orphaned at the bottom of
   column one. The two wide sections (Vöruflokkar, Fróðleiksgreinar) opt back out with .is-wide and
   run their own inner columns, because their items are one line each and read better in four. */
.kemi-sitemap { margin: 0 0 32px; }
.kemi-sitemap-jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 36px; padding-bottom: 28px; border-bottom: 1px solid var(--kemi-line); }
.kemi-sitemap-cols { columns: 3; column-gap: 48px; }
.kemi-sitemap-group { break-inside: avoid; margin: 0 0 36px; }
.kemi-sitemap-group.is-wide { break-inside: auto; column-span: all; padding-top: 12px; border-top: 1px solid var(--kemi-line); }
.kemi-theme .kemi-sitemap-group h2 { margin: 0 0 14px; padding-bottom: 10px; border-bottom: 3px solid var(--kemi-red); font-size: 18px; font-weight: 800; line-height: 1.25; color: var(--kemi-ink); letter-spacing: -.01em; }
.kemi-sitemap-note { margin: 0 0 14px; font-size: 14px; line-height: 1.5; color: var(--kemi-muted); }
.kemi-theme .kemi-sitemap-list { margin: 0; padding: 0; list-style: none; }
.kemi-theme .kemi-sitemap-list li { margin: 0; padding: 0; }
.kemi-theme .kemi-sitemap-list a { display: block; padding: 7px 0; font-size: 16px; line-height: 1.45; color: var(--kemi-text); text-decoration: none; overflow-wrap: anywhere; }
.kemi-theme .kemi-sitemap-list a:hover, .kemi-theme .kemi-sitemap-list a:focus-visible { color: var(--kemi-red); text-decoration: underline; }
/* children of a page: indented behind a hairline so the hierarchy is visible without bullets */
.kemi-theme .kemi-sitemap-sub { margin: 0 0 4px; padding: 0 0 0 16px; list-style: none; border-left: 2px solid var(--kemi-line); }
.kemi-theme .kemi-sitemap-sub a { padding: 5px 0; font-size: 15px; color: var(--kemi-muted); }
/* the two long one-line lists; .is-wide already spans, this sets their own track count */
.kemi-theme .kemi-sitemap-cats { columns: 4; column-gap: 40px; }
.kemi-theme .kemi-sitemap-cats li { break-inside: avoid; }
.kemi-sitemap-count { color: var(--kemi-muted); font-size: 13px; font-weight: 600; }

@media (max-width: 1100px) {
  .kemi-sitemap-cols { columns: 2; column-gap: 40px; }
  .kemi-theme .kemi-sitemap-cats { columns: 2; }
}
@media (max-width: 700px) {
  .kemi-sitemap-cols { columns: 1; }
  /* The two one-line lists keep two tracks on a phone. Between them they are 60 single-line items,
     and stacked single-file they were most of the page's height — for the part a reader is least
     likely to be scrolling toward. The names take the narrower measure (the longest here,
     "Öryggisborðar og hálkuborðar", wraps to two lines at 390px, which is fine for a link list);
     the gap drops to 20px so each track still clears 150px of text. */
  .kemi-theme .kemi-sitemap-cats { columns: 2; column-gap: 20px; }
  .kemi-theme .kemi-sitemap-cats a { font-size: 15px; }
  /* the jump chips get the same scrolling row the archive chips get on phones, so eleven of them
     do not become six stacked lines above the content */
  .kemi-sitemap-jump { flex-wrap: nowrap; overflow-x: auto; margin-inline: -24px; padding-inline: 24px; scrollbar-width: none; }
  .kemi-sitemap-jump::-webkit-scrollbar { display: none; }
}
