/*
Theme Name: Stenumgaard Design
Description: Sort tema med gradient fra Stenumgaard-logoen. Barnetema av Storefront (WooCommerce).
Template: storefront
Version: 2.0.0
Author: Stenumgaard Design
Text Domain: stenumgaard
*/

:root{
  --bg:#0a0c0d; --surface:#111516; --surface-2:#161b1d; --line:#22292b; --line-2:#2c3538;
  --turkis:#1fe0d4; --sky:#38b8e0; --blaa:#5878e8;
  --grad:linear-gradient(120deg,#1fe0d4 0%,#38b8e0 55%,#5878e8 100%);
  --text:#eef3f2; --muted:#93a1a1; --dim:#5a6a6a; --ink:#04211e;
  --radius:14px; --radius-sm:8px;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --glow:0 0 0 1px rgba(31,224,212,.25), 0 10px 30px rgba(31,224,212,.12);
  --tabbar-h:62px;
}

/* ============================================================
   Grunntoner
   ============================================================ */
html{ scroll-behavior:smooth; }
body, .site, .site-content{ background:var(--bg)!important; color:var(--text); }
body{ font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,h6{ font-family:'Space Grotesk',sans-serif; color:var(--text); letter-spacing:-.02em; font-weight:600; }
p, li, .entry-content, .woocommerce-loop-product__title{ color:var(--text); }
a{ color:var(--turkis); text-decoration:none; }
a:hover{ color:var(--sky); }
::selection{ background:rgba(31,224,212,.35); color:#fff; }
:focus-visible{ outline:2px solid var(--turkis); outline-offset:3px; }
hr{ background:var(--line); }

.site-content{ padding-top:0; }
.content-area, .site-main, .woocommerce-active .site-main{ width:100%!important; float:none!important; margin:0!important; }
#secondary{ display:none; }
.hentry{ margin-bottom:0; }
.hentry .entry-content{ margin-bottom:0; }

/* Sidetittel pa vanlige sider */
.entry-header .entry-title, .woocommerce-products-header__title{
  font-size:clamp(2rem,4.5vw,3rem); margin:3rem 0 .75rem; position:relative; text-align:left;
}
.woocommerce-products-header{ text-align:left; margin-bottom:0; }
.woocommerce-shop ul.products{ margin-top:.5rem; }
.storefront-sorting{ display:none; }
.entry-header .entry-title::before, .woocommerce-products-header__title::before{
  content:""; display:block; width:36px; height:3px; border-radius:3px; background:var(--grad); margin-bottom:1.1rem;
}
.entry-header{ margin-bottom:1.5rem; }

/* ============================================================
   Topp og meny
   ============================================================ */
.site-header, .woocommerce-active .site-header{
  position:sticky; top:0; z-index:120;
  background:rgba(10,12,13,.78)!important; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line); margin-bottom:0;
  display:flex; align-items:center; flex-wrap:wrap; gap:.6rem 1.4rem;
  padding:.6rem max(1.3rem, calc(50% - 532px));
}
/* Storefront pakker toppen i to bokser; flat dem ut sa alt kan ligge pa en rad */
.site-header > .col-full, .storefront-primary-navigation, .storefront-primary-navigation > .col-full{ display:contents; }
.site-header::before, .site-header::after,
.storefront-primary-navigation::before, .storefront-primary-navigation::after,
.storefront-primary-navigation > .col-full::before, .storefront-primary-navigation > .col-full::after,
.site-header > .col-full::before, .site-header > .col-full::after{ display:none!important; content:none!important; }
.site-header .site-branding, .site-header .site-search, .site-header .main-navigation, .site-header .site-header-cart,
.woocommerce-active .site-header .site-branding, .woocommerce-active .site-header .site-search,
.woocommerce-active .site-header .main-navigation, .woocommerce-active .site-header .site-header-cart{
  float:none!important; width:auto!important; margin:0!important; padding:0!important;
}
.site-branding{ order:1; flex:0 0 auto; }
.main-navigation{ order:2; flex:1 1 0; min-width:0; display:flex; justify-content:center; }
.site-search{ order:3; }
.site-header-cart{ order:4; }
.sd-brand{ display:flex; align-items:center; gap:.7rem; color:var(--text)!important; white-space:nowrap; }
.sd-brand-text{ display:flex; flex-direction:column; line-height:1.15; }
.site-header .site-title{ font-family:'Space Grotesk',sans-serif; font-size:1.12rem; font-weight:700; letter-spacing:-.02em; margin:0; }
.site-header .site-description{ font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:0; }
.sd-logo{ flex:0 0 auto; filter:drop-shadow(0 0 10px rgba(31,224,212,.25)); }

.main-navigation > div.menu, .main-navigation .handheld-navigation, .main-navigation .menu-toggle{ display:none!important; }
.main-navigation .primary-navigation{ float:none!important; width:auto!important; }
.main-navigation ul.menu{ display:flex; flex-wrap:wrap; justify-content:center; gap:.15rem; margin:0; width:auto!important; }
.main-navigation ul li a, .site-header-cart .cart-contents{ color:var(--muted)!important; }
.main-navigation ul.menu > li > a{
  padding:.5rem .62rem!important; font-size:.87rem; white-space:nowrap; font-weight:500; border-radius:999px; transition:color .15s, background .15s;
}
.main-navigation ul.menu > li > a:hover{ color:var(--text)!important; background:rgba(255,255,255,.05); }
.main-navigation ul li.current-menu-item > a, .main-navigation ul li.current_page_parent > a, .main-navigation ul li.current-menu-ancestor > a{
  color:var(--turkis)!important; background:rgba(31,224,212,.08);
}
.main-navigation ul.menu > li > ul{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:var(--shadow); }
.main-navigation ul.menu ul li a{ color:var(--muted)!important; }
.main-navigation ul.menu ul li a:hover{ color:var(--text)!important; }
@media (min-width:1001px){ .site-header, .woocommerce-active .site-header{ flex-wrap:nowrap; } .main-navigation ul.menu{ flex-wrap:nowrap; } }
@media (max-width:1200px){ .site-header .site-description{ display:none; } }

/* Sok: kun et ikon til det far fokus */
.site-search{ flex:0 0 auto; }
.site-search .widget{ margin:0; }
.site-search .woocommerce-product-search{ position:relative; }
.site-search input[type=search]{
  width:40px!important; height:40px; padding:0 0 0 40px!important; font-size:.85rem; border-radius:999px!important;
  background:var(--surface)!important; transition:width .25s, padding .25s, border-color .2s; cursor:pointer; color:transparent!important;
}
.site-search input[type=search]::placeholder{ color:transparent; }
.site-search input[type=search]:focus{ width:230px!important; padding:0 .9rem 0 2.3rem!important; color:var(--text)!important; cursor:text; }
.site-search input[type=search]:focus::placeholder{ color:var(--dim); }
.site-search .woocommerce-product-search::before{
  content:""; position:absolute; left:13px; top:12px; width:12px; height:12px; pointer-events:none;
  border:2px solid var(--muted); border-radius:50%; box-sizing:border-box;
}
.site-search .woocommerce-product-search::after{
  content:""; position:absolute; left:23px; top:22px; width:7px; height:2px; background:var(--muted); transform:rotate(45deg); transform-origin:left center; pointer-events:none;
}
.site-search button[type=submit]{ display:none; }

/* Handlekurv i toppen */
.site-header-cart .cart-contents{
  display:flex; align-items:center; gap:.45rem; height:40px; padding:0 .8rem 0 .7rem!important; border:1px solid var(--line); border-radius:999px;
  font-family:'JetBrains Mono',monospace; font-size:.8rem; background:var(--surface); white-space:nowrap; transition:border-color .15s;
}
.site-header-cart .cart-contents:hover{ border-color:var(--turkis); }
.site-header-cart .cart-contents::after{ display:none!important; }
.site-header-cart .cart-contents svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; color:var(--text); }
.site-header-cart .cart-contents .amount{ color:var(--turkis)!important; }
.site-header-cart .cart-contents .count{
  min-width:20px; height:20px; padding:0 .4rem; display:grid; place-items:center; border-radius:999px;
  font-size:.68rem; color:var(--muted)!important; background:var(--surface-2); border:1px solid var(--line); opacity:1!important;
}
.site-header-cart .cart-contents .count.has-items{ color:var(--ink)!important; background:var(--grad); border-color:transparent; }
@media (max-width:1200px){ .site-header-cart .cart-contents .amount{ display:none; } }
.site-header-cart .widget_shopping_cart{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.storefront-handheld-footer-bar{ display:none!important; }

/* ============================================================
   Knapper
   ============================================================ */
button, .button, input[type=submit], .wp-block-button__link,
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.wc-block-components-button{
  background:var(--grad)!important; color:var(--ink)!important; border:0!important;
  font-family:'Space Grotesk',sans-serif; font-weight:600; border-radius:999px!important;
  padding:.8rem 1.5rem; line-height:1.2; letter-spacing:-.005em; cursor:pointer;
  transition:transform .15s, box-shadow .2s, filter .15s;
}
button:hover, .button:hover, input[type=submit]:hover, .woocommerce a.button:hover, .woocommerce button.button:hover{
  filter:brightness(1.08); transform:translateY(-1px); box-shadow:0 10px 26px rgba(31,224,212,.22);
}
.sd-btn-ghost, a.button.sd-btn-ghost{
  background:rgba(255,255,255,.03)!important; color:var(--text)!important; border:1px solid var(--line-2)!important;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.sd-btn-ghost:hover, a.button.sd-btn-ghost:hover{ border-color:var(--turkis)!important; color:var(--turkis)!important; box-shadow:none; }

/* ============================================================
   Forside: video-hero
   ============================================================ */
.home .site-content{ padding-top:0; }
.sd-hero{
  position:relative; width:100vw; margin-left:calc(50% - 50vw); overflow:hidden; isolation:isolate;
  min-height:min(82vh,820px); display:flex; align-items:center; border-bottom:1px solid var(--line);
}
.sd-hero-media{ position:absolute; inset:0; z-index:-1; background:#0b0e0f; }
.sd-hero-media video, .sd-hero-media img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; opacity:.85; }
.sd-hero-shade{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(10,12,13,.92) 0%, rgba(10,12,13,.72) 42%, rgba(10,12,13,.25) 100%),
    linear-gradient(180deg, rgba(10,12,13,.55) 0%, rgba(10,12,13,0) 30%, rgba(10,12,13,.75) 100%);
}
.sd-hero::after{ /* tynn gradientlinje i bunnen */
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--grad); opacity:.7;
}
.sd-hero-inner{
  position:relative; box-sizing:border-box; width:100%; max-width:1064px; margin:0 auto;
  padding:5rem clamp(1.3rem,4vw,2.6rem) 4.5rem;
}
.sd-hero h1{ font-size:clamp(2.6rem,6vw,4.6rem); line-height:1.02; margin:.7rem 0 1.2rem; max-width:13ch; font-weight:700; }
.sd-hero .sd-lead{ font-size:clamp(1.02rem,1.5vw,1.2rem); }
.sd-hero .sd-cta{ margin:1.8rem 0 0; display:flex; flex-wrap:wrap; gap:.7rem; }
.sd-hero-chips{ display:flex; flex-wrap:wrap; gap:.45rem; margin:2.4rem 0 0; padding:0; list-style:none; }
.sd-hero-chips li{
  font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.1em; color:var(--text);
  padding:.35rem .7rem; border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(10,12,13,.45);
}
.sd-hero-chips li.sd-chip-muted{ color:var(--muted); }

.sd-eyebrow{ font-family:'JetBrains Mono',monospace; font-size:.74rem; letter-spacing:.16em; color:var(--turkis); text-transform:uppercase; }
.sd-grad{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sd-lead{ color:var(--muted); font-size:1.1rem; max-width:36rem; line-height:1.6; }

/* Reveal ved innlasting */
@keyframes sd-up{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:none;} }
.sd-hero-inner > *{ animation:sd-up .7s cubic-bezier(.2,.7,.2,1) both; }
.sd-hero-inner > :nth-child(2){ animation-delay:.08s; }
.sd-hero-inner > :nth-child(3){ animation-delay:.16s; }
.sd-hero-inner > :nth-child(4){ animation-delay:.24s; }
.sd-hero-inner > :nth-child(5){ animation-delay:.32s; }
@media (prefers-reduced-motion:reduce){
  .sd-hero-inner > *{ animation:none; }
  html{ scroll-behavior:auto; }
  .sd-hero-media video{ display:none; }
}

/* ============================================================
   Forside: seksjoner
   ============================================================ */
.sd-front-content{ padding:1rem 0 2rem; }
.sd-section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin:0 0 1.4rem; }
.sd-section-head h2{ font-size:clamp(1.6rem,3vw,2.2rem); margin:.3rem 0 0; }
.sd-section-head .sd-more{ font-size:.9rem; font-weight:500; white-space:nowrap; }
.sd-section-head .sd-more::after{ content:" →"; }

.sd-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin:3.5rem 0 4rem; }
.sd-step{
  position:relative; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:1.7rem 1.6rem 1.6rem;
  transition:transform .25s, border-color .25s, box-shadow .25s; overflow:hidden;
}
.sd-step::before{ content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--grad); opacity:0; transition:opacity .25s; }
.sd-step:hover{ transform:translateY(-4px); border-color:rgba(31,224,212,.4); box-shadow:var(--shadow); }
.sd-step:hover::before{ opacity:1; }
.sd-step h3{ font-size:1.25rem; margin:.9rem 0 .55rem; }
.sd-step p{ color:var(--muted); margin:0; line-height:1.6; font-size:.97rem; }
.sd-num{ font-family:'JetBrains Mono',monospace; font-size:.7rem; color:var(--turkis); letter-spacing:.14em; }

.sd-band{ margin:0 0 3rem; }
.sd-band h2{ font-size:clamp(1.6rem,3vw,2.2rem); margin:0 0 1.4rem; }

/* Bred CTA-blokk nederst pa forsiden */
.sd-cta-band{
  position:relative; overflow:hidden; margin:4rem 0 2rem; padding:3rem 2.2rem; border-radius:var(--radius);
  background:var(--surface); border:1px solid var(--line); text-align:center;
}
.sd-cta-band::before{
  content:""; position:absolute; inset:-40%; background:radial-gradient(circle at 30% 30%, rgba(31,224,212,.16), transparent 45%), radial-gradient(circle at 75% 70%, rgba(88,120,232,.18), transparent 45%);
  pointer-events:none;
}
.sd-cta-band > *{ position:relative; }
.sd-cta-band h2{ font-size:clamp(1.6rem,3.2vw,2.4rem); margin:.5rem auto 1rem; max-width:22ch; }
.sd-cta-band p{ color:var(--muted); max-width:36rem; margin:0 auto 1.6rem; }

/* ============================================================
   Produkter
   ============================================================ */
.hentry, .wp-block-group, .widget, .woocommerce-tabs, .comment-body, .up-sells, .related.products{ background:transparent; }
ul.products{ display:grid!important; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin:0 0 1rem; }
ul.products::before, ul.products::after{ display:none!important; }
ul.products.columns-4{ grid-template-columns:repeat(4,1fr); }
ul.products li.product{ width:100%!important; float:none!important; margin:0!important; }
ul.products li.product{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:.9rem .9rem 1.2rem!important;
  text-align:left; transition:transform .25s, border-color .25s, box-shadow .25s;
}
ul.products li.product:hover{ transform:translateY(-4px); border-color:rgba(31,224,212,.45); box-shadow:var(--shadow); }
ul.products li.product img, ul.products li.product .wp-post-image, ul.products li.product .attachment-woocommerce_thumbnail{
  border-radius:var(--radius-sm); border:1px solid var(--line); margin-bottom:.9rem!important; aspect-ratio:1; object-fit:cover; width:100%;
}
ul.products li.product .woocommerce-loop-product__title{ font-family:'Space Grotesk',sans-serif; font-size:1.05rem; font-weight:600; padding:0; margin:0 0 .25rem; }
ul.products li.product .price{ margin-bottom:.9rem; }
ul.products li.product .button{ font-size:.85rem; padding:.6rem 1.15rem; margin:0; }
.price, .woocommerce-Price-amount{ color:var(--turkis)!important; font-family:'JetBrains Mono',monospace; font-weight:500; }
.price del{ color:var(--dim)!important; opacity:1; }
.price del .woocommerce-Price-amount{ color:var(--dim)!important; }
.onsale{ background:var(--grad)!important; color:var(--ink)!important; border-radius:999px; font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.1em; }
.star-rating span::before, .star-rating::before{ color:var(--turkis); }

/* Enkeltprodukt */
.single-product div.product .woocommerce-product-gallery img{ border-radius:var(--radius); border:1px solid var(--line); }
.single-product div.product .product_title{ font-size:clamp(1.8rem,3.5vw,2.6rem); }
.single-product div.product .woocommerce-tabs ul.tabs li{ background:var(--surface); border-color:var(--line); border-radius:var(--radius-sm) var(--radius-sm) 0 0; }
.single-product div.product .woocommerce-tabs ul.tabs li a{ color:var(--muted); }
.single-product div.product .woocommerce-tabs ul.tabs li.active{ background:var(--surface-2); }
.single-product div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--text); }
.single-product div.product .woocommerce-tabs .panel{ background:var(--surface-2); border:1px solid var(--line); border-radius:0 var(--radius-sm) var(--radius-sm) var(--radius-sm); padding:1.5rem; }
.single-product div.product form.cart .quantity .qty{ width:4.5rem; }
.product_meta{ color:var(--muted); font-family:'JetBrains Mono',monospace; font-size:.78rem; }
.woocommerce-breadcrumb{ color:var(--dim); font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.06em; margin:1.4rem 0 0; }
.woocommerce-breadcrumb a{ color:var(--muted); }
.woocommerce-ordering select{ padding:.45rem 2rem .45rem .8rem; }

/* Handlekurv / kasse / konto */
table.shop_table, .woocommerce-cart-form, .cart-collaterals .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout #customer_details,
.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content, .woocommerce form.login, .woocommerce form.register, .woocommerce-order{
  color:var(--text);
}
table.shop_table{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--surface); }
table.shop_table th, table.shop_table td{ border-color:var(--line)!important; background:transparent!important; }
table.shop_table th{ color:var(--muted); font-family:'JetBrains Mono',monospace; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; }
.cart-collaterals .cart_totals, #order_review, .woocommerce-MyAccount-navigation ul{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem; }
.woocommerce-checkout #payment{ background:var(--surface-2); border-radius:var(--radius); }
.woocommerce-checkout #payment .payment_method_paypal .about_paypal{ color:var(--muted); }
.woocommerce-checkout #payment div.payment_box{ background:var(--bg); color:var(--muted); }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-noreviews, p.no-comments{
  background:var(--surface)!important; color:var(--text)!important; border:1px solid var(--line); border-left:3px solid var(--turkis); border-radius:var(--radius-sm);
}
.woocommerce-error{ border-left-color:#ff6b6b; }
.woocommerce-message .button, .woocommerce-info .button{ margin-left:1rem; }
.wc-block-components-notice-banner{ background:var(--surface); color:var(--text); border-color:var(--line); }

/* WooCommerce-blokker (handlekurv/kasse) */
.wc-block-components-sidebar-layout, .wc-block-cart, .wc-block-checkout{ color:var(--text); }
.wc-block-cart .wc-block-cart__totals-title, .wc-block-components-totals-item, .wc-block-components-product-name, .wc-block-components-product-metadata,
.wc-block-components-order-summary, .wc-block-components-checkout-step__title, .wc-block-components-checkout-step__description,
.wc-block-components-text-input label, .wc-block-components-checkbox__label, .wc-block-components-radio-control__label{ color:var(--text)!important; }
.wc-block-components-product-metadata__description, .wc-block-components-checkout-step__description, .wc-block-components-text-input label{ color:var(--muted)!important; }
.wc-block-cart-items__header, .wc-block-components-totals-item__label{ color:var(--muted)!important; }
.wc-block-components-sidebar .wc-block-components-totals-wrapper, .wc-block-components-sidebar{ background:var(--surface); border-radius:var(--radius); }
.wc-block-components-text-input input, .wc-block-components-select select{ background:var(--surface)!important; color:var(--text)!important; border-color:var(--line)!important; }
.wc-block-components-totals-item__value, .wc-block-formatted-money-amount{ color:var(--turkis)!important; font-family:'JetBrains Mono',monospace; }
.wc-block-components-order-summary-item__quantity{ background:var(--bg); color:var(--text); border-color:var(--line); }
.wc-block-components-radio-control__option, .wc-block-components-checkout-step{ border-color:var(--line)!important; }
.wc-block-cart__empty-cart__title, .wp-block-woocommerce-empty-cart-block h2{ color:var(--text); }

/* Produktrutenett i blokker (tom handlekurv o.l.) */
.wc-block-grid__products{ display:grid!important; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin:0; }
.wc-block-grid__product{ width:auto!important; max-width:none!important; margin:0!important; padding:.9rem .9rem 1.2rem!important; border:1px solid var(--line)!important; border-radius:var(--radius); background:var(--surface); text-align:left; }
.wc-block-grid__product:hover{ border-color:rgba(31,224,212,.45)!important; }
.wc-block-grid__product-image img{ border-radius:var(--radius-sm); border:1px solid var(--line); }
.wc-block-grid__product-title, .wc-block-grid__product-title a{ color:var(--text)!important; font-family:'Space Grotesk',sans-serif; font-size:1.05rem; font-weight:600; text-align:left; margin:.9rem 0 .25rem; }
.wc-block-grid__product-price{ text-align:left; margin-bottom:.9rem; }
.wc-block-grid__product-add-to-cart{ text-align:left; }
.wc-block-grid__product-add-to-cart .wp-block-button__link{ font-size:.85rem; padding:.6rem 1.15rem; }
.wp-block-woocommerce-empty-cart-block h2, .wc-block-cart__empty-cart__title{ text-align:left; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator{ display:none; }
.wp-block-woocommerce-empty-cart-block > .wp-block-image svg, .wc-block-cart__empty-cart__image svg{ fill:var(--dim); }
@media (max-width:800px){ .wc-block-grid__products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .wc-block-grid__products{ grid-template-columns:1fr; } }

/* ============================================================
   Skjemaer
   ============================================================ */
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=url],
input[type=password], input[type=search], textarea, select, .select2-container .select2-selection--single{
  background:var(--surface)!important; color:var(--text)!important;
  border:1px solid var(--line)!important; border-radius:var(--radius-sm)!important; box-shadow:none!important;
  padding:.75rem .95rem; font-family:'Inter',sans-serif; font-size:.95rem; transition:border-color .15s, box-shadow .15s;
}
input:focus, textarea:focus, select:focus{ border-color:var(--turkis)!important; outline:none; box-shadow:0 0 0 3px rgba(31,224,212,.15)!important; }
::placeholder{ color:var(--dim); }
select{ appearance:none; -webkit-appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%)!important; background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%!important; background-size:5px 5px,5px 5px!important; background-repeat:no-repeat!important; padding-right:2.4rem; }
.select2-container .select2-selection--single .select2-selection__rendered{ color:var(--text)!important; }
.select2-dropdown{ background:var(--surface); border-color:var(--line); color:var(--text); }
.select2-container--default .select2-results__option--highlighted{ background:rgba(31,224,212,.15)!important; }
label{ color:var(--muted); font-weight:500; }
.wpcf7{ max-width:38rem; margin:1.5rem 0 3rem; }
.wpcf7 form{ display:flex; flex-direction:column; gap:1rem; }
.wpcf7 label{ display:block; font-size:.9rem; margin:0; }
.wpcf7 label input, .wpcf7 label textarea, .wpcf7 label select{ margin-top:.4rem; width:100%; }
.wpcf7 form > p{ margin:0; }
.wpcf7 input[type=submit]{ align-self:flex-start; margin-top:.4rem; }
.wpcf7 .wpcf7-not-valid-tip{ color:#ff8a8a; font-size:.8rem; margin-top:.3rem; }
.wpcf7 form .wpcf7-response-output{ margin:0; border:1px solid var(--line); border-left:3px solid var(--turkis); border-radius:var(--radius-sm); background:var(--surface); color:var(--text); padding:.9rem 1rem; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output{ border-left-color:#ff6b6b; }
.wpcf7 form.sent .wpcf7-response-output{ border-left-color:var(--turkis); }
.wpcf7-list-item{ margin:0; }
.wpcf7-list-item label{ display:flex; gap:.6rem; align-items:center; color:var(--text); cursor:pointer; }
input[type=checkbox], input[type=radio]{ accent-color:var(--turkis); width:1rem; height:1rem; }

/* Dra-og-slipp opplasting */
.codedropz-upload-handler{
  background:rgba(31,224,212,.05)!important; border:1.5px dashed rgba(31,224,212,.45)!important; border-radius:var(--radius)!important;
  padding:2.2rem 1.4rem!important; text-align:center; transition:background .15s, border-color .15s; margin:.4rem 0 0;
}
.codedropz-upload-handler:hover, .codedropz-upload-handler.dnd-hover{ background:rgba(31,224,212,.1)!important; border-color:var(--turkis)!important; }
.codedropz-upload-inner h3{ color:var(--text)!important; font-size:1rem; margin:0 0 .3rem; }
.codedropz-upload-inner span, .codedropz-upload-inner{ color:var(--muted)!important; font-family:'JetBrains Mono',monospace; font-size:.75rem; }
.codedropz-upload-inner .cd-upload-btn{ color:var(--turkis)!important; }
.dnd-upload-status{ background:var(--surface)!important; border:1px solid var(--line)!important; border-radius:var(--radius-sm); color:var(--text)!important; }
.dnd-upload-status .dnd-progress-bar span{ background:var(--grad)!important; }

/* ============================================================
   Innlegg (Prosjekter)
   ============================================================ */
.blog .hentry, .archive .hentry, .single-post .hentry{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem; margin-bottom:1.4rem;
}
.blog .hentry .entry-title a, .archive .hentry .entry-title a{ color:var(--text); }
.posted-on, .entry-meta, .byline{ color:var(--dim); font-family:'JetBrains Mono',monospace; font-size:.75rem; }
.no-results{ padding:3rem 0; }
.no-results .page-title{ font-size:1.6rem; }
.no-results .search-form{ display:none; }

/* Lange tekstsider (salgsvilkar, personvern) */
.page .entry-content{ max-width:46rem; }
.page .entry-content h2{ font-size:1.35rem; margin:2.2rem 0 .6rem; padding-top:1.2rem; border-top:1px solid var(--line); }
.page .entry-content p{ color:var(--muted); line-height:1.7; }
.page .entry-content p strong{ color:var(--text); }
.page .entry-content .sd-lead{ color:var(--muted); font-size:1.1rem; }
.sd-note{ font-family:'JetBrains Mono',monospace; font-size:.75rem; color:var(--dim)!important; margin-top:2.5rem; }
/* Skjemasidene skal ikke smalnes */
.page-id-33 .entry-content, .page-id-34 .entry-content{ max-width:none; }

/* ============================================================
   Footer
   ============================================================ */
.site-footer{ background:var(--surface)!important; color:var(--muted)!important; border-top:1px solid var(--line); padding:3rem 0 2rem; margin-top:3rem; }
.site-footer a{ color:var(--muted); text-decoration:none; }
.site-footer a:hover{ color:var(--turkis); }
.site-footer .site-info{ display:none; }
.sd-footer{ text-align:center; }
.sd-footer-brand{ display:inline-flex; align-items:center; gap:.6rem; font-family:'Space Grotesk',sans-serif; font-weight:700; color:var(--text); font-size:1.05rem; }
.sd-footer-tagline{ margin:.5rem 0 1.4rem; font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--turkis); }
.sd-footer-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:.2rem 1.6rem; margin-bottom:1.6rem; font-size:.9rem; font-weight:500; }
.sd-footer-meta{ font-family:'JetBrains Mono',monospace; font-size:.74rem; color:var(--dim); margin:0; }
.sd-footer-meta a{ color:var(--muted); }

/* ============================================================
   Cookie-varsel
   ============================================================ */
.sd-cookie{
  position:fixed; z-index:210; left:16px; right:16px; bottom:16px; max-width:480px; margin:0 auto;
  background:rgba(22,27,29,.94); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border:1px solid var(--line-2); border-radius:var(--radius); padding:1rem 1.1rem;
  display:flex; gap:1rem; align-items:center; box-shadow:var(--shadow);
  animation:sd-up .4s cubic-bezier(.2,.7,.2,1) both; transition:opacity .25s, transform .25s;
}
.sd-cookie[hidden]{ display:none; }
.sd-cookie.is-hiding{ opacity:0; transform:translateY(10px); }
.sd-cookie p{ flex:1; margin:0; font-size:.82rem; color:var(--muted); line-height:1.5; }
.sd-cookie .button{ padding:.55rem 1.05rem; font-size:.82rem; white-space:nowrap; }
@media (min-width:801px){ .sd-cookie{ left:auto; right:24px; bottom:24px; margin:0; } }

/* ============================================================
   Responsivt
   ============================================================ */
@media (max-width:1000px){
  .site-search{ display:none; }
}
@media (max-width:800px){
  .sd-steps{ grid-template-columns:1fr; gap:.9rem; margin:2.4rem 0 3rem; }
  ul.products, ul.products.columns-4{ grid-template-columns:repeat(2,1fr); gap:.8rem; }
  .sd-hero{ min-height:min(74vh,640px); align-items:flex-end; }
  .sd-hero-inner{ padding-top:4rem; padding-bottom:2.6rem; }
  .sd-hero h1{ font-size:clamp(2.3rem,10vw,3.2rem); }
  .sd-hero .sd-cta .button{ width:100%; text-align:center; }
  .sd-hero-chips{ margin-top:1.6rem; }
  .sd-hero-shade{
    background:
      linear-gradient(180deg, rgba(10,12,13,.6) 0%, rgba(10,12,13,.45) 30%, rgba(10,12,13,.9) 60%, rgba(10,12,13,.97) 100%);
  }
  .sd-cta-band{ padding:2.2rem 1.4rem; }
  .entry-header .entry-title, .woocommerce-products-header__title{ margin-top:1.8rem; }
  .site-header{ padding-top:.5rem; padding-bottom:.5rem; }
  .site-header .site-description{ display:none; }
}
@media (max-width:480px){
  ul.products, ul.products.columns-4{ grid-template-columns:1fr; }
}

/* ============================================================
   Mobil app-navigasjon (fast bunnmeny)
   ============================================================ */
.sd-tabbar{ display:none; }
@media (max-width:800px){
  /* Toppmenyen, hamburger-knappen og toppens handlekurv erstattes av bunnmenyen */
  .main-navigation, .menu-toggle, .site-header-cart, .storefront-primary-navigation{ display:none!important; }
  body{ padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom)); }
  .sd-cookie{ bottom:calc(var(--tabbar-h) + 12px + env(safe-area-inset-bottom)); }

  .sd-tabbar{
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:200;
    background:rgba(13,16,17,.9); -webkit-backdrop-filter:blur(16px) saturate(140%); backdrop-filter:blur(16px) saturate(140%);
    border-top:1px solid var(--line);
    padding:.3rem .35rem calc(.3rem + env(safe-area-inset-bottom));
    box-shadow:0 -10px 30px rgba(0,0,0,.35);
  }
  .sd-tab{
    flex:1; display:flex; flex-direction:column; align-items:center; gap:.18rem;
    color:#b8c4c4!important; padding:.25rem 0 .15rem; border-radius:12px; position:relative;
    -webkit-tap-highlight-color:transparent; transition:color .15s;
  }
  .sd-tab-icon{
    position:relative; display:grid; place-items:center; width:44px; height:28px; border-radius:999px;
    transition:background .2s, transform .2s;
  }
  .sd-tab svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
  .sd-tab-label{ font-family:'Inter',sans-serif; font-size:.64rem; font-weight:500; letter-spacing:.01em; line-height:1; }
  .sd-tab:active .sd-tab-icon{ transform:scale(.92); }
  .sd-tab.is-active{ color:var(--turkis)!important; }
  .sd-tab.is-active .sd-tab-icon{ background:rgba(31,224,212,.14); }
  .sd-tab.is-active .sd-tab-label{ font-weight:600; }
  .sd-tab-badge{
    position:absolute; top:-3px; right:4px; min-width:16px; height:16px; padding:0 .3rem;
    display:grid; place-items:center; border-radius:999px;
    background:var(--grad); color:var(--ink); font-family:'JetBrains Mono',monospace; font-size:.6rem; font-weight:700; line-height:1;
    box-shadow:0 0 0 2px rgba(13,16,17,.95);
  }
}
