/* === BT TEXT SIZE ADJUST START === */
/* Stop iOS Safari from auto-inflating font sizes, which widened the hero
   subtitle line so it overflowed/clipped past the screen edges on iPhone.
   Headless Chrome never reproduces this because it doesn't do iOS inflation. */
html {
  -webkit-text-size-adjust: 100% !important;
  -moz-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}
/* Defensive: the hero subtitle can never exceed the viewport on mobile */
@media (max-width: 767px) {
  .elementor-element-0556ac9 .elementor-heading-title {
    overflow-wrap: break-word !important;
    max-width: 100% !important;
  }
}
/* === BT TEXT SIZE ADJUST END === */

/* =========================
   CHECKOUT / WOOPAYMENTS
   ========================= */

iframe[name^="__privateStripeFrame"] {
  min-height: 60px !important;
  border-radius: 8px !important;
  padding: 12px !important;
  box-shadow: 0 0 0 1px #ccc;
}

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input.input-text {
  font-size: 16px;
  padding: 12px 16px;
  height: auto;
  border-radius: 6px;
}

.woocommerce-checkout button.button {
  font-size: 18px;
  padding: 14px 28px;
  border-radius: 10px;
}

@media only screen and (max-width: 768px) {
  iframe[name^="__privateStripeFrame"] {
    min-height: 70px !important;
  }

  .woocommerce-checkout input {
    font-size: 18px;
  }
}


/* =========================
   MINI CART TITLE
   ========================= */

.elementor-menu-cart__main:before {
  content: "Min handlekurv";
  display: block;
  font-family: "Cormorant", serif;
  font-size: 28px;
  margin-top: 60px;
  margin-bottom: 25px;
  letter-spacing: 0 !important;
}


/* =========================
   HIDE RELATED POSTS / PRODUCTS
   ========================= */

.related,
.related.products,
.related-posts,
.ast-related-posts,
.ast-related-posts-wrap,
.single-post-related,
.ast-related-post,
section.related {
  display: none !important;
}


/* =========================
   PRODUCT CARD ICON
   ========================= */

/* Ikke skjul knappene her, bare style ikonet */
.ast-on-card-button {
  background: rgba(190, 166, 145, 0.92) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08) !important;
  transition: all 0.25s ease !important;
}

.ast-on-card-button:hover {
  background: #a88f7c !important;
  transform: translateY(-1px) scale(1.03);
}

.ast-on-card-button svg,
.ast-on-card-button i {
  font-size: 15px !important;
  color: #fff !important;
}


/* =========================
   HEADER / LOGO
   TEST FIX
   ========================= */

.elementor-location-header,
.elementor-location-header .elementor-element,
.elementor-location-header .elementor-widget-image,
.elementor-location-header .elementor-widget-theme-site-logo,
.elementor-location-header img {
  position: relative;
  z-index: 50;
}

.elementor-location-header + * {
  position: relative;
  z-index: 1;
}

input,
textarea {
  font-family: inherit !important;
  color: #6b5f56 !important;
}

input::placeholder {
  font-family: inherit !important;
  color: #a8a29e !important;
}

/* FIX font i input-felter (Brevo / generelt) */
input,
textarea {
  font-family: "Cormorant Garamond", serif !important;
  color: #6b5f56 !important;
  font-size: 16px !important;
}

/* Placeholder tekst */
input::placeholder,
textarea::placeholder {
  font-family: "Cormorant Garamond", serif !important;
  color: #b0a8a0 !important;
  opacity: 1;
}

/* Fjern stygg browser styling */
input {
  appearance: none;
  -webkit-appearance: none;
}

/* Fjern all stygg default styling */
.bt-newsletter-popup input {
  font-family: inherit !important;
  font-size: 18px !important;
  color: #6b5f56 !important;
  background: #f3efe9 !important;
  border: none !important;
  box-shadow: none !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
}

/* Placeholder */
.bt-newsletter-popup input::placeholder {
  color: #b8b1ab !important;
  font-style: italic;
}

/* Labels */
.bt-newsletter-popup label {
  font-family: inherit !important;
  font-size: 14px !important;
  color: #6b5f56 !important;
}

/* Knapp – clean & luksus */
.bt-newsletter-popup input[type="submit"] {
  font-family: inherit !important;
  font-size: 18px !important;
  color: #6b5f56 !important;
  background: #eae3db !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  box-shadow: none !important;
  transition: 0.2s ease;
}

/* Hover */
.bt-newsletter-popup input[type="submit"]:hover {
  background: #e0d7ce !important;
}

input:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #d6cdc4 !important; /* velg din beige tone */
}

#sib-container input {
  border: 1px solid #eae5df !important;
}

#sib-container input:focus {
  border: 1px solid #cbbfb3 !important;
  box-shadow: none !important;
}
/* Skjul stjernerangering på produkter inntil reelle anmeldelser finnes */
.woocommerce ul.products li.product .star-rating,
.woocommerce-product-rating,
.woocommerce-loop-product__title + .star-rating,
.elementor-widget-woocommerce-products .star-rating {
    display: none !important;
}
/* Om page: darker section headings */
body.page-id-1 .elementor-widget-heading .elementor-heading-title{color:#5a4c3c !important;}

/* Mobile header fix */
@media (max-width: 767px){
  /* Kurv-ikon: fjern absolutt-plassering som dyttet det utenfor venstre kant */
  .elementor-871 .elementor-element-c64af30{
    position: static !important;
    transform: none !important;
    inset: auto !important;
    left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;
    width: auto !important;
    max-width: 64px !important;
    margin: 0 !important;
  }
  /* Rad med meny + kurv: normal justering */
  .elementor-871 .elementor-element-0f1b07d{ align-items: center !important; }
  /* Logo: rimelig storrelse og sentrert */
  .elementor-871 .elementor-element-7797a27{ width: 46% !important; margin-left: auto !important; margin-right: auto !important; }
  .elementor-871 .elementor-element-7797a27 img{ max-width: 160px !important; }
}

/* === BT APP SHOWCASE START (managed) === */
.bt-app-showcase{
  --cream:#f6f0e6; --beige:#f2eadf; --clay:#c9b79c; --clay-deep:#8c765a;
  --mocha:#4b3b2a; --taupe:#b8a488; --line:#e6dcca;
  background:linear-gradient(180deg,#faf6ee 0%, #f2eadf 100%);
  padding:96px 24px; font-family:'Montserrat',system-ui,sans-serif; color:var(--mocha);
}
.bt-as-wrap{
  max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1.05fr .95fr;
  gap:72px; align-items:center;
}
/* --- Tekst --- */
.bt-as-eyebrow{
  display:inline-block; font-size:11.5px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--clay-deep); font-weight:500; margin-bottom:22px;
}
.bt-as-title{
  font-family:'Cormorant',serif; font-weight:300; font-size:clamp(34px,4.4vw,54px);
  line-height:1.08; letter-spacing:.4px; margin:0 0 22px; color:var(--mocha);
}
.bt-as-lead{
  font-weight:300; font-size:16px; line-height:1.7; max-width:440px; margin:0 0 34px;
  color:#6f5d47;
}
.bt-as-feats{ list-style:none; padding:0; margin:0 0 38px; display:grid; gap:20px; }
.bt-as-feats li{ display:flex; gap:16px; align-items:flex-start; }
.bt-as-ic{
  flex:0 0 auto; width:38px; height:38px; border-radius:50%;
  border:1px solid var(--line); background:#fffdf9; color:var(--clay-deep);
  display:flex; align-items:center; justify-content:center; font-size:16px;
}
.bt-as-feats b{ display:block; font-weight:500; font-size:14.5px; letter-spacing:.2px; }
.bt-as-feats small{ display:block; font-weight:300; font-size:13px; color:#8a7862; margin-top:3px; }
/* --- Knapper --- */
.bt-as-cta{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.bt-as-btn{
  display:inline-block; text-decoration:none; font-weight:400; font-size:14px;
  letter-spacing:.3px; padding:14px 28px; border-radius:40px; transition:.25s ease;
}
.bt-as-btn.primary{
  background:var(--mocha); color:var(--beige);
  box-shadow:0 14px 30px -16px rgba(75,59,42,.65);
}
.bt-as-btn.primary:hover{ background:#3c2f21; transform:translateY(-1px); }
.bt-as-btn.ghost{ color:var(--clay-deep); border:1px solid var(--line); background:transparent; }
.bt-as-btn.ghost:hover{ border-color:var(--clay); background:#fffdf9; }
.bt-as-note{ margin:20px 0 0; font-size:12.5px; font-weight:300; color:#9a886e; letter-spacing:.2px; }
/* --- Telefon --- */
.bt-as-visual{ display:flex; justify-content:center; }
.bt-phone{
  position:relative; width:300px; height:610px; border-radius:44px;
  background:#fffdf9; padding:14px;
  box-shadow:0 40px 80px -30px rgba(75,59,42,.45), 0 0 0 10px #efe6d6, 0 0 0 11px #e2d5bf;
}
.bt-phone-notch{
  position:absolute; top:22px; left:50%; transform:translateX(-50%);
  width:110px; height:22px; background:#efe6d6; border-radius:0 0 16px 16px; z-index:2;
}
.bt-phone-screen{
  height:100%; border-radius:32px; background:linear-gradient(180deg,#fbf7f0,#f6efe4);
  padding:44px 22px 18px; overflow:hidden; position:relative;
}
.bt-p-date{ text-align:center; font-size:9.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--clay-deep); margin:0 0 10px; }
.bt-p-hi{ text-align:center; font-family:'Cormorant',serif; font-weight:300; font-size:30px; line-height:1.1; margin:0 0 22px; color:var(--mocha); }
.bt-p-card{
  background:#fffdf9; border:1px solid var(--line); border-radius:20px;
  padding:22px 20px; margin-bottom:14px; box-shadow:0 12px 26px -20px rgba(75,59,42,.4);
}
.bt-p-card.soft{ background:linear-gradient(180deg,#fffdf9,#f7f0e5); }
.bt-p-eyebrow{ font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--clay-deep); margin:0 0 10px; text-align:center; }
.bt-p-card.soft .bt-p-eyebrow{ text-align:left; }
.bt-p-verse{ font-family:'Cormorant',serif; font-weight:400; font-size:17px; line-height:1.45; text-align:center; color:var(--mocha); margin:0 0 12px; }
.bt-p-ref{ font-size:9px; letter-spacing:.18em; text-transform:uppercase; text-align:center; color:var(--taupe); margin:0; }
.bt-p-day{ font-family:'Cormorant',serif; font-size:22px; font-weight:400; color:var(--mocha); margin:0 0 6px; }
.bt-p-sub{ font-size:11px; font-weight:300; line-height:1.5; color:#8a7862; margin:0 0 14px; }
.bt-p-go{ display:inline-block; font-size:10px; font-weight:500; letter-spacing:.06em; color:var(--beige); background:var(--mocha); padding:8px 16px; border-radius:30px; }
.bt-p-worship{ display:flex; align-items:center; gap:12px; background:#fffdf9; border:1px solid var(--line); border-radius:18px; padding:13px 16px; margin-top:14px; box-shadow:0 12px 26px -20px rgba(75,59,42,.4); }
.bt-p-wplay{ flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:linear-gradient(135deg,#d8c6a8,#b8a488); color:#fff; display:flex; align-items:center; justify-content:center; font-size:10px; padding-left:2px; }
.bt-p-worship b{ display:block; font-size:12px; font-weight:500; color:var(--mocha); }
.bt-p-worship small{ display:block; font-size:9.5px; font-weight:300; color:#8a7862; margin-top:2px; }
.bt-p-nav{
  position:absolute; left:14px; right:14px; bottom:14px; display:flex; justify-content:space-between;
  background:#fffdf9; border:1px solid var(--line); border-radius:18px; padding:11px 12px;
}
.bt-p-nav span{ font-size:8.5px; font-weight:400; color:#a3906f; letter-spacing:.02em; }
.bt-p-nav span.on{ color:var(--mocha); font-weight:500; }
/* --- Mobil --- */
@media(max-width:860px){
  .bt-app-showcase{ padding:64px 20px; }
  .bt-as-wrap{ grid-template-columns:1fr; gap:48px; text-align:center; }
  .bt-as-lead{ margin-left:auto; margin-right:auto; }
  .bt-as-feats{ text-align:left; max-width:400px; margin-left:auto; margin-right:auto; }
  .bt-as-cta{ justify-content:center; }
}
/* --- specificity overrides (beat theme) --- */
.bt-app-showcase{ background:linear-gradient(180deg,#faf6ee 0%,#f2eadf 100%)!important; }
.bt-app-showcase .bt-as-title,
.bt-app-showcase .bt-p-hi,
.bt-app-showcase .bt-p-verse,
.bt-app-showcase .bt-p-day{ font-family:"Cormorant",serif!important; color:#4b3b2a!important; }
.bt-app-showcase .bt-as-title{ font-weight:300!important; }
.bt-app-showcase .bt-as-eyebrow,
.bt-app-showcase .bt-as-lead,
.bt-app-showcase .bt-as-feats,
.bt-app-showcase .bt-as-feats b,
.bt-app-showcase .bt-as-feats small,
.bt-app-showcase .bt-as-btn,
.bt-app-showcase .bt-as-note,
.bt-app-showcase .bt-p-date,
.bt-app-showcase .bt-p-eyebrow,
.bt-app-showcase .bt-p-ref,
.bt-app-showcase .bt-p-sub,
.bt-app-showcase .bt-p-go,
.bt-app-showcase .bt-p-worship b,
.bt-app-showcase .bt-p-worship small,
.bt-app-showcase .bt-p-nav span{ font-family:"Montserrat",sans-serif!important; }
.bt-app-showcase .bt-as-btn.primary{ color:#f2eadf!important; }
/* === BT APP SHOWCASE END === */

/* === BT BESTSELLERS START === */
.bt-bestsellers{ font-family:"Montserrat",sans-serif; }
.bt-bestsellers .bt-bs-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
  max-width:1120px; margin:0 auto; padding:0 24px; box-sizing:border-box;
}
.bt-bestsellers .bt-bs-card{
  display:flex; flex-direction:column; background:#fffdf9;
  border:1px solid #e6dcca; border-radius:20px; overflow:hidden;
  text-decoration:none; box-shadow:0 18px 40px -28px rgba(75,59,42,.4);
  transition:transform .25s ease, box-shadow .25s ease;
}
.bt-bestsellers .bt-bs-card:hover{ transform:translateY(-4px); box-shadow:0 26px 50px -28px rgba(75,59,42,.5); }
.bt-bestsellers .bt-bs-imgwrap{
  background:#efe6d6; aspect-ratio:3/4; display:flex;
  align-items:center; justify-content:center; padding:22px; box-sizing:border-box;
}
.bt-bestsellers .bt-bs-imgwrap img{
  max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain;
  border-radius:6px; box-shadow:0 10px 24px -14px rgba(75,59,42,.5);
}
.bt-bestsellers .bt-bs-body{
  padding:22px 22px 26px; text-align:center; display:flex;
  flex-direction:column; align-items:center; gap:10px;
}
.bt-bestsellers .bt-bs-name{
  font-family:"Cormorant",serif!important; font-weight:300!important; font-size:22px;
  line-height:1.2; letter-spacing:.3px; color:#4b3b2a!important; margin:0;
}
.bt-bestsellers .bt-bs-price{
  font-family:"Montserrat",sans-serif!important; font-weight:300!important; font-size:14px;
  letter-spacing:.04em; color:#8a7862!important; margin:0;
}
.bt-bestsellers .bt-bs-btn{
  margin-top:6px; font-family:"Montserrat",sans-serif; font-weight:400; font-size:12.5px;
  letter-spacing:.06em; color:#4b3b2a; border:1px solid #d9ccb4; border-radius:30px;
  padding:10px 22px; transition:background .25s ease, color .25s ease, border-color .25s ease;
}
.bt-bestsellers .bt-bs-card:hover .bt-bs-btn{ background:#4b3b2a; color:#f2eadf; border-color:#4b3b2a; }
@media(max-width:860px){
  .bt-bestsellers .bt-bs-grid{
    display:flex; grid-template-columns:none; flex-wrap:nowrap; max-width:none;
    overflow-x:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory;
    gap:16px; padding:6px 16px 18px;
  }
  .bt-bestsellers .bt-bs-grid::-webkit-scrollbar{ display:none; }
  .bt-bestsellers .bt-bs-card{ flex:0 0 72%; max-width:300px; scroll-snap-align:center; }
  .bt-bestsellers .bt-bs-name{ font-size:19px; line-height:1.2; }
  .bt-bestsellers .bt-bs-price{ font-size:13px; }
  .bt-bestsellers .bt-bs-btn{ font-size:12px; padding:9px 20px; }
}
/* === BT BESTSELLERS END === */

/* === BT PAGE BG START === */
body,
.ast-separate-container{ background-color:#F2EADF !important; background-image:none !important; }
/* === BT PAGE BG END === */


/* === BT SECTION CARDS START === */
.elementor-element-4cad0d1 > .e-con-inner,
.elementor-element-f875284 > .e-con-inner{
  background:#fffdf9;
  border:1px solid #e6dcca;
  border-radius:24px;
  box-shadow:0 24px 55px -34px rgba(75,59,42,.45);
  padding-top:52px !important; padding-bottom:52px !important;
  padding-left:44px !important; padding-right:44px !important;
  max-width:820px;
  margin-left:auto !important; margin-right:auto !important;
}
@media(max-width:860px){
  .elementor-element-4cad0d1 > .e-con-inner,
  .elementor-element-f875284 > .e-con-inner{
    padding:34px 22px !important; border-radius:18px;
    /* width:100% + fixed side margins overflowed the viewport and pushed the
       card ~16px to the right. Use auto margins with a capped width so the
       card keeps 18px of air on each side AND stays truly centred. */
    max-width:calc(100% - 36px) !important;
    margin-left:auto !important; margin-right:auto !important;
  }
}
/* === BT SECTION CARDS END === */


/* === BT NEWSLETTER BOX START === */
/* The MailPoet form sits in a fixed 305px iframe, so ~110px of empty white
   space fell below the "Send" button, making the box bottom-heavy. Crop the
   iframe to hug the form so the content is centred with equal spacing above
   and below (equal margins all around, together with the 52/44px padding). */
.elementor-element-f897b20 .elementor-widget-container{
  height:210px !important;
  overflow:hidden;
}
@media(max-width:860px){
  .elementor-element-f897b20 .elementor-widget-container{
    height:235px !important;
  }
}
/* === BT NEWSLETTER BOX END === */


/* === BT MOBILE MENU START === */
/* Mobile/tablet nav (Elementor widget d4b6cad). Keep the original clean
   sans-serif items, left-aligned, with hairline dividers. Only "Min
   stilletid" (the app) is restyled as a clear, soft, lighter CTA button. */
@media (max-width:1024px){
  .elementor-element-d4b6cad nav.elementor-nav-menu--dropdown{
    background:#F2EADF !important;
  }
  /* left-align items (keep Elementor's own font + size) + more air to the right */
  .elementor-element-d4b6cad nav.elementor-nav-menu--dropdown a.elementor-item,
  .elementor-element-d4b6cad nav.elementor-nav-menu--dropdown a.elementor-sub-item{
    text-align:left !important;
    justify-content:flex-start;
  }
  .elementor-element-d4b6cad nav.elementor-nav-menu--dropdown > ul > li > a.elementor-item{
    padding-left:42px !important;
  }
  .elementor-element-d4b6cad nav.elementor-nav-menu--dropdown a.elementor-sub-item{
    padding-left:58px !important;
  }
  /* sub-menu (Shop items) same cream background as the main headings */
  .elementor-element-d4b6cad nav.elementor-nav-menu--dropdown ul.sub-menu,
  .elementor-element-d4b6cad nav.elementor-nav-menu--dropdown ul.sub-menu > li,
  .elementor-element-d4b6cad nav.elementor-nav-menu--dropdown a.elementor-sub-item{
    background:#F2EADF !important;
    background-color:#F2EADF !important;
  }
  /* consistent hairline between top-level rows */
  .elementor-element-d4b6cad nav.elementor-nav-menu--dropdown > ul > li{
    border-top:1px solid #e3d8c6 !important;
    border-bottom:none !important;
  }
  .elementor-element-d4b6cad nav.elementor-nav-menu--dropdown > ul > li:first-child{
    border-top:none !important;
  }
  /* "Min stilletid" -> clear, lighter CTA button */
  .elementor-element-d4b6cad nav.elementor-nav-menu--dropdown > ul > li.menu-item-4732{
    border:none !important;
    margin:18px 24px 24px !important;
  }
  .elementor-element-d4b6cad nav.elementor-nav-menu--dropdown > ul > li.menu-item-4732 > a.elementor-item{
    background:#7d6f5f !important;
    background-color:#7d6f5f !important;
    color:#f7f1e7 !important;
    border-radius:40px !important;
    text-align:center !important;
    justify-content:center !important;
    padding:16px !important;
    letter-spacing:1px !important;
  }
}
/* === BT MOBILE MENU END === */

/* === BT CATEGORY PAGES START === */
/* Category listing pages (Kort, Plakater, Notatbøker, Bibelverskort,
   Bøker, Digitale produkter). IVORIE-style clean-up: remove the on-page
   category-link row entirely — just title -> air -> products. Category
   switching happens via the Shop menu. Plus a couple of Kort-only extras.
   All selectors use per-page Elementor element IDs. */

/* 1) hide the on-page category-link band on every category page.
   We hide the parent boxed section that wraps each nav container, so no
   empty padding is left behind (title flows straight into the products). */
.elementor-element-00ffe0f,   /* Kort */
.elementor-element-eb33fbf,   /* Plakater */
.elementor-element-00912ce,   /* Notatbøker */
.elementor-element-756f0b5,   /* Bøker */
.elementor-element-1e485cf,   /* Digitale produkter */
.elementor-element-c14edd8{   /* Bibelverskort: only the link band -- NOT
                                 the whole section, because on this page the
                                 page title lives in the same section. */
  display:none !important;
}

/* 2) Kort-only: discount offer -> soft callout card */
.elementor-element-f9e529c .elementor-widget-container{
  background:#fffdf9;
  border:1px solid #e3d8c6;
  border-radius:16px;
  padding:18px 24px;
  max-width:430px;
  margin:0 auto;
  text-align:center;
}

/* 3) Kort-only: hide redundant per-product category label in the grid */
.elementor-element-26f3014 .ast-woo-product-category{
  display:none !important;
}
/* === BT CATEGORY PAGES END === */

/* === BT HEADER MOBILE START === */
/* Global header (Elementor template 871) on phones (<768px).
   1) AIR: the logo sat only ~10px from the top, glued under the status
      bar — add breathing room. max(22px, safe-area) so it also clears
      the notch if viewport-fit=cover is enabled later.
   2) LOGO TAP: the menu/cart row (0f1b07d) is a relative, full-width row
      whose empty middle overlaps the centred logo and swallowed taps on
      mobile (the existing bt-header-fix only neutralised it >=768px).
      Make its middle click-through, keep the hamburger group (bf1ee2b)
      and cart group (1c055d5) clickable — taps now reach the logo link. */
@media (max-width:767px){
  .elementor-871{ padding-top: max(22px, env(safe-area-inset-top)) !important; }
  .elementor-871 .elementor-element-0f1b07d{ pointer-events:none !important; }
  .elementor-871 .elementor-element-0f1b07d .elementor-element-bf1ee2b,
  .elementor-871 .elementor-element-0f1b07d .elementor-element-1c055d5{ pointer-events:auto !important; }
}
/* === BT HEADER MOBILE END === */

/* === BT CATEGORY SHOWCASE START === */
/* Homepage "Utforsk produktene" 2x2 category grid (container 7ef9871).
   Goals (all measured at 390px):
   - equal, undistorted framing: Plakater rendered 165x159 while the
     others were 165x165 and object-fit was "fill" (stretch). Force a
     clean 1:1 crop so every card is identical height.
   - soft rounded corners (14px) to match the cream/callout aesthetic
     instead of hard square edges.
   - quiet desktop hover: gentle image zoom + title -> mocha. No bounce.
   - turn the grey filled "Utforsk produktene" pill into a calm
     underlined text link (loses the beige box that clashed w/ status bar). */

/* uniform, softly-rounded, cropped card images */
.elementor-element-7ef9871 .elementor-widget-image a,
.elementor-element-7ef9871 .elementor-widget-image .elementor-widget-container{
  display:block; overflow:hidden; border-radius:14px;
}
.elementor-element-7ef9871 .elementor-widget-image img{
  width:100% !important; height:auto !important;
  aspect-ratio:1/1; object-fit:cover;
  border-radius:14px;
  transition:transform .55s ease;
}

/* calm title, tighter to the image */
.elementor-element-7ef9871 .elementor-widget-heading{ margin-top:4px; }
.elementor-element-7ef9871 .elementor-widget-heading a{
  transition:color .3s ease;
}

/* gentle hover — desktop only (no hover state to "stick" on touch) */
@media (min-width:768px){
  .elementor-element-7ef9871 .elementor-widget-image a:hover img{
    transform:scale(1.045);
  }
  .elementor-element-7ef9871 .elementor-widget-heading a:hover{
    color:#4b3b2a;
  }
}

/* "Utforsk produktene": grey pill -> quiet underlined text link */
.elementor-element-e09f48d .elementor-button{
  background:transparent !important;
  color:#4b3b2a !important;
  box-shadow:none !important;
  border:0 !important;
  border-radius:0 !important;
  padding:6px 2px !important;
  font-size:15px !important;
  letter-spacing:.5px;
  border-bottom:1px solid #c3b49d !important;
  transition:border-color .3s ease, color .3s ease;
}
.elementor-element-e09f48d .elementor-button:hover{
  color:#7d6f5f !important;
  border-bottom-color:#7d6f5f !important;
}
/* === BT CATEGORY SHOWCASE END === */

/* === BT HEADER DESKTOP START === */
/* Desktop header (Elementor template 871, >=768px).
   Before: logo centred on row 1 (full width); nav menu (d4b6cad) sat
   left-aligned inside a ~560px left box (bf1ee2b) with the UL set to
   flex-wrap:wrap -> "Min stilletid" dropped to a 2nd line, and a large
   empty middle/right made the header feel unbalanced.
   After: centre the whole nav row directly under the centred logo
   (classic calm centre-logo header) and pin the cart to the right edge
   so the menu can centre across the full width. One line, symmetrical. */
@media (min-width:768px){
  /* AIR: logo sat flush at the very top on desktop — add breathing room */
  .elementor-871{ padding-top:34px !important; }
  .elementor-871 .elementor-element-0f1b07d{ position:relative !important; }
  /* left group grows to full row and centres the menu */
  .elementor-871 .elementor-element-bf1ee2b{
    flex:1 1 auto !important;
    justify-content:center !important;
  }
  .elementor-871 .elementor-element-d4b6cad{ width:auto !important; }
  .elementor-871 .elementor-element-d4b6cad ul.elementor-nav-menu{
    width:100% !important;
    justify-content:center !important;
    flex-wrap:nowrap !important;
  }
  /* pin the cart to the right, out of flow, vertically centred */
  .elementor-871 .elementor-element-1c055d5{
    position:absolute !important;
    right:40px; top:50%;
    transform:translateY(-50%);
    margin:0 !important;
  }
}
/* === BT HEADER DESKTOP END === */

/* (BT HERO CENTER-blokken fjernet 2026-08-22: gjaldt den gamle heltoverskriften.
   f294c0f er nå bare den lille «Utforsk produktene»-seksjonsoverskriften, så den
   280px topp-margen laget et stort tomrom over overskriften.) */


/* === BT-produktrad START === */
/* "Utforsk produktene" product grid (container 7fc3167). On mobile the
   2-column grid felt cramped/"jalla"; turn it into one calm horizontal row
   you can swipe through. Desktop keeps the normal grid. The 7th child
   (0fb7468, back-to-top arrow) is hidden so it doesn't become a stray card. */
@media (max-width:860px){
  .elementor-element-7fc3167 > .e-con-inner{
    display:flex !important;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    gap:14px;
    padding:4px 16px 16px;
    scrollbar-width:none;
  }
  .elementor-element-7fc3167 > .e-con-inner::-webkit-scrollbar{ display:none; }
  /* the 6 product cards: uniform width, snap to centre */
  .elementor-element-7fc3167 > .e-con-inner > .e-con{
    flex:0 0 64%;
    max-width:280px;
    scroll-snap-align:center;
    margin:0 !important;
  }
  /* hide the back-to-top arrow widget so it isn't a stray flex item */
  .elementor-element-7fc3167 .elementor-element-0fb7468{
    display:none !important;
  }
}
/* === BT-produktrad END === */

/* === BT ROLIG BEVEGELSE START === */
/* Rolig, koselig bevegelse pa hele den offentlige nettsiden.
   1) Myk fade nar siden lastes.
   2) Myke overganger pa lenker/knapper/bilder sa ingenting "hopper".
   3) Forsiktig gli-inn pa seksjoner mens man blar (kun nyere nettlesere
      som stotter scroll-drevet animasjon; eldre viser innholdet normalt).
   Respekterer prefers-reduced-motion (ingen bevegelse for de som slar det av). */
@media (prefers-reduced-motion: no-preference){

  /* 1) hele siden toner rolig inn */
  body.elementor-page{ animation: btPageIn .8s ease both; }
  @keyframes btPageIn{ from{ opacity:0; } to{ opacity:1; } }

  /* 2) myke overganger overalt */
  .elementor-page a,
  .elementor-page button,
  .elementor-page .elementor-button,
  .elementor-page .elementor-widget-image img{
    transition: color .3s ease, background-color .3s ease,
                border-color .3s ease, box-shadow .3s ease,
                transform .35s ease, opacity .35s ease !important;
  }

  /* 3) seksjoner glir mykt inn nar de kommer til syne (progressiv forbedring) */
  @supports (animation-timeline: view()){
    .elementor-page .e-con.e-parent{
      animation: btRiseIn linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 38%;
    }
    @keyframes btRiseIn{
      from{ opacity:0; transform: translateY(22px); }
      to{   opacity:1; transform: translateY(0); }
    }
    /* topp- og bunnfelt holdes rolig (ingen forskyvning) */
    .elementor-page .elementor-location-header .e-con.e-parent,
    .elementor-page .elementor-location-footer .e-con.e-parent{
      animation:none !important; opacity:1 !important; transform:none !important;
    }
  }
}
/* === BT ROLIG BEVEGELSE END === */

/* === BT-produktrad DESKTOP START === */
/* Produktene pa EN horisontal linje ogsa pa desktop (som pa mobil) -- bla
   sideveis for a se alle. Sentrert og smalere sa det virker rolig, ikke
   massivt. Beholder de myke, avrundede 1:1-bildene. */
@media (min-width:861px){
  .elementor-element-7fc3167 > .e-con-inner{
    display:flex !important;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    gap:24px;
    max-width:1100px;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:4px 4px 18px;
    scrollbar-width:none;
  }
  .elementor-element-7fc3167 > .e-con-inner::-webkit-scrollbar{ display:none; }
  .elementor-element-7fc3167 > .e-con-inner > .e-con{
    flex:0 0 30%;
    max-width:320px;
    scroll-snap-align:center;
    margin:0 !important;
  }
  /* skjul opp-pilen sa den ikke blir et lost kort i raden */
  .elementor-element-7fc3167 .elementor-element-0fb7468{ display:none !important; }
}
/* === BT-produktrad DESKTOP END === */

/* === BT-produktrad LABEL FONT START === */
/* Kategorietikettene (Notatboker/Plakater/Kort ...) fra serif til Montserrat
   -- rent og litt friskere, i trad med merkevaren. */
.elementor-element-7fc3167 .elementor-widget-heading .elementor-heading-title{
  font-family:"Montserrat","Segoe UI",sans-serif !important;
  font-weight:500 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase;
  font-size:clamp(13px,1.1vw,16px) !important;
  line-height:1.3 !important;
}
/* === BT-produktrad LABEL FONT END === */

/* === BT SHOP TEXT CONTRAST START (managed) === */
/* Produkttitler, priser og kategori-etiketter var nesten usynlige (lys beige
   fra Astra --ast-global-color-6). Setter dem til mork mokka for lesbarhet. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .woocommerce-Price-amount,
.woocommerce ul.products li.product .price .amount,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-page ul.products li.product .ast-woo-product-category{
  color:#5a4c3c !important;
}
/* Arkiv-/kategori-tittel (f.eks. «Notatboker») + etiketter i loopen */
.tax-product_cat .elementor-widget-heading .elementor-heading-title,
.post-type-archive-product .elementor-widget-heading .elementor-heading-title,
.woocommerce-products-header__title,
.woocommerce-loop-product__title{
  color:#5a4c3c !important;
}
/* === BT SHOP TEXT CONTRAST END (managed) === */


/* === BT HEADER MENU CENTER START === */
/* Sentrerer toppmenyen i headeren (Elementor-header, post 871).
   Header-raden (0f1b07d) gjores om til et rutenett: logo | meny | ikoner
   = 1fr auto 1fr, slik at menyen havner noyaktig midt pa siden uansett hvor
   brede logo- og ikon-kolonnene er. Kun desktop (>=1025px) der den horisontale
   menyen vises; hamburger-menyen under 1025px er urort, og ikon-kolonnen
   beholder sin egen retning (rad pa brede skjermer). */
@media(min-width:1025px){
  .elementor-871 .elementor-element-0f1b07d{
    display:grid !important;
    grid-template-columns:1fr auto 1fr !important;
    align-items:center !important;
  }
  .elementor-871 .elementor-element-fc2bd42{ justify-self:start !important; }
  .elementor-871 .elementor-element-bf1ee2b{ width:auto !important; max-width:none !important; justify-self:center !important; }
  .elementor-871 .elementor-element-1c055d5{ justify-self:end !important; }
}
/* === BT HEADER MENU CENTER END === */