/* ==========================================================================
   TræGulvCentret Redesign — Design Tokens
   Phase 3.1 — all values taken verbatim from claude-files/design.md
   ========================================================================== */

/* Google Fonts loaded via <link> in _partials/head.tpl (Phase 3.2) */

:root {
  /* ---- Colour palette ---- */
  /* Structure — brown carries nav, hero, footer, headings */
  --espresso:    #5c4434;   /* primary structural brown */
  --walnut:      #74573f;   /* logo mark gradient, secondary accents */
  --brown:       #6f4a34;   /* brand/manufacturer labels, brand chips */
  --brown-soft:  #8a6147;   /* accent borders, hover states */
  --brown-deep:  #3a2b22;   /* advice band gradient base */

  /* Actions — red is ONLY for CTAs and attention bookends */
  --oak:         #bc4639;   /* brand red — all primary CTAs, announce bar, footer strip */
  --oak-dark:    #9c3c2a;   /* red hover / active */

  /* Surfaces */
  --tan:         #e6c8a4;   /* warm sand — eyebrows on dark surfaces */
  --parchment:   #eef1f2;   /* cool-light page background */
  --cream:       #ffffff;   /* card surfaces */

  /* Text */
  --ink:         #293539;   /* slate body text */
  --muted:       #5c696f;   /* secondary / meta text (AA on white + parchment) */
  --line:        #dce3e5;   /* borders / dividers */

  /* Semantic */
  --sale:        #c0432f;   /* sale price / discount tag (distinct from --oak) */
  --ok:          #4f7a2e;   /* in-stock, success */
  --green:       #4f7a2e;   /* alias */
  --green-dark:  #426324;   /* text on light-green tints (AA) */
  --sky:         #2aabe2;   /* decorative trust accent */
  --yellow:      #ffe21a;   /* råvare-/olietransporttillæg notice ONLY */

  /* ---- Typography ---- */
  --display: "Fraunces", Georgia, serif;
  --serif:   "Fraunces", Georgia, serif;
  --sans:    "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* ---- Spacing & shape ---- */
  --radius:    14px;
  --radius-sm:  9px;

  /* ---- Shadows ---- */
  --shadow:    0 1px 2px rgba(43,32,24,.06), 0 8px 28px -16px rgba(43,32,24,.22);
  --shadow-lg: 0 30px 60px -28px rgba(43,32,24,.42);

  /* ---- Layout ---- */
  --maxw: 1240px;
}

/* ==========================================================================
   Existing live-site styles below — untouched in Phase 3.1
   ========================================================================== */

/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
*/
html{font-family: "Open Sans",sans-serif}
header#header{
  background: #efefef;
  padding-top: 11px !important;
}
.hidden{display: none !important;}
#cmsinfo_block {
  	background-color: #bc4639;
    overflow:visible;
    min-height:280px;
    padding-right:0px;
    padding-left:29px;
    margin-right:0px;
}
.calendly-badge-widget{left:20px !important;}
#cmsinfo_block .col-xs-12-{padding: 12px 0 0 0;}
#product.modal, #product.modal-open{overflow: auto;}
.cmsinfo_block_yal {
    background-color: #FFEE39;
    padding: 10px 29px;
    color: #000;
    line-height: 20px;
    text-align: left;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
    clear: both;
}
.cmsinfo_block_yal .to1020link{
  border:1px solid #000;
  display: inline-block;
  padding: 0px 10px;
  line-height: 19px;
  text-transform: uppercase;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  color: #000;
}

.frontpage_welcome h1{color: #fff;}
.frontpage_welcome p{color: #fff;}
body > .row{max-width: 100%;}
.HomeManufacturers .manufacturer-image-container img{padding: 0px;}
.owl-carousel .owl-item{text-align: center;}
.container-slide, .bannercontainer.banner-fullwidth{padding: 0px !important;}
#footer{padding-top: 0px;}
.top-slider-refs{
    text-align: center;
    border-bottom: 1px solid #c5c5c5;
    padding-bottom: 15px;
    padding-top: 15px;
}
.top-slider-refs img {
    margin: 10px 10px;
}
.footer-container{margin-top: 0px !important;}
.footer-container .accordion_small_screen h4 {
    font: 600 18px/22px "Open Sans",sans-serif;
    margin: 0 0 0px 0;
}
.footer-container .accordion_small_screen h4 span {
    display: inline-block;
    border-bottom: 1px solid #73726f;
}
.footer_sc_block{
    padding: 15px;
    background-color: #7a7a7a;
    color: #fff;
}
.footer_sc_block .ApHtml{margin-bottom: 0px;}
.footer_sc_block .ApHtml img{margin-right: 10px; float: left;}
.footer_sc_block .ApHtml a{font-size: 13px; color: #fff;}
.footer_sc_block .ApHtml ul{margin: 0px;}
.top082018_container{
  text-align: center;
}

.top082018_container li{
  list-style: none;
  float: left;
  margin-left: 15px;
  position: relative;
  margin-bottom: 15px;
}

.top082018_container li > a{
  display: inline-block;
  background-color: #bc4639;
  color: #fff !important;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  padding: 0px 15px;
  height: 26px;
  line-height: 26px;
  font-size: 12px;
}
.top082018_container li a:hover{color: #4a0700;}
.top082018_container li > a:before{
  display: inline-block;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  background-color: #DD6D61;
  width: 34px;
  text-align: center;
  font-family:"FontAwesome";
  margin-left: -15px;
  margin-right: 15px;
  background-repeat: no-repeat;
  background-position: center center;
}
.top082018_container li.item818_1 > a:before{content:"."; background-image: url('../img/818_ic_1.png');}
.top082018_container li.item818_2 > a:before{content:"."; background-image: url('../img/818_ic_2.png');}
.top082018_container li.item818_3 > a:before{content:"."; background-image: url('../img/818_ic_3.png');}
.top082018_container li.item818_1:hover > a{
    -webkit-border-radius: 5px;
    -webkit-border-bottom-right-radius: 0px;
    -webkit-border-bottom-left-radius: 0px;
    -moz-border-radius: 5px;
    -moz-border-radius-bottomright: 0px;
    -moz-border-radius-bottomleft: 0px;
    border-radius: 5px;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
}
.top082018_container li.item818_1:hover > a:before{
    -webkit-border-radius: 1px;
    -webkit-border-top-left-radius: 5px;
    -moz-border-radius: 1px;
    -moz-border-radius-topleft: 5px;
    border-radius: 1px;
    border-top-left-radius: 5px;
}
.top082018_container li.item818_2 a span{}
.top082018_container li.item818 ul.item818_sub{
    display: none;
    position: absolute;
    -webkit-border-bottom-right-radius: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -moz-border-radius-bottomright: 5px;
    -moz-border-radius-bottomleft: 5px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    background-color: #DD6D61;
    color: #fff;
    z-index: 5;
    width: 220px;
    padding: 10px 0px;
}
.top082018_container li.item818_1:hover ul{
    display: block;
}
.top082018_container li.item818 ul.item818_sub li{
  padding: 0px;
  margin: 0px;
  float: none;
  text-align: left;
}
.top082018_container li.item818 ul.item818_sub li a{
  padding: 0px 15px;
  margin: 0px;
  display: block;
  background-color: transparent;
}

.header818_logo{
    width: 42% !important;
    margin-top: -40px;
}
.header818_logo img{max-width: 100%; height: auto;}
.bottomnav{display: none;}
.leo-megamenu .navbar-toggler { display: none !important; }
.box-homeXC{clear: both; margin-bottom: 30px;}
#header .header-top .leo-top-menu .horizontal li a{text-transform: uppercase; font-size: 12px; font-weight: normal;}
#header .header-top .leo-top-menu .horizontal > li > a:hover{
  background-color: #DD6D61;
}
#header .header-top .leo-top-menu .horizontal .cus_hod > a{
  background-color: #78C589 !important;
  color: #fff;
}
#header .header-top .leo-top-menu .horizontal .cus_hod2 > a{
  background-color: #fad85b !important;
  color: #000;
}
#header .header-top .leo-top-menu .horizontal li .caret{display: none;}
.leo-top-menu .dropdown-menu{background-color: #fff;}
.leo-top-menu .dropdown-menu a{font-size: 15px; color: #333;}
.leo-top-menu .dropdown:hover > .dropdown-menu{
  padding: 15px 10px;
  border:none;
  -webkit-box-shadow: 0 0 5px 0 rgba(0,0,0,0.5);
  box-shadow: 0 0 5px 0 rgba(0,0,0,0.5);
  z-index: 2000;
}
.search-widget-cus-inner{border:1px solid #bc4639;}
.search-widget-cus-inner .search_input{
  border:none;
  background-color: #fff;
  height: 34px;
  padding: 3px 5px;
  width: 100%;
}
.search-widget-cus-inner .search_bt{
  background-color: #DD6D61;
  color: #fff;
  text-align: center;
  width: 34px;
  height: 34px;
  position: absolute;
  top: 0px;
  right: 0px;
  border:none;
}
.search-widget-cus-inner .search_bt i{
  color: #fff;
  font-size: 24px;
  font-weight: bold;
}
/* Old product card styles — neutralised by Phase 3.4 overrides below */
/* .product-miniature .product-desc — see Phase 3.4 */
/* .product-miniature .product-price — see Phase 3.4 */
.current-discount{margin-bottom: 10px;}
.product-price-set,
.product-price-dis{
  font-size: 20px;
  margin-bottom: 3px;
  font-weight: 600;
  color: #000;
  margin-bottom: 10px;
}
.product-price-dis{color: #888; text-decoration: line-through;}
.product-line-grid-body .product-line-info .regular-price,
.leo-dropdown-list-item .product-discount .regular-price{}
.calculator .help-block {
    display: block;
    padding-top: 5px;
    margin-bottom: 10px;
    color: #b7b7b7;
    font-size: 12px;
}
.cart-overview.js-cart .product-discount .regular-price{display: none;}
#product .pb-left-column,
#product .pb-center-column{margin-bottom: 20px;}
#product .pb-right-column .pb-right-column-inner{border:1px solid #d2d0d0; background-color: #fff; padding: 20px 0px 20px 0px;}
#product .pb-right-column .pb-right-column-inner .product-variants .product-variants-item:first-child{margin-top: 0px;}
.pb-right-column .calculator{padding: 20px 20px 0px 20px;}
.pb-right-column .product-prices,
.pb-right-column .product-add-to-cart,
.pb-right-column .product-additional-info{
  padding: 0px 20px 0px 20px;
  -webkit-box-shadow:none;
  box-shadow:none;
}
.pb-right-column .product-discounts{margin-bottom: 1rem;}
.pb-right-column .product-variants{
  padding: 0px 20px 0px 20px;
}
.pb-right-column .product-quantity .bootstrap-touchspin{
  width: 100%;
  display: block;
  float: none;
  box-shadow:none;
  -webkit-box-shadow:none;
}
.clear{clear: both;}
.calculator .control-label{margin-bottom: 5px;}
.calculator #size_wanted{width: 65%; float: left; background-color: #fff;}
.calculator #calculate{
  width: 33%;
  text-align: center;
  border:none;
  background-color: #bc4639;
  color: #fff;
  float: right;
  padding: .55rem 0rem;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.cus-ad-clear .product-manufacturer{margin-bottom: 10px;}
.category-cover{margin-bottom: 15px;}
.category-cover img{max-width: 100%;}
.facets_title{
  font-size: 18px;
  font-weight: 600;
  color: #555454;
  background: #f6f6f6;
  border-top: 5px solid #333333;
  text-transform: uppercase;
  padding: 14px 5px 17px 20px;
  margin-bottom: 20px;
}
#index .row-non-index{margin: 0px !important;}

#category .row-innerbox{margin-left: -15px; margin-right: -15px;}
#category .row-innerbox nav.breadcrumb{padding: 0px 15px;}
footer#footer{padding-top: 20px;}
.leo-dropdown-cart-content{background-color: transparent;border:none;}
.leo-dropdown-cart.dropdown.show{
  background-color: #efefef;
  color: #000;
  top: 85px;
  -webkit-box-shadow: 0px 0px 8px 0 rgba(0,0,0,.6);
  box-shadow: 0px 0px 8px 0 rgba(0,0,0,.6);
}
.leo-dropdown-list-item-warpper li.leo-dropdown-cart-item{
  border-bottom: 1px solid #ccc;
  padding: 15px;
  border:none;
}
.leo-dropdown-total .label{font-size: 12px;}
.leo-dropdown-bottom{padding-top: 0px;}
.leo-dropdown-list-item-warpper a,
.leo-dropdown-bottom .label,
.leo-dropdown-list-item-warpper .product-price,
.leo-dropdown-list-item-warpper .product-discount{color: #000 !important; font-weight: normal;}
.leo-dropdown-cart-subtotals .value, .leo-dropdown-cart-total .value{font-weight: normal;}
.leo-cart-item-info .product-quantity{border:none; text-align: left; color: #9c9b9b;}
.leo-dropdown-bottom .leo-dropdown-cart-subtotals{
  border:none;
  -webkit-box-shadow: inset 0 6px 6px rgba(0,0,0,0.2);
  box-shadow: inset 0 6px 6px rgba(0,0,0,0.2);
  padding: 15px 15px 0px 15px;
}
.leo-dropdown-bottom .leo-dropdown-cart-total{
  padding: 0px 15px 15px 15px;
}
.leo-dropdown-list-item-warpper .leo-remove-from-cart{
  top: auto;
  bottom: 18px;
  right: 15px;
}
.leo-dropdown-bottom .leo-cart-dropdown-action{
  padding: 0px 15px 15px 15px;
}
.leo-dropdown-bottom .cart-dropdow-button{
  display: block;
  width: 100%;
  padding: 10px 15px;
  text-align: center;
  background-color: #bc4639;
  color: #fff;
}
#cms .cms_rightBlock,
#cms .cms_img_top,
#contact .cms_rightBlock,
#contact .cms_img_top{display: none;}
#wrapper .breadcrumb{background:transparent;padding:0}
#wrapper .breadcrumb[data-depth="1"]{display:none}
#wrapper .breadcrumb ol{padding-left:0;margin-bottom:0}
#wrapper .breadcrumb li{display:inline}
#wrapper .breadcrumb {
  display:inline-block;
  padding:0 11px;
  border:1px solid #d6d4d4;
  font-weight:normal;
  font-size:12px;
  line-height:24px;
  min-height:6px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  border-radius:3px;
  overflow:hidden;
  margin-bottom:20px;
  position:relative;
  z-index:1;
}
#wrapper .breadcrumb a {
  display:inline-block;
  background:white;
  padding:0 20px 0 0px;
  position:relative;
  z-index:2;
  color:#333333;
  font-weight: normal;
}
#wrapper .breadcrumb a.home {
  font-size:17px;
  color:#777777;
  width:38px;
  text-align:center;
  padding:0;
  margin:0 0 0 -10px;
  -moz-border-radius-topleft:3px;
  -webkit-border-top-left-radius:3px;
  border-top-left-radius:3px;
  -moz-border-radius-bottomleft:3px;
  -webkit-border-bottom-left-radius:3px;
  border-bottom-left-radius:3px;
  z-index:99;
  line-height:22px;
  display:inline-block;
  height:25px;
}
#wrapper .breadcrumb a.home i {vertical-align:-1px; }
#wrapper .breadcrumb a.home:before {border:none; }
#wrapper .breadcrumb a:after {
  display:inline-block;
  content:".";
  position:absolute;
  right:8px;
  top:3px;
  width:18px;
  height:18px;
  background:transparent;
  border-right:1px solid #d6d4d4;
  border-top:1px solid #d6d4d4;
  border-radius:2px;
  text-indent:-5000px;
  z-index:-1;
  -webkit-transform:rotate(45deg);
  -ms-transform:rotate(45deg);
  transform:rotate(45deg);
}
#wrapper .breadcrumb a:hover {color:#777777; }
.block.topmin2Xh{margin-bottom: 0px;}
#v2_cart_cus{
  text-align: center;
  min-height: 96px;
}
#v2_cart_cus .header_Ncart{
  width: 80px;
  height: 80px;
  line-height: 80px;
  background-color: #659BA5;
  margin: 0px auto;
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
  border-radius: 40px;
  -webkit-box-shadow: 0px 0px 8px 0 rgba(0,0,0,.6);
  box-shadow: 0px 0px 8px 0 rgba(0,0,0,.6);
}
#v2_cart_cus i.shopping-cart{font-size: 48px; color: #fff;}
#v2_cart_cus .cart-products-count {
  position: absolute;
  width: 100%;
  top: 0px;
  font-size: 10px;
  line-height: 66px;
  left: 0px;
  color: #000;
}
#header .header-nav .blockcart{padding: 0px;}
#contact .contact-form .form-control-label{display: none;}
.cus_product_thumbnail{position: relative;}
.cus_main_variants{
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  padding: 5px 5px 5px 5px;
}
.cus_main_variants .variant-links{
  background-color: rgba(255,255,255,0.7) !important;
  height: 100%;
}
.cus_main_variants .variant-links-inner{
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
body#checkout #onepagecheckoutps_step_two .delivery_option_logo .carrier_name{padding-right:0;}
.product-miniature:hover .cus_main_variants{display: block;}
.cus_main_variants .variant-links-inner .color,
.cus_main_variants .variant-links-inner .custom-checkbox input[type="checkbox"] + span.color{
  width: 2.25rem;
  height: 2.25rem;
  display: inline-block;
  margin: .125rem;
}
.category-id-26 .block-category-cus p{margin-bottom: 0px;}
.flexed {
  display: flex;
  text-align: center;
  flex-wrap: wrap;
}

.flexed .flexedItems {
  flex: 1 auto;
  width: 20%;
  margin: 0 5px;
}

.flexed .flexedItems img {
  width: 200px;
  height: 200px;
  border: 1px solid black;
}
.flexed .flexedItems p{
  padding-top: 5px;
}
.js-modal-content .cms_rightBlock,
.BoxN-id_gender, .BoxN-newsletter{display: none;}
.block-category-cus h1{font-size: 18px;}
.cus-ad-clear .product-manufacturer{display: none;}
.pppage_header_box #product_reference_title{
  font-size: 14px;
  font-weight: bold;
  line-height: 1.1;
  margin-bottom: 10px;
}
.pppage_header_box h1{color: #fff; margin-top: -20px; white-space: nowrap;}
.product-contact-cus{padding-top: 15px;}
.product-contact-cus #product_contact_button{
  display: block;
  cursor: pointer;
  background: #659BA5;
  border: 1px solid #659BA5;
  color: white;
  font-weight: bold;
  padding: 15px 10px;
  margin-bottom: 20px;
  min-width: 169px;
  text-align: left;
  font-size: 14px;
}
.prcf_title{margin-bottom: 10px;}
.btn-chat{text-decoration: underline;}
.prcf_inner{padding: 15px;}
.prcf_inner .contact-form{background-color: transparent; padding: 0px;}
.prcf_inner .cms-7-cus{display: none;}
/*.info-page-body-outer .alert{display: none;}*/
.home_und_text .collapse-icons{display: inline-block !important;}
.home_und_text .collapse-icons i{font-size: 12px;}
.img818_banner .clear{padding-top: 5px;}
#product .product-accessories{
  clear: both;
  padding-top: 40px;
}
#product .product-accessories .h5{
  font-size: 26px;
  line-height: 30px;
  margin-bottom: 20px;
}
#product .product-accessories .products{margin: 0px -15px;}

#product .pswp__button--arrow--left:before, #product .pswp__button--arrow--right:before{
  font-family: Material Icons;
  font-size: 75px;
  width: 80px;
  line-height: 81px;
  height: 80px;
  background-image: none;
  background-color: #fff;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
}
#product .pswp__button--arrow--left:before{content:"\e314";}
#product .pswp__button--arrow--right:before{content:"\e315";}
.top818_banner_mmn{display: none;}
.hook_before_body_closing_tag_trustpilot{padding-bottom: 0px; padding-top: 30px;}
.hook_before_body_closing_tag_trustpilot .container {
  text-align: center !important;
}
#checkout .hook_before_body_closing_tag_trustpilot{padding-bottom: 30px; padding-top: 30px;}
.img814_banner{
	position: absolute;
	top: 41px;
	left: 30px;
}
.img814_banner a{
	display: inline-block;
	padding: 9px 20px 7px 20px;
	background-color: #78C589;
	color: #fff !important;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: normal;
	line-height: 16px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
.img814_banner a:hover{background-color: #659BA5;}
.img814_banner a .material-icons{
	font-size: 18px;
	margin-right: 10px;
}
body.category-id-1223 .block-category-cus{height: 1px; overflow: hidden;}
.category_box_search{position: relative; display: inline-block;}
.category_box_search input{
  border: 1px solid #cccccc;
  height: 36px;
  padding: 5px 30px 5px 10px;
  color: #555555;
  width: 300px;
}
.category_box_search button{
  border: none;
  background-color: transparent;
  position: absolute;
  top: 5px;
  right: 0px;
}
body#search #wrapper .breadcrumb[data-depth="1"]{display:inline-block;}

/*CLS*/
.region-block .region-billede {
    min-height: 110px;
}
.cus_product_thumbnail {
    position: relative;
    min-height: auto;
}
.row .bannercontainer {
    min-height: 285px;
    max-height: 285px;
    margin-bottom: 0;
}
body #lgcookieslaw_banner{
  max-height: 80px;
}
.over-top-header-sticky{
  text-align: center;
  position: fixed;
  width: 100%;
  z-index: 99999;
  line-height: 30px;
  top: -1px;
  background-color: #659BA5;
  color: #fff;
  margin-bottom: 0px !important;
  display: none !important;
}
.sidebar-widget-raw .ApRawHtml{margin: 0px !important;}
#emaerket-widget-side-0 { display: none !important; }
#side-widget { display: none !important; }

.text-custom-banner {
    background-color: #FBE329;
    padding: 12px;
    font-weight: bold;
    margin-top: 20px;
}

.text-custom-banner p,
.text-custom-banner-2 p{
    margin: 0;
    display: inline;
}

.text-custom-banner-2 {
    background-color: #FBE329;
    padding: 12px;
    font-weight: bold;
    margin-bottom: 25px;
    margin-top: -20px;
}

#category.category-avanceret-s-gning #products .product-miniature{
    margin: 0 0.3rem;
}

#product .pswp__button--arrow--left:before, #product .pswp__button--arrow--right:before {
    font-family: Material Icons;
    font-size: 40px;
    width: 40px;
    line-height: 42px;
    height: 40px;
    background-image: none;
    background-color: #78C589;
    color: #fff;
    -moz-border-radius: 50px;
    border-radius: 0;
}

.text-custom-banner,
.text-custom-banner-2{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.text-custom-banner img.phone,
.text-custom-banner-2 img.phone{
    width: 20px;
    margin-bottom: 10px;
}

.text-custom-banner a,
.text-custom-banner-2 a{
    color: #000;
    text-decoration: underline;
}

.page-search .text-custom-banner-2 {
    margin-top: 0;
}
body#authentication .captcha_register .pa-captcha-inf{text-align: center;}
body#authentication .captcha_register .pa-captcha-inf > .g-recaptcha{
  display: inline-block;
}

@media screen and (min-width: 1200px) {
  #cmsinfo_block .fp_imgR{
      display: inline-block;
      position: absolute;
      top: 12px;
      right: 30px;
  }
  .HomeManufacturers{width: 830px;}
  .img818_banner{}
  .head_cus_logo{margin-top: -30px;}
  .frontpage_welcome {width:815px; float:left;}
  .box-homeXC{margin-bottom: 60px;}
  #header .search-widget-cus-inner{position: absolute; top: -99px; right: 352px; width: 458px;}
  #cms .cms_img_top, #contact .cms_img_top{
    min-height: 300px;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url(/modules/tgc_config/views/img/hero_1788427587.png);
    background-size: cover;
    margin-top: 0px;
    margin-bottom: 20px;
    display: block;
  }
  #cms .info-page-body-outer, #contact .info-page-body-outer{
    display: block;
    width: 58.33333%;
    float: left;
  }
  #cms .cms_rightBlock, #contact .cms_rightBlock{
    display: block;
    width: 41.66667%;
    float: left;
    margin-top: -265px;
    padding: 0px 15px;
  }
  #cms .cms_rightBlock_inner, #contact .cms_rightBlock_inner{
    margin-bottom: 30px;
    -webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,0.3);
    box-shadow: 0 0 10px 0 rgba(0,0,0,0.3);
    background-color: #eee;
    color: #000;
  }
  #cms .cms_rightBlock_inner .cri_content, #contact .cms_rightBlock_inner .cri_content{padding: 15px;}
  #cms .cms_rightBlock_inner .cri_content h2, #contact .cms_rightBlock_inner .cri_content h2{margin-top: 0px;}
  .img818_banner{
    position: absolute;
    right: 31px !important;
  }
  .top818_banner_mmn{
    right: 31px;
  } 
  .img814_banner a{padding: 9px 118px 7px 118px;}
}
@media screen and (max-width: 1199px) {
    #cmsinfo_block .fp_imgR{display: none;}
    .flexed {
      width:100%;
    }
    .flexed .flexedItems {
      width:33%;
      margin:0;
      padding: 5px;
    }
    .flexed .flexedItems img {
      max-width: 100%;
      height: auto;
    }
    .header-top .leo-top-menu .megamenu .has-category{padding: 9px 20px !important;}
    .row .bannercontainer {
      min-height: 240px;
      max-height: 240px;
    }
}
@media (min-width: 1024px){
  #header .header-top{background: #659BA5;}
  .leo-megamenu{width: 100%; position: relative;}
  .leo-top-menu .dropdown-menu.level1{width: 100%; left: 0px;}
  .leo-top-menu .collapsing, .leo-top-menu .dropdown, .leo-top-menu .dropup{position: static;}
  .leo-top-menu .dropdown-menu .nav-item{width: 20%;}
  .leo-top-menu .navbar-nav .nav-link{padding: 0px;}
  #search_widget_cus{position: relative;}

  .menu-cus-xv{height: 40px;}
  #header{margin-bottom: 20px;}
  .img818_banner img{
    height: 36px;
  }
  .head_cus_logo2{padding-top: 10px;}
}
@media (min-width: 992px) and (max-width: 1199px) {
  .top818_banner_mmn{
    right: 16px;
  }
}
@media screen and (min-width: 992px) {
  .top818_banner_mmn{
    display: inline-block;
    position: absolute;
    top: 2px;
  }
  .top818_banner_mmn img{height: 36px; width: auto;}
  
}
@media screen and (max-width: 991px) {
	header#header{padding-bottom: 20px;}
	.img814_banner{top: 58px; left: 80px;}
  .row .bannercontainer {
      min-height: 180px;
      max-height: 180px;
  }
  .text-custom-banner-2{
      display:none;
  }
}
@media screen and (min-width: 768px) {
  .top082018_container ul{margin: 0px; float: left;}
  .img818_banner{
    position: absolute;
    top: 35px;
    right: 47px;
  }
  .footer-container .accordion_small_screen h4 span{border: none; cursor: default;}
}
@media (min-width: 768px) and (max-width: 1199px){

}
@media (min-width: 1024px) and (max-width: 1199px){
  .head_cus_logo{margin-top: -60px;}
  .head_cus_logo .logo{height: 100px;}
  .search-widget-cus-inner{
    position: absolute;
    top: -99px;
    right: 330px;
    width: 355px;
  }
  .top082018_container li > a:before{
  margin-right:5px;
  background-size: 55%;
  }
  .top082018_container li > a{
    padding: 0px 10px;
    height: 23px;
    line-height: 23px;
    font-size: 10px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .head_cus_logo{margin-top: -80px;}
  .leo-megamenu .navbar-toggler{
      position: absolute;
      top: -103px;
      left: 15px;
  }
  .container-menu-block > .ApColumn{height: 0px;}
  .footer-container .accordion_small_screen h4{font-size: 14px;}

  .head_cus_logo2{text-align: center; margin-bottom: 20px;}
  .top082018_container li{margin-bottom: 5px;}
  .img818_banner{right: 115px !important;}
  #search_widget_cus{margin-top: -37px;}
  .search-widget-cus-inner{width: 400px;}
  .top082018_container ul {
    margin: 0px auto;
    float: left;
    display: inline-block;
    margin-left: 50px;
    width: 100%;
    padding-bottom: 31px;
  }
  .img818_banner{top: 51px;}
}
@media (max-width:1023px) {
  #v2_cart_cus{
    position: absolute;
    top: -31px;
    right: 15px;
  }
  .img818_banner img{
    height: 48px;
  }
  .block.imi2Xh{padding-right: 137px;}
  .search-widget-cus-inner{
    position: relative;
    margin-bottom: 20px;
    margin-top: -20px;
    border:1px solid #bc4639;
  }
}
@media (max-width:991px) {
	#cmsinfo_block {
		min-height:348px;
		padding-left:13px;
		padding-right:13px;
	}
  .row-innerbox{padding-top: 20px;}
  #v2_cart_cus .header_Ncart{width: 50px; height: 50px; line-height: 50px;}
  #v2_cart_cus i.shopping-cart{font-size: 34px;}
  #v2_cart_cus .cart-products-count{font-size: 10px; line-height: 41px;}
  .off-canvas-button-megamenu{font-size: 16px}
  .off-canvas-nav-megamenu .nav-item .nav-link, .nav-item{font-size:16px;margin:2px}

}
@media (max-width:767px) {
    .pswp__button--arrow--right {
    right: 40%;
}

.pswp__button--arrow--left {
    left: 40%;
}

.pswp__button--arrow--left, .pswp__button--arrow--right {
    top: 95%;
}

	#cmsinfo_block {
		width:100%;
		min-height:1px;
	}
  .img818_banner{float: none; text-align: right;}
  .leo-megamenu .navbar-toggler{
    position: absolute;
    margin-bottom: 10px;
    top: -83px;
    left: 29px;
  }
  .footer-container .accordion_small_screen{padding: 0px 15px;}
  .footer-container .accordion_small_screen > .title{
    position: relative;
  }
  .footer-container .accordion_small_screen > .title > .float-xs-right{
    position: absolute;
    top: -3px;
    right: 15px;
  }
  .footer_sc_block{padding: 15px 30px;}
  .search-widget-cus-inner{
    clear: both;
    position: relative;
    margin-bottom: 15px;
  }
  .search-widget-cus-inner .search_input{border:1px solid #bc4639;}
  .head_cus_logo2{text-align: center; margin-bottom: 20px;}
  .top082018_container ul{
    margin: 0px auto;
    float: none;
    display: inline-block;
  }
  .block.imi2Xh{padding-right: 95px;}
  #category .row-innerbox{
    margin-left: 15px;
    margin-right: 15px;
  }
  .top082018_container{display: none;}
  #v2_cart_cus {top: -62px;}
  #search_widget_cus{margin-top: -20px;}
  .img814_banner{top: 70px; left: 92px;}
  .img814_banner a{padding: 5px 10px; font-size: 16px;}
  .img814_banner a .material-icons{display: none;}
  .category_box_search{display: block;}
  .category_box_search input{width: 100%;}
  body#product .pppage_header_box #product_reference_title label,.product-information p,.product-calculator .control-label,
  .calculator .help-block,form#calculator p, .product-actions p, .product-actions span,.cus-ad-clear dt, .cus-ad-clear dd,.tabs #tab-content span,.pppage_header_box #product_reference_title,
  body#product .tabs .nav-tabs a,.product-features p.h6,body#product .tabs #tab-content p, body#product .tabs #tab-content a, body#product .tabs #tab-content .attachment {
      font-size: 16px;
      line-height: 1.5;
  }
  body#product .tabs .nav-tabs li {
    width: 100%;
    text-align: center;
    padding: 5px;
  }
  /*TODO Fixed css screen over width on mobile*/
  .footer-container .ApRow {
    margin: 0;
  }
  #product .pb-center-column .pppage_header_box .h1 {
    white-space: break-spaces;
  }
  .row .bannercontainer {
      min-height: 135px;
      max-height: 135px;
  }
  .region-block {
    text-align: center;
  }
  body #lgcookieslaw_banner {
    max-height: 100px;
  }
  header#header{padding-top: 51px !important;}
  .over-top-header-sticky{
    line-height: 16px;
    padding: 5px 20px;
    font-size: 12px;
  }
}
@media(max-width: 600px){
  body #lgcookieslaw_banner {
    max-height: 110px;
  }
  .lgcookieslaw_message {
    width: 80%;
  }
  #lgcookieslaw_banner .lgcookieslaw_button_container {
    width: 20%;
  }
}
@media(max-width: 575px){
  .row .bannercontainer {
      min-height: 140px;
      max-height: 140px;
  }
  
  .pswp__button--arrow--right {
    right: 20%;
}

.pswp__button--arrow--left {
    left: 20%;
}

}
@media (max-width:567px) {
  .img818_banner img{
    height: 36px;
  }
  .img814_banner {
      top: 55px;
  }
}
@media (max-width: 479px){
    .pswp__button--arrow--left, .pswp__button--arrow--right {
    top: 87%;
}

  #header .logo {
    max-width: 150px;
    height: auto;
  }
  .head_cus_logo2 {
    min-height: 35px;
  }
  #lgcookieslaw_banner {
    display: table;
    padding: 5px 0;
  }
  body #lgcookieslaw_accept {
    line-height: 1.5;
    font-size: 12px;
    margin: 0;
    padding: 2px 0;
  }
  body #lgcookieslaw_banner {
    max-height: 30px;
  }
  .lgcookieslaw_message {
    max-height: 20px;
    overflow: auto;
    width: 80%;
    float: left;
    margin-bottom: 0;
    font-size: 12px;
  }
  .lgcookieslaw_message a {
    font-size: 10px;
  }
  #cmsinfo_block .frontpage_welcome {
    max-height: 85px;
  }
  #lgcookieslaw_banner .lgcookieslaw_button_container {
    width: 20%;
    float: left;
    display: inline-block;
  }
  .row .bannercontainer {
    min-height: 85px;
    max-height: 115px;
    margin-bottom: 0;
  }
  #cmsinfo_block {
    min-height: 100px !important;
    max-height: 100px;
    overflow: auto;
  }
  #cmsinfo_block p{
    max-height: 30px;
    margin-bottom: 0;
  }
  .row.region-block-bottom {
    margin: 0;
  }
  .region-block-bottom .ApColumn {
    width: 50%;
  }
  #header .header-nav .blockcart .shopping-cart {
    max-width: 32px;
    overflow: hidden;
    height: 45px;
}
/*  .manufacturers_block .owl-wrapper {
    min-height: 133px;
    max-height: 133px;
  }*/
}
@media (max-width:359px) {
  .block.imi2Xh{min-height: 48px;}
  .flexed .flexedItems {width: 50%;}

}
.ApColumn .boxed, .ApColumn .boxed-1 {
padding: 25px 5px;
box-shadow: 0 5px 10px rgba(0,0,0,.05);
border: 1px solid #e0e0e0;
content: "";
display: block;
clear: both;
margin: 15px 0;
min-height: 180px;
}
.ApColumn .boxed-1 {
  margin: 40px 0;
  padding: 30px;
  line-height: 25px;
}
.ApColumn .boxed-1 h2 {font-size: 25px;}
.ApColumn.map {margin-top: 40px;}
.search-widget-cus-inner {margin-top: 0!important;}
#plabel_banner_content{
  width:100%;
  border:none;
  Margin-top:20px;
}
.plabel_img{
  display:none;
}

/* Expand and collapse categoty seo content */
.seo-break-intro{clear: both;}
.seo-break-content{display: none;}
.seo-button-view{text-align: center; clear: both; padding-top: 10px; margin-bottom: 30px;}
.btn-view-content-seo, .btn-hide-content-seo{
  padding: 0px;
  background-color: transparent;
  color: #000;
  -webkit-box-shadow: none;
  box-shadow: none;
  text-transform: lowercase;
  font-weight: normal;
}
.btn-view-content-seo:focus, .btn-view-content-seo:hover, .btn-view-content-seo:active,
.btn-hide-content-seo:focus, .btn-hide-content-seo:hover, .btn-hide-content-seo:active{
  background-color: transparent;
  color: #2592a9;
}
.btn-view-content-seo:after, 
.btn-hide-content-seo:after{
  font-family:"FontAwesome";
  font-size: 11px;
  margin-left: 10px;
}
.btn-view-content-seo:after{content: '\f078';}
.btn-hide-content-seo:after{content: '\f077';}
.btn-hide-content-seo{display: none;}

.category-id-1250 .product-miniature .product-thumbnail {
  padding: 0;
}
.category-id-1250 #products .thumbnail-container, 
.category-id-1250 .featured-products .thumbnail-container, 
.category-id-1250 .product-accessories .thumbnail-container, 
.category-id-1250 .product-miniature .thumbnail-container{
    background: #1f1f1f;
}
.category-id-1250 .product-miniature .product-price{
    background-color: #d4af37;
}
#onepagecheckoutps_step_two .carrier_name {
  
}
p#calculator-result {
}
body .product-price-set, body .product-price-dis {
    font-size: 16px;
}

.warning-bar {
    margin:0 !important;
}

/* ==========================================================================
   Phase 3.2 — Global Chrome
   Header: announce · utility · masthead · mega nav · surcharge
   Footer: planks · brown body · red bottom strip
   Mobile: hamburger · drawer
   ========================================================================== */

/* ---- Base typography ----------------------------------------------------- */
body { font-family: var(--sans); overflow-x: hidden; }
html { overflow-x: hidden; }
/* Global font overrides — catch modules using Bootstrap/Noto/Helvetica defaults */
body h1, body h2, body h3 { font-family: var(--serif) !important; color: var(--espresso); font-weight: 600 !important; }
body h4, body h5, body h6 { font-family: var(--sans) !important; }
body p, body li, body td, body th, body label, body span, body a, body div { font-family: inherit; }

/* ---- Shared container ---------------------------------------------------- */
.wrap {
  max-width: var(--maxw);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* ---- Reset old header overrides ------------------------------------------ */
header#header,
#header .header-nav,
#header .header-top,
.leo-megamenu .navbar-toggler {
  background: transparent !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
#header { border: none; }

/* ---- Announce bar (red) -------------------------------------------------- */
.announce {
  background: var(--oak);
  color: #fff;
  text-align: center;
  font-size: 13.5px;
  font-family: var(--sans);
  font-weight: 500;
  padding: 9px 14px;
  line-height: 1.4;
}
.announce b { color: #fff; font-weight: 700; }
.announce p, .surcharge p { margin: 0; }
.announce p, .announce p a { color: #fff; }
/* Override legacy #cmsinfo_block red bg — the .announce wrapper handles it now */
#cmsinfo_block {
  background-color: transparent !important;
  min-height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible;
}
#cmsinfo_block .frontpage_welcome { width: auto; float: none; }

/* ---- Utility bar --------------------------------------------------------- */
.utility {
  background: var(--cream);
  border-bottom: 1px solid var(--line);
}
.utility .wrap {
  display: flex;
  align-items: center;
  gap: 22px;
  height: 42px;
  font-size: 13px;
  color: var(--muted);
  font-family: var(--sans);
}
.utility a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  text-decoration: none;
  white-space: nowrap;
}
.utility a:hover { color: var(--oak); }
.utility .sep { margin-left: auto; }
/* Trustpilot pill */
.utility .pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--parchment);
  border: 1px solid var(--line);
  padding: 5px 11px;
  border-radius: 999px;
  font-weight: 600;
  color: var(--espresso);
  font-size: 12px;
}
/* e-mærket logo inside utility */
.utility .img818_banner,
.utility .img818_banner .clear {
  display: inline-flex !important;
  align-items: center;
}
.utility .img818_banner img {
  display: block !important;
  height: 32px !important;
  width: auto !important;
  border-radius: 5px;
}

/* ---- Masthead ------------------------------------------------------------ */
.masthead {
  background: var(--cream);
  border-bottom: 1px solid var(--line);
}
.masthead .wrap {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-top: 16px;
  padding-bottom: 16px;
}
/* Logo in masthead */
.masthead .logo,
.masthead .header818_logo,
header#header .logo {
  display: flex !important;
  align-items: center;
  flex: none;
  margin: 0 !important;
}
header#header .logo img,
.masthead .header818_logo img {
  height: 50px !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  display: block !important;
}
/* Search bar in masthead */
.masthead .search-widget-cus-inner,
.search-widget-cus-inner {
  position: static !important;
  top: auto !important;
  right: auto !important;
  width: auto !important;
  flex: 1;
  max-width: 520px;
  display: flex;
  align-items: center;
  border: 1.5px solid var(--line) !important;
  border-radius: 999px !important;
  background: var(--parchment) !important;
  padding: 4px 4px 4px 18px !important;
  margin: 0 !important;
}
.search-widget-cus-inner .search_input {
  flex: 1;
  border: none !important;
  background: none !important;
  outline: none;
  font-size: 15px;
  color: var(--ink);
  font-family: var(--sans);
}
.search-widget-cus-inner .search_input::placeholder { color: var(--muted); }
.search-widget-cus-inner .search_bt {
  background: var(--oak) !important;
  border-radius: 999px !important;
  width: auto !important;
  padding: 10px 18px !important;
  height: auto !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  display: flex;
  align-items: center;
  font-family: var(--sans);
  font-weight: 600;
  font-size: 14px;
}
.search-widget-cus-inner .search_bt:hover { background: var(--oak-dark) !important; }

/* ---- Announce bar content (Phase 3.2 fix) -------------------------------- */
.ann-text {
  display: block; text-align: center;
  font-family: var(--sans); font-size: 13.5px; font-weight: 500; color: #fff;
}
.ann-text strong { font-weight: 700; }
.ann-tel { color: #fff !important; text-decoration: none; font-weight: 700; }
.ann-tel:hover { color: #232323 !important; text-decoration: none; }

/* ---- Utility bar content ------------------------------------------------- */
.utility .wrap { justify-content: space-between; }
.util-links {
  display: flex; align-items: center; gap: 22px; list-style: none; margin: 0; padding: 0;
}
.util-links a {
  color: var(--muted); text-decoration: none; font-size: 13px; font-family: var(--sans);
  white-space: nowrap;
}
.util-links a:hover { color: var(--espresso); }
.util-trust {
  display: flex; align-items: center; gap: 22px; margin-left: auto;
}
.util-trust img { display: block; height: 32px; width: auto; }
.pill {
  display: inline-flex; align-items: center; gap: 7px;
  background: var(--parchment); border: 1px solid var(--line);
  padding: 5px 11px; border-radius: 999px;
  font-family: var(--sans); font-weight: 600; color: var(--espresso);
  font-size: 13px; white-space: nowrap;
}
.util-mail {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--muted); text-decoration: none; font-size: 13px; font-family: var(--sans);
}
.util-mail:hover { color: var(--oak); }

/* ---- Masthead content (Phase 3.2 fix) ------------------------------------ */
.mast-logo { display: flex; align-items: center; flex: none; text-decoration: none; }
.mast-logo .logo-img {
  height: 50px; width: auto; max-width: none; display: block;
}
/* Search form pill */
.mast-search {
  flex: 1; max-width: 540px; display: flex; align-items: center;
  background: var(--parchment); border: 1.5px solid var(--line);
  border-radius: 999px; padding: 4px 4px 4px 18px; gap: 0;
}
.mast-search:focus-within { border-color: var(--oak); }
.search-input {
  flex: 1; border: none !important; background: none !important; outline: none !important;
  font-size: 15px; color: var(--ink); font-family: var(--sans);
  padding: 8px 0; min-width: 0;
}
.search-input::placeholder { color: var(--muted); }
.search-btn {
  flex: none; border-radius: 999px !important; padding: 10px 18px !important;
  font-size: 14px !important; gap: 6px;
}
.search-label { display: inline; }
/* Right action icons */
.mast-actions { display: flex; align-items: center; gap: 4px; flex: none; }
.mast-act {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  color: var(--espresso); text-decoration: none; padding: 8px;
  border-radius: 10px; transition: background .15s ease, color .15s ease;
  position: relative; flex: none;
}
.mast-act:hover { background: var(--parchment); color: var(--oak); }
.mast-tel-num {
  font-family: var(--sans); font-size: 14px; font-weight: 700;
  color: var(--espresso); white-space: nowrap;
}
/* Cart badge */
.mast-cart { padding-right: 10px; }
.cart-badge {
  position: absolute; top: 2px; left: 2px;
  background: var(--oak); color: #fff;
  font-family: var(--sans); font-size: 11px; font-weight: 700;
  min-width: 18px; height: 18px; padding: 0 4px;
  border-radius: 999px; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 2px var(--cream);
}
/* Responsive: hide phone text on small desktops */
@media (max-width: 1100px) {
  .mast-tel-num { display: none; }
  .util-mail { display: none; }
}
@media (max-width: 991px) {
  .mast-search { display: none; }
}

/* ---- Mega navigation ----------------------------------------------------- */
.mega-nav-wrap {
  width: 100%;
  position: relative;
  min-height: 35px;
}
/* Hide <b class="caret"> — it's a separate block element outside <a> that creates a second row */
.leo-top-menu .horizontal > li > b.caret {
  display: none !important;
}
/* Suppress Bootstrap's own ::after caret completely */
.leo-top-menu .horizontal > li > a.dropdown-toggle::after,
.leo-top-menu .horizontal > li > a.dropdown-toggle::before {
  display: none !important;
  content: none !important;
}
/* Chevron as background-image on the link itself — no pseudo-elements needed */
.leo-top-menu .horizontal > li > a.dropdown-toggle {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f1e6d8' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 4px center !important;
  background-size: 13px 13px !important;
  padding-right: 22px !important;
}
/* Prisgaranti pill — right-aligned in nav bar */
.nav-prisgaranti {
  position: absolute;
  right: max(22px, calc((100% - var(--maxw)) / 2 + 22px));
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 7px;
  color: #e6c8a4 !important;
  font-size: 13.5px;
  font-weight: 600;
  font-family: var(--sans);
  text-decoration: none;
  white-space: nowrap;
  padding: 0 4px;
  z-index: 1;
}
.nav-prisgaranti:hover { color: #fff !important; }
.nav-prisgaranti svg { opacity: 0.85; flex-shrink: 0; stroke: #e6c8a4; }

/* Target Leo Mega Menu background */
.mega-nav-wrap,
.leo-megamenu,
.leo-megamenu .container-menu-block,
.leo-megamenu .navbar,
#header .header-top {
  background: var(--espresso) !important;
}
/* Constrain nav items to the same centred max-width container as the rest of the page.
   The dropdown panels (.dropdown-menu.level1) are position:absolute relative to
   .leo-megamenu (position:relative, full-width) so they still span the full viewport. */
.leo-megamenu .navbar-nav.megamenu.horizontal {
  max-width: var(--maxw);
  margin-left: auto;
  margin-right: auto;
  padding-left: 22px;
  padding-right: 22px;
  box-sizing: border-box;
}

/* Nav link colours */
.leo-megamenu .leo-top-menu .horizontal > li > a,
.leo-top-menu .horizontal > li > a,
.leo-megamenu .navbar-nav .nav-link {
  color: #f1e6d8 !important;
  font-weight: 600;
  font-size: 15px;
  text-transform: none !important;
  font-family: var(--sans);
  padding: 15px 18px !important;
}
.leo-megamenu .leo-top-menu .horizontal > li > a:hover,
.leo-top-menu .horizontal > li > a:hover {
  color: #fff !important;
  background: rgba(255,255,255,.07) !important;
}
/* Mega menu dropdown — full-width, 5 columns, centered (matches live site) */
.leo-top-menu .collapsing,
.leo-top-menu .dropdown,
.leo-top-menu .dropup,
.leo-top-menu .horizontal > li.dropdown {
  position: static !important;
}
.leo-megamenu {
  position: relative !important;
  width: 100% !important;
}
.leo-top-menu .dropdown-menu.level1 {
  position: absolute !important;
  width: 100% !important;
  max-width: var(--maxw, 1280px) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}
/* Ensure Bootstrap row/col inside dropdown don't constrain width */
.leo-top-menu .dropdown-menu .dropdown-menu-inner {
  width: 100% !important;
}
.leo-top-menu .dropdown-menu .dropdown-menu-inner > .row {
  width: 100% !important;
  margin: 0 !important;
}
.leo-top-menu .dropdown-menu .dropdown-menu-inner > .row > .mega-col {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding: 0 !important;
}
/* 5-column flex grid for sub-items */
.leo-top-menu .dropdown-menu .dropdown-menu-inner .inner,
.leo-top-menu .dropdown-menu .dropdown-menu-inner .inner ul,
.leo-top-menu .dropdown-menu .inner ul {
  display: flex !important;
  flex-wrap: wrap !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  gap: 0 !important;
}
.leo-top-menu .dropdown-menu .dropdown-menu-inner .inner ul > li,
.leo-top-menu .dropdown-menu .dropdown-menu-inner .inner ul li.nav-item,
.leo-top-menu .dropdown-menu .nav-item {
  width: 20% !important;
  min-width: 20% !important;
  max-width: 20% !important;
  box-sizing: border-box !important;
  padding: 4px 8px !important;
  float: none !important;
  flex: 0 0 20% !important;
}

/* Panel appearance */
.leo-top-menu .dropdown-menu,
.leo-top-menu .dropdown:hover > .dropdown-menu {
  background: #fff !important;
  border-top: 3px solid var(--oak) !important;
  border-radius: 0 0 var(--radius) var(--radius) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.12) !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  padding: 20px 24px !important;
}

/* Sub-item links — needs high specificity to beat the top-level .nav-link colour rule */
.leo-megamenu .leo-top-menu .dropdown-menu .nav-item .nav-link,
.leo-megamenu .leo-top-menu .dropdown-menu a {
  font-size: 13.5px !important;
  color: #293539 !important;
  font-family: var(--sans);
  border-radius: 7px;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 7px !important;
  text-decoration: none !important;
  background: transparent !important;
}
.leo-megamenu .leo-top-menu .dropdown-menu .nav-item .nav-link:hover,
.leo-megamenu .leo-top-menu .dropdown-menu a:hover {
  background: var(--parchment) !important;
  color: var(--oak) !important;
}

/* Bullet dot before each sub-item (matches mockup ::before) */
.leo-top-menu .dropdown-menu .nav-item > a::before {
  content: "" !important;
  display: block !important;
  flex-shrink: 0 !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: var(--tan) !important;
}

/* ---- Yellow surcharge bar ------------------------------------------------ */
.surcharge {
  position: relative;
  background: var(--yellow);
  color: #1c2a2e;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  font-family: var(--sans);
  padding: 8px 14px;
  line-height: 1.4;
}
/* Legacy yellow surcharge class — keep working but subordinate */
.cmsinfo_block_yal,
.text-custom-banner,
.text-custom-banner-2,
.block.warning-bar,
.ApRow:has(.warning-bar),
.ApRow[data-bg*="ffff00"],
.ApRow[style*="ffff00"] {
  display: none !important;
}
body#cms.cms-id-12 main > section#wrapper {
  margin-top: 0 !important;
}

/* ---- Planks colour divider ----------------------------------------------- */
.planks {
  display: flex;
  height: 8px;
  width: 100%;
  overflow: hidden;
}
.planks span { flex: 1; }
.planks span:nth-child(1) { background: #9c6a38; }
.planks span:nth-child(2) { background: #c79a64; }
.planks span:nth-child(3) { background: #7e5630; }
.planks span:nth-child(4) { background: #d8b888; }
.planks span:nth-child(5) { background: #b07a41; }
.planks span:nth-child(6) { background: #8a5e34; }
.planks span:nth-child(7) { background: #caa474; }

/* ---- Footer -------------------------------------------------------------- */
#siteFooter {
  background: var(--espresso);
  color: #e3d4c2;
  font-family: var(--sans);
}

/* Override legacy footer-container styles */
.footer-container,
#footer,
footer#footer {
  background: var(--espresso) !important;
  color: #e3d4c2 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.footer-container .accordion_small_screen h4,
.footer-container .accordion_small_screen h4 span {
  color: #fff;
  border-color: rgba(255,255,255,.2);
}
.footer_sc_block { background-color: var(--espresso) !important; }

/* Foot-top (main columns area) */
.foot-top { padding: 56px 0 40px; }

.foot-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 36px;
}
.foot-grid h4 {
  color: #fff;
  font-size: 15px;
  font-family: var(--sans);
  font-weight: 700;
  letter-spacing: .04em;
  margin-bottom: 16px;
  text-transform: uppercase;
}
.foot-grid a,
.foot-grid p {
  font-size: 14px;
  color: #e0d1bf;
  line-height: 1.9;
}
.foot-grid a:hover { color: #fff; }

/* Column 1 — brand */
.foot-brand .foot-logo {
  max-width: 180px;
  height: auto;
  filter: invert(1);
}
.foot-brand p {
  margin: 14px 0;
  max-width: 280px;
}
.foot-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.fb {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 10px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  color: #ecdccb;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  text-decoration: none;
}
.fb-emaerket {
  background: #56C4E8;
  border-color: #56C4E8;
  color: #fff !important;
}
.fb-emaerket img { display: block; }
.foot-gazelle {
  margin-top: 16px;
}
.foot-gazelle img {
  height: auto;
  width: 100%;
  max-width: 299px;
  opacity: 1;
}

/* Column 2 — links */
.foot-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.foot-links li + li { margin-top: 2px; }

/* Column 4 — newsletter */
.news input {
  width: 100%;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  padding: 12px 14px;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  margin-bottom: 10px;
  outline: none;
}
.news input::placeholder { color: #d8c4ac; }
.news input:focus {
  border-color: rgba(255,255,255,.35);
}
.news .btn-block,
.news .btn-sm {
  width: 100%;
  padding: 12px 20px;
  font-size: 14px;
  margin-bottom: 14px;
}
.foot-contact {
  font-size: 13px;
  margin-top: 6px;
  line-height: 1.8;
}
.foot-contact a { color: #e0d1bf; }
.foot-contact a:hover { color: #fff; }

/* Red bottom strip */
.foot-bottom {
  background: var(--oak);
  border-top: none;
  padding: 18px 0;
  font-family: var(--sans);
}
.foot-bottom .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  font-size: 13px;
  color: #fff3ef;
}
.pay {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pay-img {
  height: 27px;
  width: auto;
}
.pay span {
  background: rgba(255,255,255,.9);
  color: var(--espresso);
  border-radius: 6px;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 700;
}

/* ---- Mobile hamburger button --------------------------------------------- */
.m-burger {
  display: none; /* hidden on desktop */
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--parchment);
  border: 1px solid var(--line);
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  cursor: pointer;
  color: var(--espresso);
}

/* ---- Mobile drawer ------------------------------------------------------- */
.drawer-mask {
  position: fixed;
  inset: 0;
  background: rgba(20,28,32,.52);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
  z-index: 200;
}
.drawer-mask.is-open { opacity: 1; pointer-events: auto; }

.drawer {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 82%;
  max-width: 300px;
  background: var(--cream);
  transform: translateX(-100%);
  transition: transform .28s cubic-bezier(.4,0,.2,1);
  z-index: 201;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-lg);
  overflow-y: auto;
}
.drawer.is-open { transform: translateX(0); }

.drawer .dh {
  background: var(--espresso);
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}
.drawer .dh img {
  height: 24px;
  width: auto;
  filter: brightness(0) invert(1);
}
.drawer .dh button {
  color: #fff;
  background: none;
  border: none;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  cursor: pointer;
}
.drawer .dh button:hover { background: rgba(255,255,255,.12); }

.drawer-nav { flex: 1; overflow-y: auto; }
/* Hide desktop mega-panel styles inside drawer */
.drawer-nav .leo-megamenu,
.drawer-nav .container-menu-block,
.drawer-nav .leo-megamenu .navbar {
  background: var(--cream) !important;
}
.drawer-nav .leo-top-menu .horizontal > li > a,
.drawer-nav .leo-megamenu .navbar-nav .nav-link {
  color: var(--espresso) !important;
  border-bottom: 1px solid var(--line);
  padding: 13px 16px !important;
  font-size: 15px !important;
}
.drawer-nav .leo-top-menu.collapse { display: block !important; }
.drawer-nav .leo-top-menu .dropdown-menu { display: none; }
.drawer-nav .leo-top-menu .dropdown-menu.drawer-open { display: block !important; }
.drawer-nav .off-canvas-nav-megamenu { display: block; }
.drawer-nav .navbar-header { display: none; }

/* Drawer submenu styling */
#siteDrawer .drawer-nav .megamenu > li { position: relative !important; }
.drawer-nav .megamenu > li.parent > a.dropdown-toggle {
  padding-right: 48px !important;
}
.drawer-nav .megamenu > li.parent > a.dropdown-toggle::after { display: none !important; }
@media (max-width: 991px) {
  .drawer-nav .leo-megamenu .leo-top-menu .horizontal > li > a:hover {
    color: inherit !important;
  }
}
.drawer-nav .megamenu > li.parent > a.dropdown-toggle {
  background-image: none !important;
}
.drawer-nav .drawer-toggle {
  position: absolute; right: 0; top: 0;
  width: 48px; height: 48px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 3;
  border: none; background: none;
  padding: 0; color: var(--espresso);
}
.drawer-nav .drawer-toggle svg {
  width: 16px; height: 16px;
  transition: transform .2s;
}
.drawer-nav .drawer-toggle.open svg { transform: rotate(180deg); }
.drawer-nav .dropdown-menu.drawer-open {
  position: static !important; float: none !important;
  border: none !important; box-shadow: none !important;
  padding: 0 0 0 16px !important; background: var(--cream) !important;
  width: 100% !important; min-width: 0 !important;
  transform: none !important; left: auto !important;
  margin: 0 !important;
}
.drawer-nav .dropdown-menu.drawer-open .dropdown-menu-inner,
.drawer-nav .dropdown-menu.drawer-open .row {
  display: block !important; width: 100% !important;
}
.drawer-nav .dropdown-menu.drawer-open .mega-col {
  width: 100% !important; max-width: 100% !important; flex: none !important;
}
.drawer-nav .dropdown-menu.drawer-open .mega-col .inner ul {
  display: block !important; padding: 0 !important; margin: 0 !important;
  list-style: none !important;
}
#siteDrawer .drawer-nav .dropdown-menu.drawer-open .inner ul > li,
#siteDrawer .drawer-nav .dropdown-menu.drawer-open .inner ul li.nav-item,
#siteDrawer .drawer-nav .dropdown-menu.drawer-open .nav-item {
  max-width: 100% !important; width: 100% !important;
  display: block !important; float: none !important;
}
.drawer-nav .dropdown-menu.drawer-open .nav-link {
  padding: 10px 16px !important; font-size: 14px !important;
  border-bottom: 1px solid var(--line); display: block !important;
  white-space: normal !important; max-width: 100% !important;
}
.drawer-nav .dropdown-menu.drawer-open .nav-link::before { display: none !important; }

.drawer .dcontact {
  padding: 14px 16px;
  background: var(--parchment);
  border-top: 1px solid var(--line);
  font-size: 13px;
  color: var(--muted);
  font-family: var(--sans);
  flex-shrink: 0;
}
.drawer .dcontact b {
  color: var(--espresso);
  display: block;
  font-size: 14px;
  font-family: var(--display);
  margin-bottom: 2px;
}

/* ---- Responsive ---------------------------------------------------------- */

/* Tablet — hide utility bar, show hamburger */
@media (max-width: 991px) {
  .utility.d-none { display: none !important; }
  .m-burger { display: flex !important; }
  header#header { padding-bottom: 0 !important; }
  .masthead .wrap { gap: 12px; }
  header#header .logo img,
  .masthead .header818_logo img { height: 36px !important; }
}

/* Mobile — tighten masthead further */
@media (max-width: 575px) {
  .masthead .wrap { padding-top: 10px; padding-bottom: 10px; }
  .search-widget-cus-inner { max-width: none; }
  header#header .logo img { height: 28px !important; }
}

/* Desktop — ensure utility is always visible */
@media (min-width: 992px) {
  .utility.d-none.d-lg-block { display: flex !important; }
  .m-burger { display: none !important; }
}

/* Footer responsive — medium */
@media (max-width: 991px) {
  .foot-grid { grid-template-columns: 1fr 1fr; }
}
/* Footer responsive — small */
@media (max-width: 600px) {
  .foot-grid { grid-template-columns: 1fr; }
  .foot-top { padding: 36px 0 28px; }
  .foot-bottom .wrap { flex-direction: column; text-align: center; gap: 10px; }
  .pay { justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════════════════
   Phase 3.3 — Forside (homepage)
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Global icon sizing ────────────────────────────────────────────────── */
.icon { width: 18px; height: 18px; flex: none; display: inline-block; vertical-align: middle; }

/* ── Button overrides (all PS pages) ──────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; gap: 9px; justify-content: center;
  font-family: var(--sans); font-weight: 600; font-size: 15px;
  border-radius: 999px; padding: 13px 24px;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
  white-space: nowrap; text-decoration: none; cursor: pointer; border: 1.5px solid transparent;
}
.btn-primary,
.btn-primary:link,
.btn-primary:visited {
  background: var(--oak); border-color: var(--oak); color: #fff;
}
.btn-primary:hover,
.btn-primary:focus {
  background: var(--oak-dark); border-color: var(--oak-dark); color: #fff;
}
.btn-dark,
.btn-dark:link,
.btn-dark:visited {
  background: var(--espresso); border-color: var(--espresso); color: #fff;
}
.btn-dark:hover,
.btn-dark:focus {
  background: var(--brown-deep); border-color: var(--brown-deep); color: #fff;
}
.btn-ghost,
.btn-ghost:link,
.btn-ghost:visited {
  background: transparent; border-color: var(--oak); color: var(--oak);
}
.btn-ghost:hover,
.btn-ghost:focus {
  background: var(--oak); color: #fff;
}
/* Hero white-outline secondary button */
.btn-outline-hero,
.btn-outline-hero:link,
.btn-outline-hero:visited {
  background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.28); color: #fff;
}
.btn-outline-hero:hover,
.btn-outline-hero:focus {
  background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.5); color: #fff;
}
.btn-lg { padding: 16px 30px; font-size: 16px; }
.btn-block { width: 100%; }

/* ── Eyebrow + section head ────────────────────────────────────────────── */
.eyebrow {
  font-family: var(--sans); font-weight: 700; font-size: 12px;
  letter-spacing: .16em; text-transform: uppercase; color: var(--oak);
  display: block; margin-bottom: 4px;
}
.sec-head { text-align: center; max-width: 620px; margin: 0 auto 38px; }
.sec-head h2 {
  font-family: var(--display); font-size: 36px; color: var(--espresso);
  margin: 10px 0 0; font-weight: 600;
}
.sec-head h2::after {
  content: ""; display: block; width: 56px; height: 3px;
  background: var(--oak); border-radius: 2px; margin: 16px auto 0;
}
.sec-head p { color: var(--muted); font-size: 16px; margin-top: 12px; }
section.block { padding: 62px 0; }

/* ── Page-home reset (no unwanted outer padding) ───────────────────────── */
.page-home { padding: 0; }

/* ── Wood swatch system (CSS-generated textures) ───────────────────────── */
.swatch { display: block; }
.wood {
  background-color: #c79a64;
  background-image:
    repeating-linear-gradient(90deg, rgba(120,80,40,.16) 0 2px, transparent 2px 7px),
    repeating-linear-gradient(90deg, rgba(255,240,220,.18) 0 1px, transparent 1px 22px),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(80,50,25,.16));
}
.wood.oak   { background-color: #caa474; }
.wood.ash   { background-color: #dcc7a6; }
.wood.walnut{ background-color: #7e5630; }
.wood.smoke { background-color: #9c8468; }
.wood.pine  { background-color: #d8b888; }
.wood.herring {
  background-color: #c69a63;
  background-image:
    repeating-linear-gradient(45deg,  rgba(110,72,36,.22) 0 3px, transparent 3px 16px),
    repeating-linear-gradient(-45deg, rgba(110,72,36,.22) 0 3px, transparent 3px 16px),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(80,50,25,.16));
  background-size: 46px 46px, 46px 46px, 100% 100%;
}

/* ── Hero ──────────────────────────────────────────────────────────────── */
.hero {
  position: relative; overflow: hidden; background-color: var(--espresso);
  background-size: cover; background-position: center right;
  min-height: 520px; display: flex; align-items: center;
}
.hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to right, var(--espresso) 30%, rgba(59,42,30,.65) 60%, transparent 75%);
  z-index: 1;
}
.hero-content {
  position: relative; z-index: 2;
  padding: 64px 58px; max-width: 580px;
  display: flex; flex-direction: column; justify-content: center;
}
.hero-content .eyebrow { color: var(--tan); }
.hero h1 { color: #fff; font-size: 54px; margin: 16px 0 0; font-weight: 600; font-family: var(--serif); }
.hero h1 em { font-style: italic; color: #f0a591; }
.hero p.lead { color: #ecdccb; font-size: 18px; max-width: 460px; margin: 18px 0 30px; font-family: var(--sans); line-height: 1.55; }
.hero-cta { display: flex; gap: 13px; flex-wrap: wrap; }
.hero-usps { display: flex; gap: 26px; margin-top: 34px; flex-wrap: wrap; }
.hero-usps div { display: flex; align-items: center; gap: 9px; color: #ecdccb; font-size: 14px; font-weight: 600; }
.hero-usps .icon { color: var(--tan); }
.hero-tag {
  position: absolute; bottom: 26px; right: 26px; z-index: 3;
  background: rgba(252,249,244,.95); backdrop-filter: blur(4px);
  border-radius: 12px; padding: 14px 18px;
  box-shadow: var(--shadow); max-width: 230px;
}
.hero-tag b { font-family: var(--display); color: var(--espresso); font-size: 15px; display: block; }
.hero-tag span { font-size: 12.5px; color: var(--muted); }

/* ── Trust bar ─────────────────────────────────────────────────────────── */
.trustbar { background: var(--cream); border-bottom: 1px solid var(--line); }
.trustbar .wrap {
  display: flex; justify-content: space-between; gap: 18px;
  padding: 18px 22px; flex-wrap: wrap;
}
.trustbar .t { display: flex; align-items: center; gap: 11px; font-size: 13.5px; color: var(--muted); font-weight: 500; }
.trustbar .t b { color: var(--espresso); display: block; font-size: 14px; }
.trustbar .t .ic {
  width: 38px; height: 38px; border-radius: 10px;
  background: var(--parchment); display: flex; align-items: center;
  justify-content: center; color: var(--oak); flex: none;
}

/* ── Category tiles ────────────────────────────────────────────────────── */
.cat-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.cat-tile {
  position: relative; border-radius: var(--radius); overflow: hidden;
  aspect-ratio: 3/3.5; box-shadow: var(--shadow); display: block;
  text-decoration: none;
}
.cat-tile .swatch { position: absolute; inset: 0; transition: transform .4s ease; }
.cat-tile .tile-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.cat-tile:hover .swatch, .cat-tile:hover .tile-img { transform: scale(1.06); }
.cat-tile::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 38%, rgba(28,20,14,.88));
}
.cat-tile .lab {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  padding: 20px; color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,.55);
}
.cat-tile .lab b { font-family: var(--display); font-size: 21px; display: block; }
.cat-tile .lab span { font-size: 13px; opacity: .85; display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; }

/* ── Legacy home module suppression (Phase 4 will replace) ─────────────── */
/* appagebuilder output is preserved in the DOM but visually suppressed    */
.home-hook-wrap { display: none; }

/* ── Center CTA ────────────────────────────────────────────────────────── */
.center-cta { text-align: center; margin-top: 40px; }

/* ── Brand strip ───────────────────────────────────────────────────────── */
.brands { background: var(--cream); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.brands.block { padding: 34px 0; }
.brands-label {
  text-align: center; color: var(--muted); font-size: 12px;
  letter-spacing: .12em; text-transform: uppercase; font-weight: 700;
  margin-bottom: 18px;
}
.brand-row { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; align-items: center; padding: 8px 0; }
.brand-chip {
  border: none; background: none;
  border-radius: 10px; padding: 14px 22px;
  font-family: var(--display); font-weight: 600;
  color: var(--brown); font-size: 16px; letter-spacing: .02em;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.brand-chip img { display: block; height: auto; width: 120px; object-fit: contain; }
.brand-chip:hover { border-color: var(--oak); color: var(--oak); background: var(--cream); }

/* ── Showrooms ─────────────────────────────────────────────────────────── */
.show-split { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.show-card {
  position: relative; border-radius: var(--radius); overflow: hidden;
  min-height: 300px; box-shadow: var(--shadow);
}
.show-card .swatch { position: absolute; inset: 0; }
.show-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.show-card::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(28,20,14,.22), rgba(28,20,14,.86));
}
.show-card .in {
  position: absolute; left: 0; bottom: 0; z-index: 2;
  padding: 28px; color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,.55);
}
.show-card .in .eyebrow { color: var(--tan); }
.show-card h3 { font-family: var(--display); font-size: 28px; color: #fff; margin: 6px 0; }
.show-card address { font-style: normal; font-size: 13.5px; opacity: .85; margin-bottom: 16px; }

/* ── Advice band ───────────────────────────────────────────────────────── */
.advice {
  background: linear-gradient(120deg, var(--brown), var(--brown-deep));
  color: #fff; border-radius: var(--radius); overflow: hidden; position: relative;
}
.advice .wrapx { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 40px; padding: 50px 52px; }
.advice .eyebrow { color: #e8c6a0; }
.advice h2 { color: #fff; font-size: 34px; margin: 12px 0 14px; }
.advice p { color: #ecdccb; font-size: 16px; max-width: 440px; margin-bottom: 24px; }
.advice .feats { display: flex; flex-direction: column; gap: 14px; }
.advice .feat {
  display: flex; gap: 14px; align-items: flex-start;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px; padding: 16px;
}
.advice .feat .ic {
  width: 40px; height: 40px; border-radius: 10px;
  background: var(--oak); display: flex; align-items: center; justify-content: center;
  flex: none; color: #fff;
}
.advice .feat b { display: block; font-weight: 700; font-size: 14.5px; color: #fff; }
.advice .feat span { font-size: 13px; color: #ecdccb; }

/* ── References ────────────────────────────────────────────────────────── */
.refs { text-align: center; }
.refs .logos {
  display: flex; gap: 40px; justify-content: center;
  align-items: center; flex-wrap: wrap; margin-top: 10px; opacity: .8;
}
.refs .logos span { font-family: var(--display); font-size: 24px; font-weight: 600; color: var(--muted); letter-spacing: .02em; }

/* ── Forside responsive ────────────────────────────────────────────────── */
@media (max-width: 1080px) {
  .hero h1 { font-size: 42px; }
  .cat-tiles { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .hero { min-height: 400px; }
  .hero-content { padding: 44px 30px; }
  .advice .wrapx { grid-template-columns: 1fr; gap: 26px; padding: 36px 30px; }
  .show-split { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .hero h1 { font-size: 34px; }
  .hero p.lead { font-size: 16px; }
  .hero-usps { gap: 14px; }
  .cat-tiles { grid-template-columns: 1fr 1fr; }
  .sec-head h2 { font-size: 28px; }
  .brand-chip { padding: 10px 16px; font-size: 14px; }
  .brand-chip img { height: 26px; }
  .refs .logos { gap: 24px; }
  .refs .logos span { font-size: 18px; }
  .advice h2 { font-size: 26px; }
  .trustbar .wrap { gap: 12px; }
  .trustbar .t { font-size: 12.5px; }
}
@media (max-width: 767px) {
  .trustbar .wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}
/* ============================================================
   Phase 3.4 — Kategoriside
   ============================================================ */

/* ── Category hero ─────────────────────────────────────────── */
.page-catalog { padding-bottom: 64px; }
.cat-hero {
  background: var(--cream);
  border-bottom: none;
  padding: 34px 0 0;
}
.cat-hero h1 {
  font-family: var(--display);
  font-size: 38px;
  color: var(--espresso);
  margin: 0 0 6px;
  line-height: 1.12;
}
.cat-hero h1::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: var(--oak);
  border-radius: 2px;
  margin-top: 14px;
}
.cat-hero p {
  color: var(--muted);
  font-size: 15.5px;
  margin: 10px 0 0;
  max-width: 680px;
}
.cat-desc {
  color: var(--ink);
  font-size: 15.5px;
  margin: 12px 0 0;
  max-width: 680px;
  line-height: 1.55;
}
.cat-meta {
  margin-top: 14px;
  font-size: 13.5px;
  color: var(--oak);
  font-weight: 600;
}

/* ── Two-column layout ──────────────────────────────────────── */
.cat-layout {
  display: grid;
  grid-template-columns: 268px 1fr;
  gap: 30px;
  padding: 34px 0 64px;
  align-items: start;
}

/* ── Filter sidebar ─────────────────────────────────────────── */
/* ── Filter Sidebar ─────────────────────────────────────────── */
.cat-filters {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  position: sticky;
  top: 96px;
}
.cat-filters .fh {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--espresso);
  font-family: var(--sans);
  font-size: 14px;
  background: var(--cream);
}
.filter-body {
  padding: 0;
  max-height: calc(100vh - 180px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--line) transparent;
}
.filter-body::-webkit-scrollbar { width: 4px; }
.filter-body::-webkit-scrollbar-thumb { background: var(--line); border-radius: 4px; }
.filter-body::-webkit-scrollbar-track { background: transparent; }

/* Reset filterproductspro text description above filter UI */
.filter-body > p,
.filter-body > div:not(.fpp_searchers):not(.container-filter) {
  padding: 10px 16px 0;
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}

/* Hide payment/card icons inside filter sidebar */
.filter-body > .block,
.filter-body > [id*="block"],
.filter-body img[src*="payment"],
.filter-body img[src*="visa"],
.filter-body img[src*="mastercard"],
.filter-body img[src*="dankort"],
.filter-body img[src*="module"] {
  display: none !important;
}

/* Style filterproductspro output */
.filter-body .fpp_searchers,
.filter-body .container-filter {
  padding: 0;
}
/* Hide the module's own FILTER header — we already have "Filtrér" */
.filter-body .searcher-header {
  display: none !important;
}
.filter-body .header-icon { display: none; }
.filter-body .searcher-body { padding: 0; }
.filter-body .filter-content .row { display: block; margin: 0; }
.filter-body .filter {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0;
  float: none;
}

/* Filter name — compact row */
.filter-body .filter-name {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--espresso);
  padding: 10px 16px;
  border-top: 1px solid var(--line);
  cursor: pointer;
  margin: 0;
  background: #fff;
  transition: background .15s;
}
.filter-body .filter-name:hover { background: var(--cream); }
.filter-body .filter:first-child .filter-name { border-top: none; }

/* Select dropdowns — compact styling */
.filter-body select.form-control {
  padding: 6px 12px;
  font-size: 13px;
  height: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--espresso);
  background: var(--cream);
  margin: 0 16px 10px;
  width: calc(100% - 32px);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b5b4e' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 30px;
}
.filter-body select.form-control:focus {
  border-color: var(--oak);
  outline: none;
  box-shadow: 0 0 0 2px rgba(188,139,93,0.15);
}

/* Checkbox / radio — compact */
.filter-body .pts-checkbox-type,
.filter-body .pts-radio-type,
.filter-body .pts-color-type {
  padding: 2px 16px 8px;
}
.filter-body .pts-checkbox-type label,
.filter-body .pts-radio-type label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  color: var(--ink);
  padding: 3px 0;
  cursor: pointer;
}
.filter-body input[type="checkbox"],
.filter-body input[type="radio"] {
  accent-color: var(--oak);
  width: 14px;
  height: 14px;
  flex: none;
}

/* Scrollable option lists */
.filter-body .content-to-scroll {
  max-height: 120px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--line) transparent;
}
.filter-body .content-to-scroll::-webkit-scrollbar { width: 3px; }
.filter-body .content-to-scroll::-webkit-scrollbar-thumb { background: var(--line); border-radius: 3px; }

/* Number / range / slider — compact */
.filter-body .pts-number-type,
.filter-body .pts-range-type { padding: 4px 16px 10px; }
.filter-body .pts-slider-range { margin: 8px 0; }
.filter-body .input-group { margin-bottom: 4px; }
.filter-body .input-group .form-control {
  font-size: 12.5px;
  padding: 4px 8px;
  height: auto;
  border-radius: 6px;
}
.filter-body .input-group-addon {
  font-size: 12px;
  padding: 4px 8px;
}

/* Selected filters / active chips */
.filter-body .selected-option-content,
.cat-filters .selected-option-content {
  padding: 8px 16px !important;
  border-bottom: 1px solid var(--line);
  background: var(--cream) !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}
.cat-filters .selected-option-content .btn-selected-option,
.filter-body .selected-option-content .btn-selected-option {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px;
  font-size: 11.5px !important;
  padding: 5px 24px 5px 10px !important;
  border-radius: 20px !important;
  background: var(--cream) !important;
  color: var(--espresso) !important;
  border: 1px solid var(--line) !important;
  margin: 2px !important;
  cursor: pointer;
  position: relative;
  font-weight: 500;
  white-space: nowrap;
}
.cat-filters .selected-option-content .btn-selected-option:hover,
.filter-body .selected-option-content .btn-selected-option:hover {
  background: #fff !important;
  border-color: var(--oak) !important;
}
.cat-filters .selected-option-content .btn-selected-option i,
.filter-body .selected-option-content .btn-selected-option i {
  color: var(--muted) !important;
  font-size: 10px;
}
.cat-filters .selected-option-content .btn-reset-filter,
.filter-body .selected-option-content .btn-reset-filter {
  font-size: 11px !important;
  color: var(--oak) !important;
  background: none !important;
  border: none !important;
  padding: 4px 6px !important;
  cursor: pointer;
  margin: 2px !important;
  font-weight: 600;
  text-decoration: underline;
}

/* Searcher footer — compact */
.filter-body .searcher-footer {
  padding: 8px 16px 12px;
  border-top: 1px solid var(--line);
}
.filter-body .searcher-footer button,
.filter-body .searcher-footer .btn {
  width: 100%;
  padding: 8px;
  font-size: 13px;
  border-radius: 8px;
  background: var(--oak);
  color: #fff;
  border: none;
  cursor: pointer;
  font-weight: 600;
}

/* Hide filterproductspro close/refresh controls */
.filter-body .close-mobile-searcher,
.filter-body .refresh-mobile-searcher { display: none; }
/* Hide the icon-collapse arrow from module header */
.filter-body .icon-collapse { display: none; }

/* ── Toolbar ────────────────────────────────────────────────── */
.toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}
.toolbar .res { font-size: 14px; color: var(--muted); }
.toolbar .res b { color: var(--espresso); }
.toolbar .ctrls { display: flex; align-items: center; gap: 10px; }

/* Style PS sort-orders dropdown */
.products-sort-order {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--espresso) !important;
  cursor: pointer;
  box-shadow: none !important;
  outline: none !important;
}
.products-sort-order .select-title {
  display: flex !important;
  align-items: center !important;
  gap: 6px;
  border: 1px solid var(--line) !important;
  background: #fff !important;
  border-radius: 8px !important;
  font: inherit;
  color: inherit !important;
  cursor: pointer;
  padding: 8px 14px !important;
  white-space: nowrap;
  width: auto !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color .2s;
}
.products-sort-order .select-title:hover {
  border-color: var(--oak) !important;
}
.products-sort-order .select-title .material-icons,
.products-sort-order .select-title i {
  font-size: 16px;
  color: var(--muted);
  margin-left: 2px;
  float: none !important;
}
.products-sort-order .dropdown-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 200;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow);
  min-width: 200px;
  padding: 8px 0;
  display: none;
}
.products-sort-order.show .dropdown-menu,
.products-sort-order.open .dropdown-menu { display: block; }
.products-sort-order .dropdown-menu .select-list {
  display: block;
  padding: 9px 16px;
  font-size: 13.5px;
  color: var(--ink);
}
.products-sort-order .dropdown-menu .select-list:hover { background: var(--cream); }
.products-sort-order .dropdown-menu .select-list.current { color: var(--oak); font-weight: 600; }

/* Hide the "Sort by:" label */
.sort-by { display: none !important; }

/* Active filters chips — style PS rendered_active_filters output */
#js-active-search-filters { margin-bottom: 14px; }
#js-active-search-filters a,
#js-active-search-filters .active-filter {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12.5px;
  color: var(--espresso);
  font-weight: 600;
  margin: 0 6px 6px 0;
  text-decoration: none;
}
#js-active-search-filters .filter-block .js-search-filters-clear-all {
  color: var(--oak);
  border-color: transparent;
  background: none;
}

/* ── Product grid ───────────────────────────────────────────── */
.cat-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  flex-wrap: unset !important;
}
.cat-grid > .ajax_block_product {
  min-width: 0;
  max-width: 100%;
  display: flex;
}

/* Product card — match mockup design */
.page-catalog .product-miniature,
.cat-grid .product-miniature,
.featured-block .product-miniature {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow 0.2s, transform 0.2s;
  display: flex;
  flex-direction: column;
}
.page-catalog .product-miniature:hover,
.cat-grid .product-miniature:hover,
.featured-block .product-miniature:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,.10);
  transform: translateY(-2px);
}
.page-catalog .thumbnail-container {
  display: flex; flex-direction: column; flex: 1; cursor: pointer;
  background: #fff !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
}
.page-catalog .cus_product_thumbnail { position: relative; }
.page-catalog .cus_product_thumbnail .product-thumbnail {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--parchment);
  padding: 0 !important;
  border-radius: 14px 14px 0 0;
}
.page-catalog .cus_product_thumbnail .product-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Card badges (PRISGARANTI / discount %) */
.card-badges {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  gap: 6px;
  z-index: 2;
}
.badge-prisgaranti {
  background: #4a7c59;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 6px 12px;
  border-radius: 8px;
}
.badge-discount {
  background: var(--oak);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 8px;
}

/* Wishlist heart button */
.card-wish {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fff;
  border: none;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--muted);
  transition: color .2s;
}
.card-wish:hover { color: var(--oak); }

.page-catalog .product-miniature .product-description,
.page-catalog .product-miniature .highlighted-informations {
  position: static !important;
  width: auto !important;
  height: auto !important;
}
.page-catalog .product-desc {
  padding: 14px 16px 4px !important;
  min-height: auto !important;
  color: inherit !important;
}
.page-catalog .product-manufacturer {
  font-size: 10.5px !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted) !important;
  font-weight: 700;
  margin-bottom: 6px !important;
}
.page-catalog .product-name {
  font-family: var(--serif);
  font-size: 16px;
  color: var(--espresso);
  font-weight: 600;
  line-height: 1.3;
}
.page-catalog .product-name a {
  color: inherit;
  text-decoration: none;
}
.page-catalog .product-name a:hover { color: var(--oak); }
.page-catalog .product-available-mess {
  padding: 6px 16px 0 !important;
  font-size: 12.5px;
  color: #4a7c59 !important;
  min-height: 24px;
  text-align: left;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 6px;
}
.avail-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4a7c59;
  flex: none;
  display: inline-block;
}

/* Price row — price left, cart button right */
.page-catalog .product-price-row {
  padding: 10px 16px 16px !important;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  background: none !important;
  text-align: left !important;
  width: auto !important;
  margin-top: auto;
}
.page-catalog .product-price-row .price-col {
  display: flex;
  flex-direction: column;
}
.page-catalog .product-price-row .old-price {
  font-size: 13px;
  color: var(--muted);
  text-decoration: line-through;
  margin-bottom: 2px;
}
.page-catalog .product-price-row .price {
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 700;
  color: var(--espresso);
}
/* Also handle old .product-price div if still rendered */
.page-catalog .product-price {
  padding: 10px 16px 16px !important;
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  background: none !important;
  text-align: left !important;
  width: auto !important;
  line-height: 1.3 !important;
}
.page-catalog .product-miniature:hover .product-price,
.page-catalog .product-miniature:hover .product-price-row { background: none !important; }
.page-catalog .product-price .price {
  font-family: var(--serif);
  font-size: 18px !important;
  font-weight: 700;
  color: var(--espresso) !important;
}
.page-catalog .product-price .old-price {
  font-size: 13px !important;
  color: var(--muted) !important;
  text-decoration: line-through;
  margin-left: 0 !important;
}

/* Cart button on card */
.card-cart-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: var(--oak);
  flex: none;
  transition: background .2s;
}
.card-cart-btn:hover { background: var(--oak-dark); }

/* Discount badge on card */
.page-catalog .cus_main_variants { padding: 8px 16px 0; }

/* ── Pagination ─────────────────────────────────────────────── */
nav.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 40px;
  flex-wrap: wrap;
}
/* Hide the summary text in pagination */
nav.pagination .col-md-4 { display: none; }
nav.pagination .col-md-6 { width: auto; padding: 0; }
nav.pagination .page-list {
  display: flex;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
  justify-content: center;
}
nav.pagination .page-list li a,
nav.pagination .page-list li span {
  min-width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  border: 1px solid var(--line);
  background: var(--cream);
  color: var(--espresso);
  text-decoration: none;
  padding: 0 8px;
}
nav.pagination .page-list li.current a,
nav.pagination .page-list li a.current {
  background: var(--oak);
  color: #fff;
  border-color: var(--oak);
}
nav.pagination .page-list li a:hover:not(.current):not(.disabled) {
  border-color: var(--oak);
  color: var(--oak);
}
nav.pagination .page-list .material-icons { font-size: 18px; }
nav.pagination .page-list li a.previous,
nav.pagination .page-list li a.next {
  font-size: 0; /* hide text, keep icon */
  gap: 0;
}
nav.pagination .page-list li a.previous .material-icons,
nav.pagination .page-list li a.next .material-icons { font-size: 18px; }

/* Category intro (top description + optional image) */
.cat-intro {
  padding: 24px 0 32px;
}
.cat-intro.has-image {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: stretch;
}
.cat-intro-text {
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.7;
  color: var(--ink);
}
.cat-intro-text h2, .cat-intro-text h3 {
  font-family: var(--serif);
  margin-top: 24px;
}
.cat-intro-text p { margin: 0 0 12px; }
.cat-intro-text a { color: var(--oak); text-decoration: underline; }
.cat-intro.has-image .cat-intro-text.cat-collapsible.collapsed {
  max-height: none;
  overflow: hidden;
}
.cat-intro.has-image .cat-intro-text.cat-collapsible.collapsed::after {
  display: none;
}
.cat-intro-image {
  display: flex;
}
.cat-intro-image img {
  width: 100%;
  border-radius: var(--radius-lg, 12px);
  object-fit: contain;
}
@media (max-width: 767px) {
  .cat-intro.has-image {
    grid-template-columns: 1fr;
  }
  .cat-intro-image { order: -1; }
}

/* Category sub-description (bottom) */
.cat-sub-desc {
  padding: 40px 0;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.7;
  color: var(--ink);
  border-top: 1px solid var(--line);
  margin-top: 0;
}
.cat-sub-desc h2, .cat-sub-desc h3 {
  font-family: var(--serif);
  margin-top: 24px;
}
.cat-sub-desc p { margin: 0 0 12px; }
.cat-sub-desc a { color: var(--oak); text-decoration: underline; }

/* Read more / read less toggle */
.cat-collapsible.collapsed {
  max-height: 120px;
  overflow: hidden;
  position: relative;
}
.cat-collapsible.collapsed::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50px;
  background: linear-gradient(transparent, #fff);
  pointer-events: none;
}
.cat-collapsible.expanded {
  max-height: none;
  overflow: visible;
}
.cat-collapsible.expanded::after { display: none; }
.cat-readmore {
  display: block;
  margin: 12px auto 24px;
  background: none;
  border: none;
  color: var(--oak);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  padding: 4px 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cat-readmore svg { vertical-align: middle; margin-left: 4px; }
.cat-readmore .rm-less { display: none; }
.cat-readmore[aria-expanded="true"] .rm-more { display: none; }
.cat-readmore[aria-expanded="true"] .rm-less { display: inline; }

/* SEO read more/less buttons (embedded in description_sub content) */
.seo-button-view {
  text-align: center;
  padding: 12px 0 24px;
}
.seo-button-view .btn-view-content-seo,
.seo-button-view .btn-hide-content-seo {
  color: var(--oak);
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  background: none;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.seo-button-view .btn-view-content-seo::after {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0522d' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}
.seo-button-view .btn-hide-content-seo::after {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0522d' stroke-width='2.5'%3E%3Cpath d='m6 15 6-6 6 6'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}
.seo-button-view .btn-hide-content-seo { display: none; }
.seo-break-intro {
  overflow: hidden;
  max-height: 120px;
  position: relative;
}
.seo-break-intro::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50px;
  background: linear-gradient(transparent, #fff);
  pointer-events: none;
}
.seo-break-intro.expanded {
  max-height: none;
}
.seo-break-intro.expanded::after { display: none; }

/* Search form inside cat-main */
.cat-search-form {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}
.cat-search-form form { display: flex; gap: 8px; width: 100%; }
.cat-search-form .search-input { flex: 1; border: 1.5px solid #aab0b5 !important; border-radius: var(--radius); padding: 10px 14px; font-size: 15px; outline: none; background: #fff; }
.cat-search-form .search-input:focus { border-color: var(--oak) !important; }

/* No-products message */
.no-products {
  padding: 48px 0;
  text-align: center;
  color: var(--muted);
  font-size: 15.5px;
}

/* Hide appagebuilder injection inside #main */
.page-catalog #main > .row.ApRow { display: none !important; }
.page-catalog .text-custom-banner,
.page-catalog .text-custom-banner-2 { display: none !important; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1080px) {
  .cat-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .cat-layout { grid-template-columns: 1fr; }
  .cat-filters { position: static; }
  .cat-grid { grid-template-columns: repeat(2, 1fr); }
  .cat-hero h1 { font-size: 30px; }
}
@media (max-width: 767px) {
  .cat-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px; }
  .cat-layout { padding: 24px 0 40px; gap: 20px; }
}

/* ============================================================
   Header fix — mockup alignment (Phase 3.2 polish)
   ============================================================ */

/* Override PS theme.css: .btn-primary { text-transform: uppercase } */
.btn,
.btn:link,
.btn:visited {
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Two-line action labels in masthead */
.mast-act { gap: 10px; padding: 10px 12px; }
.mact-labels {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  text-align: left;
}
.mact-labels small {
  font-size: 11px;
  color: var(--muted);
  font-weight: 500;
}
.mact-labels b {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--espresso);
  white-space: nowrap;
}

/* Cart icon wrapper with badge */
.cart-ic {
  position: relative;
  display: flex;
  align-items: center;
  flex: none;
}
.mast-cart .cart-badge {
  position: absolute;
  top: -6px;
  left: -6px;
}

/* Utility bar — icon inside nav links */
.util-links a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

/* Suppress the old .mast-tel-num style (replaced by .mact-labels) */
.mast-tel-num { display: none; }

/* Responsive: hide labels on smaller screens */
@media (max-width: 1200px) {
  .mact-labels { display: none; }
}
@media (max-width: 1100px) {
  .util-links a:first-child span,
  .util-links a:first-child svg { display: none; }
  .util-links a:first-child::after { content: "Showrooms"; }
}

/* ============================================================
   Full-bleed page layouts
   ============================================================ */

/* Homepage: remove container constraints so hero/sections span 100vw */
body.page-index #wrapper > .container,
body.page-index #wrapper .row-innerbox {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.page-index #content-wrapper {
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}
/* Also remove breadcrumb area since home has no breadcrumb */
body.page-index .breadcrumb-nav { display: none; }
/* Category breadcrumb — clean inline style matching mockup */
body.page-category .breadcrumb-nav { display: block; }
body.page-category #wrapper .breadcrumb {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  display: block !important;
  overflow: visible !important;
  min-height: 0 !important;
  line-height: 1.6 !important;
  max-width: var(--maxw);
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 18px 24px 0 !important;
}
body.page-category #wrapper .breadcrumb ol {
  font-size: 13.5px;
  font-family: var(--sans);
  color: var(--muted);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
}
body.page-category #wrapper .breadcrumb li {
  display: inline-flex !important;
  align-items: center;
  font-size: 13.5px;
  color: var(--muted);
}
body.page-category #wrapper .breadcrumb a {
  color: var(--muted) !important;
  font-size: 13.5px;
  text-decoration: none !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  position: static !important;
}
body.page-category #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
body.page-category #wrapper .breadcrumb a:after {
  content: "/" !important;
  border: none !important;
  border-right: none !important;
  border-top: none !important;
  margin: 0 10px !important;
  color: var(--line) !important;
  transform: none !important;
  display: inline !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  text-indent: 0 !important;
  font-weight: 400;
}
body.page-category #wrapper .breadcrumb li:last-child {
  font-weight: 700;
  color: var(--espresso);
}
body.page-category #wrapper .breadcrumb li:last-child span {
  color: var(--espresso);
  font-weight: 700;
}

/* Category page: same container fix so cat-hero spans full width */
body.page-category #wrapper > .container,
body.page-category #wrapper .row-innerbox {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.page-category #content-wrapper {
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* ══════════════════════════════════════════════════════════════
   Phase 3.5 — Produktside (Product Detail Page)
   ══════════════════════════════════════════════════════════════ */

/* ── Reset wrapper for product page ───────────────────────── */
body.page-product #wrapper > .container,
body.page-product #wrapper .row-innerbox {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.page-product #content-wrapper {
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}
body.page-product #left-column,
body.page-product #right-column { display: none !important; }
body.page-product #main > .row { display: block; margin: 0; }

/* Breadcrumb on product page */
body.page-product .breadcrumb-nav { display: block; }
body.page-product #wrapper .breadcrumb {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  display: block !important;
  overflow: visible !important;
  min-height: 0 !important;
  line-height: 1.6 !important;
  max-width: var(--maxw);
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 18px 24px 0 !important;
}
body.page-product #wrapper .breadcrumb ol {
  font-size: 13.5px; font-family: var(--sans); color: var(--muted);
  display: flex; align-items: center; flex-wrap: wrap;
  list-style: none; padding: 0 !important; margin: 0 !important;
}
body.page-product #wrapper .breadcrumb li {
  display: inline-flex !important; align-items: center; font-size: 13.5px; color: var(--muted);
}
body.page-product #wrapper .breadcrumb a {
  color: var(--muted) !important; font-size: 13.5px; text-decoration: none !important;
  background: none !important; border: none !important; padding: 0 !important; position: static !important;
}
body.page-product #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
body.page-product #wrapper .breadcrumb a:after {
  content: "/" !important; border: none !important; border-right: none !important; border-top: none !important;
  margin: 0 10px !important; color: var(--line) !important; transform: none !important;
  display: inline !important; position: static !important; width: auto !important; height: auto !important;
  background: none !important; text-indent: 0 !important; font-weight: 400;
}
body.page-product #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
body.page-product #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }

/* ── PDP wrapper ──────────────────────────────────────────── */
.page-product .wrap.pdp {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 24px 60px;
}

/* ── Two-column grid ──────────────────────────────────────── */
.pdp-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 46px;
  align-items: start;
  margin-top: 24px;
}

/* ── Gallery ──────────────────────────────────────────────── */
.pdp-gallery { position: sticky; top: 96px; }
.pdp-gallery .images-container { position: relative; }

.pdp-gallery .product-cover {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--line);
  background: #f8f6f3;
}
.pdp-gallery .product-cover img {
  width: 100%; height: auto; display: block;
  aspect-ratio: 4 / 3.4; object-fit: cover;
}
.pdp-gallery .product-flags {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px;
}
.pdp-gallery .product-flag {
  background: #4a7c59; color: #fff; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em; padding: 6px 12px; border-radius: 8px;
}
.pdp-gallery .product-flag.discount-percentage {
  background: var(--oak);
}
.pdp-gallery .product-flag.on-sale { background: var(--oak); }
.pdp-gallery .product-flag.new { background: var(--espresso); }

.pdp-gallery #zoom-in-slider {
  position: absolute; bottom: 14px; right: 14px;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,.9); display: flex;
  align-items: center; justify-content: center;
  cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.pdp-gallery #zoom-in-slider i { font-size: 20px; color: var(--espresso); }

/* Thumbnails */
.pdp-gallery .js-qv-mask { margin-top: 12px; overflow: hidden; }
.pdp-gallery .product-images {
  display: flex; gap: 8px; list-style: none; padding: 0; margin: 0;
  overflow-x: auto; scrollbar-width: thin;
}
.pdp-gallery .thumb-container {
  flex: none; width: 80px; height: 80px;
  border-radius: 10px; overflow: hidden;
  border: 2px solid transparent; cursor: pointer;
  transition: border-color .2s;
}
.pdp-gallery .thumb-container:hover { border-color: var(--line); }
.pdp-gallery .thumb.selected { border-color: var(--oak) !important; }
.pdp-gallery .thumb-container:has(.selected) { border-color: var(--oak); }
.pdp-gallery .thumb {
  width: 100%; height: 100%; object-fit: cover; display: block;
}

.pdp-gallery .scroll-box-arrows { display: none; }
.pdp-gallery {hook h='displayAfterProductThumbs'} { margin-top: 12px; }

/* ── Product info ─────────────────────────────────────────── */
.pdp-info {
  min-width: 0;
}
.pdp-brand {
  font-family: var(--sans); font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .14em;
  color: var(--brown, var(--muted)); margin-bottom: 4px;
}
.pdp-name {
  font-family: var(--serif) !important; font-size: 30px !important;
  font-weight: 600 !important; line-height: 1.15 !important;
  color: var(--espresso) !important; margin: 0 0 8px !important;
}
.pdp-meta {
  font-size: 13px; color: var(--muted); margin-bottom: 16px;
  font-family: var(--sans);
}
.pdp-meta .pdp-ref { color: var(--muted); }

/* ── Prices ───────────────────────────────────────────────── */
.page-product .product-prices {
  margin-bottom: 6px;
}
.page-product .product-price-set {
  font-family: var(--serif); font-size: 32px; font-weight: 700;
  color: var(--espresso); line-height: 1.2;
}
.page-product .product-price-dis {
  font-size: 16px; color: var(--muted); text-decoration: line-through;
  margin-top: 2px;
}
.page-product .product-unit-price-sub {
  font-family: var(--serif); font-size: 32px; font-weight: 700;
  color: var(--espresso);
}
.page-product .product-wholesale-price-sub {
  font-size: 16px; color: var(--muted); text-decoration: line-through;
}
.page-product .current-price { display: flex; align-items: baseline; gap: 8px; }
.page-product .current-price span { font-family: var(--serif); }
.page-product .product-discount { margin-top: 2px; }
.page-product .current-discount {
  display: inline-flex; gap: 8px; margin-bottom: 6px;
}
.page-product .discount-percentage,
.page-product .discount-amount {
  background: var(--oak); color: #fff; font-size: 12px; font-weight: 700;
  padding: 4px 10px; border-radius: 6px; text-align: center;
}
.page-product .product-without-taxes {
  font-size: 12.5px; color: var(--muted); margin: 4px 0 0;
}

/* ── Prisgaranti badge ────────────────────────────────────── */
.pdp-guarantee {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(79,122,46,.10); border: 1px solid rgba(79,122,46,.35);
  color: #426324; font-size: 13.5px; font-weight: 600;
  padding: 9px 14px; border-radius: 10px; margin: 16px 0 18px;
  font-family: var(--sans); line-height: 1.4;
}
.pdp-guarantee svg { flex: none; color: #4f7a2e; }

/* ── Short description ────────────────────────────────────── */
.pdp-short-desc {
  font-size: 14.5px; line-height: 1.6; color: var(--ink);
  margin-bottom: 16px;
}
.pdp-short-desc p { margin: 0 0 10px; }

/* ── Availability ─────────────────────────────────────────── */
.pdp-availability {
  font-size: 13.5px; color: var(--ink); margin-bottom: 18px;
  display: flex; align-items: center; gap: 7px;
  font-family: var(--sans);
}
.pdp-availability .avail-dot {
  width: 8px; height: 8px; border-radius: 50%; background: #4a7c59;
  display: inline-block; flex: none;
}
.pdp-availability .avail-dot.warning { background: #d4a017; }
.pdp-availability .avail-dot.out { background: #c0432f; }

/* ── Variants ─────────────────────────────────────────────── */
.page-product .product-variants {
  margin-bottom: 20px;
}
.page-product .product-variants > .product-variants {
  display: flex; flex-direction: column; gap: 18px;
}
.page-product .product-variants .form-group {
  margin-bottom: 0;
}
.page-product .product-variants .control-label {
  font-size: 13px; font-weight: 700; color: var(--espresso);
  margin-bottom: 10px; display: block; font-family: var(--sans);
}
.page-product .product-variants select {
  width: 100%; padding: 10px 14px; font-size: 14px;
  border: 1.5px solid var(--line); border-radius: 10px;
  background: var(--parchment, #faf8f6); color: var(--ink);
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b5b4e' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
  padding-right: 34px; cursor: pointer;
}
.page-product .product-variants select:focus {
  border-color: var(--oak); outline: none;
  box-shadow: 0 0 0 3px rgba(188,70,57,.12);
}
/* Color swatches */
.page-product .product-variants .input-color {
  width: 36px; height: 36px; border-radius: 50%;
  border: 2px solid var(--line); cursor: pointer; transition: border-color .2s;
}
.page-product .product-variants .input-color:checked,
.page-product .product-variants .input-color.selected {
  border-color: var(--oak); box-shadow: 0 0 0 2px rgba(188,70,57,.2);
}

/* ── m² Calculator ────────────────────────────────────────── */
.page-product .product-calculator {
  margin-bottom: 22px;
}
.page-product .calculator {
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius); padding: 18px;
}
.page-product .calculator .control-label {
  font-size: 13.5px; font-weight: 700; color: var(--espresso);
  margin-bottom: 12px; display: flex; align-items: center; gap: 8px;
  font-family: var(--sans);
}
.page-product .calculator .callwrap {
  display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
}
.page-product .calculator #size_wanted {
  flex: 1; min-width: 100px; padding: 10px 14px; font-size: 15px;
  border: 1.5px solid var(--line); border-radius: 10px;
  background: var(--parchment, #faf8f6); outline: none;
}
.page-product .calculator #size_wanted:focus {
  border-color: var(--oak); box-shadow: 0 0 0 3px rgba(188,70,57,.12);
}
.page-product .calculator .btn-green {
  padding: 10px 20px; border-radius: 10px;
  background: var(--oak); color: #fff; border: none;
  font-size: 14px; font-weight: 600; cursor: pointer;
  transition: background .2s;
}
.page-product .calculator .btn-green:hover { background: var(--oak-dark, #9c3c2a); }
.page-product .calculator .help-block {
  width: 100%; font-size: 12px; color: var(--muted); margin-top: 6px;
}
.page-product .calculator #calculator-result {
  margin-top: 12px; padding-top: 12px;
  border-top: 1px dashed var(--line);
  font-size: 14px; color: var(--ink); line-height: 1.6;
}
.page-product .calculator #calculator-result b {
  font-family: var(--serif); font-size: 17px; color: var(--espresso);
}

/* ── Add to cart ──────────────────────────────────────────── */
.page-product .product-add-to-cart {
  margin-bottom: 20px;
}
.page-product .product-add-to-cart .control-label {
  font-size: 13px; font-weight: 700; color: var(--espresso);
  margin-bottom: 8px; display: block; font-family: var(--sans);
}
.page-product .product-quantity {
  display: flex !important; align-items: stretch !important; gap: 0px !important;
  flex-wrap: wrap;
  border: none !important; border-left: none !important;
  padding: 0 !important; margin: 0 !important;
  box-shadow: none !important; width: 100% !important;
}
.page-product .product-quantity .qty {
  display: flex !important; border: 1.5px solid var(--line) !important; border-radius: 12px !important;
  background: #fff !important; overflow: hidden !important;
  min-height: auto !important; height: 50px;
  margin-right: 12px;
  align-items: stretch !important;
  box-shadow: none !important;
}
.page-product .bootstrap-touchspin {
  box-shadow: none !important;
  float: none !important;
  width: auto !important;
  display: flex !important;
}
.page-product .qty-btn {
  width: 44px; border: none; background: none; cursor: pointer;
  font-size: 20px; font-weight: 500; color: var(--espresso);
  display: flex; align-items: center; justify-content: center;
  transition: background .15s; flex: none;
  -webkit-user-select: none; user-select: none;
}
.page-product .qty-btn:hover { background: var(--parchment, #faf8f6); }
.page-product .qty-btn:active { background: var(--line); }
.page-product .qty-minus { border-right: 1px solid var(--line); }
.page-product .qty-plus { border-left: 1px solid var(--line); }
.page-product .product-quantity .qty .qty-input,
.page-product .product-quantity .qty input#quantity_wanted {
  width: 52px !important; min-width: 52px !important; text-align: center !important;
  border: none !important; background: none !important;
  font-size: 16px !important; font-weight: 600 !important;
  color: var(--espresso) !important; outline: none !important;
  -moz-appearance: textfield !important;
  height: 100% !important; padding: 0 !important;
  min-height: auto !important;
  display: block !important;
  line-height: 50px !important;
  flex: 0 0 52px !important;
}
.page-product .product-quantity .qty .qty-input::-webkit-inner-spin-button,
.page-product .product-quantity .qty .qty-input::-webkit-outer-spin-button {
  -webkit-appearance: none !important; margin: 0 !important; display: none !important;
}
/* Hide old bootstrap spin buttons */
.page-product .product-quantity .input-group-btn-vertical,
.page-product .product-quantity .bootstrap-touchspin-up,
.page-product .product-quantity .bootstrap-touchspin-down,
.page-product .product-quantity .input-group-btn {
  display: none !important;
}
.page-product .product-quantity .add {
  flex: 1;
}
.page-product .product-quantity .add-to-cart {
  width: 100%; height: 100%; min-height: 50px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--oak) !important; color: #fff !important;
  border: none; border-radius: 12px !important;
  font-size: 15px; font-weight: 700; cursor: pointer;
  transition: background .2s;
  padding: 12px 24px;
}
.page-product .product-quantity .add-to-cart:hover {
  background: var(--oak-dark, #9c3c2a) !important;
}
.page-product .product-quantity .add-to-cart i {
  font-size: 20px;
}
.page-product .product-minimal-quantity {
  font-size: 12.5px; color: var(--muted); margin-top: 8px;
}

/* ── USP / Trust strip ────────────────────────────────────── */
.pdp-usps {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
  border-top: 1px solid var(--line); padding-top: 22px; margin-top: 8px;
}
.pdp-usps .u {
  display: flex; gap: 10px; align-items: flex-start; font-size: 13px;
  font-family: var(--sans);
}
.pdp-usps .u svg { flex: none; color: var(--oak); margin-top: 1px; }
.pdp-usps .u b {
  display: block; font-size: 13.5px; color: var(--espresso);
  font-weight: 600; line-height: 1.3;
}
.pdp-usps .u span {
  display: block; color: var(--muted); font-size: 12.5px; margin-top: 1px;
}

/* ── Product tabs ─────────────────────────────────────────── */
.pdp-tabs-wrap {
  margin-top: 50px; border-top: 1px solid var(--line);
}
.pdp-tabs .tab-nav {
  display: flex; gap: 0; border-bottom: 2px solid var(--line);
}
.pdp-tabs .tab-nav button {
  background: none; border: none; border-bottom: 2px solid transparent;
  margin-bottom: -2px; padding: 16px 24px;
  font-family: var(--sans); font-size: 14.5px; font-weight: 600;
  color: var(--muted); cursor: pointer; transition: color .2s, border-color .2s;
  white-space: nowrap;
}
.pdp-tabs .tab-nav button:hover { color: var(--espresso); }
.pdp-tabs .tab-nav button.on {
  color: var(--espresso); border-bottom-color: var(--oak);
}
.pdp-tabs .tab-body {
  display: none; padding: 28px 0;
}
.pdp-tabs .tab-body.on { display: block; }
.pdp-tabs .tab-body p {
  font-size: 15px; color: var(--ink); line-height: 1.65; margin-bottom: 14px;
  max-width: 720px;
}
/* Description tab content */
.pdp-tabs .product-description {
  font-size: 15px; color: var(--ink); line-height: 1.7;
}
.pdp-tabs .product-description p { max-width: 720px; }
.pdp-tabs .product-description h2,
.pdp-tabs .product-description h3 {
  font-family: var(--serif); color: var(--espresso);
  margin: 24px 0 10px; font-size: 20px;
}
.pdp-tabs .product-description ul,
.pdp-tabs .product-description ol {
  padding-left: 20px; margin-bottom: 14px; max-width: 720px;
}
.pdp-tabs .product-description li {
  font-size: 15px; line-height: 1.65; margin-bottom: 6px; color: var(--ink);
}

/* ── Specs tab — details styling ───────────────────────── */
/* Hide manufacturer logo, reference, stock in tab — already shown above */
.pdp-tabs .product-manufacturer { display: none; }
.pdp-tabs .product-reference { display: none; }
.pdp-tabs .product-quantities { display: none; }
.pdp-tabs .product-out-of-stock { display: none; }
.pdp-tabs .product-availability-date { display: none; }
.pdp-tabs #product-details > .product-manufacturer { display: none; }
.pdp-tabs #product-details > .product-reference {
  font-family: var(--sans);
  font-size: 14px;
  padding: 8px 14px;
  margin: 0 0 4px;
}
.pdp-tabs #product-details > .product-reference .label {
  color: var(--muted);
  font-weight: 500;
  margin-right: 6px;
}

/* "Data sheet" heading */
.pdp-tabs .product-features .h6 { display: none; }

/* Data sheet grid */
.pdp-tabs .data-sheet {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  flex-wrap: nowrap !important;
  margin: 0;
  padding: 0;
}
.pdp-tabs .data-sheet dt,
.pdp-tabs .data-sheet dd,
.pdp-tabs .product-features > dl.data-sheet dt.name,
.pdp-tabs .data-sheet dd.value {
  padding: 8px 14px !important;
  font-size: 14px !important;
  line-height: 1.4;
  margin: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid var(--line);
  font-family: var(--sans);
  flex: none !important;
  min-height: auto !important;
}
.pdp-tabs .data-sheet dt {
  color: var(--muted); font-weight: 500;
  background: #fff;
}
.pdp-tabs .data-sheet dd {
  color: var(--espresso); font-weight: 600;
  background: #fff;
}
.pdp-tabs .data-sheet dt:nth-of-type(odd),
.pdp-tabs .data-sheet dd:nth-of-type(odd) {
  background: var(--parchment, #faf8f6);
}

/* Product features section */
.pdp-tabs .product-features {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.pdp-tabs .data-sheet dt:last-of-type,
.pdp-tabs .data-sheet dd:last-of-type {
  border-bottom: none;
}

/* ── Related products ─────────────────────────────────────── */
.pdp-related {
  margin-top: 50px; padding-top: 0;
}
.pdp-related h2 {
  font-family: var(--serif); font-size: 26px; font-weight: 600;
  color: var(--espresso); margin-bottom: 24px; position: relative;
  text-align: center;
}
.pdp-related h2::after {
  content: ""; display: block; width: 56px; height: 3px;
  background: var(--oak); border-radius: 2px; margin: 14px auto 0;
}
.pdp-related-grid {
  display: grid !important; grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
/* Mirror .page-catalog card styles for related products */
.pdp-related .product-miniature {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow 0.2s, transform 0.2s;
  display: flex;
  flex-direction: column;
}
.pdp-related .product-miniature:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,.10);
  transform: translateY(-2px);
}
.pdp-related .thumbnail-container {
  display: flex; flex-direction: column; flex: 1; cursor: pointer;
  background: #fff !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
  border: none !important;
  border-radius: 0 !important;
}
.pdp-related .cus_product_thumbnail { position: relative; }
.pdp-related .cus_product_thumbnail .product-thumbnail {
  display: block; aspect-ratio: 1 / 1; overflow: hidden;
  background: var(--parchment); padding: 0 !important;
  border-radius: 14px 14px 0 0;
}
.pdp-related .cus_product_thumbnail .product-thumbnail img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.pdp-related .product-miniature .product-description,
.pdp-related .product-miniature .highlighted-informations {
  position: static !important; width: auto !important; height: auto !important;
  background: transparent !important;
}
.pdp-related .product-desc {
  padding: 14px 16px 4px !important; min-height: auto !important;
  color: inherit !important; flex: 1;
}
.pdp-related .product-manufacturer {
  font-size: 10.5px !important; letter-spacing: .14em;
  text-transform: uppercase; color: var(--muted) !important; font-weight: 700;
  margin-bottom: 6px !important;
}
.pdp-related .product-name {
  font-family: var(--serif); font-size: 16px; color: var(--espresso);
  font-weight: 600; line-height: 1.3;
}
.pdp-related .product-name a { color: inherit; text-decoration: none; }
.pdp-related .product-name a:hover { color: var(--oak); }
.pdp-related .product-available-mess {
  padding: 6px 16px 0 !important; font-size: 12.5px;
  color: #4a7c59 !important; min-height: 24px; text-align: left;
  line-height: 1.4; display: flex; align-items: center; gap: 6px;
}
.pdp-related .product-price-row {
  padding: 10px 16px 16px !important; display: flex;
  align-items: flex-end; justify-content: space-between; gap: 8px;
  background: none !important; text-align: left !important;
  width: auto !important; margin-top: auto;
}
.pdp-related .product-price-row .price-col { display: flex; flex-direction: column; }
.pdp-related .product-price-row .old-price {
  font-size: 13px; color: var(--muted); text-decoration: line-through; margin-bottom: 2px;
}
.pdp-related .product-price-row .price {
  font-family: var(--serif); font-size: 18px; font-weight: 700; color: var(--espresso);
}
.pdp-related .product-price {
  padding: 10px 16px 16px !important; display: flex; align-items: baseline;
  gap: 8px; flex-wrap: wrap; background: none !important;
  text-align: left !important; width: auto !important; line-height: 1.3 !important;
}
.pdp-related .product-miniature:hover .product-price,
.pdp-related .product-miniature:hover .product-price-row { background: none !important; }
.pdp-related .product-price .price {
  font-family: var(--serif); font-size: 18px !important; font-weight: 700;
  color: var(--espresso) !important;
}
.pdp-related .product-price .old-price {
  font-size: 13px !important; color: var(--muted) !important;
  text-decoration: line-through; margin-left: 0 !important;
}

/* ── Reservation text ─────────────────────────────────────── */
.page-product .pb-right-column-inner { display: none; }

/* ── Hide old 3-col containers ────────────────────────────── */
.page-product .pb-left-column,
.page-product .pb-center-column,
.page-product .pb-right-column { display: contents; }
.page-product .cus-ad-clear { display: contents; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 991px) {
  .pdp-grid {
    grid-template-columns: 1fr; gap: 28px;
  }
  .pdp-gallery { position: static; }
  .pdp-related-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .pdp-usps { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 680px) {
  .page-product .wrap.pdp { padding: 0 16px 40px; }
  .pdp-name { font-size: 24px !important; }
  .page-product .product-price-set { font-size: 26px; }
  .page-product .product-unit-price-sub { font-size: 26px; }
  .pdp-tabs .tab-nav { overflow-x: auto; scrollbar-width: none; }
  .pdp-tabs .tab-nav::-webkit-scrollbar { display: none; }
  .pdp-tabs .tab-nav button { padding: 14px 16px; font-size: 13.5px; }
}

/* ==========================================================================
   Phase 3.6 — CART PAGE (Kurv)
   ========================================================================== */

/* Hide default layout breadcrumb on cart page */
#cart #wrapper .breadcrumb {
  display: none !important;
}
/* Custom cart breadcrumb */
.crumb {
  padding: 20px 0 12px;
  font-size: 13px;
  color: var(--muted);
  font-family: var(--sans);
}
.crumb .wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0;
}
.crumb a {
  color: var(--muted);
  text-decoration: none;
}
.crumb a:hover {
  color: var(--oak);
}
.crumb .sl {
  margin: 0 6px;
  color: var(--muted);
}
.crumb b {
  color: var(--espresso);
  font-weight: 600;
}

.cartpage .icon-sm {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.cartpage { padding: 10px 0 64px; }
.cartpage h1 { font-size: 34px; margin-bottom: 6px; }
.cartpage .sub { color: var(--muted); margin-bottom: 28px; }

/* Cart Grid Layout */
.cartpage .cart-grid {
  display: grid !important;
  grid-template-columns: 1fr 366px !important;
  gap: 30px !important;
  align-items: start !important;
  margin-bottom: 0 !important;
}

/* Cart Items Container */
.cartpage .cart-items {
  background: var(--cream) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) var(--radius) 0 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}

/* Individual Cart Item */
.cartpage .cart-item {
  display: grid !important;
  grid-template-columns: 104px 1fr auto !important;
  gap: 18px !important;
  padding: 20px !important;
  border-bottom: 1px solid var(--line) !important;
  align-items: center !important;
}
.cartpage .cart-item:last-child { border-bottom: none !important; }

.cart-item .img {
  width: 104px;
  height: 104px;
  border-radius: 11px;
  overflow: hidden;
  position: relative;
  border: 1px solid var(--line);
}
.cart-item .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Cart Item Info */
.ci-info .brand {
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--brown);
  font-weight: 700;
}
.ci-info .nm {
  font-family: var(--display);
  font-size: 17px;
  color: var(--espresso);
  margin: 4px 0 6px;
  font-weight: 600;
}
.ci-info .nm a {
  color: inherit;
  text-decoration: none;
}
.ci-info .nm a:hover {
  color: var(--oak);
}
.ci-info .at {
  font-size: 12.5px;
  color: var(--muted);
}
.ci-info .rm {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--muted);
  margin-top: 10px;
  text-decoration: none;
  transition: .18s ease;
}
.ci-info .rm:hover {
  color: var(--sale);
}

/* Cart Item Right: Quantity + Price */
.ci-right {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}

.cartpage .ci-right .qty {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0 !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: white !important;
}
.cartpage .ci-right .qty button {
  width: 34px !important;
  height: 34px !important;
  border: none !important;
  background: white !important;
  color: var(--ink) !important;
  font-size: 18px !important;
  cursor: pointer;
  transition: .18s ease;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: static !important;
  float: none !important;
}
.cartpage .ci-right .qty button:hover {
  background: var(--parchment) !important;
  color: var(--oak) !important;
}
.cartpage .ci-right .qty input {
  width: 50px !important;
  height: 34px !important;
  border: none !important;
  border-left: 1.5px solid var(--line) !important;
  border-right: 1.5px solid var(--line) !important;
  text-align: center !important;
  font-family: inherit;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: white !important;
  outline: none;
  -moz-appearance: textfield;
  float: none !important;
  position: static !important;
}
.cartpage .ci-right .qty input::-webkit-outer-spin-button,
.cartpage .ci-right .qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Override bootstrap-touchspin wrapper in cart */
.cartpage .ci-right .qty .bootstrap-touchspin {
  display: contents !important;
  box-shadow: none !important;
  float: none !important;
  width: auto !important;
}
.cartpage .ci-right .qty .input-group-addon,
.cartpage .ci-right .qty .input-group-btn-vertical,
.cartpage .ci-right .qty .bootstrap-touchspin-prefix,
.cartpage .ci-right .qty .bootstrap-touchspin-postfix {
  display: none !important;
}
.cartpage .ci-right .qty .js-cart-line-product-quantity-down {
  order: 1 !important;
}
.cartpage .ci-right .qty .js-cart-line-product-quantity {
  order: 2 !important;
  width: 50px !important;
  height: 34px !important;
  border: none !important;
  border-left: 1.5px solid var(--line) !important;
  border-right: 1.5px solid var(--line) !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: white !important;
  padding: 0 !important;
  -moz-appearance: textfield;
  float: none !important;
  display: block !important;
}
.cartpage .ci-right .qty .js-cart-line-product-quantity-up {
  order: 3 !important;
}

.ci-right .lp {
  font-size: 17px;
  font-weight: 700;
  color: var(--espresso);
  font-family: var(--display);
}

/* Cart Footer */
.cart-foot {
  padding: 18px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--parchment);
  border: 1px solid var(--line);
  border-top: none;
  border-radius: 0 0 var(--radius) var(--radius);
}
.cart-foot a {
  font-size: 14px;
  font-weight: 600;
  color: var(--oak);
  display: inline-flex;
  gap: 7px;
  align-items: center;
  text-decoration: none;
  transition: .18s ease;
  white-space: nowrap;
}
.cart-foot a:hover {
  color: var(--oak-dark);
}

/* Order Summary Sidebar */
.cartpage .summary {
  background: var(--cream) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  padding: 24px !important;
  position: sticky;
  top: 96px;
}
.summary h3 {
  font-size: 20px;
  margin-bottom: 18px;
  font-family: var(--display);
  color: var(--espresso);
}

/* Summary Rows */
.sumrow {
  display: flex;
  justify-content: space-between;
  font-size: 14.5px;
  color: var(--ink);
  padding: 9px 0;
}
.sumrow.muted {
  color: var(--muted);
}
.sumrow.total {
  border-top: 1px solid var(--line);
  margin-top: 8px;
  padding-top: 16px;
  font-size: 16px;
}
.sumrow.total b {
  font-family: var(--display);
  font-size: 26px;
  color: var(--espresso);
}

/* Promo Code Input */
.promo-in {
  display: flex;
  gap: 8px;
  margin: 16px 0;
}
.promo-in input {
  flex: 1;
  border: 1.5px solid var(--line);
  border-radius: 10px;
  padding: 11px 13px;
  font-family: inherit;
  font-size: 14px;
  background: var(--parchment);
  outline: none;
  transition: .18s ease;
}
.promo-in input:focus {
  border-color: var(--oak);
  background: white;
}
.promo-in .btn {
  white-space: nowrap;
}

/* Checkout Button */
.cartpage .summary .btn-primary.btn-block.btn-lg,
.cartpage .cart-detailed-actions .btn-primary {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 16px 24px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: .18s ease;
  margin-top: 8px !important;
  height: auto !important;
  line-height: 1.4 !important;
}
.cartpage .summary .btn-primary:hover,
.cartpage .cart-detailed-actions .btn-primary:hover {
  background: var(--oak-dark, #6a3420) !important;
}
.cartpage .summary .btn-primary .icon-sm {
  width: 18px;
  height: 18px;
}

/* Trust Badges */
.sum-trust {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.sum-trust .st {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  color: var(--muted);
}
.sum-trust .st .icon-sm {
  color: var(--ok);
}

/* Hide empty columns / hooks on cart page */
#cart #left-column,
#cart #right-column {
  display: none !important;
}
#cart #content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
#cart #wrapper {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
#cart #wrapper .container,
#cart #wrapper .row-innerbox {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
#cart section#content {
  margin-bottom: 0 !important;
}
#cart .hook_before_body_closing_tag_trustpilot {
  padding: 20px 0 !important;
}
#cart .megamenu-overlay {
  display: none !important;
}
#cart main {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  min-height: auto !important;
}
body#cart {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body#cart > main ~ *:not(script):not(link):not(style) {
  display: none !important;
}
body#cart > main > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Mobile Responsive */
@media (max-width: 992px) {
  .cart-grid {
    grid-template-columns: 1fr;
  }
  .summary {
    position: static;
    margin-top: 30px;
  }
}

@media (max-width: 640px) {
  .cart-item {
    grid-template-columns: 74px 1fr;
    gap: 14px;
  }
  .cart-item .img {
    width: 74px;
    height: 74px;
  }
  .ci-right {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .cartpage h1 {
    font-size: 28px;
  }
  .cartpage .sub {
    font-size: 14px;
  }
}

/* ==========================================================================
   Phase 3.6 — CART PAGE FIXES (override PrestaShop defaults)
   ========================================================================== */

/* Force cart overview to use our custom layout */
.cart-overview.js-cart {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hide PrestaShop's default product-line-grid layout */
.cart-item .product-line-grid {
  display: none !important;
}

/* Ensure our cart-item grid displays properly */
.cart-items .cart-item {
  display: grid !important;
  grid-template-columns: 104px 1fr auto !important;
  gap: 18px !important;
  padding: 20px !important;
}

/* Fix quantity input - hide default TouchSpin wrapper if present */
.cart-item .bootstrap-touchspin {
  display: none !important;
}

/* ==========================================================================
   Phase 3.7 — CHECKOUT PAGE (Kassen) — One Page Checkout PS module
   ========================================================================== */

/* ── Layout ─────────────────────────────────────────────── */
body#checkout #wrapper {
  background: var(--parchment, #faf8f6) !important;
  padding-bottom: 0 !important;
}
body#checkout #wrapper .container {
  max-width: var(--maxw, 1260px) !important;
  padding: 0 24px !important;
}
body#checkout #content-wrapper {
  padding: 0 !important;
}
body#checkout section#content {
  margin-bottom: 0 !important;
}
/* ── OPC 2-column layout: forms left, order summary right ── */
body#checkout #onepagecheckoutps_contenedor > .row {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 28px !important;
  float: none !important;
  margin: 0 !important;
  align-items: flex-start !important;
}
/* All custom boxes: reset Bootstrap column widths */
body#checkout .opc_custombox_1,
body#checkout .opc_custombox_2,
body#checkout .opc_custombox_3,
body#checkout .opc_custombox_4,
body#checkout .opc_custombox_5 {
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}
/* Left column wrapper — takes remaining space */
body#checkout .opc-left-col {
  flex: 1 1 0% !important;
  min-width: 0 !important;
}
/* Right column wrapper — sticky sidebar */
body#checkout .opc-right-col {
  flex: 0 0 380px !important;
  width: 380px !important;
  position: sticky;
  top: 20px;
  align-self: flex-start;
}
/* Hide duplicate product list in order overview (raw text version) */
body#checkout #order-detail-content-custom {
  display: none !important;
}
body#checkout div#onepagecheckoutps_step_product {
  display: none !important;
}
/* Visually connect order overview + review into one card */
body#checkout .opc-right-col .opc_custombox_1 .opcBox {
  margin-bottom: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
body#checkout .opc-right-col .opc_custombox_5 {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-top: none !important;
  border-radius: 0 0 var(--radius, 14px) var(--radius, 14px) !important;
  overflow: hidden !important;
}

/* ── Checkout Steps (Accordion cards) ───────────────────── */
body#checkout section.checkout-step {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  box-shadow: none !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
  overflow: hidden;
}

body#checkout .checkout-step .step-title {
  text-transform: none !important;
  font-family: var(--serif) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  padding: 20px 24px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer;
  border-bottom: none;
}

body#checkout .checkout-step.-current .step-title {
  border-bottom: 1px solid var(--line) !important;
}

/* Step number circle */
body#checkout .checkout-step .step-number {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: var(--oak) !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  flex-shrink: 0;
  padding: 0 !important;
}

/* Completed step — checkmark */
body#checkout .checkout-step.-complete .step-number {
  background: #4a7c59 !important;
}
body#checkout .checkout-step .done {
  display: none !important;
}
body#checkout .checkout-step.-complete.-reachable .done {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: #4a7c59 !important;
  color: #fff !important;
  font-size: 18px !important;
  flex-shrink: 0;
}
body#checkout .checkout-step.-complete.-reachable .step-number {
  display: none !important;
}

/* Edit link */
body#checkout .step-edit {
  margin-left: auto !important;
  font-size: 13px !important;
  color: var(--oak) !important;
  font-family: var(--sans) !important;
  text-transform: none !important;
  font-weight: 600 !important;
  float: none !important;
}

/* Step content area */
body#checkout .checkout-step .content {
  padding: 24px !important;
}

/* ── Form fields ────────────────────────────────────────── */
body#checkout .form-group {
  margin-bottom: 16px !important;
}
body#checkout .form-group label,
body#checkout label.form-control-label {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin-bottom: 6px !important;
}
body#checkout .form-control,
body#checkout input[type="text"],
body#checkout input[type="email"],
body#checkout input[type="password"],
body#checkout input[type="tel"],
body#checkout select,
body#checkout textarea {
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  background: #fff !important;
  color: var(--ink) !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .18s ease;
  width: 100% !important;
  min-width: auto !important;
}
body#checkout .form-control:focus,
body#checkout input:focus,
body#checkout select:focus,
body#checkout textarea:focus {
  border-color: var(--oak) !important;
}

body#checkout select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 36px !important;
}

/* ── Buttons ────────────────────────────────────────────── */
body#checkout .btn-primary,
body#checkout .continue {
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 32px !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: background .18s ease;
  text-transform: none !important;
}
body#checkout .btn-primary:hover,
body#checkout .continue:hover {
  background: var(--oak-dark, #6a3420) !important;
}

/* ── Address cards ──────────────────────────────────────── */
body#checkout .address-selector {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
body#checkout .address-item {
  flex: 1 1 calc(50% - 6px) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  padding: 16px !important;
  background: #fff !important;
  cursor: pointer;
  transition: border-color .18s ease;
}
body#checkout .address-item.selected {
  border-color: var(--oak) !important;
  background: rgba(139,69,50,.04) !important;
}
body#checkout .address-alias {
  font-weight: 700 !important;
  font-family: var(--sans) !important;
  color: var(--espresso) !important;
}
body#checkout .address {
  font-size: 13.5px !important;
  color: var(--muted) !important;
  margin-left: 0 !important;
}

/* ── Delivery options ───────────────────────────────────── */
body#checkout .delivery-option {
  background: #fff !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  padding: 16px 18px !important;
  margin-bottom: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  transition: border-color .18s ease;
  cursor: pointer;
}
body#checkout .delivery-option:hover,
body#checkout .delivery-option.selected {
  border-color: var(--oak) !important;
}
body#checkout .delivery-option label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--espresso) !important;
  cursor: pointer;
}

/* Custom radio */
body#checkout .custom-radio {
  width: 20px !important;
  height: 20px !important;
  border: 2px solid var(--line) !important;
  border-radius: 50% !important;
  position: relative;
  flex-shrink: 0;
  background: #fff !important;
}
body#checkout .custom-radio input[type="radio"] {
  opacity: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
body#checkout .custom-radio input[type="radio"]:checked + span {
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: var(--oak) !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* ── Payment options ────────────────────────────────────── */
body#checkout .payment-options {
  margin: 0 !important;
}
body#checkout .payment-option {
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  padding: 16px 18px !important;
  margin-bottom: 10px !important;
  background: #fff !important;
  transition: border-color .18s ease;
}
body#checkout .payment-option label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--espresso) !important;
}

/* ── Custom checkbox ────────────────────────────────────── */
body#checkout .custom-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
body#checkout .custom-checkbox input[type="checkbox"] + span {
  width: 18px !important;
  height: 18px !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 4px !important;
  flex-shrink: 0;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
}
body#checkout #conditions-to-approve {
  padding: 16px 0 !important;
  font-size: 13px !important;
  color: var(--muted) !important;
}
body#checkout #conditions-to-approve a {
  color: var(--oak) !important;
}

/* ── Cart summary sidebar (checkout) ────────────────────── */
body#checkout #js-checkout-summary {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  box-shadow: none !important;
  padding: 0 !important;
  position: sticky;
  top: 96px;
  overflow: hidden;
}
body#checkout #js-checkout-summary .card-block {
  padding: 20px 24px !important;
}
body#checkout .cart-summary-products p {
  font-family: var(--serif) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin-bottom: 12px !important;
}
body#checkout .cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  padding: 6px 0 !important;
  font-size: 14px !important;
  font-family: var(--sans) !important;
}
body#checkout .cart-summary-line .label {
  color: var(--muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 0 !important;
}
body#checkout .cart-summary-line .value {
  color: var(--espresso) !important;
  font-weight: 600 !important;
  float: none !important;
}
body#checkout .cart-summary-totals {
  padding: 16px 24px !important;
  border-top: 1px solid var(--line) !important;
}
body#checkout .cart-summary-totals .cart-summary-line.-total {
  font-size: 16px !important;
}
body#checkout .cart-summary-totals .cart-summary-line.-total .value {
  font-family: var(--serif) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
}
body#checkout #js-checkout-summary .separator {
  margin: 0 !important;
  border-color: var(--line) !important;
}

/* Collapsible product list */
body#checkout .cart-summary-products a[data-toggle="collapse"] {
  color: var(--oak) !important;
  font-size: 13px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
body#checkout #cart-summary-product-list {
  margin-top: 12px !important;
}
body#checkout #cart-summary-product-list .media {
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--line) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
body#checkout #cart-summary-product-list img {
  width: 50px !important;
  height: 50px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  border: 1px solid var(--line) !important;
}

/* ── Voucher / promo in checkout ────────────────────────── */
body#checkout .block-promo .promo-code {
  background: transparent !important;
  padding: 16px 24px !important;
}
body#checkout .block-promo .promo-input {
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  width: 100% !important;
}
body#checkout .block-promo .promo-code .btn {
  border-radius: 999px !important;
}

/* ── Hide megamenu overlays on checkout too ──────────────── */
body#checkout .megamenu-overlay {
  display: none !important;
}

/* ── Alerts ──────────────────────────────────────────────── */
body#checkout .alert {
  border-radius: 10px !important;
  font-size: 14px !important;
  font-family: var(--sans) !important;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 992px) {
  body#checkout #js-checkout-summary {
    position: static;
  }
  body#checkout #main.opc_center_column {
    padding: 16px 12px !important;
  }
  body#checkout #onepagecheckoutps_contenedor > .row {
    flex-wrap: wrap !important;
  }
  body#checkout .opc-left-col,
  body#checkout .opc-right-col {
    flex: 0 0 100% !important;
    width: 100% !important;
    position: static !important;
  }
  body#checkout .opc-right-col .opc_custombox_1 .opcBox {
    border-radius: var(--radius, 14px) !important;
    margin-bottom: 20px !important;
  }
  body#checkout .opc-right-col .opc_custombox_5 .opcBox {
    border-radius: var(--radius, 14px) !important;
    border-top: 1px solid var(--line) !important;
  }
}

/* ==========================================================================
   Phase 3.7b — OPC Module specific overrides
   ========================================================================== */

/* ── OPC page wrapper ───────────────────────────────────── */
body#checkout #main.opc_center_column {
  max-width: var(--maxw, 1328px) !important;
  margin: 0 auto !important;
  padding: 32px 24px !important;
}

/* ── Page heading ───────────────────────────────────────── */
body#checkout #div_onepagecheckoutps_info h1 {
  font-family: var(--serif) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin-bottom: 4px !important;
}
body#checkout #div_onepagecheckoutps_info p {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--muted) !important;
}

/* ── OPC Box cards ──────────────────────────────────────── */
body#checkout .opcBox {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  box-shadow: none !important;
  margin-bottom: 20px !important;
  overflow: hidden;
}

/* ── Section titles ─────────────────────────────────────── */
body#checkout .onepagecheckoutps_title,
body#checkout .onepagecheckoutps_title.with_border,
body#checkout .opcBox .onepagecheckoutps_title {
  font-family: var(--serif) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  text-transform: none !important;
  padding: 18px 20px !important;
  margin: 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--line) !important;
  background: #fff !important;
}
body#checkout .onepagecheckoutps_title span {
  border-bottom: 3px solid var(--oak) !important;
  color: var(--espresso) !important;
}

/* ── OPC content areas ──────────────────────────────────── */
body#checkout .opcBox_content {
  padding: 20px !important;
}

/* ── OPC form fields ────────────────────────────────────── */
body#checkout #onepagecheckoutps .form-control,
body#checkout #onepagecheckoutps input[type="text"],
body#checkout #onepagecheckoutps input[type="email"],
body#checkout #onepagecheckoutps input[type="password"],
body#checkout #onepagecheckoutps input[type="tel"],
body#checkout #onepagecheckoutps select,
body#checkout #onepagecheckoutps textarea {
  background: var(--parchment, #f5f0eb) !important;
}
body#checkout #onepagecheckoutps .form-control:focus,
body#checkout #onepagecheckoutps input:focus,
body#checkout #onepagecheckoutps select:focus {
  background: #fff !important;
}

/* ── OPC Login button ───────────────────────────────────── */
body#checkout #opc_show_login {
  width: 100% !important;
}

/* ── Place order button ─────────────────────────────────── */
body#checkout #btn_place_order {
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 16px 40px !important;
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  cursor: pointer;
  transition: background .18s ease;
  text-transform: none !important;
}
body#checkout #btn_place_order:hover {
  background: var(--oak-dark, #6a3420) !important;
}

/* ── OPC Address card ───────────────────────────────────── */
body#checkout .card-custom {
  border: none !important;
  background: transparent !important;
}
body#checkout #panel_addresses_customer {
  border: none !important;
}

/* ── OPC Payment options ────────────────────────────────── */
body#checkout #payment_method_container {
  padding: 0 20px !important;
}
body#checkout #payment_method_container .module_payment_container {
  margin-bottom: 12px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
body#checkout #payment_method_container .payment-option {
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  padding: 16px 18px !important;
  background: #fff !important;
  transition: border-color .18s ease;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 14px !important;
  cursor: pointer;
}
body#checkout #payment_method_container .payment-option:hover {
  border-color: var(--oak) !important;
}
body#checkout #payment_method_container .payment-option.active,
body#checkout #payment_method_container .payment-option.selected,
body#checkout #payment_method_container .module_payment_container.active .payment-option,
body#checkout #payment_method_container .module_payment_container .payment-option {
  background: #fff !important;
}
body#checkout .additional-information,
body#checkout .js-additional-information,
body#checkout .definition-list {
  background: transparent !important;
}
/* Radio column */
body#checkout #payment_method_container .payment_input {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 3px 0 0 !important;
}
/* Content column */
body#checkout #payment_method_container .payment_content {
  flex: 1 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  font-family: var(--sans) !important;
}
body#checkout #payment_method_container .payment_content .payment_img {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 6px !important;
}
body#checkout #payment_method_container .payment_content .payment_img img {
  height: 24px !important;
  width: auto !important;
  object-fit: contain !important;
}
body#checkout #payment_method_container .payment_content > span {
  display: block !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  line-height: 1.3 !important;
  margin-bottom: 4px !important;
}
body#checkout #payment_method_container .payment_content > p {
  font-size: 13px !important;
  color: var(--muted) !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}
/* Hide duplicate payment forms */
body#checkout .js-payment-option-form {
  display: none !important;
}

/* ── Custom radio buttons (OPC) ─────────────────────────── */
body#checkout input[type="radio"].payment_radio,
body#checkout input[type="radio"].not_uniform {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  border: 2px solid var(--line) !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
}
body#checkout input[type="radio"].payment_radio:checked,
body#checkout input[type="radio"].not_uniform:checked {
  border-color: var(--oak) !important;
}
body#checkout input[type="radio"].payment_radio:checked::after,
body#checkout input[type="radio"].not_uniform:checked::after {
  content: "" !important;
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: var(--oak) !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* ── Custom checkboxes (OPC) ────────────────────────────── */
body#checkout input[type="checkbox"].not_uniform {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
}
body#checkout input[type="checkbox"].not_uniform:checked {
  background: var(--oak) !important;
  border-color: var(--oak) !important;
}
body#checkout input[type="checkbox"].not_uniform:checked::after {
  content: "✓" !important;
  display: block !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* ── Order review / right sidebar content ────────────────── */
body#checkout #order-detail-content {
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  padding: 0 !important;
}
/* Force top-level Bootstrap columns inside review to stack vertically */
body#checkout .opc-right-col #order-detail-content > .row {
  display: block !important;
  margin: 0 !important;
}
body#checkout .opc-right-col #order-detail-content > .row > [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  float: none !important;
  display: block !important;
}

/* ── Product row in review ─────────────────────────────── */
body#checkout .opc-right-col .custom_review_product_row {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  align-items: flex-start !important;
  border-bottom: 1px solid var(--line) !important;
  overflow: hidden !important;
  visibility: visible !important;
}
/* Reset Bootstrap negative margins on box5 row */
body#checkout .opc-right-col .opc_custombox_5 > .row {
  margin: 0 !important;
}
body#checkout .opc-right-col .opc_custombox_5 > .row > [class*="col-"] {
  padding: 0 !important;
}
body#checkout .opc-right-col .custom_review_product_row [class*="col-"] {
  display: block !important;
}
body#checkout .opc-right-col .custom_review_product_row .image_product {
  flex: 0 0 48px !important;
  width: 48px !important;
  max-width: 48px !important;
  padding: 0 !important;
}
body#checkout .opc-right-col .custom_review_product_row .image_product img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  border: 1px solid var(--line) !important;
}
body#checkout .opc-right-col .custom_review_product_row .cart_description {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}
body#checkout .opc-right-col .custom_review_product_row .s_title_block {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--espresso) !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
body#checkout .opc-right-col .custom_review_product_row .product_reference {
  font-size: 11px !important;
  color: var(--muted) !important;
  margin-top: 2px !important;
}
/* Hide unit price, qty, old price — show only total */
body#checkout .opc-right-col .custom_review_product_row .opc_design_price:not(.opc_design_price_total) {
  display: none !important;
}
body#checkout .opc-right-col .custom_review_product_row .opc_design_price_total {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  text-align: right !important;
}
body#checkout .opc-right-col .custom_review_product_row .opc_design_price_total .product-price {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  white-space: nowrap !important;
}
body#checkout .opc-right-col .custom_review_product_row .hidden-sm-up,
body#checkout .opc-right-col .custom_review_product_row .unit-price-cart {
  display: none !important;
}

/* ── Order message textarea ────────────────────────────── */
body#checkout .opc-right-col #div_leave_message {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--line) !important;
}
body#checkout #div_leave_message textarea {
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  font-family: var(--sans) !important;
  resize: vertical;
  min-height: 60px !important;
  background: var(--parchment, #f5f0eb) !important;
}
body#checkout #div_leave_message p {
  font-size: 11px !important;
  color: var(--muted) !important;
  margin: 6px 0 0 !important;
}

/* Hide the "Bemærk!" paragraph — redundant with the checkbox text */
body#checkout .opc-right-col #conditions-to-approve > div:first-child {
  display: none !important;
}

/* ── Totals rows ───────────────────────────────────────── */
body#checkout .opc-right-col .order_total_items {
  padding: 16px 20px 12px !important;
  border-top: 1px solid var(--line) !important;
}
body#checkout .opc-right-col .order_total_items .item_total.row {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 10px 0 !important;
  margin: 0 !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  border-bottom: 1px solid var(--line) !important;
}
body#checkout .opc-right-col .order_total_items .item_total.row:first-child {
  padding-top: 0 !important;
}
body#checkout .opc-right-col .order_total_items .item_total .col-xs-7 {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  text-align: left !important;
}
body#checkout .opc-right-col .order_total_items .item_total .col-xs-5 {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  text-align: right !important;
}
body#checkout .opc-right-col .order_total_items .item_total .col-xs-7 span {
  color: var(--muted) !important;
  font-weight: 400 !important;
  font-size: 14px !important;
}
body#checkout .opc-right-col .order_total_items .item_total .col-xs-5 .price {
  color: var(--espresso) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}
/* Grand total row */
body#checkout .opc-right-col .order_total_items .total_price:not(.hidden) {
  border-top: none !important;
  border-bottom: none !important;
  margin-top: 4px !important;
  padding-top: 14px !important;
  padding-bottom: 4px !important;
}
body#checkout .opc-right-col .order_total_items .total_price .col-xs-7 span {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
}
body#checkout .opc-right-col .order_total_items .total_price .col-xs-5 .price {
  font-family: var(--serif) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  font-style: italic !important;
  color: var(--espresso) !important;
}

/* ── Conditions / terms — moved above button ─────────── */
body#checkout .opc-right-col #conditions-to-approve {
  padding: 0 20px 14px !important;
  font-size: 12px !important;
  color: var(--muted) !important;
  font-family: var(--sans) !important;
  line-height: 1.5 !important;
}
body#checkout .opc-right-col #conditions-to-approve ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body#checkout .opc-right-col #conditions-to-approve li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
}
body#checkout .opc-right-col #conditions-to-approve a {
  color: var(--oak) !important;
}

/* ── Place order button ─────────────────────────────────── */
body#checkout #container_float_review {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 20px 20px !important;
  margin: 0 !important;
}

/* ── Datepicker styling ─────────────────────────────────── */
body#checkout .ui-datepicker {
  border: 1px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  overflow: hidden !important;
  font-family: var(--sans) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
  width: auto !important;
  min-width: 280px !important;
  padding: 0.5em 0.5em !important;
}
body#checkout .ui-datepicker-header {
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 14px) var(--radius, 14px) 0 0 !important;
  padding: 12px 14px !important;
}
body#checkout .ui-datepicker-title {
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}
body#checkout .ui-datepicker-prev,
body#checkout .ui-datepicker-next {
  top: 50% !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
}
body#checkout .ui-datepicker-prev span,
body#checkout .ui-datepicker-next span {
  filter: brightness(10) !important;
}
body#checkout .ui-datepicker table {
  margin: 0 !important;
}
body#checkout .ui-datepicker th {
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--muted) !important;
  padding: 8px 4px !important;
}
body#checkout .ui-datepicker td {
  padding: 2px !important;
}
body#checkout .ui-datepicker td a,
body#checkout .ui-datepicker td span {
  border-radius: 8px !important;
  text-align: center !important;
  padding: 6px 8px !important;
  display: block !important;
}
body#checkout .ui-datepicker td span.ui-state-default {
  color: #777 !important;
  background: transparent !important;
  border-color: transparent !important;
}
body#checkout .ui-datepicker td a:hover,
body#checkout .ui-datepicker td a.ui-state-active {
  background: var(--oak) !important;
  color: #fff !important;
}

/* ── OPC loading overlay ────────────────────────────────── */
body#checkout .loading_big {
  border-radius: var(--radius, 14px) !important;
}

/* ── OPC conditions/terms ───────────────────────────────── */
body#checkout .conditions-to-approve {
  font-size: 13px !important;
  color: var(--muted) !important;
  font-family: var(--sans) !important;
}
body#checkout .conditions-to-approve a {
  color: var(--oak) !important;
}

/* ── Hide megamenu overlays (OPC) ───────────────────────── */
body#checkout .megamenu-overlay {
  display: none !important;
}

/* Ensure our quantity controls are visible */
.ci-right .qty {
  display: flex !important;
  visibility: visible !important;
}

/* Hide old PrestaShop quantity controls (cart page only, not product page) */
.product-line-grid-right,
.product-line-actions,
.cartpage .input-group.bootstrap-touchspin,
body#checkout .input-group.bootstrap-touchspin {
  display: none !important;
}

/* Fix summary card styling */
.cart-summary.card {
  border: none !important;
  padding: 0 !important;
}

/* Override any card-block padding in summary */
.cart-summary .card-block {
  padding: 0 !important;
}

/* Ensure checkout button is full width */
.cart-detailed-actions {
  padding: 0 !important;
}

/* Fix icon sizing in trust badges */
.sum-trust .st svg {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
}

/* Ensure summary rows are visible */
.cart-detailed-totals .sumrow {
  display: flex !important;
}

/* Additional quantity control fixes */
.ci-right .qty button,
.ci-right .qty input {
  display: inline-flex !important;
  float: none !important;
  margin: 0 !important;
}

/* Ensure buttons stay inside qty wrapper */
.ci-right .qty .js-cart-line-product-quantity-down,
.ci-right .qty .js-cart-line-product-quantity-up {
  position: relative !important;
  order: initial !important;
}

/* Fix any PrestaShop positioning on quantity controls */
.cart-item .product-line-actions,
.cart-item .product-line-grid-right {
  position: absolute !important;
  left: -9999px !important;
  visibility: hidden !important;
}

/* Ensure remove button is visible */
.ci-info .rm {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Force our cart item structure */
.cart-items > .cart-item {
  display: grid !important;
  grid-template-columns: 104px 1fr auto !important;
}

/* ═══════════════════════════════════════════════════════
   Phase 3.7b — Order Confirmation Page
   ═══════════════════════════════════════════════════════ */

/* Page wrapper */
.page-order-confirmation,
#content-hook_order_confirmation,
#content-hook_payment_return,
#registration-form {
  font-family: var(--sans) !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: var(--radius, 14px) !important;
  background: #fff !important;
  margin-bottom: 24px !important;
}

/* ── Confirmation header card ─────────────────────────── */
#content-hook_order_confirmation {
  border: 1px solid var(--line) !important;
  padding: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
#content-hook_order_confirmation .card-block {
  padding: 32px 36px !important;
}
#content-hook_order_confirmation .card-title {
  font-family: var(--serif) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}
#content-hook_order_confirmation .card-title .material-icons.done {
  background: #4caf50 !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  font-size: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 0 !important;
}
#content-hook_order_confirmation p {
  font-size: 14px !important;
  color: var(--muted) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
/* OBS notice at top */
#content-hook_order_confirmation .orderConf-top-box {
  width: 100% !important;
  margin-bottom: 16px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  padding-left: 15px !important;
}
#content-hook_order_confirmation .orderConf-top-box > div {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
#content-hook_order_confirmation .orderConf-top-box .alert {
  background: #fef9ec !important;
  border: 1px solid #f0dca4 !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  font-size: 13.5px !important;
  color: var(--espresso) !important;
  font-family: var(--sans) !important;
}

/* ── Order items card ─────────────────────────────────── */
.page-order-confirmation {
  border: 1px solid var(--line) !important;
  padding: 0 !important;
}
.page-order-confirmation .card-block {
  padding: 0 !important;
}
.page-order-confirmation .card-block > .row {
  margin: 0 !important;
}
.page-order-confirmation #order-items {
  padding: 0 !important;
}
.page-order-confirmation #order-items .card-title {
  font-family: var(--serif) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  padding: 24px 28px 16px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}

/* Product rows */
.page-order-confirmation .order-line {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 16px 28px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}
.page-order-confirmation .order-line > [class*="col-"] {
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  flex: none !important;
}
.page-order-confirmation .order-line > .col-sm-2 {
  flex: 0 0 80px !important;
}
.page-order-confirmation .order-line > .col-sm-4 {
  flex: 1 1 0% !important;
  min-width: 0 !important;
}
.page-order-confirmation .order-line > .col-sm-6 {
  flex: 0 0 auto !important;
  text-align: right !important;
}
.page-order-confirmation .order-line .image img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid var(--line) !important;
}
.page-order-confirmation .order-line .details span {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--espresso) !important;
  line-height: 1.4 !important;
}
.page-order-confirmation .order-line .qty .row {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}
.page-order-confirmation .order-line .qty .row > [class*="col-"] {
  width: auto !important;
  flex: none !important;
  padding: 0 !important;
  float: none !important;
  font-size: 13.5px !important;
  color: var(--muted) !important;
}
.page-order-confirmation .order-line .qty .row > .bold,
.page-order-confirmation .order-line .qty .row > .col-xs-5:last-child {
  font-weight: 600 !important;
  color: var(--espresso) !important;
  font-size: 14px !important;
}

/* Totals table */
.page-order-confirmation .order-confirmation-table > hr {
  border: none !important;
  border-top: 1px solid var(--line) !important;
  margin: 0 !important;
}
.page-order-confirmation .order-confirmation-table > table {
  width: 100% !important;
  border-collapse: collapse !important;
  padding: 0 !important;
}
.page-order-confirmation .order-confirmation-table > table tr {
  border: none !important;
}
.page-order-confirmation .order-confirmation-table > table td {
  padding: 10px 28px !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--muted) !important;
  border: none !important;
}
.page-order-confirmation .order-confirmation-table > table td:last-child {
  text-align: right !important;
  color: var(--espresso) !important;
  font-weight: 600 !important;
}
.page-order-confirmation .order-confirmation-table > table tr.font-weight-bold {
  background: transparent !important;
}
.page-order-confirmation .order-confirmation-table > table tr.font-weight-bold td {
  padding: 14px 28px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
}
.page-order-confirmation .order-confirmation-table > table tr.font-weight-bold td:last-child {
  font-family: var(--serif) !important;
  font-size: 20px !important;
  font-style: italic !important;
}

/* Order details section */
.page-order-confirmation #order-details {
  padding: 20px 28px 24px !important;
  border-top: 1px solid var(--line) !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
}
.page-order-confirmation #order-details .card-title {
  font-family: var(--serif) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  border: none !important;
}
.page-order-confirmation #order-details ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.page-order-confirmation #order-details li {
  font-size: 13.5px !important;
  color: var(--muted) !important;
  padding: 3px 0 !important;
  line-height: 1.5 !important;
}
.page-order-confirmation #order-details em {
  color: var(--oak) !important;
  font-style: italic !important;
}

/* ── Payment return / hook cards ──────────────────────── */
#content-hook_payment_return {
  border: 1px solid var(--line) !important;
}
#content-hook_payment_return .card-block {
  padding: 24px 28px !important;
}
#content-hook_payment_return p {
  font-size: 14px !important;
  color: var(--muted) !important;
  line-height: 1.6 !important;
}

/* ── Guest registration form ──────────────────────────── */
#registration-form {
  border: 1px solid var(--line) !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}
#registration-form .card-block {
  padding: 28px 36px !important;
}
#registration-form h4 {
  font-family: var(--serif) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin-bottom: 20px !important;
}
#registration-form label {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  color: var(--muted) !important;
  font-weight: 500 !important;
}
#registration-form input.form-control {
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  font-family: var(--sans) !important;
  transition: border-color .2s !important;
}
#registration-form input.form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(163,94,59,.1) !important;
  outline: none !important;
}
#registration-form .input-group {
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  transition: border-color .2s !important;
}
#registration-form .input-group:focus-within {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(163,94,59,.1) !important;
}
#registration-form .input-group input.form-control {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#registration-form .input-group .input-group-btn {
  border: none !important;
}
#registration-form .input-group .input-group-btn button {
  background: var(--parchment, #faf8f6) !important;
  border: none !important;
  border-left: 1px solid var(--line) !important;
  border-radius: 0 !important;
  color: var(--muted) !important;
  font-size: 13px !important;
  font-family: var(--sans) !important;
  padding: 10px 14px !important;
  cursor: pointer !important;
  height: 100% !important;
}
#registration-form .input-group .input-group-btn button:hover {
  background: var(--line) !important;
}
#registration-form button[type="submit"],
#registration-form .btn-primary {
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 12px 32px !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#registration-form button[type="submit"]:hover,
#registration-form .btn-primary:hover {
  background: var(--espresso) !important;
}

/* ── Breadcrumb on confirmation page ──────────────────── */
.page-order-confirmation ~ .breadcrumb,
body#order-confirmation .breadcrumb {
  display: none !important;
}

/* ── Page wrapper for order confirmation ──────────────── */
body#order-confirmation #wrapper {
  background: var(--parchment, #faf8f6) !important;
  padding-top: 0 !important;
  padding-bottom: 60px !important;
  overflow: visible !important;
}
body#order-confirmation #wrapper .container {
  max-width: 1240px !important;
  padding: 0 24px !important;
}
body#order-confirmation #content-wrapper {
  padding-top: 32px !important;
  overflow: visible !important;
}
body#order-confirmation #left-column,
body#order-confirmation #right-column {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════
   CMS pages — breadcrumb + base styling
   ═══════════════════════════════════════════════════════ */
body.page-cms #wrapper .breadcrumb {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  display: block !important;
  overflow: visible !important;
  min-height: 0 !important;
  line-height: 1.6 !important;
  max-width: var(--maxw);
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 18px 24px !important;
}
body.page-cms #wrapper .breadcrumb ol {
  font-size: 13.5px;
  font-family: var(--sans);
  color: var(--muted);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
}
body.page-cms #wrapper .breadcrumb li {
  display: inline-flex !important;
  align-items: center;
  font-size: 13.5px;
  color: var(--muted);
}
body.page-cms #wrapper .breadcrumb a {
  color: var(--muted) !important;
  font-size: 13.5px;
  text-decoration: none !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  position: static !important;
}
body.page-cms #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
body.page-cms #wrapper .breadcrumb a:after {
  content: "/" !important;
  border: none !important;
  border-right: none !important;
  border-top: none !important;
  margin: 0 10px !important;
  color: var(--line) !important;
  transform: none !important;
  display: inline !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  text-indent: 0 !important;
  font-weight: 400;
}
body.page-cms #wrapper .breadcrumb li:last-child {
  font-weight: 700;
  color: var(--espresso);
}
body.page-cms #wrapper .breadcrumb li:last-child span {
  color: var(--espresso);
  font-weight: 700;
}

/* ── CMS page layout & content styling ────────────────── */
body.page-cms #wrapper {
  background: var(--parchment, #faf8f6) !important;
  margin-top: unset;
}
body.page-cms #wrapper > .container,
body.page-cms #wrapper .row-innerbox {
  max-width: var(--maxw, 1260px) !important;
  padding: 0 24px !important;
  margin: 0 auto !important;
}
body.page-cms #content-wrapper {
  padding: 0 !important;
}
body.page-cms #left-column {
  display: none !important;
}
body.page-cms #content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Page title */
body.page-cms .page-header h1,
body.page-cms h1.page-heading {
  font-family: var(--serif) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

/* Content card */
body.page-cms .page-content {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  box-shadow: none !important;
  padding: 40px 48px !important;
  margin-bottom: 40px !important;
}

/* CMS content base font */
body.page-cms .page-content,
body.page-cms .page-content .info-page-body-outer-s {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--ink, #3a3a3a) !important;
}

/* Typography inside CMS content */
body.page-cms .page-content h1 {
  font-family: var(--serif) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  margin: 0 0 24px !important;
  line-height: 1.3 !important;
}
body.page-cms .page-content b,
body.page-cms .page-content strong {
  font-family: var(--serif) !important;
  color: var(--espresso) !important;
}
body.page-cms .page-content h2 {
  font-family: var(--serif) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  margin: 32px 0 12px !important;
  line-height: 1.3 !important;
}
body.page-cms .page-content h3 {
  font-family: var(--serif) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin: 28px 0 10px !important;
  line-height: 1.3 !important;
}
body.page-cms .page-content h4,
body.page-cms .page-content h5 {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  margin: 24px 0 8px !important;
}
body.page-cms .page-content p {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--ink, #3a3a3a) !important;
  margin: 0 0 16px !important;
}
body.page-cms .page-content ul,
body.page-cms .page-content ol {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--ink, #3a3a3a) !important;
  padding-left: 24px !important;
  margin: 0 0 16px !important;
}
body.page-cms .page-content li {
  margin-bottom: 6px !important;
}
body.page-cms .page-content a {
  color: var(--oak) !important;
  text-decoration: underline !important;
}
body.page-cms .page-content a:hover {
  color: var(--espresso) !important;
}
body.page-cms .page-content img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 10px !important;
  margin: 16px 0 !important;
}
body.page-cms .page-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 16px 0 !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
}
body.page-cms .page-content table th,
body.page-cms .page-content table td {
  padding: 10px 14px !important;
  border: 1px solid var(--line) !important;
  text-align: left !important;
}
body.page-cms .page-content table th {
  background: var(--parchment, #faf8f6) !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
}
body.page-cms .page-content hr {
  border: none !important;
  border-top: 1px solid var(--line) !important;
  margin: 24px 0 !important;
}
body.page-cms .page-content blockquote {
  border-left: 3px solid var(--oak) !important;
  padding: 12px 20px !important;
  margin: 16px 0 !important;
  background: var(--parchment, #faf8f6) !important;
  border-radius: 0 10px 10px 0 !important;
  font-style: italic !important;
  color: var(--muted) !important;
}

/* ── Phase 4: Unified trust badges (product, cart, checkout) ────────────── */
.tgc-trust-badges {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
  padding: 14px 0 0;
  border-top: 1px solid var(--line, #eee);
}
.tgc-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--sans);
  font-size: 13px;
  color: var(--muted, #6b5e54);
  line-height: 1.4;
}
.tgc-trust-badges svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: var(--ok, #4a7c59);
}
/* Checkout context — slightly smaller */
body#checkout .tgc-trust-badges {
  padding: 10px 0 0;
}
body#checkout .tgc-trust-item {
  font-size: 12px;
}

/* ── Homepage: featured/newest products grid ───────────────────────────── */
.featured-block .products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 32px;
}
@media (max-width: 991px) {
  .featured-block .products {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .featured-block .products {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}
/* Reuse .page-catalog card styles for homepage featured products */
.featured-block .thumbnail-container {
  display: flex; flex-direction: column; flex: 1; cursor: pointer;
  background: #fff !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
}
.featured-block .cus_product_thumbnail { position: relative; }
.featured-block .cus_product_thumbnail .product-thumbnail {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--parchment);
  padding: 0 !important;
  border-radius: 14px 14px 0 0;
}
.featured-block .cus_product_thumbnail .product-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.featured-block .product-miniature .product-description,
.featured-block .product-miniature .highlighted-informations {
  position: static !important;
  width: auto !important;
  height: auto !important;
}
.featured-block .product-desc {
  padding: 14px 16px 4px !important;
  min-height: auto !important;
  color: inherit !important;
  flex: 1;
}
.featured-block .product-manufacturer {
  font-size: 10.5px !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted) !important;
  font-weight: 700;
  margin-bottom: 6px !important;
}
.featured-block .product-name {
  font-family: var(--serif);
  font-size: 16px;
  color: var(--espresso);
  font-weight: 600;
  line-height: 1.3;
}
.featured-block .product-name a {
  color: inherit;
  text-decoration: none;
}
.featured-block .product-name a:hover { color: var(--oak); }
.featured-block .product-available-mess {
  padding: 6px 16px 0 !important;
  font-size: 12.5px;
  color: #4a7c59 !important;
  min-height: 24px;
  text-align: left;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 6px;
}
.featured-block .product-price-row {
  padding: 10px 16px 16px !important;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  background: none !important;
  text-align: left !important;
  width: auto !important;
  margin-top: auto;
}
.featured-block .product-price-row .price-col {
  display: flex;
  flex-direction: column;
}
.featured-block .product-price-row .old-price {
  font-size: 13px;
  color: var(--muted);
  text-decoration: line-through;
  margin-bottom: 2px;
}
.featured-block .product-price-row .price {
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 700;
  color: var(--espresso);
}
.featured-block .product-price {
  padding: 10px 16px 16px !important;
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  background: none !important;
  text-align: left !important;
  width: auto !important;
  line-height: 1.3 !important;
}
.featured-block .product-miniature:hover .product-price,
.featured-block .product-miniature:hover .product-price-row { background: none !important; }
.featured-block .product-price .price {
  font-family: var(--serif);
  font-size: 18px !important;
  font-weight: 700;
  color: var(--espresso) !important;
}
.featured-block .product-price .old-price {
  font-size: 13px !important;
  color: var(--muted) !important;
  text-decoration: line-through;
  margin-left: 0 !important;
}
.featured-block .cus_main_variants { padding: 8px 16px 0; }

/* ── Trusted by section ────────────────────────────────────────────────── */
.trusted-by { text-align: center; }
section.trusted-by.block {
  padding: 62px 0 0;
}
.trusted-by .eyebrow { display: block; margin-bottom: 20px; }
.trusted-row {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px 48px;
}
.trusted-name {
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 600;
  color: #8a9098;
}
.trusted-name img { display: block; height: auto; width: 120px; object-fit: contain; }
@media (max-width: 767px) {
  .trusted-name { font-size: 24px; }
  .trusted-name img { width: 90px; }
  .trusted-row { gap: 16px 32px; }
}

/* ── Promo banners (homepage) ──────────────────────────────────────────── */
section.block.promo-block {
  padding: 0 0 62px 0;
}
.promo-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.promo-grid .promo-card {
  position: relative;
  display: block;
  border-radius: var(--radius-lg, 12px);
  overflow: hidden;
  background: var(--cream, #f8f5f0);
  text-decoration: none;
  color: inherit;
  transition: box-shadow .2s ease;
}
.promo-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,.10); }
.promo-card.no-link { pointer-events: none; }
.promo-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}
.promo-card-text {
  padding: 16px 20px;
}
.promo-card-text h3 {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 4px;
  color: var(--espresso, #2c2420);
}
.promo-card-text p {
  font-size: 14px;
  color: var(--warm-grey, #6b5e54);
  margin: 0;
}
@media (max-width: 767px) {
  .promo-grid { grid-template-columns: 1fr; }
  .promo-card img { height: 180px; }
}

/* ── CMS page banner ──────────────────────────────────────────────────── */
.tgc-cms-banner {
  position: relative;
  width: 100%;
  max-height: 300px;
  overflow: hidden;
  margin-bottom: 32px;
  border-radius: var(--radius-lg, 12px);
}
.tgc-cms-banner-img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
}
.tgc-cms-banner-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 32px;
  background: linear-gradient(transparent 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,.7) 100%);
  color: #fff;
}
.tgc-cms-banner-title {
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 600;
  margin: 0 0 4px;
  text-shadow: 0 1px 4px rgba(0,0,0,.5), 0 0 12px rgba(0,0,0,.3);
}
body.page-cms .page-content p.tgc-cms-banner-subtitle {
  font-size: 16px !important;
  margin: 0 !important;
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.5), 0 0 8px rgba(0,0,0,.25);
}
@media (max-width: 767px) {
  .tgc-cms-banner, .tgc-cms-banner-img { height: 200px; max-height: 200px; }
  .tgc-cms-banner-title { font-size: 24px; }
  .tgc-cms-banner-overlay { padding: 20px; }
}

/* ---- Portfolio / Gallery page (gallerique module) ----------------------- */
#module-gallerique-gallerylist #wrapper,
#module-gallerique-gallery #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#module-gallerique-gallerylist .page-content,
#module-gallerique-gallery .page-content {
  font-family: var(--sans);
  color: var(--espresso);
}
/* Top description area */
.gallery_list_des_top {
  margin-bottom: 32px;
}
.gallery_list_des_top .ApImage img {
  border-radius: var(--radius-lg, 12px);
  margin-bottom: 24px;
}
.gallery_list_des_top .block_content {
  font-family: var(--sans) !important;
  color: var(--espresso) !important;
}
.gallery_list_des_top .block_content h1,
.gallery_list_des_top .block_content h2,
.gallery_list_des_top .block_content h3 {
  font-family: var(--serif) !important;
  color: var(--espresso) !important;
  font-weight: 600 !important;
  margin-top: 24px !important;
}
.gallery_list_des_top .block_content p {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #4a5558 !important;
}
#module-gallerique-gallerylist .block_content ol,
#module-gallerique-gallerylist .block_content ul,
#module-gallerique-gallerylist .block_content li,
#module-gallerique-gallerylist .block_content p {
  font-family: var(--sans) !important;
  color: var(--ink) !important;
  line-height: 1.65 !important;
}
/* Gallery heading */
.page-heading-gallery {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin-bottom: 24px;
}
/* Gallery grid cards */
.gallery-row-grid {
  gap: 24px 0;
}
.gallery-row-grid .gallery-cover {
  border-radius: var(--radius-lg, 12px);
  overflow: hidden;
  margin-bottom: 16px;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
  transition: box-shadow .25s, transform .25s;
}
.gallery-row-grid .gallery-cover:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,.14);
  transform: translateY(-2px);
}
.gallery-row-grid .gallery-cover img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
.gallery-row-grid .gallery-cover .gallery-name {
  background: linear-gradient(transparent 30%, rgba(0,0,0,.55)) !important;
  transition: background .3s;
}
.gallery-row-grid .gallery-cover:hover .gallery-name {
  background: linear-gradient(transparent 30%, rgba(0,0,0,.25)) !important;
}
.gallery-row-grid .gallery-cover .gallery-name > span {
  font-family: var(--sans) !important;
  font-size: 15px;
  font-weight: 600;
  text-shadow: 0 1px 4px rgba(0,0,0,.4);
}
.gallery-row-grid h2,
.gallery-row-grid .gallery-name h2 {
  font-family: var(--sans) !important;
  color: #fff !important;
}
/* Breadcrumb — match category/CMS style */
#module-gallerique-gallerylist #wrapper .breadcrumb,
#module-gallerique-gallery #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#module-gallerique-gallerylist #wrapper .breadcrumb ol,
#module-gallerique-gallery #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}
#module-gallerique-gallerylist #wrapper .breadcrumb li,
#module-gallerique-gallery #wrapper .breadcrumb li {
  color: #999;
  font-size: 13px;
}
#module-gallerique-gallerylist #wrapper .breadcrumb a,
#module-gallerique-gallery #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#module-gallerique-gallerylist #wrapper .breadcrumb a:hover,
#module-gallerique-gallery #wrapper .breadcrumb a:hover {
  color: var(--oak) !important;
}
#module-gallerique-gallerylist #wrapper .breadcrumb a:after,
#module-gallerique-gallery #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#module-gallerique-gallerylist #wrapper .breadcrumb li:last-child,
#module-gallerique-gallery #wrapper .breadcrumb li:last-child {
  font-weight: 700;
  color: var(--espresso);
}
#module-gallerique-gallerylist #wrapper .breadcrumb li:last-child span,
#module-gallerique-gallery #wrapper .breadcrumb li:last-child span {
  color: var(--espresso);
  font-weight: 700;
}
/* Hide the row-innerbox border/box on this page */
#module-gallerique-gallerylist .row-innerbox,
#module-gallerique-gallery .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* ---- gformbuilderpro form styling --------------------------------------- */
/* Remove grey card/row background around form */
.gformbuilderpro_form .wrapper,
.gformbuilderpro_form .card,
.wrapper:has(.gformbuilderpro_form),
.card:has(.gformbuilderpro_form) {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}
.ApRow:has(.gformbuilderpro_form) {
  background: transparent !important;
}
#kontakt.ApRow {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
#kontakt .ApColumn {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Showrooms section on portfolio page */
.gallery_list_des_bottom h2,
.gallery_list_des_bottom h3,
#showrooms h2 {
  font-family: var(--serif) !important;
  color: var(--espresso) !important;
  font-weight: 600 !important;
}
.gallery_list_des_bottom p,
.gallery_list_des_bottom li {
  font-family: var(--sans) !important;
  color: var(--ink) !important;
}
#showrooms.ApRow {
  border-radius: var(--radius-lg, 12px) !important;
  overflow: hidden !important;
  margin: 0 !important;
}
#showrooms .ApImage img {
  border-radius: var(--radius, 8px) !important;
}
.gformbuilderpro_form {
  background: #fff !important;
  border-radius: var(--radius-lg, 12px) !important;
  padding: 32px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  border: 1px solid #e8e2da !important;
}
.gformbuilderpro_form label {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin-bottom: 6px !important;
}
.gformbuilderpro_form .form-control {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 10px 14px !important;
  background: #fff !important;
  color: var(--espresso) !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.gformbuilderpro_form .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
.gformbuilderpro_form select.form-control {
  appearance: auto !important;
}
.gformbuilderpro_form .form-group {
  margin-bottom: 20px !important;
}
.gformbuilderpro_form .gformbuilderpro_action button,
.gformbuilderpro_form button[type="submit"] {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 8px) !important;
  padding: 12px 32px !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
.gformbuilderpro_form .gformbuilderpro_action button:hover,
.gformbuilderpro_form button[type="submit"]:hover {
  background: var(--oak-dark) !important;
}

/* ---- Referencer page (referencerinfo module) ---------------------------- */
#module-referencerinfo-referencer #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#module-referencerinfo-referencer .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb — same pattern as other pages */
#module-referencerinfo-referencer #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#module-referencerinfo-referencer #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}
#module-referencerinfo-referencer #wrapper .breadcrumb li {
  color: #999;
  font-size: 13px;
}
#module-referencerinfo-referencer #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#module-referencerinfo-referencer #wrapper .breadcrumb a:hover {
  color: var(--oak) !important;
}
#module-referencerinfo-referencer #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#module-referencerinfo-referencer #wrapper .breadcrumb li:last-child {
  font-weight: 700;
  color: var(--espresso);
}
#module-referencerinfo-referencer #wrapper .breadcrumb li:last-child span {
  color: var(--espresso);
  font-weight: 700;
}
/* Page heading */
#module-referencerinfo-referencer .flexTitle {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 32px;
  color: var(--espresso);
  margin-top: 24px;
  margin-bottom: 28px;
}
/* Reference cards grid */
#module-referencerinfo-referencer .row {
  gap: 24px 0;
}
.referencerinfoblock {
  margin-bottom: 8px !important;
}
.referencerinfoblock .referencer_image {
  border-radius: var(--radius-lg, 12px);
  overflow: hidden;
  transition: box-shadow .25s, transform .25s;
  padding-top: 0 !important;
  position: relative;
}
.referencerinfoblock:hover .referencer_image {
  transform: translateY(-2px);
}
.referencerinfoblock .referencer_image img {
  width: 100% !important;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block !important;
  position: static !important;
}
.referencerinfoblock .referencer_center {
  padding: 12px 4px 0;
}
.referencerinfoblock .referencer_title {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  color: var(--espresso);
  margin-bottom: 4px;
  padding-top: 0 !important;
  padding-bottom: 10px;
}
.referencerinfoblock .referencer_text {
  font-family: var(--sans);
  font-size: 14px;
  color: #6b7275;
  line-height: 1.5;
}
.referencerinfoblock .referencer_text p {
  margin: 0;
}

/* ---- Login / Authentication page ---------------------------------------- */
#authentication #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#authentication .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#authentication #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#authentication #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#authentication #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#authentication #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#authentication #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#authentication #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#authentication #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#authentication #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#authentication .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 8px;
}
/* Login / register card */
#authentication #content.card {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  max-width: 600px;
  margin: 24px auto 40px;
}
/* Form labels */
#authentication .form-control-label {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  text-align: left !important;
}
/* Form layout — stack labels above inputs */
#authentication .login-form .form-group.row,
#authentication section .form-group.row {
  display: block !important;
  margin-bottom: 20px !important;
}
#authentication .login-form .form-group .col-md-3,
#authentication .login-form .form-group .col-md-6,
#authentication section .form-group .col-md-3,
#authentication section .form-group .col-md-6 {
  max-width: 100% !important;
  width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}
#authentication .form-group .col-md-3.form-control-comment {
  display: none !important;
}
#authentication .form-control-label {
  display: block !important;
  margin-bottom: 6px !important;
}
/* Register form — also stack fields */
#authentication .register-form .form-group.row,
#authentication #customer-form .form-group.row {
  display: block !important;
  margin: 0 0 20px !important;
}
#authentication .register-form .form-group .col-md-3,
#authentication .register-form .form-group .col-md-6,
#authentication #customer-form .form-group .col-md-3,
#authentication #customer-form .form-group .col-md-6 {
  max-width: 100% !important;
  width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}
#authentication .register-form .form-group .col-md-3.form-control-comment,
#authentication #customer-form .form-group .col-md-3.form-control-comment {
  display: none !important;
}
/* "Already have an account" link */
#authentication .register-form > p {
  text-align: center;
  font-family: var(--sans);
  font-size: 14px;
  margin-bottom: 20px;
  border-bottom: 1px solid #e8e2da;
  padding-bottom: 20px;
}
#authentication .register-form > p a {
  color: var(--oak) !important;
  font-weight: 600;
  text-decoration: none;
}
#authentication .register-form > p a:hover {
  text-decoration: underline;
}
/* Inputs */
#authentication .form-control {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 10px 14px !important;
  background: #fff !important;
  color: var(--espresso) !important;
  transition: border-color .2s, box-shadow .2s !important;
}
#authentication .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
/* Password show/hide button */
#authentication .input-group-btn .btn {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  border: 1px solid #d5cfc7 !important;
  border-left: none !important;
  border-radius: 0 var(--radius, 8px) var(--radius, 8px) 0 !important;
  background: #f5f0eb !important;
  color: var(--espresso) !important;
  padding: 11.25px 14px !important;
}
#authentication .input-group .form-control {
  border-radius: var(--radius, 8px) 0 0 var(--radius, 8px) !important;
}
/* Forgot password link */
#authentication .forgot-password {
  text-align: center;
  margin: 16px 0 8px;
}
#authentication .forgot-password a {
  font-family: var(--sans);
  font-size: 14px;
  color: var(--oak) !important;
  text-decoration: none;
}
#authentication .forgot-password a:hover {
  text-decoration: underline;
}
/* Login button */
#authentication #submit-login,
#authentication .form-footer .btn-primary {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 8px) !important;
  padding: 12px 40px !important;
  width: 100% !important;
  display: block !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#authentication #submit-login:hover,
#authentication .form-footer .btn-primary:hover {
  background: var(--oak-dark) !important;
  color: #fff !important;
}
#authentication .form-footer {
  border: none !important;
  border-top: none !important;
  margin-top: 8px;
}
/* Footer section — "no account" link */
#authentication #content > hr {
  display: none !important;
}
#authentication .no-account,
#authentication .login-form .no-account {
  text-align: center;
  margin-top: 20px;
  font-family: var(--sans);
  font-size: 14px;
  border-top: 1px solid #e8e2da;
  padding-top: 20px;
}
#authentication .no-account a {
  color: var(--oak) !important;
  font-weight: 600;
  text-decoration: none;
}
#authentication .no-account a:hover {
  text-decoration: underline;
}

/* ---- Password recovery page --------------------------------------------- */
#password #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#password .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#password #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#password #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#password #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#password #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#password #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#password #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#password #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#password #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#password .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 8px;
}
/* Card */
#password #content.card {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  max-width: 600px;
  margin: 24px auto 40px;
}
/* Description text */
#password .send-renew-password-link {
  font-family: var(--sans);
  font-size: 15px;
  color: #5c696f;
  line-height: 1.6;
  margin-bottom: 24px;
  text-align: center;
}
/* Stack label above input */
#password .form-group.center-email-fields {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}
#password .form-group .col-md-3,
#password .form-group .col-md-5,
#password .form-group .email {
  max-width: 100% !important;
  width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}
#password .form-control-label {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  text-align: left !important;
  display: block !important;
  margin-bottom: 6px !important;
}
#password .form-control {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 10px 14px !important;
  background: #fff !important;
  color: var(--espresso) !important;
}
#password .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
/* Submit button */
#password .btn-primary {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 8px) !important;
  padding: 12px 40px !important;
  width: 100% !important;
  display: block !important;
  margin-top: 16px !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#password .btn-primary:hover {
  background: var(--oak-dark) !important;
  color: #fff !important;
}
#password .btn-primary.hidden-sm-up {
  display: none !important;
}

/* ---- My Account page ---------------------------------------------------- */
#my-account #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#my-account .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#my-account #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#my-account #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#my-account #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#my-account #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#my-account #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#my-account #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#my-account #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#my-account #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#my-account .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 16px;
}
/* Account link cards grid */
#my-account .page-content > .row {
  margin: 0 !important;
  padding: 0 !important;
}
#my-account .links {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 0 !important;
  margin: 0 0 32px !important;
}
#my-account .links a {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
  display: block !important;
}
#my-account .links a .link-item {
  height: 100%;
  box-sizing: border-box;
}
#my-account .links .link-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #fff;
  border: 1px solid #e8e2da;
  border-radius: var(--radius-lg, 12px);
  padding: 28px 20px;
  text-align: center;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--espresso);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  transition: border-color .2s, box-shadow .2s;
  min-height: 140px;
}
#my-account .links .link-item:hover {
  border-color: var(--oak);
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
#my-account .links .link-item i.material-icons {
  font-size: 36px;
  color: var(--espresso);
  padding-top: 1rem !important;
  padding-bottom: 3.4rem !important;
}
/* Sign out link */
#my-account .page-footer {
  text-align: center;
  margin-bottom: 40px;
}
#my-account .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
  transition: color .2s;
}
#my-account .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}
/* Mobile: 2 columns */
@media (max-width: 767px) {
  #my-account .links {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  #my-account .links .link-item {
    padding: 24px 16px;
    min-height: 120px;
  }
  #my-account .links .link-item i.material-icons {
    font-size: 30px;
  }
}

/* ---- E-mail notifikationer page ----------------------------------------- */
#module-ps_emailalerts-account #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#module-ps_emailalerts-account .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#module-ps_emailalerts-account #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#module-ps_emailalerts-account #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#module-ps_emailalerts-account #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#module-ps_emailalerts-account #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#module-ps_emailalerts-account #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#module-ps_emailalerts-account #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#module-ps_emailalerts-account #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#module-ps_emailalerts-account #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#module-ps_emailalerts-account .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 8px;
}
/* Card container */
#module-ps_emailalerts-account #content {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  max-width: 700px;
  margin: 24px auto 40px;
}
#module-ps_emailalerts-account #content h2 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 22px;
  color: var(--espresso);
  margin: 0 0 16px;
}
#module-ps_emailalerts-account #content p.warning {
  font-family: var(--sans);
  font-size: 15px;
  color: #5c696f;
  margin: 0;
}
/* Footer links back to account */
#module-ps_emailalerts-account .page-footer {
  text-align: center;
  margin-bottom: 40px;
}
#module-ps_emailalerts-account .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
}
#module-ps_emailalerts-account .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Identity / mine-oplysninger page ----------------------------------- */
#identity #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#identity .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#identity #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#identity #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#identity #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#identity #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#identity #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#identity #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#identity #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#identity #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Hide onepagecheckout boxes that aren't the personal info form */
#identity .opc_custombox_1,
#identity .opc_custombox_5 {
  display: none !important;
}
#identity .opc_custombox_4 {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#identity .opc_custombox_4 .opcBox {
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 20px 0 0 !important;
}
/* Make form box full width, centered */
#identity #onepagecheckoutps {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
#identity #onepagecheckoutps_contenedor {
  max-width: 600px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
}
#identity #onepagecheckoutps_contenedor > .row {
  display: block !important;
  margin: 0 !important;
}
#identity .opc_custombox_2,
#identity .opc_custombox_3 {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* OPC box styling */
#identity .opcBox {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  margin: 0 0 20px !important;
}
#identity .onepagecheckoutps_title {
  font-family: var(--serif) !important;
  font-weight: 600 !important;
  font-size: 22px !important;
  color: var(--espresso) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: none !important;
  text-transform: none !important;
}
#identity .onepagecheckoutps_title span {
  font-family: var(--serif) !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
}
/* Hide loading spinner */
#identity .loading_big { display: none !important; }
/* Form inputs */
#identity .opcBox_content label {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  display: block !important;
  margin-bottom: 6px !important;
}
#identity .opcBox_content input[type="text"],
#identity .opcBox_content input[type="email"],
#identity .opcBox_content input[type="password"],
#identity .opcBox_content input[type="tel"],
#identity .opcBox_content select,
#identity .form-control {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 10px 14px !important;
  background: #fff !important;
  color: var(--espresso) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#identity .opcBox_content input:focus,
#identity .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
/* Submit button */
#identity .opcBox_content input[type="submit"],
#identity .opcBox_content button[type="submit"],
#identity .form-control-submit,
#identity .btn-primary {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 8px) !important;
  padding: 12px 40px !important;
  width: 100% !important;
  display: block !important;
  margin-top: 12px !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#identity .opcBox_content input[type="submit"]:hover,
#identity .opcBox_content button[type="submit"]:hover,
#identity .form-control-submit:hover,
#identity .btn-primary:hover {
  background: var(--oak-dark) !important;
}
/* Footer links */
#identity .page-footer {
  text-align: center;
  margin-bottom: 40px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
#identity .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
}
#identity .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Addresses page ----------------------------------------------------- */
#addresses #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#addresses .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#addresses #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#addresses #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#addresses #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#addresses #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#addresses #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#addresses #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#addresses #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#addresses #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Hide irrelevant OPC boxes */
#addresses .opc_custombox_1,
#addresses .opc_custombox_3,
#addresses .opc_custombox_5 {
  display: none !important;
}
/* Center layout */
#addresses #onepagecheckoutps {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
#addresses #onepagecheckoutps_contenedor {
  max-width: 600px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
}
#addresses #onepagecheckoutps_contenedor > .row {
  display: block !important;
  margin: 0 !important;
}
#addresses .opc_custombox_2 {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#addresses .opc_custombox_4 {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#addresses .opc_custombox_4 .opcBox {
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 20px 0 0 !important;
}
/* Address card */
#addresses .opcBox {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  margin: 0 0 20px !important;
}
#addresses .onepagecheckoutps_title {
  font-family: var(--serif) !important;
  font-weight: 600 !important;
  font-size: 22px !important;
  color: var(--espresso) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: none !important;
  text-transform: none !important;
}
#addresses .onepagecheckoutps_title span {
  font-family: var(--serif) !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
}
#addresses .loading_big { display: none !important; }
/* Address section headings */
#addresses .opcBox_content h4,
#addresses .opcBox_content .h4 {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
}
/* Add address links */
#addresses .opcBox_content a {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--oak) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
#addresses .opcBox_content a:hover {
  text-decoration: underline !important;
}
/* Inputs */
#addresses .opcBox_content input[type="text"],
#addresses .opcBox_content input[type="email"],
#addresses .opcBox_content input[type="tel"],
#addresses .opcBox_content select,
#addresses .form-control {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 10px 14px !important;
  background: #fff !important;
  color: var(--espresso) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#addresses .opcBox_content input:focus,
#addresses .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
/* Buttons */
#addresses .btn-primary,
#addresses .opcBox_content input[type="submit"],
#addresses .opcBox_content button[type="submit"] {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 8px) !important;
  padding: 12px 40px !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#addresses .btn-primary:hover,
#addresses .opcBox_content input[type="submit"]:hover,
#addresses .opcBox_content button[type="submit"]:hover {
  background: var(--oak-dark) !important;
}
/* Alert banners on account pages */
#addresses .alert-warning,
#identity .alert-warning,
#my-account .alert-warning {
  max-width: var(--maxw) !important;
  margin: 16px auto !important;
  padding: 14px 20px !important;
  border-radius: var(--radius, 8px) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  background: #fef8f0 !important;
  border: 1px solid #e8d9c5 !important;
  color: var(--espresso) !important;
}
#addresses .alert-warning ul,
#identity .alert-warning ul,
#my-account .alert-warning ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#addresses .alert-warning a,
#identity .alert-warning a,
#my-account .alert-warning a {
  color: var(--oak) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}
/* Address section title - hide "dine oplysninger" heading on this page */
#addresses .opc_custombox_2 > .row > .col-xs-12 > .opcBox > .onepagecheckoutps_title {
  display: none !important;
}
/* Card group */
#addresses .card-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
/* Address card sections */
#addresses .card-custom {
  border: none !important;
  margin-bottom: 20px !important;
}
#addresses .card-header {
  background: transparent !important;
  border: none !important;
  padding: 0 0 8px !important;
}
#addresses .card-header .card-title {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 !important;
}
#addresses .card-header .card-title a {
  color: var(--espresso) !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: row-reverse !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: #f9f6f2 !important;
  padding: 12px 16px !important;
  border-radius: var(--radius, 8px) !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}
#addresses .card-header .card-title a:hover {
  background: #f0ebe4 !important;
}
#addresses .card-header .more-less {
  color: var(--espresso) !important;
  font-size: 14px !important;
}
/* Card body */
#addresses .card-body {
  padding: 12px 0 0 !important;
  border: none !important;
}
/* Add address link */
#addresses .card-custom > a,
#addresses #panel_addresses_customer > a,
#addresses .opcBox_content > .card-group ~ a,
#addresses a[href*="address"] {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--oak) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  display: inline-block !important;
  margin-top: 4px !important;
}
#addresses a[href*="address"]:hover {
  text-decoration: underline !important;
}
/* Form fields inside address form */
#addresses .fields_container label {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin-bottom: 4px !important;
}
#addresses .fields_container .form-control {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 10px 14px !important;
  background: #fff !important;
}
#addresses .fields_container .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
/* Footer links */
#addresses .page-footer {
  text-align: center;
  margin-bottom: 40px;
}
#addresses .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
}
#addresses .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Order history page ------------------------------------------------- */
#history #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#history .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#history #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#history #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#history #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#history #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#history #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#history #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#history #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#history #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#history .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 8px;
}
/* Card */
#history #content {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  max-width: 700px;
  margin: 24px auto 40px;
}
/* Alert inside card */
#history .alert-warning {
  background: #fef8f0 !important;
  border: 1px solid #e8d9c5 !important;
  border-radius: var(--radius, 8px) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--espresso) !important;
  padding: 14px 20px !important;
  margin-bottom: 16px !important;
}
#history .alert-warning ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Description text */
#history #content p,
#history #content .page-content p {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  color: #5c696f !important;
  line-height: 1.6 !important;
}
/* Order table (when orders exist) */
#history .table {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  width: 100% !important;
  border-collapse: collapse !important;
}
#history .table th {
  font-weight: 600 !important;
  color: var(--espresso) !important;
  border-bottom: 2px solid #e8e2da !important;
  padding: 10px 12px !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}
#history .table td {
  padding: 12px !important;
  border-bottom: 1px solid #f0ebe4 !important;
  color: var(--espresso) !important;
}
#history .table tr:hover td {
  background: #faf7f4 !important;
}
#history .table a {
  color: var(--oak) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
#history .table a:hover {
  text-decoration: underline !important;
}
/* Footer links */
#history .page-footer {
  text-align: center;
  margin-bottom: 40px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
#history .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
  margin: 0 12px;
}
#history .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Credit slips / kreditnota page ------------------------------------- */
#order-slip #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#order-slip .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#order-slip #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#order-slip #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#order-slip #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#order-slip #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#order-slip #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#order-slip #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#order-slip #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#order-slip #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#order-slip .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 8px;
}
/* Card */
#order-slip #content {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  max-width: 700px;
  margin: 24px auto 40px;
}
#order-slip .alert-warning {
  background: #fef8f0 !important;
  border: 1px solid #e8d9c5 !important;
  border-radius: var(--radius, 8px) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--espresso) !important;
  padding: 14px 20px !important;
  margin-bottom: 16px !important;
}
#order-slip .alert-warning ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#order-slip #content p {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  color: #5c696f !important;
  line-height: 1.6 !important;
}
/* Footer links */
#order-slip .page-footer {
  text-align: center;
  margin-bottom: 40px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
#order-slip .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
  margin: 0 12px;
}
#order-slip .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Discount / rabat page ---------------------------------------------- */
#discount #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#discount .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
#discount #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#discount #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#discount #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#discount #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#discount #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#discount #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#discount #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#discount #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
#discount .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 8px;
}
#discount #content {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  max-width: 700px;
  margin: 24px auto 40px;
}
#discount .alert-warning {
  background: #fef8f0 !important;
  border: 1px solid #e8d9c5 !important;
  border-radius: var(--radius, 8px) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--espresso) !important;
  padding: 14px 20px !important;
  margin-bottom: 16px !important;
}
#discount .alert-warning ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#discount .page-footer {
  text-align: center;
  margin-bottom: 40px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
#discount .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
  margin: 0 12px;
}
#discount .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Contact page ------------------------------------------------------- */
#contact #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#contact .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: 0 !important;
}
/* Breadcrumb */
#contact #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#contact #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#contact #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#contact #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#contact #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#contact #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#contact #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#contact #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Hero image */
#contact .cms_img_top {
  border-radius: var(--radius-lg, 12px) !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
  margin-top: 40px !important;
}
#contact #content.contact-card-block {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Remove duplicate */
/* Contact card block */
#contact .contact-card-block {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: transparent !important;
  max-width: 100% !important;
}
#contact #content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding: 0 !important;
}
/* Two-column layout: form + info */
#contact .info-page-body-outer {
  display: grid !important;
  grid-template-columns: 2fr 2fr;
  gap: 48px;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 32px 22px 40px;
  width: 100% !important;
}
@media (max-width: 991px) {
  #contact .info-page-body-outer {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }
}
/* Form section */
#contact .contact-form {
  margin: 0;
}
#contact .contact-form h3 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 24px;
  color: var(--espresso);
  margin: 0 0 20px;
  text-transform: uppercase;
}
/* Stack fields full width */
#contact .form-group.row {
  margin: 0 0 16px !important;
}
#contact .form-group .col-md-9,
#contact .form-group .col-md-3,
#contact .form-group .col-md-offset-3 {
  max-width: 100% !important;
  width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin-left: 0 !important;
}
/* Inputs */
#contact .form-control,
#contact select.form-control-select,
#contact .form-control-select {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 12px 14px !important;
  background: #fff !important;
  color: var(--espresso) !important;
  width: 100% !important;
  opacity: 1 !important;
  -webkit-appearance: none !important;
  height: auto !important;
  line-height: 1.4 !important;
  overflow: visible !important;
}
#contact select.form-control-select {
  height: auto !important;
  min-height: 46px !important;
}
#contact select.form-control-select option {
  color: var(--espresso) !important;
}
#contact .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
#contact textarea.form-control {
  min-height: 140px !important;
  resize: vertical !important;
}
/* Submit button */
#contact .form-footer {
  margin-top: 8px !important;
}
#contact .form-footer .btn-primary,
#contact input[type="submit"],
#contact button[type="submit"] {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 8px) !important;
  padding: 14px 48px !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#contact .form-footer .btn-primary:hover,
#contact input[type="submit"]:hover,
#contact button[type="submit"]:hover {
  background: var(--oak-dark) !important;
}
/* CMS info column */
#contact .cms-7-cus {
  padding-top: 0;
}
#contact .cms-7-cus .col-xs-12 {
  padding: 0 !important;
}
#contact .cms-7-cus h3 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 22px;
  color: var(--espresso);
  margin: 0 0 16px;
}
#contact .cms-7-cus p {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: #5c696f !important;
  line-height: 1.7 !important;
  margin-bottom: 12px !important;
}
#contact .cms-7-cus a {
  color: var(--oak) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
#contact .cms-7-cus a:hover {
  text-decoration: underline !important;
}
.contact_page_left_ {
  padding: 1rem;
}

/* ---- Sitemap / oversigt page -------------------------------------------- */
#sitemap #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#sitemap .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#sitemap #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#sitemap #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#sitemap #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#sitemap #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#sitemap #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#sitemap #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#sitemap #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#sitemap #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#sitemap .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 24px;
}
/* Sitemap columns grid */
#sitemap #content {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding: 0 0 48px;
}
@media (max-width: 991px) {
  #sitemap #content {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
@media (max-width: 575px) {
  #sitemap #content {
    grid-template-columns: 1fr;
  }
}
/* Section titles */
#sitemap .sitemap-title {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
  border-bottom: 2px solid var(--oak) !important;
}
/* Links */
#sitemap #content ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#sitemap #content li {
  margin-bottom: 8px !important;
}
#sitemap #content a {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: #5c696f !important;
  text-decoration: none !important;
  transition: color .2s !important;
}
#sitemap #content a:hover {
  color: var(--oak) !important;
}
/* Nested subcategory indentation */
#sitemap #content ul ul {
  padding-left: 16px !important;
  margin-top: 8px !important;
}
/* Footer */
#sitemap .page-footer {
  text-align: center;
  margin-bottom: 40px;
}
#sitemap .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
  margin: 0 12px;
}
#sitemap .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Search page breadcrumb --------------------------------------------- */
#search #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#search #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#search #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#search #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#search #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#search #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#search #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#search #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
#search .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
#search .cat-filters { display: none !important; }
#search .cat-layout { grid-template-columns: 1fr !important; }

/* ---- CMS page content: lists & font ------------------------------------- */
#cms .info-page-body ul,
#cms .info-page-body ol {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  color: var(--espresso) !important;
  line-height: 1.7 !important;
  padding-left: 24px !important;
  margin-bottom: 16px !important;
}
#cms .info-page-body ul {
  list-style: disc !important;
}
#cms .info-page-body ol {
  list-style: decimal !important;
}
#cms .info-page-body li {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  color: var(--espresso) !important;
  margin-bottom: 8px !important;
}
#cms .info-page-body p,
#cms .info-page-body div,
#cms .info-page-body span,
#cms .info-page-body li span,
#cms .info-page-body p span {
  font-family: var(--sans) !important;
  font-size: 15px !important;
}
#cms .info-page-body h2,
#cms .info-page-body h3,
#cms .info-page-body h4 {
  font-family: var(--serif) !important;
  color: var(--espresso) !important;
}

/* ==========================================================================
   Showroom CMS pages (12 listing, 27 Aulum, 28 Rungsted)
   Fix appagebuilder rows inside the CMS card wrapper
   ========================================================================== */

/* Remove tight card padding — let ApRows handle their own spacing */
body.page-cms .page-content.page-cms-12,
body.page-cms .page-content.page-cms-27,
body.page-cms .page-content.page-cms-28 {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.page-cms .page-content.page-cms-12 .info-page-body-outer-s,
body.page-cms .page-content.page-cms-27 .info-page-body-outer-s,
body.page-cms .page-content.page-cms-28 .info-page-body-outer-s {
  padding: 0 !important;
}
/* Override generic CMS img margin/radius for showroom pages */
body.page-cms .page-content.page-cms-12 img,
body.page-cms .page-content.page-cms-27 img,
body.page-cms .page-content.page-cms-28 img {
  margin: 0 !important;
}

/* Each ApRow section = white card */
.page-cms-12 #bokse.ApRow,
.page-cms-27 #bokse.ApRow,
.page-cms-28 #bokse.ApRow,
.page-cms-12 #boksen.ApRow,
.page-cms-12 #boks2.ApRow,
.page-cms-27 #boksen.ApRow,
.page-cms-28 #boksen.ApRow {
  background: #fff !important;
  border: 1px solid var(--line, #e8e2da) !important;
  border-radius: var(--radius, 14px) !important;
  padding: 32px !important;
  margin-bottom: 28px !important;
  overflow: hidden;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

/* Columns inside rows — proper flex */
.page-cms-12 #bokse .ApColumn,
.page-cms-12 #boks2 .ApColumn,
.page-cms-27 #bokse .ApColumn,
.page-cms-28 #bokse .ApColumn,
.page-cms-12 #boksen .ApColumn,
.page-cms-27 #boksen .ApColumn,
.page-cms-28 #boksen .ApColumn {
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
/* Restore Bootstrap xl column widths in flex context */
@media (min-width: 992px) {
  .page-cms-12 .ApRow .col-xl-3,
  .page-cms-27 .ApRow .col-xl-3,
  .page-cms-28 .ApRow .col-xl-3 { flex: 0 0 25% !important; max-width: 25% !important; }
  .page-cms-12 .ApRow .col-xl-4,
  .page-cms-27 .ApRow .col-xl-4,
  .page-cms-28 .ApRow .col-xl-4 { flex: 0 0 33.333% !important; max-width: 33.333% !important; }
  .page-cms-12 .ApRow .col-xl-6,
  .page-cms-27 .ApRow .col-xl-6,
  .page-cms-28 .ApRow .col-xl-6 { flex: 0 0 50% !important; max-width: 50% !important; }
  .page-cms-12 .ApRow .col-xl-8,
  .page-cms-27 .ApRow .col-xl-8,
  .page-cms-28 .ApRow .col-xl-8 { flex: 0 0 66.667% !important; max-width: 66.667% !important; }
  .page-cms-12 .ApRow .col-xl-12,
  .page-cms-27 .ApRow .col-xl-12,
  .page-cms-28 .ApRow .col-xl-12 { flex: 0 0 100% !important; max-width: 100% !important; }
}

/* Text column — nice spacing */
.page-cms-12 #bokse .ApColumn .ApHtml,
.page-cms-12 #boks2 .ApColumn .ApHtml,
.page-cms-27 #bokse .ApColumn .ApHtml,
.page-cms-28 #bokse .ApColumn .ApHtml,
.page-cms-27 #boksen .ApColumn .ApHtml,
.page-cms-28 #boksen .ApColumn .ApHtml {
  padding: 0 !important;
}
.page-cms-12 #bokse .ApColumn .ApHtml .block_content,
.page-cms-12 #boks2 .ApColumn .ApHtml .block_content,
.page-cms-27 #bokse .ApColumn .ApHtml .block_content,
.page-cms-28 #bokse .ApColumn .ApHtml .block_content,
.page-cms-27 #boksen .ApColumn .ApHtml .block_content,
.page-cms-28 #boksen .ApColumn .ApHtml .block_content {
  padding: 0 !important;
}

/* Hero / showroom images — flush inside their column */
.page-cms-12 .ApImage img,
.page-cms-27 .ApImage img,
.page-cms-28 .ApImage img {
  width: 100% !important;
  height: auto !important;
  border-radius: var(--radius, 12px) !important;
  margin: 0 !important;
  object-fit: cover !important;
}

/* Carousel / slider images */
.page-cms-12 .ApFullSlider,
.page-cms-27 .ApFullSlider,
.page-cms-28 .ApFullSlider {
  border-radius: var(--radius, 12px) !important;
  overflow: hidden !important;
}
.page-cms-12 .ApFullSlider img,
.page-cms-27 .ApFullSlider img,
.page-cms-28 .ApFullSlider img {
  border-radius: 0 !important;
  margin: 0 !important;
}

/* H1 inside showroom content */
.page-cms-12 .ApHtml h1,
.page-cms-27 .ApHtml h1,
.page-cms-28 .ApHtml h1 {
  font-family: var(--serif) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  margin: 0 0 16px !important;
  line-height: 1.25 !important;
}

/* H2 inside showroom content */
.page-cms-12 .ApHtml h2,
.page-cms-27 .ApHtml h2,
.page-cms-28 .ApHtml h2 {
  font-family: var(--serif) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  margin: 0 0 12px !important;
}

/* Paragraph / body text */
.page-cms-12 .ApHtml p,
.page-cms-27 .ApHtml p,
.page-cms-28 .ApHtml p {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--ink, #3a3a3a) !important;
}

/* Links (phone, email) */
.page-cms-12 .ApHtml a,
.page-cms-27 .ApHtml a,
.page-cms-28 .ApHtml a {
  color: var(--oak) !important;
  text-decoration: none !important;
  font-family: var(--sans) !important;
}
.page-cms-12 .ApHtml a:hover,
.page-cms-27 .ApHtml a:hover,
.page-cms-28 .ApHtml a:hover {
  text-decoration: underline !important;
}

/* "Find vej" and other ApButton buttons */
.page-cms-12 .ApButton .btn,
.page-cms-27 .ApButton .btn,
.page-cms-28 .ApButton .btn,
.page-cms-12 a > .btn.ApButton,
.page-cms-27 a > .btn.ApButton,
.page-cms-28 a > .btn.ApButton,
.page-cms-12 .ApButton.btn,
.page-cms-27 .ApButton.btn,
.page-cms-28 .ApButton.btn {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  padding: 12px 32px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .2s !important;
}
.page-cms-12 .ApButton .btn:hover,
.page-cms-27 .ApButton .btn:hover,
.page-cms-28 .ApButton .btn:hover,
.page-cms-12 .ApButton.btn:hover,
.page-cms-27 .ApButton.btn:hover,
.page-cms-28 .ApButton.btn:hover {
  background: var(--oak-dark) !important;
}

/* "Besøg også vores andet showroom" heading row — centered divider */
.page-cms-27 .ApRow:not(#bokse):not(#boksen) > .ApColumn > .ApHtml,
.page-cms-28 .ApRow:not(#bokse):not(#boksen) > .ApColumn > .ApHtml {
  text-align: center !important;
  padding: 24px 0 !important;
}
.page-cms-27 .ApRow:not(#bokse):not(#boksen) > .ApColumn > .ApHtml p,
.page-cms-28 .ApRow:not(#bokse):not(#boksen) > .ApColumn > .ApHtml p {
  font-family: var(--serif) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
}

/* Brand table inside showroom */
.page-cms-12 .ApHtml table,
.page-cms-27 .ApHtml table,
.page-cms-28 .ApHtml table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 12px 0 !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
}
.page-cms-12 .ApHtml table td,
.page-cms-27 .ApHtml table td,
.page-cms-28 .ApHtml table td {
  padding: 8px 12px !important;
  border: 1px solid var(--line, #e8e2da) !important;
  color: var(--ink) !important;
}

/* Google Maps iframe */
.page-cms-12 .ApRawHtml iframe,
.page-cms-27 .ApRawHtml iframe,
.page-cms-28 .ApRawHtml iframe {
  width: 100% !important;
  border-radius: var(--radius, 12px) !important;
  border: none !important;
  min-height: 400px;
}

/* Override the inline <style> that the page injects via ApRawHtml */
body.page-cms.cms-id-12 #wrapper,
body.page-cms.cms-id-27 #wrapper,
body.page-cms.cms-id-28 #wrapper,
.page-cms-12 + style,
.page-cms-27 + style,
.page-cms-28 + style {
  background: var(--parchment, #faf8f6) !important;
  margin-top: unset !important;
}
/* Hide the empty ApRawHtml row that only contains inline <style> */
.page-cms-12 .ApRow:has(> .ApColumn > .ApRawHtml style):not(#boksen),
.page-cms-27 .ApRow:has(> .ApColumn > .ApRawHtml style):not(#boksen),
.page-cms-28 .ApRow:has(> .ApColumn > .ApRawHtml style):not(#boksen) {
  display: none !important;
}

/* Cross-link showroom card — image + text side by side */
.page-cms-27 #billede-1 .ApImage a,
.page-cms-28 #billede-1 .ApImage a {
  text-decoration: none !important;
  display: block !important;
}
/* Hide duplicate text block inside image column (Aulum page has ApHtml inside #billede-1) */
.page-cms-27 #billede-1 > .ApHtml,
.page-cms-28 #billede-1 > .ApHtml {
  display: none !important;
}
.page-cms-27 #billede-2 .ApHtml,
.page-cms-28 #billede-2 .ApHtml {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100% !important;
}

/* ---- Responsive: showroom pages ---- */
@media (max-width: 991px) {
  .page-cms-12 #bokse.ApRow,
  .page-cms-12 #boks2.ApRow,
  .page-cms-27 #bokse.ApRow,
  .page-cms-28 #bokse.ApRow,
  .page-cms-12 #boksen.ApRow,
  .page-cms-27 #boksen.ApRow,
  .page-cms-28 #boksen.ApRow {
    padding: 24px !important;
  }
  .page-cms-12 #bokse .ApColumn,
  .page-cms-12 #boks2 .ApColumn,
  .page-cms-27 #bokse .ApColumn,
  .page-cms-28 #bokse .ApColumn,
  .page-cms-12 #boksen .ApColumn,
  .page-cms-27 #boksen .ApColumn,
  .page-cms-28 #boksen .ApColumn {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* On mobile, put image above text */
  .page-cms-12 #bokse .ApColumn#billeder,
  .page-cms-27 #bokse .ApColumn#billeder,
  .page-cms-28 #bokse .ApColumn#billeder {
    order: -1 !important;
    margin-bottom: 20px !important;
  }
  .page-cms-12 .ApRawHtml iframe,
  .page-cms-27 .ApRawHtml iframe,
  .page-cms-28 .ApRawHtml iframe {
    min-height: 300px;
  }
}
@media (max-width: 640px) {
  .page-cms-12 #bokse.ApRow,
  .page-cms-12 #boks2.ApRow,
  .page-cms-27 #bokse.ApRow,
  .page-cms-28 #bokse.ApRow,
  .page-cms-12 #boksen.ApRow,
  .page-cms-27 #boksen.ApRow,
  .page-cms-28 #boksen.ApRow {
    padding: 16px !important;
  }
  .page-cms-12 .ApHtml h1,
  .page-cms-27 .ApHtml h1,
  .page-cms-28 .ApHtml h1 {
    font-size: 24px !important;
  }
}
