.isbat-price-on-request,
.isbat-order-by-request {
  display: inline-block;
  font-weight: 700;
  color: #12335f;
}

.isbat-order-by-request {
  margin-left: .35rem;
  font-size: .9em;
  color: #5f6f89;
}

.isbat-product-quote-panel {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(18, 51, 95, .16);
  border-radius: 8px;
  background: #f7fafc;
}

.isbat-product-quote-panel p {
  margin: 0 0 .75rem;
}

.woocommerce a.button.isbat-quote-button,
.woocommerce button.button.isbat-quote-button,
a.button.isbat-quote-button {
  background: #12335f;
  color: #fff;
  border-radius: 6px;
  font-weight: 700;
  text-align: center;
}

.woocommerce a.button.isbat-quote-button:hover,
a.button.isbat-quote-button:hover {
  background: #0c2445;
  color: #fff;
}
.isbat-product-quote-panel,
.isbat-product-quote-panel p {
  color: #12335f;
}

.product .isbat-price-on-request,
.single-product .isbat-price-on-request {
  color: #7dd3fc;
}

/* === Migrated from WPCode 1009731 butikk polish CSS === */
/* ========================================================
   ISBAT BUTIKK POLISH V2 — cloned from Butikk.html master
   Typography · Apple-glass · Readability · Colors · Anims
   ======================================================== */

/* Color normalization: map legacy tokens to Butikk palette */
:root {
  --isbat-ease: cubic-bezier(.22,.61,.36,1);
  --isbat-ease-emphasis: cubic-bezier(.2,.9,.2,1);
  --isbat-glass-bg: linear-gradient(135deg, rgba(6,11,28,.96) 0%, rgba(4,8,22,.9) 100%);
  --isbat-glass-border: 1px solid rgba(255,255,255,.12);
  --isbat-glass-shadow: 0 24px 60px rgba(0,0,0,.5), 0 2px 0 rgba(255,255,255,.04) inset, 0 -1px 0 rgba(0,0,0,.3) inset;
  --isbat-glass-shadow-hover: 0 32px 80px rgba(0,0,0,.6), 0 2px 0 rgba(255,255,255,.08) inset, 0 0 0 1px rgba(45,212,255,.18);
}

/* Typography: balanced headings, letter-spacing, body rhythm */
.elementor-widget-html h1, .elementor-widget-html h2, .elementor-widget-html h3 {
  text-wrap: balance;
  letter-spacing: -.02em;
}
.elementor-widget-html p, .sv-service-text, .sv-intro-text, .sv-section p {
  text-wrap: pretty;
}
.elementor-widget-html p {
  max-width: 68ch;
}
/* Preserve explicit max-widths where pages already set them */
.elementor-widget-html .sv-container p,
.elementor-widget-html .pg-card-body p,
.elementor-widget-html [class*="-card"] p,
.elementor-widget-html .sv-hero p {
  max-width: none;
}/* Heading sizes — scoped to hero/section title, conservative cap so long
   Norwegian headlines don't blow out into 3-4 oversized lines on desktop.
   !important beats legacy page rules that use var(--v24-fs-4xl) etc. */
.elementor-widget-html .sv-hero h1, .elementor-widget-html .sv-hero .sv-hero-title, .elementor-widget-html .sv-ks-hero h1, .elementor-widget-html .sv-hub-hero h1{
  font-size: clamp(1.75rem, 3.6vw, 2.75rem) !important;
  line-height: 1.14 !important;
  text-wrap: balance;
}
.elementor-widget-html .sv-section-header h2,
.elementor-widget-html .sv-section > h2:first-of-type,
.elementor-widget-html .sv-title {
  font-size: clamp(1.375rem, 2.6vw, 2rem) !important;
  line-height: 1.2 !important;
  text-wrap: balance;
}
.elementor-widget-html .sv-card h3,
.elementor-widget-html .pg-card h3,
.elementor-widget-html [class*="-card"] h3 {
  line-height: 1.25;
}/* Full-screen hero with symmetric padding + centered content.
   Applies to main heroes: .sv-hero, .sv-ks-hero, .sv-hub-hero, .elementor-widget-html .sv-ks-hero, .elementor-widget-html .sv-hub-hero{
  min-height: 100svh;
  min-height: 100vh; /* fallback */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(96px, 12vh, 140px) clamp(20px, 4vw, 56px) clamp(64px, 8vh, 96px);
  box-sizing: border-box;
  position: relative;
}
.elementor-widget-html .sv-hero-content,
.elementor-widget-html .sv-hero-panel,
.elementor-widget-html .sv-hero-inner,
.elementor-widget-html .sv-ks-hero > *:not(.sv-hero-bg):not(.sv-hero-fade),
.elementor-widget-html .sv-hub-hero > *:not(.sv-hero-bg):not(.sv-hero-fade) {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}.elementor-widget-html .sv-hero .sv-hero-panel > *{
  max-width: 100%;
  box-sizing: border-box;
}.elementor-widget-html .sv-hero-cta{
  flex-wrap: wrap;
  gap: 12px;
}
.elementor-widget-html .sv-hero-cta .sv-btn, .elementor-widget-html .sv-hero-cta a{
  min-width: 0;
  max-width: 100%;
}

/* Container max-width normalization (if page lacks one) */
.elementor-widget-html .sv-container {
  max-width: min(var(--isbat-container-max, 1280px), calc(100vw - 32px));
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 3vw, 32px);
  padding-right: clamp(16px, 3vw, 32px);
  box-sizing: border-box;
}

/* Readability: link underline treatment matching Butikk */
.elementor-widget-html .sv-intro-text a,
.elementor-widget-html .sv-service-text a,
.elementor-widget-html .sv-section p a:not(.sv-btn):not([class*="btn"]):not([class*="-card"]) {
  color: var(--isbat-brand-secondary, #2dd4ff);
  text-decoration: underline;
  text-decoration-color: rgba(45,212,255,.35);
  text-underline-offset: 3px;
  transition: text-decoration-color .28s var(--isbat-ease);
}
.elementor-widget-html .sv-intro-text a:hover,
.elementor-widget-html .sv-service-text a:hover {
  text-decoration-color: var(--isbat-brand-secondary, #2dd4ff);
}

/* Apple-glass polish on cards (non-destructive — only sets if not already set) */
@supports (backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px)) {
.elementor-widget-html .sv-card, .elementor-widget-html .pg-card, .elementor-widget-html .sv-gallery-item{
    backdrop-filter: blur(16px) saturate(1.4);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
  }
}/* Smooth card hover — Butikk feel */
.elementor-widget-html .sv-card, .elementor-widget-html .pg-card, .elementor-widget-html .sv-process-step, .elementor-widget-html .sv-gallery-item{
  transition:
    transform .38s var(--isbat-ease),
    box-shadow .38s var(--isbat-ease),
    border-color .38s var(--isbat-ease);
}
.elementor-widget-html .sv-card:hover, .elementor-widget-html .pg-card:hover, .elementor-widget-html .sv-gallery-item:hover{
  transform: translateY(-3px);
  box-shadow: var(--isbat-glass-shadow-hover);
  border-color: rgba(45,212,255,.28);
}

/* Buttons — Butikk pill feel */
.elementor-widget-html .sv-btn,
.elementor-widget-html [class*="btn--primary"],
.elementor-widget-html [class*="btn--ghost"] {
  transition:
    transform .24s var(--isbat-ease),
    box-shadow .24s var(--isbat-ease),
    background .24s var(--isbat-ease),
    border-color .24s var(--isbat-ease);
}
.elementor-widget-html .sv-btn:hover,
.elementor-widget-html [class*="btn--primary"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(255,23,68,.35);
}

/* Image polish — slight saturation lift like Butikk hero */
.elementor-widget-html .sv-gallery-item img,
.elementor-widget-html .pg-card-thumb img,
.elementor-widget-html .sv-hero img {
  transition: transform .6s var(--isbat-ease-emphasis), filter .6s var(--isbat-ease);
}
.elementor-widget-html .sv-gallery-item:hover img,
.elementor-widget-html .pg-card:hover .pg-card-thumb img {
  transform: scale(1.04);
  filter: saturate(1.1) contrast(1.04);
}

/* Section breathing room — bigger whitespace like Butikk */
.elementor-widget-html .sv-section {
  padding-top: clamp(72px, 9vw, 120px);
  padding-bottom: clamp(72px, 9vw, 120px);
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
.elementor-widget-html .sv-card, .elementor-widget-html .pg-card, .elementor-widget-html .sv-process-step, .elementor-widget-html .sv-gallery-item, .elementor-widget-html .sv-btn, .elementor-widget-html [class*="btn--primary"], .elementor-widget-html .pg-card-thumb img{
    transition: none !important;
  }
  .elementor-widget-html .sv-card:hover,
  .elementor-widget-html .pg-card:hover,
  .elementor-widget-html .sv-btn:hover {
    transform: none !important;
  }
}

/* === Woo produktkort: hele kortet klikkbart (Variant A) === */
/* WC Blocks: link::before forblir scoped til <a>, men WC-blocks er ikke i bruk på isbaneteknikk.no */
.wc-block-grid__product {
  position: relative;
}

.wc-block-grid__product .wc-block-grid__product-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.wc-block-grid__product .wc-block-grid__product-price,
.wc-block-grid__product .wp-block-button,
.wc-block-grid__product button,
.wc-block-grid__product a {
  position: relative;
  z-index: 2;
}

/* Custom .prod-card markup på /butikk/ — .prod-card-cta er liten knapp, ikke wrapper-link.
   Lås ::before sin offset-parent til .prod-card ved å holde .prod-card-cta static. */
.prod-card {
  position: relative;
}

.prod-card .prod-card-cta {
  position: static;
}

.prod-card .prod-card-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  cursor: pointer;
}

/* Andre interaktive elementer skal sitte over overlay og forbli klikkbare.
   Container-divs (img-wrap, body, footer) holdes static slik at ::before sin offset-parent
   blir .prod-card og overlay dekker hele kortet. */
.prod-card a:not(.prod-card-cta),
.prod-card button {
  position: relative;
  z-index: 2;
}</a>
