/*
Theme Name: Blidensol Theme
Theme URI: https://www.blidensol.com
Author: Blidensol-Gruppen AS
Author URI: https://www.blidensol.com
Description: Lettvekts WordPress-tema optimalisert for Blidensol Suite og WPBakery.
Version: V1.0.0-fixed0143
Text Domain: blidensol-theme
Requires at least: 6.0
Requires PHP: 8.0
*/
:root{--bds-primary:#0f5f7a;--bds-secondary:#16324f;--bds-accent:#d79a2b;--bds-bg:#fff;--bds-surface:#f7f9fb;--bds-text:#1d2730;--bds-muted:#67737e;--bds-border:#dfe5ea;--bds-success:#198754;--bds-warning:#b26a00;--bds-danger:#b42318;--bds-button-bg:#fff;--bds-button-text:#111;--bds-button-border:#111;--bds-button-hover:#111;--bds-button-hover-text:#fff;--bds-button-hover-border:#111;--bds-header-bg:#fff;--bds-header-text:#1d2730;--bds-footer-bg:#16324f;--bds-footer-text:#fff;--bds-radius:10px;--bds-max:1280px;--bds-body-size:16px;--bds-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bds-bg);color:var(--bds-text);font-family:var(--bds-font);font-size:var(--bds-body-size);line-height:1.55;-webkit-font-smoothing:antialiased}body{--bds-adminbar-offset:0px}body.admin-bar{--bds-adminbar-offset:32px}a{color:var(--bds-primary);text-underline-offset:2px}a:hover{color:var(--bds-secondary)}img{max-width:100%;height:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bds-site{min-height:100vh;display:flex;flex-direction:column}.bds-header{display:contents}.bds-header-main{border-bottom:0}.bds-header-divider .bds-header-main{border-bottom:1px solid var(--bds-border)}.bds-sticky-header-top .bds-header-top{position:sticky;top:var(--bds-adminbar-offset);z-index:72}.bds-sticky-header-main .bds-header-main{position:sticky;top:var(--bds-adminbar-offset);z-index:71}.bds-sticky-header-top.bds-sticky-header-main.bds-header-top-visible .bds-header-main{top:calc(var(--bds-adminbar-offset) + var(--bds-header-top-height))}.bds-header-inner,.bds-footer-inner,.bds-main{width:min(calc(100% - 32px),var(--bds-max));margin-inline:auto}.bds-header-inner{min-height:72px;display:flex;align-items:center;gap:24px}.bds-brand-wrap{display:flex;align-items:center;min-width:0}.bds-brand{font-size:1.08rem;font-weight:800;text-decoration:none;color:var(--bds-header-text)}.bds-logo img{display:block;max-height:var(--bds-header-logo-height,81px);width:auto}.bds-nav{margin-left:auto}.bds-menu,.bds-footer-menu{display:flex;gap:18px;align-items:center;list-style:none;margin:0;padding:0}.bds-menu a{display:block;color:var(--bds-header-text);text-decoration:none;font-weight:600;padding:10px 0}.bds-menu a:hover,.bds-menu .current-menu-item>a{color:var(--bds-primary)}.bds-menu-toggle{display:none;margin-left:auto;border:1px solid var(--bds-border);background:var(--bds-surface);color:var(--bds-header-text);font:inherit;padding:8px 11px;border-radius:var(--bds-radius);cursor:pointer}.bds-main{flex:1;padding:var(--bds-main-top-gap,32px) 0 32px}.bds-page-header{margin-bottom:24px}.bds-page-title{margin:0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.15}.bds-page-title a{text-decoration:none;color:inherit}.bds-entry-content>:first-child{margin-top:0}.bds-entry-content>:last-child{margin-bottom:0}.bds-page-full{width:100%}.bds-footer{margin-top:auto;background:var(--bds-footer-bg);color:var(--bds-footer-text)}.bds-footer a{color:var(--bds-footer-link,inherit)}.bds-footer-inner{min-height:84px;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.bds-footer-menu{flex-wrap:wrap}.bds-card,.bdsuite-card,.card{background:var(--bds-bg);border:1px solid var(--bds-border);border-radius:var(--bds-radius);box-shadow:0 2px 10px rgb(0 0 0 / 4%)}button,.button,input[type=submit],input[type=button],.wp-element-button{border-radius:calc(var(--bds-radius) * .8);font:inherit}.bds-entry-content .button,.bds-entry-content button:not(.bds-menu-toggle),.bds-entry-content input[type=submit]{background:var(--bds-button-bg);color:var(--bds-button-text);border:1px solid var(--bds-button-border,#111);padding:.65em 1em;cursor:pointer}.bds-entry-content .button:hover,.bds-entry-content button:not(.bds-menu-toggle):hover,.bds-entry-content input[type=submit]:hover{background:var(--bds-button-hover);border-color:var(--bds-button-hover-border,#111);color:var(--bds-button-hover-text,#fff)}input,select,textarea{font:inherit;max-width:100%}input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=password],input[type=date],select,textarea{border:1px solid var(--bds-border);border-radius:calc(var(--bds-radius) * .7);background:var(--bds-bg);color:var(--bds-text);padding:.58em .7em}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--bds-primary) 35%,transparent);outline-offset:1px;border-color:var(--bds-primary)}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--bds-border);padding:.65em .7em;text-align:left}th{background:var(--bds-surface)}.vc_row,.wpb_content_element{max-width:100%}.vc_row[data-vc-full-width]{left:auto!important}.woocommerce .button,.woocommerce button.button,.woocommerce input.button{background:var(--bds-button-bg);color:var(--bds-button-text);border-color:var(--bds-button-border,#111)}.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--bds-button-hover);color:var(--bds-button-hover-text,#fff);border-color:var(--bds-button-hover-border,#111)}
@media(max-width:782px){body.admin-bar{--bds-adminbar-offset:46px}.bds-header-inner{min-height:64px;flex-wrap:wrap;padding:10px 0}.bds-menu-toggle{display:block}.bds-nav{display:none;width:100%;margin-left:0}.bds-nav.is-open{display:block}.bds-menu{align-items:stretch;flex-direction:column;gap:0;padding:4px 0 10px}.bds-menu a{padding:10px 0;border-top:1px solid var(--bds-border)}.bds-main{padding-top:var(--bds-main-top-gap,20px)}.bds-footer-inner{align-items:flex-start;flex-direction:column}.bds-footer-menu{flex-direction:column;align-items:flex-start;gap:8px}}
@media(max-width:480px){.bds-header-inner,.bds-footer-inner,.bds-main{width:min(calc(100% - 20px),var(--bds-max))}}

/* BD Builder */
.bds-builder-content{width:100%}.bds-builder-row{position:relative}.bds-builder-row-inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:24px}.bds-layout-boxed>.bds-builder-row-inner,.bds-layout-full_inner>.bds-builder-row-inner{width:min(calc(100% - 32px),var(--bds-max));margin-inline:auto}.bds-layout-wide>.bds-builder-row-inner{width:min(calc(100% - 32px),1600px);margin-inline:auto}.bds-layout-full,.bds-layout-fullscreen{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.bds-layout-full>.bds-builder-row-inner,.bds-layout-fullscreen>.bds-builder-row-inner{width:100%;padding-inline:0}.bds-layout-fullscreen{min-height:100vh;display:flex;align-items:center}.bds-layout-fullscreen>.bds-builder-row-inner{width:100%}.bds-pad-none{padding-block:0}.bds-pad-small{padding-block:20px}.bds-pad-medium{padding-block:40px}.bds-pad-large{padding-block:72px}.bds-pad-xlarge{padding-block:110px}.bds-builder-col{min-width:0;grid-column:span 12}.bds-col-1{grid-column:span 1}.bds-col-2{grid-column:span 2}.bds-col-3{grid-column:span 3}.bds-col-4{grid-column:span 4}.bds-col-5{grid-column:span 5}.bds-col-6{grid-column:span 6}.bds-col-7{grid-column:span 7}.bds-col-8{grid-column:span 8}.bds-col-9{grid-column:span 9}.bds-col-10{grid-column:span 10}.bds-col-11{grid-column:span 11}.bds-col-12{grid-column:span 12}.bds-builder-col-inner{height:100%;display:flex;flex-direction:column}.bds-valign-top .bds-builder-col-inner{justify-content:flex-start}.bds-valign-middle .bds-builder-col-inner{justify-content:center}.bds-valign-bottom .bds-builder-col-inner{justify-content:flex-end}.bds-builder-heading{margin-top:0}.bds-builder-text>:first-child,.bds-builder-hero-inner>:first-child{margin-top:0}.bds-builder-text>:last-child,.bds-builder-hero-inner>:last-child{margin-bottom:0}.bds-builder-image-wrap{margin:0}.bds-builder-image{display:block;width:100%;height:auto;border-radius:0}.bds-image-radius-none{border-radius:0}.bds-image-radius-small{border-radius:6px}.bds-image-radius-medium{border-radius:12px}.bds-image-radius-large{border-radius:24px}.bds-image-radius-round{border-radius:9999px;aspect-ratio:1/1;object-fit:cover}.bds-builder-button{display:inline-block;background:var(--bds-button-bg);color:var(--bds-button-text)!important;border:1px solid var(--bds-button-border,#111);text-decoration:none;padding:.72em 1.15em;border-radius:calc(var(--bds-radius) * .8);font-weight:700}.bds-builder-button:hover{background:var(--bds-button-hover);color:var(--bds-button-hover-text,#fff)!important;border-color:var(--bds-button-hover-border,#111)}.bds-spacer-small{height:16px}.bds-spacer-medium{height:32px}.bds-spacer-large{height:56px}.bds-spacer-xlarge{height:88px}.bds-builder-hero{border-radius:var(--bds-radius);background:var(--bds-surface);padding:clamp(32px,6vw,88px)}.bds-hero-radius-theme{border-radius:var(--bds-radius)}.bds-hero-radius-none{border-radius:0}.bds-hero-radius-small{border-radius:6px}.bds-hero-radius-medium{border-radius:12px}.bds-hero-radius-large{border-radius:24px}
.bds-builder-hero h1{font-size:clamp(2.2rem,6vw,5rem);line-height:1.02;max-width:14ch;margin:.15em 0 .35em}.bds-hero-eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--bds-primary)}.bds-hero-text{font-size:1.12em;max-width:62ch;margin-bottom:24px}.bds-builder-shortcode{max-width:100%}.bds-builder-active .bds-main{width:100%;max-width:none;padding-left:0;padding-right:0}.bds-builder-active .bds-page-header{width:min(calc(100% - 32px),var(--bds-max));margin-inline:auto}.bds-builder-active .bds-entry-content{width:100%}.bds-builder-page-standard{--bds-builder-page-max:var(--bds-max)}.bds-builder-page-wide{--bds-builder-page-max:1600px}.bds-builder-page-full{--bds-builder-page-max:none}.bds-builder-page-standard .bds-layout-boxed>.bds-builder-row-inner,.bds-builder-page-standard .bds-layout-full_inner>.bds-builder-row-inner,.bds-builder-page-wide .bds-layout-boxed>.bds-builder-row-inner,.bds-builder-page-wide .bds-layout-full_inner>.bds-builder-row-inner{width:min(calc(100% - 32px),var(--bds-builder-page-max));margin-inline:auto}.bds-builder-page-full .bds-layout-boxed>.bds-builder-row-inner,.bds-builder-page-full .bds-layout-full_inner>.bds-builder-row-inner{width:100%;padding-inline:32px;margin-inline:0}.bds-builder-page-wide .bds-page-header{width:min(calc(100% - 32px),1600px)}.bds-builder-page-full .bds-page-header{width:100%;padding-inline:32px}.bds-hide-desktop{display:none!important}@media(max-width:1024px){.bds-hide-desktop{display:block!important}.bds-hide-tablet{display:none!important}.bds-builder-row-inner{gap:18px}}@media(max-width:680px){.bds-hide-tablet{display:block!important}.bds-hide-mobile{display:none!important}.bds-layout-boxed>.bds-builder-row-inner,.bds-layout-wide>.bds-builder-row-inner,.bds-layout-full_inner>.bds-builder-row-inner{width:min(calc(100% - 20px),var(--bds-max))}.bds-layout-full>.bds-builder-row-inner,.bds-layout-fullscreen>.bds-builder-row-inner{padding-inline:0}.bds-builder-row-inner{grid-template-columns:1fr}.bds-builder-col{grid-column:1!important;width:100%;margin-bottom:20px}.bds-pad-medium{padding-block:28px}.bds-pad-large{padding-block:48px}.bds-pad-xlarge{padding-block:64px}.bds-builder-hero{padding:32px 22px}.bds-builder-hero h1{font-size:clamp(2rem,12vw,3.5rem)}}

/* BD Builder alignment */
.bds-align-left{text-align:left}.bds-align-center{text-align:center}.bds-align-right{text-align:right}
.bds-builder-hero-inner.bds-align-center h1,.bds-builder-hero-inner.bds-align-center .bds-hero-text{margin-left:auto;margin-right:auto}
.bds-builder-hero-inner.bds-align-right h1,.bds-builder-hero-inner.bds-align-right .bds-hero-text{margin-left:auto;margin-right:0}

/* BD Builder video */
.bds-builder-video-wrap{width:100%}.bds-builder-video{position:relative;width:100%;overflow:hidden;background:#000}.bds-builder-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.bds-video-ratio-16_9 .bds-builder-video{aspect-ratio:16/9}.bds-video-ratio-4_3 .bds-builder-video{aspect-ratio:4/3}.bds-video-ratio-9_16 .bds-builder-video{aspect-ratio:9/16;max-width:520px}.bds-video-ratio-9_16.bds-align-center .bds-builder-video{margin-inline:auto}.bds-video-ratio-9_16.bds-align-right .bds-builder-video{margin-left:auto}


/* BD Builder rich elements - fixed0017 */
.bds-builder-gallery{display:grid;gap:16px}.bds-builder-gallery figure{margin:0;overflow:hidden}.bds-builder-gallery img{display:block;width:100%;height:100%;object-fit:cover}.bds-gallery-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.bds-gallery-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.bds-gallery-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.bds-gallery-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.bds-gallery-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.bds-carousel{--bds-carousel-visible:1;position:relative;min-width:0}.bds-carousel-viewport{position:relative;overflow:hidden;isolation:isolate;scrollbar-width:none;-ms-overflow-style:none}.bds-carousel-viewport::-webkit-scrollbar{display:none}.bds-carousel-track{display:flex;gap:18px;will-change:auto}.bds-carousel-slide{flex:0 0 calc((100% - (var(--bds-carousel-visible) - 1)*18px)/var(--bds-carousel-visible));min-width:0}.bds-carousel-slide img{display:block;width:100%;height:auto}.bds-carousel-vertical .bds-carousel-track{flex-direction:column}.bds-carousel-vertical .bds-carousel-slide{flex-basis:auto}.bds-carousel.is-draggable .bds-carousel-viewport{cursor:grab}.bds-carousel.is-draggable .bds-carousel-viewport.is-dragging{cursor:grabbing;user-select:none}.bds-carousel-horizontal.is-draggable .bds-carousel-viewport,.bds-carousel:not(.bds-carousel-vertical).is-draggable .bds-carousel-viewport{touch-action:pan-y pinch-zoom}.bds-carousel-vertical.is-draggable .bds-carousel-viewport{touch-action:pan-x pinch-zoom}.bds-carousel.is-continuous .bds-carousel-track{transition:none}.bds-entry-content .bds-carousel button.bds-carousel-nav{all:unset!important;box-sizing:border-box!important;position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:8!important;width:46px!important;height:64px!important;display:grid!important;place-items:center!important;cursor:pointer!important;color:var(--bds-text)!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}.bds-entry-content .bds-carousel button.bds-carousel-prev{left:8px!important}.bds-entry-content .bds-carousel button.bds-carousel-next{right:8px!important}.bds-entry-content .bds-carousel button.bds-carousel-nav svg{display:block!important;width:34px!important;height:34px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;pointer-events:none!important;filter:drop-shadow(0 1px 2px rgb(255 255 255 / .65))}.bds-entry-content .bds-carousel button.bds-carousel-nav:hover{color:var(--bds-primary)!important}.bds-entry-content .bds-carousel button.bds-carousel-nav:focus-visible{outline:2px solid var(--bds-primary)!important;outline-offset:1px!important}.bds-carousel-dots{display:flex;align-items:center;justify-content:center;gap:8px;min-height:20px;margin-top:10px}.bds-entry-content .bds-carousel .bds-carousel-dots button{all:unset!important;box-sizing:border-box!important;width:9px!important;height:9px!important;display:block!important;cursor:pointer!important;border-radius:999px!important;background:var(--bds-border)!important}.bds-entry-content .bds-carousel .bds-carousel-dots button.is-active{background:var(--bds-primary)!important}.bds-entry-content .bds-carousel .bds-carousel-dots button:focus-visible{outline:2px solid var(--bds-primary)!important;outline-offset:2px!important}.bds-carousel-vertical button.bds-carousel-nav{left:50%!important;right:auto!important;top:auto!important;transform:translateX(-50%)!important;width:64px!important;height:46px!important}.bds-carousel-vertical button.bds-carousel-prev{top:8px!important}.bds-carousel-vertical button.bds-carousel-next{bottom:8px!important}.bds-carousel-vertical .bds-carousel-viewport button.bds-carousel-prev svg{transform:rotate(90deg)}.bds-carousel-vertical .bds-carousel-viewport button.bds-carousel-next svg{transform:rotate(90deg)}
.bds-testimonials-grid,.bds-dynamic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.bds-testimonials-grid.bds-testimonials-cols-1{grid-template-columns:minmax(0,1fr)!important}.bds-testimonials-grid.bds-testimonials-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bds-testimonials-grid.bds-testimonials-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.bds-testimonials-grid.bds-testimonials-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.bds-testimonials-grid[data-auto-visible="1"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--bds-testimonial-min-card-width,280px)),1fr))!important}.bds-testimonial-carousel[data-auto-visible="1"] .bds-carousel-slide{min-width:min(100%,var(--bds-testimonial-min-card-width,280px))}.bds-testimonial,.bds-dynamic-card,.bds-category-card,.bds-product-card{margin:0;padding:22px;border:1px solid var(--bds-border);background:var(--bds-surface);border-radius:var(--bds-radius)}.bds-testimonial p{font-size:1.08em;margin-top:0}.bds-testimonial-quote{font-style:italic}.bds-testimonial footer{display:grid;gap:2px}.bds-testimonial footer span{color:var(--bds-muted);font-size:.92em}.bds-testimonial-has-rating{display:grid;grid-template-columns:minmax(0,1fr) 124px;align-items:center;gap:24px}.bds-testimonial-content{min-width:0}.bds-testimonial-rating{width:124px;display:grid;justify-items:center;align-content:center;gap:9px;text-align:center}.bds-die{position:relative;display:block;width:96px;height:96px;background:linear-gradient(145deg,#fff 0%,#fafafa 55%,#e9e9e9 100%);border:1px solid #cfd4d8;border-radius:20px;box-shadow:0 12px 22px rgb(0 0 0 / 18%),inset 0 2px 2px rgb(255 255 255 / 95%),inset 0 -3px 8px rgb(0 0 0 / 7%);transform:rotate(7deg);transform-origin:center}.bds-pip{position:absolute;width:17px;height:17px;border-radius:50%;background:#111;box-shadow:inset 0 1px 1px rgb(255 255 255 / 20%);transform:translate(-50%,-50%)}.bds-pip-tl{left:27%;top:27%}.bds-pip-tr{left:73%;top:27%}.bds-pip-ml{left:27%;top:50%}.bds-pip-c{left:50%;top:50%}.bds-pip-mr{left:73%;top:50%}.bds-pip-bl{left:27%;top:73%}.bds-pip-br{left:73%;top:73%}.bds-rating-label{font-size:.8rem;font-weight:700;color:var(--bds-muted);white-space:nowrap}.bds-dynamic-card img,.bds-product-card img{width:100%;height:auto;display:block;margin-bottom:12px}.bds-dynamic-card h3,.bds-product-card h3{margin:.3em 0}.bds-category-card{display:flex;justify-content:space-between;gap:12px;text-decoration:none;color:inherit}.bds-category-card span{color:var(--bds-muted)}
.bds-tab-list{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--bds-border);margin-bottom:16px}.bds-tab-list button{border:0;border-bottom:3px solid transparent;background:transparent;color:inherit;padding:10px 14px;cursor:pointer;font-weight:700}.bds-tab-list button[aria-selected="true"]{border-bottom-color:var(--bds-primary);color:var(--bds-primary)}.bds-tab-panel{padding:4px 0}.bds-accordion details{border-bottom:1px solid var(--bds-border);padding:10px 0}.bds-accordion summary{cursor:pointer;font-weight:700;padding:8px 0}.bds-accordion details>div{padding:0 0 8px}.bds-product-card .price{font-weight:700;color:var(--bds-primary)}
@media(max-width:900px){.bds-dynamic-grid,.bds-testimonials-grid.bds-testimonials-cols-3,.bds-testimonials-grid.bds-testimonials-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bds-testimonials-grid.bds-testimonials-cols-1{grid-template-columns:1fr!important}.bds-testimonials-grid.bds-testimonials-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bds-gallery-cols-5,.bds-gallery-cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.bds-builder-gallery,.bds-testimonials-grid,.bds-dynamic-grid{grid-template-columns:1fr!important}.bds-testimonial-has-rating{grid-template-columns:minmax(0,1fr) auto;gap:14px}.bds-testimonial-rating{min-width:84px}.bds-die{width:72px;height:72px;border-radius:15px}.bds-pip{width:12px;height:12px}.bds-rating-label{font-size:.72rem}.bds-carousel{--bds-carousel-visible:1!important}.bds-carousel-slide{flex-basis:100%}.bds-tab-list{flex-direction:column}.bds-tab-list button{text-align:left;border-bottom:1px solid var(--bds-border);border-left:3px solid transparent}.bds-tab-list button[aria-selected="true"]{border-left-color:var(--bds-primary);border-bottom-color:var(--bds-border)}}

/* fixed0035: optional-link preview and Norwegian-character robustness */
.bds-builder-button-static{display:inline-block;cursor:default;text-decoration:none}

/* fixed0039: arrows live in dedicated gutters outside the slide viewport, never over an image. */
.bds-carousel:has(> .bds-carousel-nav){padding-inline:56px}
.bds-carousel > .bds-carousel-nav{position:absolute!important;pointer-events:auto!important;top:50%!important;transform:translateY(-50%)!important;z-index:9!important}
.bds-carousel > .bds-carousel-prev{left:4px!important}
.bds-carousel > .bds-carousel-next{right:4px!important}
.bds-carousel > .bds-carousel-dots{position:relative!important;z-index:9!important}
.bds-carousel-vertical:has(> .bds-carousel-nav){padding-inline:0;padding-block:56px}
.bds-carousel-vertical > .bds-carousel-nav{left:50%!important;right:auto!important;transform:translateX(-50%)!important;top:auto!important}
.bds-carousel-vertical > .bds-carousel-prev{top:4px!important}
.bds-carousel-vertical > .bds-carousel-next{bottom:4px!important}
@media(max-width:680px){.bds-carousel:has(> .bds-carousel-nav){padding-inline:40px}.bds-carousel-vertical:has(> .bds-carousel-nav){padding-inline:0;padding-block:40px}.bds-entry-content .bds-carousel button.bds-carousel-nav{width:36px!important;height:48px!important}.bds-entry-content .bds-carousel button.bds-carousel-nav svg{width:28px!important;height:28px!important}}

.bds-product-category-card{display:grid;gap:10px;text-decoration:none;color:inherit}.bds-product-category-image{display:block;overflow:hidden;border-radius:var(--bds-radius)}.bds-product-category-image img{display:block;width:100%;height:auto}.bds-product-category-meta{display:grid;gap:2px}.bds-product-category-meta>span{color:var(--bds-muted);font-size:.92em}


/* BD Builder WooCommerce elements */
.bds-wc-grid{display:grid;gap:20px}.bds-wc-cols-1{grid-template-columns:1fr}.bds-wc-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.bds-wc-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.bds-wc-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.bds-wc-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.bds-wc-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.bds-product-card{position:relative}.bds-product-badge{position:absolute;z-index:2;top:12px;left:12px;background:var(--bds-primary);color:#fff;border-radius:999px;padding:.3em .65em;font-size:.78rem;font-weight:700}.bds-product-card .add_to_cart_inline{border:0!important;padding:0!important;margin:.8em 0 0!important}.bds-selected-product-image img{display:block;max-width:100%;height:auto}.bds-selected-product-price{font-size:1.5rem;font-weight:700;color:var(--bds-primary)}.bds-product-stock{font-weight:700}.bds-product-reviews{display:grid;gap:14px}.bds-product-review{margin:0;padding:18px;border:1px solid var(--bds-border);border-radius:var(--bds-radius);background:var(--bds-surface)}.bds-product-review p{margin:.5em 0}.bds-review-stars{color:#b8860b;letter-spacing:.08em}.bds-product-search{display:flex;gap:10px;align-items:stretch}.bds-product-search input{flex:1;min-width:0}.bds-product-filter{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.bds-product-filter label{display:grid;gap:6px}.bds-mini-cart ul{margin:0;padding:0;list-style:none}.bds-mini-cart .mini_cart_item{padding:10px 0;border-bottom:1px solid var(--bds-border)}
@media(max-width:980px){.bds-wc-cols-5,.bds-wc-cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}.bds-product-filter{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.bds-wc-grid{grid-template-columns:1fr!important}.bds-product-search{flex-direction:column}.bds-product-filter{grid-template-columns:1fr}}


/* Globale layout- og typografivariabler – fixed0042 */
h1,h2,h3,h4,h5,h6,.bds-page-title,.bds-builder-heading,.bds-builder-hero h1{font-family:var(--bds-font-heading,inherit)}
.bds-menu,.bds-footer-menu,.bds-nav{font-family:var(--bds-font-menu,inherit)}
button,.button,.wp-element-button,input[type=submit],input[type=button],.bds-builder-button{font-family:var(--bds-font-button,inherit)}
.bds-builder-row + .bds-builder-row{margin-top:var(--bds-row-gap-desktop,48px)}
.bds-builder-row-inner{gap:var(--bds-col-gap-desktop,24px)}
.bds-builder-col-inner{gap:var(--bds-element-gap-desktop,18px);padding:var(--bds-col-padding-desktop,0)}
.bds-pad-medium{padding-block:var(--bds-row-padding-desktop,40px)}
.bds-pad-small{padding-block:calc(var(--bds-row-padding-desktop,40px) * .5)}
.bds-pad-large{padding-block:calc(var(--bds-row-padding-desktop,40px) * 1.8)}
.bds-pad-xlarge{padding-block:calc(var(--bds-row-padding-desktop,40px) * 2.75)}
.bds-builder-gallery{gap:var(--bds-media-gap-desktop,16px)}
.bds-carousel-track{gap:var(--bds-media-gap-desktop,16px)}
.bds-carousel-slide{flex-basis:calc((100% - (var(--bds-carousel-visible) - 1)*var(--bds-media-gap-desktop,16px))/var(--bds-carousel-visible))}
.bds-testimonials-grid,.bds-dynamic-grid,.bds-wc-grid{gap:var(--bds-element-gap-desktop,18px)}
@media(max-width:1024px){
  .bds-builder-row + .bds-builder-row{margin-top:var(--bds-row-gap-tablet,36px)}
  .bds-builder-row-inner{gap:var(--bds-col-gap-tablet,18px)}
  .bds-builder-col-inner{gap:var(--bds-element-gap-tablet,16px);padding:var(--bds-col-padding-tablet,0)}
  .bds-pad-medium{padding-block:var(--bds-row-padding-tablet,32px)}
  .bds-pad-small{padding-block:calc(var(--bds-row-padding-tablet,32px) * .5)}
  .bds-pad-large{padding-block:calc(var(--bds-row-padding-tablet,32px) * 1.8)}
  .bds-pad-xlarge{padding-block:calc(var(--bds-row-padding-tablet,32px) * 2.75)}
  .bds-builder-gallery{gap:var(--bds-media-gap-tablet,14px)}
  .bds-carousel-track{gap:var(--bds-media-gap-tablet,14px)}
  .bds-carousel-slide{flex-basis:calc((100% - (var(--bds-carousel-visible) - 1)*var(--bds-media-gap-tablet,14px))/var(--bds-carousel-visible))}
}
@media(max-width:680px){
  .bds-builder-row + .bds-builder-row{margin-top:var(--bds-row-gap-mobile,28px)}
  .bds-builder-row-inner{gap:var(--bds-col-gap-mobile,14px)}
  .bds-builder-col-inner{gap:var(--bds-element-gap-mobile,14px);padding:var(--bds-col-padding-mobile,0)}
  .bds-builder-col{margin-bottom:0}
  .bds-pad-medium{padding-block:var(--bds-row-padding-mobile,24px)}
  .bds-pad-small{padding-block:calc(var(--bds-row-padding-mobile,24px) * .5)}
  .bds-pad-large{padding-block:calc(var(--bds-row-padding-mobile,24px) * 1.8)}
  .bds-pad-xlarge{padding-block:calc(var(--bds-row-padding-mobile,24px) * 2.75)}
  .bds-builder-gallery{gap:var(--bds-media-gap-mobile,12px)}
  .bds-carousel-track{gap:var(--bds-media-gap-mobile,12px)}
  .bds-carousel-slide{flex-basis:100%}
}

/* fixed0046: carousel visible-count fallback independent of JavaScript timing/cache */
.bds-carousel[data-visible="1"]{--bds-carousel-visible:1}
.bds-carousel[data-visible="2"]{--bds-carousel-visible:2}
.bds-carousel[data-visible="3"]{--bds-carousel-visible:3}
.bds-carousel[data-visible="4"]{--bds-carousel-visible:4}
.bds-carousel[data-visible="5"]{--bds-carousel-visible:5}
.bds-carousel[data-visible="6"]{--bds-carousel-visible:6}
.bds-testimonial-carousel .bds-carousel-track{width:100%}
.bds-testimonial-carousel .bds-carousel-slide{flex:0 0 calc((100% - (var(--bds-carousel-visible) - 1)*18px)/var(--bds-carousel-visible));width:calc((100% - (var(--bds-carousel-visible) - 1)*18px)/var(--bds-carousel-visible));max-width:calc((100% - (var(--bds-carousel-visible) - 1)*18px)/var(--bds-carousel-visible))}
@media(max-width:900px){.bds-testimonial-carousel[data-visible="3"],.bds-testimonial-carousel[data-visible="4"],.bds-testimonial-carousel[data-visible="5"],.bds-testimonial-carousel[data-visible="6"]{--bds-carousel-visible:2}}
@media(max-width:680px){.bds-testimonial-carousel{--bds-carousel-visible:1!important}}


/* fixed0055: equal testimonial cards and aligned dice */
.bds-testimonials-grid{align-items:stretch}
.bds-testimonials-grid .bds-testimonial{height:100%;box-sizing:border-box}
.bds-testimonial{display:flex}
.bds-testimonial-has-rating{display:grid;grid-template-columns:minmax(0,1fr) 124px;align-items:stretch}
.bds-testimonial-content{min-width:0;display:flex;flex-direction:column}
.bds-testimonial-content footer{margin-top:auto}
.bds-testimonial-rating{align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center}
.bds-testimonial-carousel .bds-carousel-track{align-items:stretch}
.bds-testimonial-carousel .bds-carousel-slide{display:flex;align-items:stretch}
.bds-testimonial-carousel .bds-carousel-slide>.bds-testimonial{flex:1 1 auto;width:100%;height:100%}


/* fixed0059: testimonial signature always directly below quote with one line of spacing */
.bds-testimonial-quote{margin-bottom:0}
.bds-testimonial-content footer{margin-top:1em!important;padding-top:0!important}


/* fixed0060: vertically balance testimonial content so top/bottom whitespace matches */
.bds-testimonial-content{justify-content:center}
.bds-testimonial-content footer{margin-top:1em!important;padding-top:0!important}
.bds-testimonial-rating{justify-content:center}


/* fixed0061: image height/fill controls */
.bds-image-height-fill{width:100%;height:100%;min-height:0;flex:1 1 auto;overflow:hidden}
.bds-image-height-fill>a{display:block;width:100%;height:100%}
.bds-image-height-fill .bds-builder-image{width:100%;height:100%;max-width:none;object-fit:cover}
.bds-image-height-fixed{width:100%;overflow:hidden}
.bds-image-height-fixed>a{display:block;width:100%;height:100%}
.bds-image-height-fixed .bds-builder-image{width:100%;height:100%;max-width:none;object-fit:cover}
.bds-image-pos-x-left .bds-builder-image{object-position-x:left}
.bds-image-pos-x-center .bds-builder-image{object-position-x:center}
.bds-image-pos-x-right .bds-builder-image{object-position-x:right}
.bds-image-pos-y-top .bds-builder-image{object-position-y:top}
.bds-image-pos-y-center .bds-builder-image{object-position-y:center}
.bds-image-pos-y-bottom .bds-builder-image{object-position-y:bottom}


/* fixed0063: per-page visibility options */
body.bds-hide-breadcrumbs .breadcrumbs,
body.bds-hide-breadcrumbs .breadcrumb,
body.bds-hide-breadcrumbs .yoast-breadcrumb,
body.bds-hide-breadcrumbs .woocommerce-breadcrumb,
body.bds-hide-breadcrumbs nav[aria-label="Breadcrumb"],
body.bds-hide-breadcrumbs nav[aria-label="Brødsmuler"]{display:none!important}
body.bds-hide-footer .bds-footer{display:none!important}

/* fixed0065: customizable page title and native breadcrumbs */
.bds-page-chrome{margin-bottom:var(--bds-page-chrome-gap,24px)}
.bds-page-chrome .bds-page-header{margin:0 0 10px;text-align:var(--bds-page-title-align,left)}
.bds-page-chrome .bds-page-title{font-size:var(--bds-page-title-size,42px);line-height:1.12;margin:0}
.bds-breadcrumbs{margin:0 0 10px;font-size:var(--bds-breadcrumb-size,15px);color:var(--bds-muted);text-align:var(--bds-breadcrumb-align,left)}
.bds-breadcrumbs ol{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;list-style:none;margin:0;padding:0;text-align:left}
.bds-breadcrumbs li{display:flex;align-items:center;gap:7px}
.bds-breadcrumbs li:not(:last-child)::after{content:"/";color:var(--bds-border)}
.bds-breadcrumbs a{color:inherit;text-decoration:none}
.bds-breadcrumbs a:hover{text-decoration:underline}
.bds-breadcrumbs [aria-current="page"]{color:var(--bds-text)}


/* fixed0066: two-row header and widget-based footer */
.bds-header-top{background:var(--bds-header-top-bg);color:var(--bds-header-top-text);min-height:var(--bds-header-top-height);display:flex;align-items:center;font-size:.9rem}
.bds-header-top a{color:inherit}
.bds-header-top-inner{width:min(calc(100% - 32px),var(--bds-max));margin-inline:auto;min-height:var(--bds-header-top-height);display:flex;align-items:center;gap:18px}
.bds-header-top.bds-align-center .bds-header-top-inner{justify-content:center;text-align:center}
.bds-header-top.bds-align-right .bds-header-top-inner{justify-content:flex-end;text-align:right}
.bds-header-top .widget{margin:0}
.bds-header-top .widget p{margin:0}
.bds-topbar-placeholder{opacity:.72;font-size:.82rem}
.bds-header-main{background:var(--bds-header-bg);color:var(--bds-header-text)}
.bds-header-inner{min-height:var(--bds-header-main-height)}
.bds-footer{margin-top:auto}
.bds-footer-top-area{width:100%;border-bottom:0;background:var(--bds-footer-top-bg);color:var(--bds-footer-top-text)}
.bds-footer-top-area a{color:var(--bds-footer-top-link)}
.bds-footer-top-area a:hover{color:var(--bds-footer-top-link-hover)}
.bds-footer-top-area .bds-footer-widget-title{color:var(--bds-footer-top-title)}
.bds-footer-top-inner{width:min(calc(100% - 32px),var(--bds-max));margin-inline:auto;padding:calc(var(--bds-footer-padding) * .55) 0}
.bds-footer-main-shell{width:min(calc(100% - 32px),var(--bds-max));margin-inline:auto}.bds-footer-main-shell .bds-footer-inner{width:var(--bds-footer-group-width,100%);max-width:100%;margin-left:0;margin-right:auto}.bds-footer-main-shell .bds-footer-group-align-center{margin-left:auto;margin-right:auto}.bds-footer-main-shell .bds-footer-group-align-right{margin-left:auto;margin-right:0}.bds-footer-inner{display:grid;grid-template-columns:var(--bds-footer-grid-template,repeat(5,minmax(0,1fr)));gap:var(--bds-footer-gap);align-items:start;min-height:0;padding:var(--bds-footer-padding) 0;color:var(--bds-footer-text)}
.bds-footer-inner a{color:var(--bds-footer-link)}
.bds-footer-inner a:hover{color:var(--bds-footer-link-hover)}
.bds-footer-inner .bds-footer-widget-title{color:var(--bds-footer-title)}
.bds-footer-row{display:block;min-width:0;align-self:start}
.bds-footer-row+.bds-footer-row{margin-top:0}
.bds-footer-col{min-width:0}
.bds-footer-col-1,.bds-footer-col-2{display:block}
.bds-footer-align-center .bds-footer-col{text-align:center}
.bds-footer-align-right .bds-footer-col{text-align:right}
.bds-footer-widget{margin:0 0 18px}
.bds-footer-widget:last-child{margin-bottom:0}
.bds-footer-widget-title{margin:0 0 10px;color:inherit;font-size:1.05rem}
.bds-footer-widget ul{margin:0;padding-left:1.1em}
.bds-footer-widget p:first-child{margin-top:0}.bds-footer-widget p:last-child{margin-bottom:0}
.bds-credits{background:var(--bds-credits-bg);color:var(--bds-credits-text);font-size:var(--bds-credits-size);line-height:1.45}
.bds-credits-inner{width:min(calc(100% - 32px),var(--bds-max));margin-inline:auto;padding:12px 0}
.bds-credits-align-center .bds-credits-inner{text-align:center}
.bds-credits-align-right .bds-credits-inner{text-align:right}
body.bds-hide-footer .bds-footer{display:none!important}
@media(max-width:1100px){.bds-footer-count-4,.bds-footer-count-5{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:960px){.bds-footer-count-3,.bds-footer-count-4,.bds-footer-count-5{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:782px){.bds-header-top-inner,.bds-footer-top-inner{width:min(calc(100% - 24px),var(--bds-max))}.bds-header-inner{min-height:auto}.bds-footer-main-shell{width:min(calc(100% - 24px),var(--bds-max))}.bds-footer-main-shell .bds-footer-inner{width:100%}.bds-footer-inner{grid-template-columns:1fr!important;padding:calc(var(--bds-footer-padding) * .75) 0}.bds-credits-inner{width:min(calc(100% - 24px),var(--bds-max))}}

/* fixed0082: footer row groups 1-6 render as six columns across on desktop. */




/* fixed0097: footer columns always claim identical space, independent of content width.
   The active group can still be left/center/right aligned as a whole. */
.bds-footer-auto-columns{justify-items:stretch;align-items:start}
.bds-footer-auto-columns>.bds-footer-row{width:100%;min-width:0;max-width:none}
.bds-footer-auto-columns>.bds-footer-row>.bds-footer-col{width:100%;min-width:0;max-width:none}
.bds-footer-auto-columns>.bds-footer-row>.bds-footer-col>.bds-footer-widget{width:100%;min-width:0;max-width:none}


/* fixed0105: sidebars use a true three-column shell around the page content.
   The center column is the normal page/builder content. Left/right sidebars are
   separate rails outside that content column, but all three start on the same row.
   This prevents widgets from creating vertical space above the page content. */
.bds-content-layout{width:min(calc(100% - 32px),var(--bds-layout-shell-max,var(--bds-max)));margin-inline:auto;min-width:0;align-items:start}
.bds-content-layout-full{display:block;width:100%;max-width:none}
.bds-primary-content{grid-area:content;width:100%;min-width:0;margin:0}
.bds-sidebar{width:var(--bds-sidebar-width,300px);min-width:0;align-self:start;margin:0}
.bds-sidebar-left{grid-area:left}
.bds-sidebar-right{grid-area:right}
.bds-sidebar-widget{margin:0 0 24px;min-width:0}
.bds-sidebar-widget:last-child{margin-bottom:0}
.bds-sidebar-widget-title{margin:0 0 12px;font-size:1.05rem;color:inherit}
.bds-sidebar-widget ul{margin:0;padding-left:1.15em}
.bds-sidebar-widget p:first-child{margin-top:0}.bds-sidebar-widget p:last-child{margin-bottom:0}

/* One rail: the shell grows beyond the normal content width so the rail is
   outside the content area instead of consuming a column inside it. */
.bds-has-sidebar-left:not(.bds-has-sidebar-right) .bds-content-layout{
  --bds-layout-shell-max:calc(var(--bds-max) + var(--bds-sidebar-width,300px) + var(--bds-sidebar-gap,32px));
  display:grid;grid-template-columns:var(--bds-sidebar-width,300px) minmax(0,1fr);grid-template-areas:"left content";column-gap:var(--bds-sidebar-gap,32px)
}
.bds-has-sidebar-right:not(.bds-has-sidebar-left) .bds-content-layout{
  --bds-layout-shell-max:calc(var(--bds-max) + var(--bds-sidebar-width,300px) + var(--bds-sidebar-gap,32px));
  display:grid;grid-template-columns:minmax(0,1fr) var(--bds-sidebar-width,300px);grid-template-areas:"content right";column-gap:var(--bds-sidebar-gap,32px)
}
/* Two rails: left + content + right. The middle column gets the remaining
   viewport width and can never exceed the theme's normal max content width. */
.bds-has-dual-sidebars .bds-content-layout{
  --bds-layout-shell-max:calc(var(--bds-max) + (2 * var(--bds-sidebar-width,300px)) + (2 * var(--bds-sidebar-gap,32px)));
  display:grid;grid-template-columns:var(--bds-sidebar-width,300px) minmax(0,1fr) var(--bds-sidebar-width,300px);grid-template-areas:"left content right";column-gap:var(--bds-sidebar-gap,32px)
}
.bds-has-sidebar .bds-primary-content{max-width:var(--bds-max);justify-self:stretch}

/* A builder page is normally viewport-wide. With sidebars active, only the
   center content column owns builder rows, so full/fullscreen rows no longer
   overlap a rail and do not alter the vertical start position. */
.bds-builder-active.bds-has-sidebar .bds-content-layout{width:min(calc(100% - 32px),var(--bds-layout-shell-max));max-width:var(--bds-layout-shell-max)}
.bds-builder-active.bds-has-sidebar .bds-primary-content .bds-layout-full,
.bds-builder-active.bds-has-sidebar .bds-primary-content .bds-layout-fullscreen{width:100%;left:auto;right:auto;margin-left:0;margin-right:0}
.bds-builder-active.bds-has-sidebar .bds-primary-content .bds-layout-boxed>.bds-builder-row-inner,
.bds-builder-active.bds-has-sidebar .bds-primary-content .bds-layout-full_inner>.bds-builder-row-inner,
.bds-builder-active.bds-has-sidebar .bds-primary-content .bds-layout-wide>.bds-builder-row-inner{width:100%;max-width:100%;margin-inline:0}
.bds-builder-active.bds-has-sidebar .bds-primary-content .bds-layout-full>.bds-builder-row-inner,
.bds-builder-active.bds-has-sidebar .bds-primary-content .bds-layout-fullscreen>.bds-builder-row-inner{width:100%;max-width:100%}
.bds-builder-active.bds-has-sidebar .bds-primary-content .bds-page-header{width:100%;max-width:100%;padding-inline:0;margin-inline:0}

/* Responsive choices. "Below" converts the rail(s) back into normal flow;
   "hide" removes them; "side" keeps the same-row grid with narrower rails. */
@media(max-width:960px){
  .bds-sidebar-tablet-below .bds-content-layout,.bds-sidebar-tablet-hide .bds-content-layout{display:block;width:min(calc(100% - 32px),var(--bds-max));max-width:var(--bds-max)}
  .bds-sidebar-tablet-below .bds-primary-content,.bds-sidebar-tablet-hide .bds-primary-content{width:100%!important;max-width:none;margin:0!important}
  .bds-sidebar-tablet-below .bds-sidebar{display:block!important;width:100%!important;margin-top:32px;border-top:1px solid var(--bds-border);padding-top:24px}
  .bds-sidebar-tablet-hide .bds-sidebar{display:none!important}
  .bds-sidebar-tablet-side.bds-has-sidebar-left:not(.bds-has-sidebar-right) .bds-content-layout{grid-template-columns:min(var(--bds-sidebar-width,300px),34vw) minmax(0,1fr);column-gap:min(var(--bds-sidebar-gap,32px),18px)}
  .bds-sidebar-tablet-side.bds-has-sidebar-right:not(.bds-has-sidebar-left) .bds-content-layout{grid-template-columns:minmax(0,1fr) min(var(--bds-sidebar-width,300px),34vw);column-gap:min(var(--bds-sidebar-gap,32px),18px)}
  .bds-sidebar-tablet-side.bds-has-dual-sidebars .bds-content-layout{grid-template-columns:min(var(--bds-sidebar-width,300px),28vw) minmax(0,1fr) min(var(--bds-sidebar-width,300px),28vw);column-gap:min(var(--bds-sidebar-gap,32px),18px)}
  .bds-sidebar-tablet-side .bds-sidebar{width:100%}
}
@media(max-width:680px){
  .bds-sidebar-mobile-below .bds-content-layout,.bds-sidebar-mobile-hide .bds-content-layout{display:block;width:min(calc(100% - 20px),var(--bds-max));max-width:var(--bds-max)}
  .bds-sidebar-mobile-below .bds-primary-content,.bds-sidebar-mobile-hide .bds-primary-content{width:100%!important;max-width:none;margin:0!important}
  .bds-sidebar-mobile-below .bds-sidebar{display:block!important;width:100%!important;margin-top:28px;border-top:1px solid var(--bds-border);padding-top:24px}
  .bds-sidebar-mobile-hide .bds-sidebar{display:none!important}
  .bds-sidebar-mobile-side.bds-has-sidebar-left:not(.bds-has-sidebar-right) .bds-content-layout{display:grid;grid-template-columns:min(var(--bds-sidebar-width,300px),40vw) minmax(0,1fr);grid-template-areas:"left content";column-gap:min(var(--bds-sidebar-gap,32px),14px)}
  .bds-sidebar-mobile-side.bds-has-sidebar-right:not(.bds-has-sidebar-left) .bds-content-layout{display:grid;grid-template-columns:minmax(0,1fr) min(var(--bds-sidebar-width,300px),40vw);grid-template-areas:"content right";column-gap:min(var(--bds-sidebar-gap,32px),14px)}
  .bds-sidebar-mobile-side.bds-has-dual-sidebars .bds-content-layout{display:grid;grid-template-columns:min(var(--bds-sidebar-width,300px),28vw) minmax(0,1fr) min(var(--bds-sidebar-width,300px),28vw);grid-template-areas:"left content right";column-gap:min(var(--bds-sidebar-gap,32px),14px)}
  .bds-sidebar-mobile-side .bds-sidebar{display:block!important;width:100%!important}
}
\n\n/* fixed0106: advanced sidebar controls. Separate rail widths/gaps, optional sticky behavior,
   content-start locking and optional panel styling. Sticky remains constrained by the
   content shell, so it naturally releases before the footer. */
.bds-sidebar-primary{width:var(--bds-sidebar-primary-width,300px)}
.bds-sidebar-secondary{width:var(--bds-sidebar-secondary-width,300px)}
.bds-has-sidebar-left:not(.bds-has-sidebar-right) .bds-content-layout{
  --bds-layout-shell-max:calc(var(--bds-max) + var(--bds-sidebar-left-width,300px) + var(--bds-sidebar-left-gap,32px));
  grid-template-columns:var(--bds-sidebar-left-width,300px) minmax(0,1fr);column-gap:var(--bds-sidebar-left-gap,32px)
}
.bds-has-sidebar-right:not(.bds-has-sidebar-left) .bds-content-layout{
  --bds-layout-shell-max:calc(var(--bds-max) + var(--bds-sidebar-right-width,300px) + var(--bds-sidebar-right-gap,32px));
  grid-template-columns:minmax(0,1fr) var(--bds-sidebar-right-width,300px);column-gap:var(--bds-sidebar-right-gap,32px)
}
.bds-has-dual-sidebars .bds-content-layout{
  --bds-layout-shell-max:calc(var(--bds-max) + var(--bds-sidebar-left-width,300px) + var(--bds-sidebar-right-width,300px) + var(--bds-sidebar-left-gap,32px) + var(--bds-sidebar-right-gap,32px));
  grid-template-columns:var(--bds-sidebar-left-width,300px) minmax(0,1fr) var(--bds-sidebar-right-width,300px);
  column-gap:0
}
.bds-has-dual-sidebars .bds-sidebar-left{margin-right:var(--bds-sidebar-left-gap,32px)}
.bds-has-dual-sidebars .bds-sidebar-right{margin-left:var(--bds-sidebar-right-gap,32px)}
.bds-sidebar-follow-content-start .bds-sidebar{margin-top:0!important;align-self:start}
.bds-sidebar-primary-sticky .bds-sidebar-primary,
.bds-sidebar-secondary-sticky .bds-sidebar-secondary{position:sticky;top:calc(var(--bds-sticky-stack-height,var(--bds-adminbar-offset)) + var(--bds-sidebar-sticky-offset,24px));align-self:start}
.bds-sidebar-sticky-scroll.bds-sidebar-primary-sticky .bds-sidebar-primary,
.bds-sidebar-sticky-scroll.bds-sidebar-secondary-sticky .bds-sidebar-secondary{max-height:calc(100vh - var(--bds-sticky-stack-height,var(--bds-adminbar-offset)) - var(--bds-sidebar-sticky-offset,24px) - 16px);overflow:auto;overscroll-behavior:contain}
.bds-sidebar-panel-style .bds-sidebar{background:var(--bds-surface);border:1px solid var(--bds-border);border-radius:var(--bds-radius);padding:var(--bds-sidebar-panel-padding,20px)}
@media(max-width:960px){
  .bds-sidebar-sticky-desktop-only .bds-sidebar{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important}
  .bds-sidebar-tablet-below .bds-sidebar{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important}
  .bds-sidebar-tablet-side.bds-has-sidebar-left:not(.bds-has-sidebar-right) .bds-content-layout{grid-template-columns:min(var(--bds-sidebar-left-width,300px),34vw) minmax(0,1fr);column-gap:min(var(--bds-sidebar-left-gap,32px),18px)}
  .bds-sidebar-tablet-side.bds-has-sidebar-right:not(.bds-has-sidebar-left) .bds-content-layout{grid-template-columns:minmax(0,1fr) min(var(--bds-sidebar-right-width,300px),34vw);column-gap:min(var(--bds-sidebar-right-gap,32px),18px)}
  .bds-sidebar-tablet-side.bds-has-dual-sidebars .bds-content-layout{grid-template-columns:min(var(--bds-sidebar-left-width,300px),28vw) minmax(0,1fr) min(var(--bds-sidebar-right-width,300px),28vw)}
  .bds-sidebar-tablet-side.bds-has-dual-sidebars .bds-sidebar-left{margin-right:min(var(--bds-sidebar-left-gap,32px),18px)}
  .bds-sidebar-tablet-side.bds-has-dual-sidebars .bds-sidebar-right{margin-left:min(var(--bds-sidebar-right-gap,32px),18px)}
}
@media(max-width:680px){
  .bds-sidebar-mobile-below .bds-sidebar{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important;margin-left:0!important;margin-right:0!important}
  .bds-sidebar-mobile-side.bds-has-sidebar-left:not(.bds-has-sidebar-right) .bds-content-layout{grid-template-columns:min(var(--bds-sidebar-left-width,300px),40vw) minmax(0,1fr);column-gap:min(var(--bds-sidebar-left-gap,32px),14px)}
  .bds-sidebar-mobile-side.bds-has-sidebar-right:not(.bds-has-sidebar-left) .bds-content-layout{grid-template-columns:minmax(0,1fr) min(var(--bds-sidebar-right-width,300px),40vw);column-gap:min(var(--bds-sidebar-right-gap,32px),14px)}
  .bds-sidebar-mobile-side.bds-has-dual-sidebars .bds-content-layout{grid-template-columns:min(var(--bds-sidebar-left-width,300px),28vw) minmax(0,1fr) min(var(--bds-sidebar-right-width,300px),28vw)}
  .bds-sidebar-mobile-side.bds-has-dual-sidebars .bds-sidebar-left{margin-right:min(var(--bds-sidebar-left-gap,32px),14px)}
  .bds-sidebar-mobile-side.bds-has-dual-sidebars .bds-sidebar-right{margin-left:min(var(--bds-sidebar-right-gap,32px),14px)}
}


/* fixed0107: independent sticky controls for the top strip and main header. */
.bds-sticky-header-top .bds-header-top,.bds-sticky-header-main .bds-header-main{will-change:transform}


/* fixed0108: dual sidebars keep an identical gutter on both sides of the main
   content, and the first builder row starts at the same vertical level as the
   side panels. The sidebars remain separate grid rails. */
.bds-has-dual-sidebars .bds-content-layout{
  --bds-dual-sidebar-gap:var(--bds-sidebar-gap,32px);
  --bds-layout-shell-max:calc(var(--bds-max) + var(--bds-sidebar-left-width,300px) + var(--bds-sidebar-right-width,300px) + (2 * var(--bds-dual-sidebar-gap)));
  grid-template-columns:var(--bds-sidebar-left-width,300px) minmax(0,1fr) var(--bds-sidebar-right-width,300px);
  column-gap:var(--bds-dual-sidebar-gap);
}
.bds-has-dual-sidebars .bds-sidebar-left,
.bds-has-dual-sidebars .bds-sidebar-right{margin-left:0!important;margin-right:0!important}

/* A builder row may carry its own top padding. With sidebars active that must
   not create a second top offset beneath the rails. Keep the first content row
   flush with the sidebars; later rows retain their configured spacing. */
.bds-has-sidebar .bds-primary-content .bds-entry-content>.bds-builder-row:first-child,
.bds-has-sidebar .bds-primary-content .bds-entry-content>.bds-builder-content:first-child>.bds-builder-row:first-child{
  padding-top:0!important;
  margin-top:0!important;
}
@media(max-width:960px){
  .bds-sidebar-tablet-side.bds-has-dual-sidebars .bds-content-layout{column-gap:min(var(--bds-dual-sidebar-gap,32px),18px)}
}
@media(max-width:680px){
  .bds-sidebar-mobile-side.bds-has-dual-sidebars .bds-content-layout{column-gap:min(var(--bds-dual-sidebar-gap,32px),14px)}
}


/* fixed0109: configurable header-to-content spacing and sidebar sticky offset
   that always clears the complete sticky header stack. */
body{--bds-sticky-stack-height:var(--bds-adminbar-offset)}
body.bds-sticky-header-top.bds-header-top-visible{--bds-sticky-stack-height:calc(var(--bds-adminbar-offset) + var(--bds-header-top-height))}
body.bds-sticky-header-main{--bds-sticky-stack-height:calc(var(--bds-adminbar-offset) + var(--bds-header-main-height))}
body.bds-sticky-header-top.bds-sticky-header-main.bds-header-top-visible{--bds-sticky-stack-height:calc(var(--bds-adminbar-offset) + var(--bds-header-top-height) + var(--bds-header-main-height))}


/* fixed0110: a header-to-content gap of 0 must be truly flush. Builder rows may
   have their own padding or fullscreen centering, so when sidebars are present
   the first row is anchored to the same top edge as the sidebar rails. This
   preserves the configured row spacing after the first row. */
.bds-has-sidebar .bds-primary-content .bds-builder-content>.bds-builder-row:first-child{
  padding-top:0!important;
  margin-top:0!important;
}
.bds-has-sidebar .bds-primary-content .bds-builder-content>.bds-builder-row:first-child.bds-layout-fullscreen{
  min-height:0!important;
  display:block!important;
  align-items:initial!important;
}
.bds-has-sidebar .bds-primary-content .bds-builder-content>.bds-builder-row:first-child>.bds-builder-row-inner{
  margin-top:0!important;
}


/* fixed0111: the content/header gap and sidebar alignment are tied to the actual
   page shell instead of relying only on body classes. A first fullscreen Builder
   row keeps its fullscreen height, but starts at the top when sidebars are active,
   so it no longer vertically centers the first image hundreds of pixels below the
   sidebar rails. */
.bds-content-layout-with-sidebar .bds-primary-content,
.bds-content-layout-with-sidebar .bds-entry-content,
.bds-content-layout-with-sidebar .bds-builder-content{margin-top:0!important;padding-top:0!important}
.bds-content-layout-with-sidebar .bds-builder-content>.bds-builder-row:first-of-type{margin-top:0!important;padding-top:0!important}
.bds-content-layout-with-sidebar .bds-builder-content>.bds-builder-row:first-of-type.bds-layout-fullscreen{
  min-height:100vh!important;
  display:flex!important;
  align-items:flex-start!important;
}
.bds-content-layout-with-sidebar .bds-builder-content>.bds-builder-row:first-of-type.bds-layout-fullscreen>.bds-builder-row-inner{margin-top:0!important}


/* fixed0112: testimonial cards respond to the actual content width, including sidebars. */
.bds-testimonials-grid[data-auto-visible="1"]{--bds-testimonial-min-card-width:280px;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--bds-testimonial-min-card-width)),1fr))!important}
.bds-testimonial-carousel[data-auto-visible="1"]{--bds-testimonial-min-card-width:280px}
\n\n/* fixed0113: three configurable header zones for logo and primary navigation. */\n.bds-header-inner{width:min(calc(100% - 32px),var(--bds-header-inner-max,var(--bds-max)));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(0,1fr);gap:var(--bds-header-element-gap,24px);align-items:center}\n.bds-header-zone{display:flex;align-items:center;min-width:0;gap:var(--bds-header-element-gap,24px)}\n.bds-header-zone-left{justify-content:flex-start}\n.bds-header-zone-center{justify-content:center}\n.bds-header-zone-right{justify-content:flex-end}\n.bds-header-valign-top .bds-header-zone{align-self:start;padding-top:10px}\n.bds-header-valign-bottom .bds-header-zone{align-self:end;padding-bottom:10px}\n.bds-header-valign-center .bds-header-zone{align-self:center}\n.bds-header-zone .bds-nav{margin-left:0;min-width:0}\n.bds-header-zone-center .bds-menu{justify-content:center}\n.bds-header-zone-right .bds-menu{justify-content:flex-end}\n@media(max-width:782px){.bds-header-inner{display:grid;grid-template-columns:1fr auto;gap:12px}.bds-header-zone{display:contents}.bds-header-zone .bds-brand-wrap{grid-column:1;grid-row:1;justify-self:start}.bds-menu-toggle{grid-column:2;grid-row:1;display:block;justify-self:end;margin-left:0}.bds-header-zone .bds-nav{grid-column:1 / -1;grid-row:2;width:100%;margin-left:0}.bds-header-zone .bds-nav:not(.is-open){display:none}.bds-header-valign-top .bds-header-zone,.bds-header-valign-bottom .bds-header-zone{padding:0}}\n

/* fixed0114: header zone behavior and alignment with the primary content column.
   On desktop, a header can follow the main content edges when side rails are active.
   Logo/menu stay on one row for the normal desktop header and zone choices do not
   accidentally force the opposite element onto a second visual line. */
@media(min-width:783px){
  .bds-header-zone .bds-menu{flex-wrap:nowrap}
  .bds-header-zone .bds-menu>li{flex:0 0 auto;min-width:max-content}
  .bds-header-zone .bds-menu a{white-space:nowrap}
  .bds-header-logo-left.bds-header-menu-right .bds-header-inner,
  .bds-header-logo-right.bds-header-menu-left .bds-header-inner{grid-template-columns:auto minmax(0,1fr) auto}

  /* One left rail: header shell matches the page shell, then reserves the rail
     on the left so the logo/menu grid begins exactly where primary content begins. */
  .bds-header-follow-main.bds-has-sidebar-left:not(.bds-has-sidebar-right) .bds-header-inner{
    width:min(calc(100% - 32px),calc(var(--bds-max) + var(--bds-sidebar-left-width,300px) + var(--bds-sidebar-left-gap,32px)));
    max-width:none;
    padding-left:calc(var(--bds-sidebar-left-width,300px) + var(--bds-sidebar-left-gap,32px));
  }
  .bds-header-follow-main.bds-has-sidebar-right:not(.bds-has-sidebar-left) .bds-header-inner{
    width:min(calc(100% - 32px),calc(var(--bds-max) + var(--bds-sidebar-right-width,300px) + var(--bds-sidebar-right-gap,32px)));
    max-width:none;
    padding-right:calc(var(--bds-sidebar-right-width,300px) + var(--bds-sidebar-right-gap,32px));
  }
  .bds-header-follow-main.bds-has-dual-sidebars .bds-header-inner{
    width:min(calc(100% - 32px),calc(var(--bds-max) + var(--bds-sidebar-left-width,300px) + var(--bds-sidebar-right-width,300px) + (2 * var(--bds-sidebar-gap,32px))));
    max-width:none;
    padding-left:calc(var(--bds-sidebar-left-width,300px) + var(--bds-sidebar-gap,32px));
    padding-right:calc(var(--bds-sidebar-right-width,300px) + var(--bds-sidebar-gap,32px));
  }
}

/* If sidebars are moved below or hidden on tablet, the header should return to
   the normal content width. Keeping rails at the side keeps the alignment rule. */
@media(min-width:783px) and (max-width:960px){
  .bds-header-follow-main.bds-sidebar-tablet-below .bds-header-inner,
  .bds-header-follow-main.bds-sidebar-tablet-hide .bds-header-inner{
    width:min(calc(100% - 32px),var(--bds-header-inner-max,var(--bds-max)));
    max-width:none;padding-left:0;padding-right:0
  }
  .bds-header-follow-main.bds-sidebar-tablet-side.bds-has-sidebar-left:not(.bds-has-sidebar-right) .bds-header-inner{
    width:calc(100% - 32px);padding-left:calc(min(var(--bds-sidebar-left-width,300px),34vw) + min(var(--bds-sidebar-left-gap,32px),18px))
  }
  .bds-header-follow-main.bds-sidebar-tablet-side.bds-has-sidebar-right:not(.bds-has-sidebar-left) .bds-header-inner{
    width:calc(100% - 32px);padding-right:calc(min(var(--bds-sidebar-right-width,300px),34vw) + min(var(--bds-sidebar-right-gap,32px),18px))
  }
  .bds-header-follow-main.bds-sidebar-tablet-side.bds-has-dual-sidebars .bds-header-inner{
    width:calc(100% - 32px);
    padding-left:calc(min(var(--bds-sidebar-left-width,300px),28vw) + min(var(--bds-sidebar-gap,32px),18px));
    padding-right:calc(min(var(--bds-sidebar-right-width,300px),28vw) + min(var(--bds-sidebar-gap,32px),18px))
  }
}

/* Mobile header deliberately uses the full normal mobile header width. This
   prevents the logo/menu button from being squeezed by optional side rails. */
@media(max-width:782px){
  .bds-header-follow-main.bds-has-sidebar .bds-header-inner{width:min(calc(100% - 24px),var(--bds-header-inner-max,var(--bds-max)));padding-left:0;padding-right:0}
}


/* fixed0115: header alignment uses the exact same rail geometry as the page shell.
   The outer header shell includes the optional sidebar rails, while the inner
   header-content occupies only the center/main-content column. This makes the
   logo/menu edges line up with the page content instead of approximating the
   position with padding. */
.bds-header-inner{
  width:min(calc(100% - 32px),var(--bds-header-inner-max,var(--bds-max)));
  margin-inline:auto;
  display:block;
  padding:0!important;
}
.bds-header-content{
  width:100%;
  min-width:0;
  min-height:var(--bds-header-main-height);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(0,1fr);
  gap:var(--bds-header-element-gap,24px);
  align-items:center;
}
@media(min-width:783px){
  .bds-header-logo-left.bds-header-menu-right .bds-header-content,
  .bds-header-logo-right.bds-header-menu-left .bds-header-content{
    grid-template-columns:auto minmax(0,1fr) auto;
  }
  .bds-header-follow-main.bds-has-sidebar-left:not(.bds-has-sidebar-right) .bds-header-inner{
    width:min(calc(100% - 32px),calc(var(--bds-max) + var(--bds-sidebar-left-width,300px) + var(--bds-sidebar-left-gap,32px)));
    display:grid;
    grid-template-columns:var(--bds-sidebar-left-width,300px) minmax(0,1fr);
    column-gap:var(--bds-sidebar-left-gap,32px);
  }
  .bds-header-follow-main.bds-has-sidebar-left:not(.bds-has-sidebar-right) .bds-header-content{grid-column:2}

  .bds-header-follow-main.bds-has-sidebar-right:not(.bds-has-sidebar-left) .bds-header-inner{
    width:min(calc(100% - 32px),calc(var(--bds-max) + var(--bds-sidebar-right-width,300px) + var(--bds-sidebar-right-gap,32px)));
    display:grid;
    grid-template-columns:minmax(0,1fr) var(--bds-sidebar-right-width,300px);
    column-gap:var(--bds-sidebar-right-gap,32px);
  }
  .bds-header-follow-main.bds-has-sidebar-right:not(.bds-has-sidebar-left) .bds-header-content{grid-column:1}

  .bds-header-follow-main.bds-has-dual-sidebars .bds-header-inner{
    width:min(calc(100% - 32px),calc(var(--bds-max) + var(--bds-sidebar-left-width,300px) + var(--bds-sidebar-right-width,300px) + (2 * var(--bds-dual-sidebar-gap,var(--bds-sidebar-gap,32px)))));
    display:grid;
    grid-template-columns:var(--bds-sidebar-left-width,300px) minmax(0,1fr) var(--bds-sidebar-right-width,300px);
    column-gap:var(--bds-dual-sidebar-gap,var(--bds-sidebar-gap,32px));
  }
  .bds-header-follow-main.bds-has-dual-sidebars .bds-header-content{grid-column:2}
}
@media(min-width:783px) and (max-width:960px){
  .bds-header-follow-main.bds-sidebar-tablet-below .bds-header-inner,
  .bds-header-follow-main.bds-sidebar-tablet-hide .bds-header-inner{
    width:min(calc(100% - 32px),var(--bds-header-inner-max,var(--bds-max)));
    display:block;
  }
  .bds-header-follow-main.bds-sidebar-tablet-side.bds-has-sidebar-left:not(.bds-has-sidebar-right) .bds-header-inner{
    grid-template-columns:min(var(--bds-sidebar-left-width,300px),34vw) minmax(0,1fr);
    column-gap:min(var(--bds-sidebar-left-gap,32px),18px);
  }
  .bds-header-follow-main.bds-sidebar-tablet-side.bds-has-sidebar-right:not(.bds-has-sidebar-left) .bds-header-inner{
    grid-template-columns:minmax(0,1fr) min(var(--bds-sidebar-right-width,300px),34vw);
    column-gap:min(var(--bds-sidebar-right-gap,32px),18px);
  }
  .bds-header-follow-main.bds-sidebar-tablet-side.bds-has-dual-sidebars .bds-header-inner{
    grid-template-columns:min(var(--bds-sidebar-left-width,300px),28vw) minmax(0,1fr) min(var(--bds-sidebar-right-width,300px),28vw);
    column-gap:min(var(--bds-dual-sidebar-gap,32px),18px);
  }
}
@media(max-width:782px){
  .bds-header-inner,
  .bds-header-follow-main.bds-has-sidebar .bds-header-inner{
    width:min(calc(100% - 24px),var(--bds-header-inner-max,var(--bds-max)));
    display:block;
  }
  .bds-header-content{display:grid;grid-template-columns:1fr auto;gap:12px;min-height:auto}
  .bds-header-content .bds-header-zone{display:contents}
}

/* fixed0116: deterministic desktop header-zone layout.
   Logo and primary navigation may share the same zone without competing for
   one third of the header. When they share a zone, that zone spans the full
   main-content header width and both elements stay on the same row. */
@media(min-width:783px){
  .bds-header-content>.bds-header-zone-left{grid-column:1;grid-row:1}
  .bds-header-content>.bds-header-zone-center{grid-column:2;grid-row:1}
  .bds-header-content>.bds-header-zone-right{grid-column:3;grid-row:1}
  .bds-header-content .bds-brand-wrap{flex:0 0 auto;min-width:max-content}
  .bds-header-content .bds-nav{flex:0 1 auto;min-width:0;max-width:100%}
  .bds-header-content .bds-menu{flex-wrap:nowrap}
  .bds-header-content .bds-menu>li{flex:0 0 auto}
  .bds-header-content .bds-menu a{white-space:nowrap}

  /* Logo + menu in the same zone: use the complete content column. */
  .bds-header-logo-left.bds-header-menu-left .bds-header-content>.bds-header-zone-left,
  .bds-header-logo-center.bds-header-menu-center .bds-header-content>.bds-header-zone-center,
  .bds-header-logo-right.bds-header-menu-right .bds-header-content>.bds-header-zone-right{
    grid-column:1 / -1;
    grid-row:1;
    flex-wrap:nowrap;
  }
  .bds-header-logo-left.bds-header-menu-left .bds-header-content>.bds-header-zone-center,
  .bds-header-logo-left.bds-header-menu-left .bds-header-content>.bds-header-zone-right,
  .bds-header-logo-center.bds-header-menu-center .bds-header-content>.bds-header-zone-left,
  .bds-header-logo-center.bds-header-menu-center .bds-header-content>.bds-header-zone-right,
  .bds-header-logo-right.bds-header-menu-right .bds-header-content>.bds-header-zone-left,
  .bds-header-logo-right.bds-header-menu-right .bds-header-content>.bds-header-zone-center{
    display:none;
  }
  .bds-header-logo-left.bds-header-menu-left .bds-header-content>.bds-header-zone-left{justify-content:flex-start}
  .bds-header-logo-center.bds-header-menu-center .bds-header-content>.bds-header-zone-center{justify-content:center}
  .bds-header-logo-right.bds-header-menu-right .bds-header-content>.bds-header-zone-right{justify-content:flex-end}

  /* Opposite outer zones: reserve only what logo/menu actually need and keep
     a flexible middle track between them. */
  .bds-header-logo-left.bds-header-menu-right .bds-header-content,
  .bds-header-logo-right.bds-header-menu-left .bds-header-content{
    grid-template-columns:max-content minmax(0,1fr) max-content;
  }
}


/* fixed0117: logo and primary menu are positioned independently.
   The three zones are flex tracks on desktop. Choosing a zone for the menu
   never changes the logo zone (and vice versa). If both share a zone they stay
   on one row, side by side, instead of competing for a grid track. */
@media(min-width:783px){
  .bds-header-content{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center;
    gap:0!important;
  }
  .bds-header-content>.bds-header-zone{
    display:flex!important;
    flex:1 1 0;
    min-width:0;
    align-items:center;
    flex-flow:row nowrap!important;
    gap:var(--bds-header-element-gap,24px);
  }
  .bds-header-content>.bds-header-zone-left{
    justify-content:flex-start;
  }
  .bds-header-content>.bds-header-zone-center{
    justify-content:center;
  }
  .bds-header-content>.bds-header-zone-right{
    justify-content:flex-end;
  }
  .bds-header-content .bds-brand-wrap{
    flex:0 0 auto!important;
    min-width:max-content;
    order:1;
  }
  .bds-header-content .bds-nav{
    flex:0 1 auto!important;
    min-width:0;
    max-width:100%;
    width:auto!important;
    margin-left:0!important;
    order:2;
  }
  .bds-header-content .bds-menu{
    display:flex;
    flex-flow:row nowrap!important;
    justify-content:inherit;
  }
  .bds-header-content .bds-menu>li{
    flex:0 0 auto;
  }
  .bds-header-content .bds-menu a{
    white-space:nowrap;
  }

  /* Undo fixed0116 same-zone spanning/hiding rules. Zones remain independent. */
  .bds-header-logo-left.bds-header-menu-left .bds-header-content>.bds-header-zone-left,
  .bds-header-logo-center.bds-header-menu-center .bds-header-content>.bds-header-zone-center,
  .bds-header-logo-right.bds-header-menu-right .bds-header-content>.bds-header-zone-right{
    flex:1 1 0;
  }
  .bds-header-logo-left.bds-header-menu-left .bds-header-content>.bds-header-zone-center,
  .bds-header-logo-left.bds-header-menu-left .bds-header-content>.bds-header-zone-right,
  .bds-header-logo-center.bds-header-menu-center .bds-header-content>.bds-header-zone-left,
  .bds-header-logo-center.bds-header-menu-center .bds-header-content>.bds-header-zone-right,
  .bds-header-logo-right.bds-header-menu-right .bds-header-content>.bds-header-zone-left,
  .bds-header-logo-right.bds-header-menu-right .bds-header-content>.bds-header-zone-center{
    display:flex!important;
  }

  /* When logo and menu share a zone, keep both visible on the same row. */
  .bds-header-logo-left.bds-header-menu-left .bds-header-zone-left,
  .bds-header-logo-center.bds-header-menu-center .bds-header-zone-center,
  .bds-header-logo-right.bds-header-menu-right .bds-header-zone-right{
    flex-wrap:nowrap!important;
  }
}


/* fixed0118: configurable header logo size; default raised ~50% from 54px to 81px. */
.bds-logo img{max-height:var(--bds-header-logo-height,81px);width:auto;height:auto}
@media(max-width:782px){.bds-logo img{max-height:min(var(--bds-header-logo-height,81px),72px)}}


/* fixed0119: complete submenu system for desktop and mobile. */
@media(min-width:783px){
  .bds-header-content{position:relative}
  .bds-nav{position:relative;overflow:visible}
  .bds-menu{overflow:visible}
  .bds-menu>li{position:relative;display:flex;align-items:center;gap:4px}
  .bds-menu .menu-item-has-children>a{display:inline-flex;align-items:center}
  .bds-submenu-toggle{appearance:none;border:0;background:transparent;color:var(--bds-header-text);padding:6px 3px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;border-radius:6px}
  .bds-submenu-indicator .bds-submenu-toggle{display:inline-flex}
  .bds-submenu-toggle::before{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}
  .menu-item-has-children.is-submenu-open>.bds-submenu-toggle::before{transform:rotate(225deg) translate(-1px,-1px)}
  .bds-menu .sub-menu{list-style:none;margin:0;padding:8px;z-index:95;background:var(--bds-menu-dropdown-bg,#fff);color:var(--bds-menu-dropdown-text,#1d2730);border:1px solid var(--bds-border);border-radius:var(--bds-menu-dropdown-radius,10px);min-width:var(--bds-menu-dropdown-width,240px)}
  .bds-menu .sub-menu li{display:block;position:relative;margin:0;padding:0}
  .bds-menu .sub-menu a{display:block;color:var(--bds-menu-dropdown-text,#1d2730);font-weight:500;line-height:1.35;padding:var(--bds-menu-dropdown-item-vpad,11px) 12px;border-radius:max(4px,calc(var(--bds-menu-dropdown-radius,10px) - 4px));white-space:normal}
  .bds-menu .sub-menu a:hover,.bds-menu .sub-menu .current-menu-item>a{background:var(--bds-menu-dropdown-hover-bg,#f7f9fb);color:var(--bds-primary)}
  .bds-menu-shadow-none .bds-menu .sub-menu{box-shadow:none}
  .bds-menu-shadow-soft .bds-menu .sub-menu{box-shadow:0 10px 28px rgb(0 0 0 / 10%)}
  .bds-menu-shadow-medium .bds-menu .sub-menu{box-shadow:0 14px 34px rgb(0 0 0 / 16%)}
  .bds-menu-shadow-strong .bds-menu .sub-menu{box-shadow:0 18px 44px rgb(0 0 0 / 24%)}

  /* Recommended dropdown: hidden until hover/focus/click. */
  .bds-submenu-dropdown .bds-menu>li>.sub-menu{
    position:absolute;top:calc(100% + var(--bds-menu-dropdown-offset,8px));left:0;width:var(--bds-menu-dropdown-width,240px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(5px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease
  }
  .bds-submenu-dropdown.bds-submenu-trigger-hover .bds-menu>li:hover>.sub-menu,
  .bds-submenu-dropdown.bds-submenu-trigger-hover .bds-menu>li:focus-within>.sub-menu,
  .bds-submenu-dropdown .bds-menu>li.is-submenu-open>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .bds-submenu-dropdown .bds-menu .sub-menu .sub-menu{position:absolute;left:calc(100% + 6px);top:-8px;opacity:0;visibility:hidden;pointer-events:none}
  .bds-submenu-dropdown.bds-submenu-trigger-hover .bds-menu .sub-menu li:hover>.sub-menu,
  .bds-submenu-dropdown.bds-submenu-trigger-hover .bds-menu .sub-menu li:focus-within>.sub-menu,
  .bds-submenu-dropdown .bds-menu .sub-menu li.is-submenu-open>.sub-menu{opacity:1;visibility:visible;pointer-events:auto}

  /* Expanded: child items form a clean second line below each parent. */
  .bds-submenu-expanded .bds-header-main{overflow:visible}
  .bds-submenu-expanded .bds-menu{align-items:flex-start}
  .bds-submenu-expanded .bds-menu>li{display:grid;grid-template-columns:auto auto;align-items:center}
  .bds-submenu-expanded .bds-menu>li>.sub-menu{grid-column:1/-1;position:static;display:block;min-width:0;width:auto;border:0;box-shadow:none!important;background:transparent;padding:2px 0 0;border-radius:0}
  .bds-submenu-expanded .bds-menu>li>.sub-menu a{padding:4px 0;font-size:.92em;background:transparent!important}
  .bds-submenu-expanded .bds-menu>li>.bds-submenu-toggle{display:none}

  /* Mega menu: first child level opens as a broad grid aligned to header content. */
  .bds-submenu-mega .bds-menu>li{position:static}
  .bds-submenu-mega .bds-menu>li>.sub-menu{position:absolute;left:0;right:0;top:calc(100% + var(--bds-menu-dropdown-offset,8px));width:100%;min-width:0;display:grid;grid-template-columns:repeat(var(--bds-menu-mega-columns,4),minmax(0,1fr));gap:4px 18px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(5px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;padding:16px}
  .bds-submenu-mega.bds-submenu-trigger-hover .bds-menu>li:hover>.sub-menu,
  .bds-submenu-mega.bds-submenu-trigger-hover .bds-menu>li:focus-within>.sub-menu,
  .bds-submenu-mega .bds-menu>li.is-submenu-open>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .bds-submenu-mega .bds-menu>li>.sub-menu>.menu-item-has-children>a{font-weight:700}
  .bds-submenu-mega .bds-menu>li>.sub-menu .sub-menu{position:static;display:block;opacity:1;visibility:visible;pointer-events:auto;transform:none;border:0;box-shadow:none!important;padding:4px 0 0;min-width:0;background:transparent}

  .bds-menu-active-underline .bds-menu>li>a{position:relative}
  .bds-menu-active-underline .bds-menu>li>a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--bds-primary);transition:right .16s ease}
  .bds-menu-active-underline .bds-menu>li:hover>a::after,
  .bds-menu-active-underline .bds-menu>.current-menu-item>a::after,
  .bds-menu-active-underline .bds-menu>.current-menu-ancestor>a::after{right:0}
  .bds-menu-active-background .bds-menu>li>a{padding-inline:10px;border-radius:8px}
  .bds-menu-active-background .bds-menu>li:hover>a,
  .bds-menu-active-background .bds-menu>.current-menu-item>a,
  .bds-menu-active-background .bds-menu>.current-menu-ancestor>a{background:color-mix(in srgb,var(--bds-primary) 10%,transparent)}
}

@media(max-width:782px){
  .bds-menu .menu-item-has-children{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto}
  .bds-menu .menu-item-has-children>a{grid-column:1}
  .bds-submenu-toggle{grid-column:2;display:inline-flex;align-items:center;justify-content:center;align-self:stretch;min-width:44px;border:0;border-top:1px solid var(--bds-border);background:transparent;color:var(--bds-header-text);cursor:pointer}
  .bds-submenu-toggle::before{content:"+";font-size:1.25rem;line-height:1}
  .menu-item-has-children.is-submenu-open>.bds-submenu-toggle::before{content:"−"}
  .bds-menu .sub-menu{grid-column:1/-1;list-style:none;margin:0;padding:0 0 0 16px;border:0;background:transparent}
  .bds-mobile-menu-accordion .bds-menu .sub-menu{display:none}
  .bds-mobile-menu-accordion .bds-menu .menu-item-has-children.is-submenu-open>.sub-menu{display:block}
  .bds-menu .sub-menu a{padding:9px 0;border-top:1px solid var(--bds-border);font-weight:500}
  body:not(.bds-submenu-indicator) .bds-submenu-toggle{display:inline-flex}
}


/* fixed0121: robust desktop submenu hover/focus behaviour.
   The parent menu item and dropdown act as one interaction region. */
@media(min-width:783px){
  .bds-menu>li.menu-item-has-children{position:relative}
  .bds-menu>li.menu-item-has-children>.bds-submenu-toggle{display:none!important}
  .bds-submenu-indicator .bds-menu>li.menu-item-has-children>a::after{
    content:"";display:inline-block;width:7px;height:7px;margin-left:8px;vertical-align:.18em;
    border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)
  }

  /* JS-backed hover state prevents the dropdown disappearing while the pointer
     crosses the configured visual gap between the parent and submenu. */
  .bds-submenu-dropdown .bds-menu>li.is-hover-open>.sub-menu,
  .bds-submenu-dropdown .bds-menu>li:focus-within>.sub-menu,
  .bds-submenu-mega .bds-menu>li.is-hover-open>.sub-menu,
  .bds-submenu-mega .bds-menu>li:focus-within>.sub-menu{
    opacity:1;visibility:visible;pointer-events:auto;transform:none
  }

  /* Keep nested dropdowns stable while crossing their horizontal gap too. */
  .bds-submenu-dropdown .bds-menu .sub-menu li.is-hover-open>.sub-menu,
  .bds-submenu-dropdown .bds-menu .sub-menu li:focus-within>.sub-menu{
    opacity:1;visibility:visible;pointer-events:auto
  }
}


/* fixed0123: when header follows main content with side rails, runtime geometry
   is taken directly from the rendered primary-content column. This guarantees
   that left/right menu alignment uses the exact same edges as the page content. */
@media(min-width:783px){
  .bds-header-follow-main.bds-has-sidebar.bds-header-runtime-aligned .bds-header-inner{
    width:100%!important;max-width:none!important;margin:0!important;display:block!important;
  }
  .bds-header-follow-main.bds-has-sidebar.bds-header-runtime-aligned .bds-header-content{
    max-width:none!important;
  }
}


/* fixed0124: runtime header alignment uses the actual visible main-content inner
   edge (Builder row inner when present) and positions the header content from
   both measured edges. This removes the remaining right-edge drift. */
@media(min-width:783px){
  .bds-header-follow-main.bds-has-sidebar.bds-header-runtime-aligned .bds-header-inner{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    display:block!important;
  }
  .bds-header-follow-main.bds-has-sidebar.bds-header-runtime-aligned .bds-header-content{
    position:relative!important;
    margin:0!important;
    max-width:none!important;
  }
}

/* fixed0132: BDSuite owns header mini-cart; theme only provides stable placement in right header zone. */
.bds-header-zone-right>[data-role="bdsuite-header-minicart"]{flex:0 0 auto}

/* fixed0138: mobile/trinn configurator starts flush below the theme header; the global header-content gap remains unchanged elsewhere. */
body.bdsuite-mobile-configurator-page .bds-main{padding-top:0!important;}
body:has(.bdsuite-k-mobile-page) .bds-main{padding-top:0!important;}
