/*
 * custom-styles/css/head.css  --  nattelyst.se
 * Migrated from DB (Minimog custom CSS + Elementor head snippets).
 * Loaded in <head> via custom-styles/main.php. Order preserved. Conditions noted
 * per block are NOT yet enforced -- everything loads site-wide for now.
 */

/* ============================================================
   Minimog theme custom CSS  --  was: minimog_options.custom_css (printed in <head>)
   ============================================================ */

a[href="#popup-premiere-sovngaranti"]::after,
a[href="#popup-snore-guard-sovngaranti"]::after,
a[href="#popup-grind-guard-tilfredshedsgaranti"]::after {
  content: "?";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.9em;
  height: 0.9em;
  margin-left: 0.1em;
  font-size: 0.6em;
  padding: 6px;
  font-weight: 700;
  line-height: 1;
  color: inherit;
  background-color: transparent;
  border: 1px solid currentColor;
  border-radius: 50%;
  vertical-align: super;
  text-decoration: none;
}

.nl-highlight-1 {
    font-weight: 700;
    font-style: italic;
}
.nl-highlight-2 {
    color: #5097FF;
}


body .cart_list.product_list_widget li+li {
    margin-top: 10px !important;
}

.cart_list.product_list_widget .product-thumbnail {
	width: 80px !important;
	}

.christmas-gift-badge {
    padding-left: 26px !important;
}
.christmas-gift-badge:before {
    content: url('/wp-content/uploads/2025/12/christmas-badge.svg');
    top: 5px !important;
    left: 5px !important;
}

	/*@media only screen and (max-width: 768px) {
			 .swiper-thumbnail-wrap img
			{
				aspect-ratio: 1 / 1;
				object-fit: cover;
			}
		}*/


.single-product .woo-single-gallery.thumbs-slider-horizontal .minimog-thumbs-swiper img {
    height: 135.13px;
}

		
		body.test-css-51403-2 .viabill-pricetag {
			display: none !important;
		}
		
		body.test-css-51622-2 .mundtape-garanti {
			display: none !important;
		}
		
		body.test-css-54418-2 .product-pricerunner {
			display: none !important;
		}
		
		body.test-css-56765-1 .topbar-wrap .uden-link {
			display: none !important;
		}
		
		body.test-css-56765-2 .topbar-wrap .med-link {
			display: none !important;
		}
		
		body.test-css-56765-2 .topbar-wrap .uden-link {
			display: block !important;
		}
		
		/* emærket */
		body.test-css-62704-2 .emaerket,
		body.test-css-62704-2 #emaerket-widget-container
		{
			display: none !important;
		}

		body.test-css-64432-1 .cart-checkout-top {
			display: flex !important;
		}


/*@media (max-width: 767px) {
    .minimog-product .product-thumbnail .product-action {
        display: flex !important;
    }
    
    .minimog-product:not(.style-list).group-style-01 .product-thumbnail .product-action.woocommerce_loop_add_to_cart_wrap {
            opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    }
    
    .minimog-product:not(.style-list).group-style-01 .product-thumbnail .woocommerce_loop_add_to_cart_wrap a {
    padding: 0 5px;
    font-size: 80%;
}
    
}*/


/*body.test-css-66843-2 .tab-buttons {
    display: none !important;
}

body.test-css-66843-2 .tab-content {
    padding: 0 !important;
}

body.test-css-66843-2 .custom-purchase-tabs {
    border: none !important;
    margin-bottom: 0 !important;
}

body.test-css-66843-1 .tab-buttons {
    display: flex !important;
}*/


body.has-subscription .cart-goal-wrap {
    display: none !important;
}

body.test-css-56704-1 .minimog-tabs__content {
    height: unset !important;
}

body.test-css-56704-1 .minimog-tabs__content .tab-content:not(.active) {
    pointer-events: unset;
}

body.test-css-56704-1 .minimog-tabs__content .tab-content:not(.active)>* {
    pointer-events: unset !important;
}

body.test-css-56704-1 .minimog-tabs__content .tab-content {
    position: unset; 
    top: unset !important;
    left: unset !important;
    width: unset !important;
    opacity: unset !important;
    display: block;
}

body.test-css-56704-1 .tab-content-reviews .tab-content-wrapper {
    max-width: unset !important;
}

body.test-css-56704-1 .tab-content.tab-content-reviews {
    margin-top: 50px !important;
}

body.test-css-56704-1 .product-reviews-summary-bar .heading {
    font-size: 36px !important;
}

.custom-product-badge {
    /* Same white chip as the "Populær" badge (Emil 2026-10-03; was a yellow block). */
    display: inline-block;
    position: absolute;
    z-index: 10;
    top: 20px;
    left: 20px;
    padding: 4px 8px;
    border-radius: 4px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 1px 3px rgba(25,52,92,.10);
    color: var(--minimog-color-heading);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 14px;
    text-transform: uppercase;
}

.variations .row-isw-swatch.row-isw-swatch--isw_select {
    padding-top: 0 !important;
    margin-top: -10px;
}

.row-isw-swatch--isw_select .label {
    margin-bottom: 7px !important;
}

.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_ean_nr_field,
.woocommerce-checkout #billing_cvr_field
{
    display: none;
}

/* "Populær" badge: small white chip with navy text (was a peach block, 13px; Emil 2026-10-03: looked cheap).
   Same look as the strength badges (calio-af-badge in calio-archive-filters.php). */
.woocommerce .product-badges .hot {
    --p-badge-bg: rgba(255,255,255,.94) !important;
    background: rgba(255,255,255,.94) !important;
    padding: 4px 8px !important;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(25,52,92,.10);
}

.woocommerce .product-badges>div.hot>span {
    color: var(--minimog-color-heading);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 14px;
}

/* Header/menu: no bottom border anywhere (Emil 2026-10-03; it doubled up with the front page's category row line). */
.page-header-inner {
    border-bottom-color: transparent !important;
}

.woocommerce .product-badges {
    top: 15px !important;
    left: 15px !important;
}

.entry-product-badges {
    display: none !important;
}

.swiper-thumbnail-wrap img {
    border-radius: 6px;
}

.woocommerce-checkout #page-mobile-tabs {
    display: none !important;
}


.single-product .woo-single-gallery 
.minimog-thumbs-swiper .swiper-slide .swiper-thumbnail-wrap::before {
  border-radius: 6px!important;
}


/*

.product-reviews-summary-bar .tm-button-wrapper {
    display: none;
}

*/



body.single-product .entry-price-wrap ins > span bdi {
    color: red;
    font-weight: 600;
    font-size: 26px;
}

.stock.available-on-backorder {
    background-color: #E9F1FB;
    display: inline-block;
    border-radius: 8px;
    padding: 7px 20px 7px 40px !important;
}

.stock.available-on-backorder::before {
    left: 15px;
}

#email-warning-container {
  display: flex;
  align-items: center;
  height: 0px;
  opacity: 0;
  width: 100%;
  background-color: #fee7ba;
  transition: height, opacity 1.5s, padding, margin-bottom, 0.5s;
  margin-bottom: 0px;
  border-radius: 5px;
  justify-content: space-between;
}

#warning-dismiss {
  background-color: transparent;
  border: 0;
  margin-right: 5px;
  padding: 0 !important;
  text-transform: lowercase;
  line-height: unset !important;
  font-size: 18px;
  height: unset !important;
}

#email-warning-container.view {
  height: 40px;
  opacity: 100%;
  margin: 5px 0 10px 0;
  padding: 0 15px 4px 15px;
}

#warning-dismiss {
  cursor: pointer;

}

#warning-dismiss:hover {
    box-shadow: none;
    color: inherit;
}

#warning {
  cursor: pointer;
  display: flex;
  gap: 3px;
  font-size: 90%;
}

#warning-email {
  text-decoration: underline;
}

.jul {
    text-align: center;
    margin: auto;
    color: red;
}

button#ov-onskeskyen-generated-wish-button {
    display: block;
    margin: 15px auto 0 auto !important;
    font-weight: 600;
    line-height: 1;
}
button#ov-onskeskyen-generated-wish-button:hover {
    box-shadow: 0 0 0 .2rem #cae8ee;
}

.wof-wheel .wof-title {
    font-size: 40px;
    text-transform: unset;
    line-height: 46px;
}

.woocommerce-checkout .wof-wheels,
.woocommerce-cart .wof-wheels
{
    display: none;
}



.wof-wheel .wof-slice {
    width: 41%;
}

.wof-form-fields>div {
    margin-top: 10px;
}

.wof-wheel .wof-form-wrapper button {
    margin-top: 10px;
    height: 48px;
}

.wof-wheel .wof-form-wrapper {
    margin-bottom: 10px;
}

.wof-wheel .wof-disclaimer {
    opacity: 0.8;
    text-align: center;
}

/*@media only screen and (max-width: 768px) {
    .wof-widget.wof-visible {
        bottom: 60px;
    }
}*/

#kl_newsletter_checkbox_field,
#kl_sms_consent_checkbox_field,
.visually-hidden
{
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

@media only screen and (max-width:1400px) and (min-width:1023px){
    body>.elementor>.elementor-section:not(.elementor-inner-section):not(.no-margin)>.elementor-container{
        padding:0 1.5rem
    }
}
@media only screen and (max-width:1024px){
    body>.elementor>.elementor-section:not(.elementor-inner-section):not(.no-margin)>.elementor-container{
        padding:1rem
    }
}
.cwginstock-panel-heading h4,.cwginstock-subscribe-form .panel-body .form-group,.last-p-margin p:last-child,.mb-0{
    margin-bottom:0
}
.primary-color{
    color:var(--e-global-color-primary)
}
.cart-totals-value,.modal-quick-view-popup .button.onskeskyen,.top-bar-text{
    width:100%
}
.topbar-wrap{
    display:flex;
    justify-content:space-between;
    width:100%
}
.topbar-item img{
    vertical-align:middle;
    padding-left:3px;
    margin-bottom:3px;
    width:auto
}
.topbar-item a{
    display:inline
}
.product>.product-wrapper .woocommerce-loop-product__title{
    flex-basis:100%;
    margin-bottom:5px
}
#sticky-product-bar .tm-button.sticky-product-add_to_cart_button {
    width: auto !important;
}
.product>.product-wrapper .loop-product-variation-selector{
    flex-basis:100%
}
.onskeskyen-wrap {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}
@media only screen and (max-width: 768px) {
    .onskeskyen-wrap {
        display: none;
    }
}
.button.onskeskyen{
    background-color:unset;
    border-width:0;
    color:#009bbf;
    background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAmCAMAAABDGm2rAAAABlBMVEVHcEwAm79WQXmdAAAAAXRSTlMAQObYZgAAAFtJREFUeNrt1DEKwCAQAMHM/z+dLpUEcYVAcPsbLLy7Rnm6FgLrBBSCJtAEXgRYB+ZeY646TwZkQJ3nB4DheCCgEDSBJtAEqQ2A2AEOAJ9/5b6NTegXqQl7rvINH3QHV/GaEiMAAAAASUVORK5CYII=');
    background-repeat:no-repeat;
    background-size:auto 40%;
    min-width:56%;
    background-position:12px center;
    padding-top: 2px;
}
@media only screen and (max-width:1100px){
    .button.onskeskyen{
        width:100%
    }
}
.modal-quick-view-popup .inner-content{
    display:flex;
    align-items:center;
    height:unset!important;
    padding:30px 0
}
.button.onskeskyen:hover{
    background-color:unset !important;
    /*color:#fff!important;*/
    box-shadow:none!important;
    /*background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAmCAMAAABDGm2rAAAABlBMVEVHcEz///+flKJDAAAAAXRSTlMAQObYZgAAAFtJREFUeNrt1DEKwCAQAMHM/z+dLpUEcYVAcPsbLLy7Rnm6FgLrBBSCJtAEXgRYB+ZeY646TwZkQJ3nB4DheCCgEDSBJtAEqQ2A2AEOAJ9/5b6NTegXqQl7rvINH3QHV/GaEiMAAAAASUVORK5CYII=')*/
}
.entry-product-quantity-wrapper .screen-reader-text,.payment_box,.woobt-products-wrap .viabill-pricetag,a#top-bar-collapsible-toggle{
    display:none!important
}
.includes_tax{
    display:block
}
.includes_tax .amount{
    font-size:100%!important
}
/*@media only screen and (min-width:1100px){
    .woocommerce-cart-form{
        display:flex;
        justify-content:space-between;
        align-items:flex-start
    }
    body.woocommerce-checkout .form-row{
        max-width:100%!important;
        flex:0 0 100%;
        margin-bottom:10px!important
    }
    div#cart-table-wrap{
        flex-basis:60%
    }
    div#cart-collaterals{
        margin:0
    }
}*/
.outofstock .nattelyst-order-before-wrap,.outofstock .product-meta-shipping-delivery-time,.outofstock .product-popup-links,.product.woobt-product.woobt-product-together.woobt-hide .woobt-quantity,.shipmondo-modal-footer,.shipping_pickup_cart,.widget_product_categories li.current-cat a:after,.woo-comment-author,.woobt-block-content .product-shipping,input#shipping_method_0_free_shipping6,label[for=shipping_method_0_free_shipping6],p#billing_country_field,p#shipping_country_field{
    display:none
}
ul.woocommerce-shipping-methods li{
    text-align:left;
    line-height:35px
}
.panel-body.cwginstock-panel-body input[type=email],ul.woocommerce-shipping-methods{
    margin-bottom:10px
}
body.woocommerce-cart tr.cart-totals-row.cart-subtotal{
    border-top:none;
    display: inline-flex;
}
/*.shipmondo_stores{
    display:flex;
    justify-content:space-between
}*/
.shipmondo_stores>div:first-child{
    flex-basis:65%
}
.shipmondo_stores>div:last-child{
    flex-basis:33%
}
.shipmondo_zipcode_error_text{
    border:none!important;
    margin:0;
    padding:0!important;
    margin-top:3px!important
}
.header-buttons>a{
    border:none!important;
    padding:0!important
}
.header-buttons>a:hover{
    background-color:#fff!important;
    border-color:#fff!important;
    box-shadow:none!important;
    color:var(--header-link-hover-color)!important
}
.entry-product-stock{
    margin-top:10px!important
}



.CybotCookiebotDialogBodyBottomWrapper,.tab-content-wrapper,.woobt-product .woobt-product-cart{
    margin:0!important
}

:focus-visible{
    outline:0
}
button.CybotCookiebotDialogBodyButton{
    height:unset!important;
    line-height:unset!important
}
button#CybotCookiebotDialogBodyButtonAccept{
    background-color:var(--e-global-color-primary)!important;
    border-color:var(--e-global-color-primary)!important
}
button#CybotCookiebotDialogBodyButtonDecline{
    border:unset!important;
    padding:5px!important
}
button#CybotCookiebotDialogBodyButtonDecline:hover{
    border:unset!important;
    box-shadow:unset!important
}
#CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a{
    color:var(--e-global-color-primary)!important
}
.form-row.place-order{
    border-top:0!important;
    margin-top:0!important;
    padding-top:0!important
}
button#place_order{
    margin-top:0
}
body .woocommerce-terms-and-conditions-wrapper>.form-row{
    margin-bottom:5px!important;
    margin-top:25px!important
}
.payment-title-icon{
    display:flex
}
.order-total td.cart-totals-value strong .amount{
    font-size:26px!important
}
.single-post .page-content{
    margin-top:50px
}
#page-top-bar{
    padding-right:0
}
.category-description{
    background:#f7f7f7;
    padding:40px;
    margin-top:30px
}
.category-description h2{
    font-size:28px;
    margin:20px 0 10px
}
.category-description h2:first-child{
    margin-top:0;
    font-size:32px
}
.title-bar-none .page-content{
    margin-top:20px
}
@media only screen and (min-width:769px){
    .checkout-kundeservice-mobile{
        display:none
    }
}
.fly-cart-footer,button.shipmondo-modal-close:hover{
    box-shadow:none
}
ul#shipping_method>li{
    max-width:400px
}
ul#shipping_method .shipping-name{
    width:75%;
    display:inline-block
}
@media only screen and (max-width:600px){
    ul#shipping_method .shipping-name{
        width:65%
    }
}
@media only screen and (max-width:910px) and (max-width:380px){
    ul#shipping_method .shipping-name{
        width:65%
    }
}
.shipmondo-shipping-field-wrap{
    max-width:380px;
    margin:0!important
}
tr.cart-totals-row.cart-shipping.woocommerce-shipping-totals.shipping{
    flex-direction:column
}
.cart-shipping th.cart-totals-label{
    width:100%;
    max-width:100%!important;
    margin-top:10px;
    margin-bottom:5px;
    font-weight:600
}
.minimog-product .reviews-wrap{
    margin-bottom:2px
}
.status-pulse{
    margin-left:25px
}
.status-pulse::before{
    content:'';
    width:10px;
    height:10px;
    border-radius:100%;
    position:absolute;
    background:var(--color);
    top:50%;
    left:-16px;
    animation:2s infinite pulse-red;
    transform:translateY(-40%)
}
.status-pulse.online::before{
    --color:#13c58a;
    --pulse_color:19,197,138
}
.status-pulse.offline::before{
    --color:red;
    --pulse_color:255,82,82
}
@keyframes pulse-red{
    0%{
        box-shadow:0 0 0 0 rgba(var(--pulse_color),.7)
    }
    70%{
        box-shadow:0 0 0 10px rgba(var(--pulse_color),0)
    }
    100%{
        box-shadow:0 0 0 0 rgba(var(--pulse_color),0)
    }
}
.wpclv-attributes .wpclv-attribute{
    margin-top:10px;
    margin-bottom:0
}
.wpclv-attributes .wpclv-attribute-label{
    font-weight:600
}
.wpclv-attributes .wpclv-terms .wpclv-term.active,.wpclv-attributes .wpclv-terms .wpclv-term:hover{
    border-color:var(--e-global-color-primary)
}
.woocommerce-cart .page-content .cart-goal-wrap{
    margin:-20px 0 40px!important
}
.woocommerce-review-link{
    margin-left:0!important
}
.entry-product-star-rating{
    margin-right:5px
}
.woocommerce-product-details__short-description li, .checkmark-list li{
    margin-top:0;
    list-style:none
}
.woocommerce-product-details__short-description li::before, .checkmark-list li::before{
    content:'✓';
    padding-right:8px
}
.woocommerce-product-details__short-description li.mark::before{
    content:'\21';
    width:20px;
    display:inline-block;
    text-align:center
}
.woocommerce-product-details__short-description ul, .checkmark-list{
    padding-left:0;
    margin:0
}
span.nattelyst-order-before{
    display:inline-block;
    color:var(--e-global-color-secondary)
}
@media only screen and (max-width:380px){
    .entry-product-meta-shipping{
        font-size:.9rem
    }
}
.shipmondo_select_button:hover{
    background-color:var(--e-global-color-primary)!important;
    color:#fff!important
}
.entry-content a,.external-label:hover,button.shipmondo-modal-close:hover{
    color:var(--e-global-color-secondary)
}
button.shipmondo-modal-close{
    background:0 0;
    border:none
}
.checkout-secure{
    color:#2b9922;
    margin-top:12px;
    font-size:.8rem;
    text-align:center;
    line-height:1.5
}
.checkout-secure i{
    font-size:90%;
    padding-right:2px;
    transform:translateY(-1px)
}
.checkout-secure svg {
    height: 10px;
}
.checkout-secure path {
    fill: #2b9922;
}
.narrow-page .container{
    max-width:900px
}
.tab-content-reviews .tab-content-wrapper{
    margin:auto!important
}
h6.woocommerce-review__author:not(.external)::after{
    content:' · verifierad';
    font-size:80%;
    vertical-align:revert
}
.external-label{
    font-size:80%;
    vertical-align:revert;
    cursor:pointer;
    margin-right:5px
}
.calio-bundlerev-from{
    flex-basis:100%;
    font-size:80%;
    opacity:.75;
    margin-top:2px
}
.review-rating-template-wrapper path,.reviews-wrap path,.woocommerce-product-rating path{
    fill:orange!important
}
.minimog-product .loop-product-availability.out-of-stock,.stock.out-of-stock.entry-product-stock,.stock.out-of-stock.entry-product-stock:before{
    color:#dc0000
}
img.product-pricerunner{
    position:absolute;
    z-index:2;
    bottom:25px;
    right:25px;
    width:110px
}
.product-badge-1{
    position:absolute;
    z-index:2;
    top:10px;
    left:10px;
    width:110px /* same size as .dk/.no/.fi/.de (Emil 2026-10-02) */
}
.product-badge-2{
    position:absolute;
    z-index:2;
    top:10px;
    right:10px;
    width:110px /* same size as .dk/.no/.fi/.de (Emil 2026-10-02) */
}
.product-badge-1 img,.product-badge-2 img{
    width:100%;
    height:auto;
    display:block
}
.product-shipping{
    color:#ababab;
    font-size:60%;
    flex-basis:100%;
    line-height:1.2
}
.cwginstock-subscribe-form .panel-primary{
    border-color:#eee!important;
    padding:30px!important;
    box-shadow:none!important;
    margin-top:10px!important;
    margin-bottom:-10px!important
}
.cwginstock-subscribe-form .panel-primary>.panel-heading{
    background:0 0!important;
    border:none!important;
    padding:0!important
}
.cwginstock-panel-heading h4{
    color:var(--minimog-color-heading)!important
}
.panel-heading.cwginstock-panel-heading{
    padding:0
}
.cwginstock-subscribe-form .panel-body .col-md-12{
    padding:0!important
}
.cwginstock-subscribe-form .panel-body{
    padding-bottom:0
}
.panel-heading.cwginstock-panel-heading:after{
    content:'Du får en mail, når varen kommer på lager.';
    color:var(--minimog-color-text);
    display:block;
    text-align:center
}
.entry-price-wrap .price del{
    font-size:14px!important;
    margin-right:2px
}
.insight-core-bmw li.current-cat>a,.widget_archive li.current-cat>a,.widget_categories li.current-cat>a,.widget_nav_menu li.current-cat>a,.widget_pages li.current-cat>a,.widget_product_categories li.current-cat>a{
    color:var(--minimog-color-link-hover)
}
.entry-post-feature.post-thumbnail img{
    width:100%;
    max-height:550px;
    object-fit:cover
}
.page-title-bar-fill-01 .page-title-bar-bg,.page-title-bar-fill-01 .page-title-bar-bg:before{
    background-color:rgba(25,52,92,.8)!important
}
.page-title-bar-fill-01 .page-breadcrumb{
    position:unset;
    order:2
}
body .page-header a{
    color:var(--header-link-color)
}
p#kl_newsletter_checkbox_field label{
    margin-bottom:0!important
}
#ship-to-different-address{
    font-size:1rem!important
}
div#page-title-bar{
    max-width:1410px;
    margin-left:auto;
    margin-right:auto;
    overflow:hidden;
    border-radius:12px
}
@media only screen and (max-width:1410px){
    div#page-title-bar{
        border-radius:0
    }
}
@media only screen and (max-width:767px){
    body.single-product div#page-title-bar{
        display:none
    }
}
.woocommerce-product-details__short-description p{
    margin-bottom:.5em
}
.wp-block-heading{
    margin-top:40px
}

.single-post.page-has-no-sidebar .entry-wrapper {
    max-width: 700px;
}
body.single-post .entry-content a:not(:has(img)):not(.elementor-button) {
    color: var(--minimog-color-link) !important;
    border-bottom: 3px solid var(--e-global-color-secondary);
}
div#ez-toc-container{
    border:none;
    border-radius:8px;
    padding: 15px 30px !important;
    box-shadow:none;
    width: 100%;
}
#ez-toc-container .ez-toc-js-icon-con {
    border: none;
}
@media only screen and (max-width:768px){
    .checkout-kundeservice-desktop,.hide-mobile{
        display:none
    }
    .branding__logo img{
        max-height:45px;
        width:auto
    }
    .page-header-inner{
        padding:12px 0
    }
    .category-description{
        padding:40px 15px
    }
    .checkout-kundeservice-mobile{
        margin-top:30px
    }
    .cart_totals,.woocommerce-order-details{
        width:100%!important;
        box-shadow:none!important;
        padding:0!important
    }
    .title-bar-none .page-content{
        margin-top:10px
    }
    .page-title-bar-fill-01 .page-title-bar-content{
        min-height:unset!important
    }
    div#ez-toc-container{
        padding:30px!important
    }
}
.ez-toc-title{
    font-weight:700!important;
    font-size:18px!important
}
ul.ez-toc-list{
    margin-top:5px!important
}
ul.ez-toc-list>li{
    margin-bottom:3px!important
}
.ez-toc-counter nav ul li a::before{
    opacity:.6;
    width:20px
}
#ez-toc-container a,#ez-toc-container a:visited{
    color:#19345c !important
}
.entry-price-wrap{
    margin-bottom:7px!important
}
@media only screen and (min-width:768px){
    .hide-desktop{
        display:none
    }
    .entry-price-wrap .price{
        flex-wrap:nowrap!important
    }
    .blog-side-image{
        margin:0!important
    }
}
.entry-post-meta .post-date{
    color:unset
}
.entry-post-feature.post-thumbnail{
    max-width:700px;
    margin-left:auto;
    margin-right:auto
}
/* .wpg-linkify::after {
     content: "\f059";
     font-family: 'Font Awesome 6 Free';
     margin-left: 2px;
     font-size: 75%;
     vertical-align: bottom;
}*/
 .woocommerce-cart .viabill-pricetag {
     display: none !important;
}
/*.elementor-widget-container:has(table) {
     overflow-x: auto;
}
*/
 .single-product .entry-summary form.cart .variations td, .single-product .entry-summary form.cart .variations td.label {
     padding: 0 !important;
}
 .payment_method_lunar span.payment-title-icon img {
     padding: 4px;
}
 span.awdr_free_product_text {
     background-color: unset;
     padding: 0;
     color: var(--minimog-color-link);
}
 .awdr_free_product_text .fly-cart-content .cart-goal-text {
     text-align: center;
}
 .reset_variations {
     display: none !important;
}
 /*.fly-cart-footer {
     padding-top: 20px !important;
}*/
 @media only screen and (max-width: 768px) {
     .topbar-wrap {
         justify-content: center;
    }
}
/*.fly-cart-body {
     height: unset !important;
}
*/
 .cart-totals-table tr.cart-totals-row.cart-shipping.woocommerce-shipping-totals.shipping .cart-totals-label {
     display: none;
}
 .cart-totals-table .shipping_method {
     margin-top: 10px !important;
}
 @-webkit-keyframes nat_bounce {
     0%, 5%, 12.5%, 20%, 25% {
        -webkit-transform: translateY(0);
    }
     10% {
        -webkit-transform: translateY(-16px);
    }
     15% {
        -webkit-transform: translateY(-3px);
    }
}
 @keyframes nat_bounce {
     0%, 5%, 12.5%, 20%, 25% {
        transform: translateY(0);
    }
     10% {
        transform: translateY(-16px);
    }
     15% {
        transform: translateY(-3px);
    }
}
 .fly-cart-header .cart-goal:not(.shakeY) .cart-goal-text {
     -webkit-animation-name: nat_bounce;
     animation-name: nat_bounce;
     -webkit-animation-duration: 3s;
     animation-duration: 3s;
     animation-delay: 0s;
     animation-iteration-count: infinite;
}


 .woocommerce-mini-cart__buttons.buttons {
     display: flex;
}
 a.button.checkout.wc-forward.wp-element-button {
     order: 2;
     flex-basis: 80%;
}
.fly-cart-footer a.view-cart {
    flex-basis: 40%;
    margin: 0;
    background-color: transparent;
    border-color: var(--minimog-color-button-text);
    padding: 0;
}

.fly-cart-footer a.view-cart:hover {
    background-color: var(--minimog-color-button-text);
    color: #fff;
}

.fly-cart-footer .button.checkout {
    flex-basis: 60%;
    margin-left: 10px;
}

@media only screen and (max-width: 768px) {
    .fly-cart-footer a.view-cart,
    .fly-cart-footer .button.checkout
    {
        flex-basis: 100%;
    }
    .fly-cart-footer .button.checkout {
        flex-basis: 100%;
    margin: 0
    }
    .fly-cart-footer .buttons {
        flex-wrap: wrap;
    }

} 


 .fly-cart-header {
     padding: 10px 20px 20px 20px;
}

 li[item-id="7842"] .quantity {
     display: none;
}

 .slik {
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     align-items: center;
}
 .slik-left {
     flex-basis: 60%;
}
 .slik-right {
     flex-basis: 25%;
     margin-right: 5%;
}
 .slik-left, .slik-right {
     margin-bottom: 30px;
}
 .xlwcty_textBox {
     padding: 30px 50px !important;
}
 @media only screen and (max-width: 768px) {
     .xlwcty_textBox {
         padding: 30px !important;
    }
}
 .status-hide {
     display: none;
}
 .woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout {
     position: relative;
     width: 100%;
     border: 0;
     color: var(--minimog-color-heading);
     background: #f7f7f7;
     margin-bottom: 30px!important;
     padding: 1em 2em 1em 2em;
     list-style: none outside;
     word-wrap: break-word;
     border-left: 5px solid #19345C;
}
 [data-elementor-type="product-post"] {
     margin: -15px;
}
.tab-content-wrapper [data-elementor-type="product-post"] {
    margin: -15px -15px 0 -15px;
}
 @media only screen and (max-width: 768px) {
     /* The price takes only the room it needs. A fixed basis reserved far more width than the
        price renders at, which left too little for the review link beside it. */
     .summary .price {
         flex-basis: auto;
         margin-right: 10px;
    }
     /* The tax suffix ("inkl. MwSt.", "sis. alv.") sits beside the amount by default, which makes
        the price block ~155px wide. Price 155 + review link 208 does not fit the 345px summary
        column, so the stars dropped to their own line. Stacking the suffix under the amount takes
        the price block to ~91px and both fit. The .price element is a flex container, so the
        suffix has to leave flex layout for the block to stack at all.
        NB: a simple product nests .price inside .price, a variable one has a single .price — so
        this deliberately matches any depth. Checked against both, and against a sale price with a
        struck-out <del>, where it changes nothing. */
     .entry-price-wrap .price {
         display: block;
    }
     .entry-price-wrap .woocommerce-price-suffix {
         display: block;
         margin-left: 0;
    }
     .cwginstock-subscribe-form .panel {
         margin: 0 -0.9375rem;
         border-right: none;
         border-left: none;
         border-radius: 0px;
         padding: 25px 15px 15px 15px !important;
    }
     .entry-price-wrap {
         --price-font-size: 22px !important;
    }
     .page-scroll-up {
         display: none !important;
    }
     /*.woocommerce-product-gallery__image img {
         aspect-ratio: 1 / 1;
         object-fit: cover;
    }*/
}
 .entry-price-wrap > .price > .price {
     flex-basis: 100%;
}

/* "Fra"/"Von" + amount on one baseline: Minimog sets the amount to inline-block + vertical-align:middle,
   which sits it ~3px lower than the prefix once mobile turns .price into a block. Emil 2026-10-03 */
.entry-price-wrap .price .woocommerce-Price-amount {
    vertical-align: baseline;
}

 .wpclv-term {
     padding: 0 !important;
     border: none !important;
     margin: 10px 10px 0 0 !important;
     height: unset !important;
}
 .wpclv-attributes .wpclv-terms .wpclv-term span, .wpclv-attributes .wpclv-terms .wpclv-term a {
     background: none;
     border: 1px solid #eee;
     text-transform: uppercase;
     font-size: 13px !important;
     font-weight: 660;
}

.wpclv-term-image.wpclv-term.hint--top.active span,
.wpclv-term-image.wpclv-term.hint--top.active img {
    border-radius: 4px;
}

 .wpclv-term.hint--top.active span {
     border-color: #19345C;
}
 .wpclv-term a:hover {
     color: inherit !important;
     border-color: #19345C !important;
}
.wpclv-term.outofstock a {
    color: #989898 !important;
}
.wpclv-term.outofstock a:hover {
    border: 1px solid #eee !important;
}
/*.woocommerce-checkout .woocommerce-Price-amount.amount .woocommerce-Price-currencySymbol {
    display: none;
}

.woocommerce-checkout .woocommerce-Price-amount.amount:after {
    content: 'DKK';
}*/

.blog-oss {
    background-color: #f9f9f9;
    padding: 0 40px 40px 40px;
}

@media only screen and (max-width: 768px) {
    .blog-oss {
        padding: 0 20px 20px 20px;
    }
}

@media only screen and (min-width: 769px) {
    .blog-image figure {
        margin: 0 0 0 45px !important;
    }
}

@media only screen and (max-width: 768px) {
    .blog-image figure {
        margin: 1em 0;
    }

}

.wpclv-term.long:after {
    width: 200px;
    white-space: normal;
    line-height: 1.15;
}

.fly-cart-body {
    height: 10px !important;
}

/* 
Woocommerce Bundles Styling by Jonathan
*/

/*.woosb-products::before {
    content: "Inkluderet:";
    display: block;
    font-size: 1em;
    font-weight: bold;
    color: #1a3d6f;
    padding-top: 3px;
    padding-left: 5px;
    padding-bottom: 1px;
}


.woosb-products.woosb-products-layout-list {
    padding: 5px 5px 8px 5px;
    border: 1.5px solid #e3e3e3;
    border-radius: 8px;
}

.woosb-products .woosb-product {
    border-bottom: none!important;
    padding: 5px 0!important;
}

.woosb-products .woosb-product .woosb-thumb {
    width: 70px;
    flex: 0 0 70px;
}*/

img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
    border-radius: 6px;
}

/* 
Woocommerce Bundles Styling by Jonathan
*/


/*.woocommerce form .form-row {
    margin-bottom: 15px !important;
}

.woocommerce form .form-row label {
    margin-bottom: 5px !important;
}
.form-coupon .form-row {
    margin-bottom: 10px !important;
}

.woosb-product-info {
    display: flex;
    align-items: center;
}*/


.woocommerce-cart .wt_coupon_wrapper {
    display: none;
}
.woocommerce-cart #page-breadcrumb {
    display: none;
}
.woocommerce-cart .page-title-bar-content {
    padding: 10px 0 20px 0;
}
/* ============================================================
   Cart page — the cart line
   Markup: woocommerce/cart/cart-content.php, rebuilt 2026-09-22. Minimog's four-column table is
   gone; each line is a plain row separated by a hairline. No card background: the fly-cart's
   cards work because that panel is narrow and tinted, while the cart page is a wide white column
   where a tinted card just looks like a stray box.

   The two amounts are the point of the layout. The line total sits top right, on the title's
   line, where the eye lands; the unit price sits under the title as supporting text and spells
   out the arithmetic above one unit ("3 x 289 kr"), so it is obvious which number is which.
   ============================================================ */
.calio-cart-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 0;
    border-bottom: 1px solid #e8ebf0;
}
.calio-cart-item:first-child {
    border-top: 1px solid #e8ebf0;
}

.calio-cart-item__media {
    flex: 0 0 auto;
    width: 64px;
}
.calio-cart-item__media a,
.calio-cart-item__media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}

/* min-width:0 is what lets a long product name wrap instead of stretching the row and pushing
   the line total off the edge — the usual flex-item overflow trap. */
.calio-cart-item__body {
    flex: 1 1 auto;
    min-width: 0;
}

.calio-cart-item__title {
    margin: 0 0 3px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}
.calio-cart-item__title a {
    color: inherit;
    text-decoration: none;
}

.calio-cart-item__meta {
    font-size: 13px;
    line-height: 1.4;
    opacity: .65;
}
.calio-cart-item__meta p,
.calio-cart-item__meta dl,
.calio-cart-item__meta dd {
    margin: 0;
}

/* Supporting text, one step below the title, so the total is the only amount competing with the
   product name. */
.calio-cart-item__price {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    opacity: .7;
}
/* The theme renders .woocommerce-Price-amount at 16px, so the amount ignored the 14px above and
   only the struck-out "before" price came out at 14. Both belong at 14. */
.calio-cart-item__price .woocommerce-Price-amount,
.calio-cart-item__price .woocommerce-Price-amount * {
    font-size: 14px;
}
.calio-cart-item__price del {
    margin-right: 4px;
    opacity: .6;
}
.calio-cart-item__price ins {
    text-decoration: none;
}

.calio-cart-item__actions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 10px;
}
.calio-cart-item__qty {
    flex: 0 0 auto;
}
.calio-cart-item__qty:empty {
    display: none;
}

/* The theme's stepper is built for a product page: 120px wide with a 16px input, which on a cart
   line is the loudest thing on the row. 90x34 is close to the fly-cart's own 90x30, with a
   little more height left for the tap target. Three things have to give at once: the box and the
   input narrow together (the minus and plus are positioned against the box's edges, so narrowing
   one alone leaves the plus hanging outside), and the height needs min-height as well — that is
   what was holding the input at 40px. The long selector is what it takes to outrank the theme. */
.woocommerce-cart .calio-cart-item__qty .quantity-button-wrapper .quantity,
.woocommerce-cart .calio-cart-item__qty .quantity-button-wrapper .quantity input.qty {
    width: 90px;
}
.woocommerce-cart .calio-cart-item__qty .quantity-button-wrapper .quantity input.qty {
    height: 34px;
    min-height: 34px;
    font-size: 14px;
}
.woocommerce-cart .calio-cart-item__qty .quantity-button-wrapper .quantity .decrease,
.woocommerce-cart .calio-cart-item__qty .quantity-button-wrapper .quantity .increase {
    height: 34px;
}

.calio-cart-item .remove.btn-remove-from-cart {
    flex: 0 0 auto;
    font-size: 11px;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #c4585e;
}

/* Bundle in the cart: the bundled products sit tight under the bundle as one group, no line
   between them, small thumbnails like the gift lines; the group ends with the usual line.
   Classes from WPC Product Bundles (woosb-item-parent / woosb-item-child). Emil 2026-10-03 */
.calio-cart-item.woosb-item-parent:has(+ .woosb-item-child),
.calio-cart-item.woosb-item-child:has(+ .woosb-item-child) {
    border-bottom: 0;
}
.calio-cart-item.woosb-item-parent:has(+ .woosb-item-child) {
    padding-bottom: 8px;
}
.calio-cart-item.woosb-item-child {
    padding-top: 6px;
    padding-bottom: 6px;
}
.calio-cart-item.woosb-item-child:not(:has(+ .woosb-item-child)) {
    padding-bottom: 16px;
}
.calio-cart-item.woosb-item-child .calio-cart-item__media {
    width: 52px;
}
.calio-cart-item.woosb-item-child .calio-cart-item__title {
    font-size: 14px;
}
/* Same grouping in the checkout's order summary (Minimog flex rows with a top border). */
.wc-checkout-review-order-table tr.woosb-item-parent:has(+ tr.woosb-item-child),
.wc-checkout-review-order-table tr.woosb-item-child:has(+ tr.woosb-item-child) {
    padding-bottom: 4px;
}
.wc-checkout-review-order-table tr.woosb-item-child {
    border-top: 0;
    padding-top: 4px;
}
.wc-checkout-review-order-table tr.woosb-item-child .product-thumbnail {
    width: 45px;
}
.wc-checkout-review-order-table tr.woosb-item-child .product-name {
    font-size: 14px;
    line-height: 20px;
}

.calio-cart-item__total {
    flex: 0 0 auto;
    align-self: flex-start;
    padding-left: 12px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
    text-align: right;
}

/* A gift line has no stepper and no remove link, so the template leaves its action row out. */
.calio-cart-item.calio-gift-line .calio-cart-item__media {
    width: 52px;
}

@media only screen and (min-width: 768px) {
    .calio-cart-item {
        gap: 16px;
        padding: 18px 0;
    }
    .calio-cart-item__media {
        width: 76px;
    }
    .calio-cart-item__title {
        font-size: 16px;
    }
    .calio-cart-item__total {
        font-size: 16px;
    }
}
.cart_totals {
    box-shadow: none !important;
    width: 100% !important;
    padding: 0 !important;
}
.woocommerce-cart tr.cart-totals-row.order-total {
    display: none;
}
tr.cart-totals-row.cart-subtotal .amount {
    font-size: 26px;
}
.cart-footer-actions {
    display: block !important;
    margin: 25px 0 25px 5% !important;
}
.woocommerce-cart form.form-coupon {
    display: flex;
    flex-wrap: wrap;
    max-width: 400px;
}
.cart-collaterals {
    margin-top: 0 !important
}
.wc-proceed-to-checkout {
    margin-top: 0 !important;
    padding: 10px 20px 20px 20px;
    background-color: #f6f6f6;
    border-radius: 0 0 8px 8px;
}
/*form.form-coupon > .form-row {
    margin-right: 10px;
}*/
input#coupon_code {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: none;
    font-size: 14px;
    height: unset !important;
    min-height: unset !important;
    padding: 1.5px 20px;
    width: 180px;
}
.woocommerce-cart button[name="apply_coupon"] {
    background-color: transparent;
    color: var( --e-global-color-primary );
    border-color: var( --e-global-color-primary );
    border-top-left-radius: 0;
    border-bottom-left-radius: 0px;
    font-size: 12px;
    padding: 20px;
    line-height: 0;
    height: unset;
}
.cart-totals-table {
    background-color: #f6f6f6;
    padding: 0 0 15px 0;
    border-radius: 8px 8px 0 0;
}
.woocommerce-cart .cart-totals-table {
    padding: 15px 20px 5px 20px;
}
.cart-totals-table tfoot {
    text-align: right;
}

th.cart-totals-label {
    padding: 0 8px 3px 0 !important;
}

/* Coupon row in the totals table — let the label use the whole width.
   The theme caps .cart-totals-label at max-width:50%, which is right for "Subtotal" but not for
   "Rabatkupon: cap-37pygf": the code wrapped onto two or three lines with an empty half beside
   it, worst on a phone. Taking this one row out of the table layout (display:flex) lets the
   label run the full width and leaves every other totals row on its own two columns, untouched —
   verified: subtotal, shipping and order-total keep the exact widths they had.
   Scoped to .cart-discount, so it covers the coupon row on both the cart page and the checkout. */
tr.cart-totals-row.cart-discount {
    display: flex;
    align-items: baseline;
    gap: 12px;
    width: 100%;
}
tr.cart-totals-row.cart-discount > .cart-totals-label {
    display: block;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    max-width: none;
}
tr.cart-totals-row.cart-discount > .cart-totals-value {
    display: block;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    text-align: right;
}
.cart-footer-actions .modal-title {
    margin-bottom: 20px 0 0 0 !important;
}
.wc-proceed-to-checkout {
    display: flex;
    justify-content: space-between;
}
.woocommerce-cart .checkout-button {
    max-width: 300px !important;
}
.shop-videre {
    background-color: transparent !important;
    color: var( --e-global-color-primary ) !important;
    border-color: var( --e-global-color-primary ) !important;
}
.shop-videre:hover {
    color: #fff !important;
    background-color: var( --e-global-color-primary ) !important;
}

@media only screen and (max-width: 768px) {
    .shop-videre {
        flex-basis: 100%;
        order: 1;
        margin-top: 10px;

    }
    body.woocommerce-cart .checkout-button {
        max-width: unset !important;
        flex-basis: 100%;

    }
    .wc-proceed-to-checkout {
        flex-wrap: wrap;
    }
}


.product-wrapper.quick-view-btn {
    cursor: pointer;
}

.offer-products .product-thumbnail {
    border-radius: 4px;
    overflow: hidden;
}

.remove-product .product-wrapper .product-thumbnail,
.product-wrapper.quick-view-btn.loading,
.remove-product .product-wrapper .product-info > *:not(button) {
    opacity: 0.6 !important
}



/*.remove-product .product-thumbnail:before {
    content: '';
    background-color: #000000c2;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 50px;
    z-index: 1;
}*/

/*body .popup-fly-cart>.inner {
    left: 50%;
    transform: translate(-50%, -50%) !important;
    height: unset;
    min-height: unset;
    top: 25%;
    float: unset;
    border-radius: 4px;
    overflow: hidden;
}

.fly-cart-footer {
    margin-top: 0px !important;
}

.fly-cart-body {
    height: unset !important;
    max-height: 320px;
}

.fly-cart-content .product-thumbnail img {
    aspect-ratio: 1 / 1.1;
    object-fit: cover;
}

.fly-cart-footer tr.cart-totals-row.cart-subtotal .cart-totals-label {
    padding-bottom: 0 !important;
}*/

.offer-products .product-wrapper .woocommerce-loop-product__title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block !important;
}

.upsell-image-percentage {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: var(--e-global-color-secondary);
    border-radius: 100%;
    line-height: 1.1;
    font-size: 15px;
    font-weight: bold;
    height: 45px;
    width: 45px;
    display: grid;
    place-items: center;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

body:not(.test-css-13383-2) .offer-products:not(.hasUpsells) .product-wrapper {
    opacity: 0;
    animation: fadeIn 0.35s ease-in forwards;
    animation-delay: var(--delay, 0s);
}

.woocommerce-checkout tr.cart-footer-actions-row {
    display: none;
}

.woocommerce-checkout .cart-discount a {
    display: none;
}

.cart-item-label-mobile {
    display: none !important;
}

@media only screen and (max-width: 768px) {
    .fly-cart-footer a.view-cart {
        order: 1;
        margin: 10px 0 0 0;
    }
}

@media only screen and (max-width: 1000px) {
    .offer-products {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-column-gap: 20px;
        grid-row-gap: 20px;
    }
}




@media only screen and (max-width: 768px) {
    .entry-product-quantity-wrapper {
        flex-direction: column;
    }
    
    .entry-product-quantity-wrapper .quantity-button-wrapper {
        margin: 10px 0 5px 0 !important;
        order: 2;
        width: 100%;
    }
    
    .entry-product-quantity-wrapper .quantity-button-wrapper .quantity {
        width: 100%;
    }
    
    .entry-product-quantity-wrapper .button {
        width: 100% !important;
        margin: 0;
        height: 55px;
    }
    
    .woobt-block-content {
        padding-top: 10px !important;
    }

}


.custom-error {
    color: #d9534f;
}

.woocommerce-terms-and-conditions-checkbox-text {
    font-size: 16px !important;
}

.custom-error.terms {
    margin-top: -20px;
    margin-bottom: 20px;
}

.custom-error.shop {
    margin-top: -5px;
    margin-bottom: 5px;
}

.autocomplete-container {
    /* relative position for at de absolut positionerede forslag får korrekt placering.*/
    position: relative;
    width: 100%;
    max-width: 30em;
}

.autocomplete-container input {
    /* Både input og forslag får samme bredde som omkringliggende DIV */
    width: 100%;
    box-sizing: border-box;
}

.dawa-autocomplete-suggestions {
    margin: 0.3em 0 0 0;
    padding: 0;
    text-align: left;
    border-radius: 0.3125em;
    background: #fcfcfc;
    box-shadow: 0 0.0625em 0.15625em rgba(0,0,0,.15);
    position: absolute;
    left: 0;
    right: 0;
    z-index: 9999;
    overflow-y: auto;
    box-sizing: border-box;
}

.dawa-autocomplete-suggestions .dawa-autocomplete-suggestion {
    margin: 0;
    list-style: none;
    cursor: pointer;
    padding: 0.4em 0.6em;
    color: #333;
    border: 0.0625em solid #ddd;
    border-bottom-width: 0;
}

.dawa-autocomplete-suggestions .dawa-autocomplete-suggestion:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
}

.dawa-autocomplete-suggestions .dawa-autocomplete-suggestion:last-child {
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
    border-bottom-width: 0.0625em;
}

.dawa-autocomplete-suggestions .dawa-autocomplete-suggestion.dawa-selected,
.dawa-autocomplete-suggestions .dawa-autocomplete-suggestion:hover {
    background: #f0f0f0;
}

.single-product .entry-summary form.cart .variations td.label {
    min-width: 150px!important;
}

.calio-cart-item[data-product-id="36838"] .calio-cart-item__qty:not(:empty):after {
    content: ' stk.';
}


/*.woocommerce-cart-form__cart-item[product-id="36838"] .increase,
.woocommerce-cart-form__cart-item[product-id="36838"] .decrease
{
    display: none;
}

.woocommerce-cart-form__cart-item[product-id="36838"] .quantity input {
    border: none;
}*/


.cl-usp-box .elementor-icon-box-wrapper {
    align-content: center !important;
    align-items: center !important;
}


.hidecheckmark *::before {
  display: none !important;
}


/* Product badges side by side (e.g. "98%" and "Populær" on one line) instead of Minimog's column;
   they wrap if a card is too narrow. Emil 2026-10-03. */
.woocommerce .product .product-badges {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
	max-width: calc(100% - 30px);
}
.woocommerce .product .product-badges > div {
	margin: 0;
}
/* Round menu badges above the label's top-right corner (Emil 2026-10-03): gift emoji on Gaveideer,
   "%" on Bundles, both on a light grey circle. Classes giftbadgemenu / bundlebadgemenu are set on the menu items. */
.giftbadgemenu .menu-item-wrap,
.bundlebadgemenu .menu-item-wrap {
	position: relative;
}
.giftbadgemenu .menu-item-wrap::before,
.bundlebadgemenu .menu-item-wrap::before {
	content: "\1F381";
	position: absolute;
	top: -14px;
	right: -22px;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #ececec;
	color: #19345c;
	border-radius: 50%;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
}
.giftbadgemenu .menu-item-wrap::before {
	font-size: 12px; /* The emoji is small at 10px on the grey circle. */
}
.bundlebadgemenu .menu-item-wrap::before {
	content: "%";
	font-size: 11px;
}
/* Header changes (Emil 2026-10-03). Account icon hidden on all devices. */
.page-header .header-login-link {
	display: none !important;
}
@media (max-width: 767px) {
	/* Header bottom border. */
	.page-header-inner {
		border-bottom: 1px solid #e6e6e6;
	}
	/* Logo centred in the header (relative to .page-header-inner, full width). */
	.page-header .branding {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		padding: 0;
	}
	/* Bigger "MENU" button: icon and label. */
	.page-header .page-open-mobile-menu .icon svg {
		width: 25px;
		height: 25px;
	}
	.page-header #page-open-mobile-menu .icon::after {
		font-size: 18px;
		padding-left: 6px;
	}
	/* Smaller logo, centred inside its (wider) lazy-image wrapper. */
	.page-header .branding__logo img {
		max-height: 42px;
		margin-left: auto;
		margin-right: auto;
	}
	/* Search + cart: bigger icons, more space, small label under each (text = the link's aria-label,
	   shown through the theme's hint tooltip pseudo-element instead of as a hover tooltip). */
	.page-header a.page-open-popup-search,
	.page-header a.mini-cart__button {
		flex-direction: column;
		align-items: center;
		padding: 0 11px;
	}
	/* Cart closer to the right edge: the theme gives the last badge item margin-right 15px; 12px keeps the cart count bubble 6px inside the screen edge (4px clipped it by 2px). */
	.page-header .header-col-end > .header-content-inner > a.mini-cart__button {
		padding-right: 2px;
		margin-right: 12px;
	}
	.page-header a.page-open-popup-search .icon svg,
	.page-header a.mini-cart__button .icon svg {
		width: 27px;
		height: 27px;
	}
	.page-header a.page-open-popup-search::before,
	.page-header a.mini-cart__button::before {
		display: none !important;
	}
	.page-header a.page-open-popup-search::after,
	.page-header a.mini-cart__button::after {
		position: static !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
		background: none !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 3px 0 0 !important;
		color: var(--e-global-color-primary, #19345c) !important;
		font-size: 11px !important;
		line-height: 1 !important;
		text-shadow: none !important;
		white-space: nowrap;
	}
	/* Product pages have no title bar on mobile: space under the header. */
	body.single-product #page-content {
		margin-top: 12px;
	}
}

.sticky-product-bar-showing .wof-widget {
    bottom: 110px !important;
}

@media only screen and (max-width: 768px) {
    .sticky-product-bar-showing .wof-widget {
        bottom: 83px !important;
    }
    
    .sticky-product-bar-showing .emaerket-widget-hide-print {
        bottom: 85px !important;
    }
    
    .wof-widget.wof-widget-right.wof-visible {
        bottom: 5px;
        right: 5px;
    }
    
    .emaerket-widget-hide-print {
        transition: all .25s;
    }
}




		
		.woocommerce-cart .product-price,
		.woocommerce-cart .subscription-price
		{
			white-space: nowrap !important;
		}
		
		.tab-buttons {
			display: flex;
		}
		
.custom-purchase-tabs {
    border: 1px solid #19345c5c;
    border-radius: 8px;
    margin-bottom: 20px;
	overflow: hidden;
}
		
.tab-button {
    flex-basis: 50%;
    text-align: center;
    padding: 15px;
	cursor: pointer;
	display: flex;
    align-items: center;
    justify-content: center;
	font-weight: 600;
	border-bottom: 1px solid #fff;
}
		
.tab-content {
    padding: 20px;
}

@media only screen and (max-width: 768px) {
    .tab-content {
        padding: 20px 10px;
    }
}


		
.tab-button.active[data-tab="single"] {
    border-right: 1px solid #19345c5c;
}
		
.tab-button.active[data-tab="subscription"] {
    border-left: 1px solid #19345c5c;
}
		
.tab-button:not(.active) {
    border-bottom: 1px solid #19345c5c;
    background-color: #f9f9f9;
}
		
		
.subscription-content {
    display: flex;
}

span.subscription-price .amount {
    margin-right: 5px;
}
		
.subscription-image {
    flex-basis: 25%;
    margin-right: 30px;
}

@media (max-width: 767px) {
    body.woocommerce-account table.shop_table td {
        padding: 10px !important;
    }
    
    .woocommerce-account table.shop_table tr > *:first-child {
        text-align: left;
        font-weight: 700;
    }
    
    table.shop_table.subscription_details tr > td:last-child {
        padding-bottom: 20px;
        border-top: unset;
    }
    
    table.shop_table.subscription_details .woocommerce-button {
        max-width: unset;
    }
    
}

@media only screen and (max-width: 375px) {
    .tab-best-value, .wpcpq-item-text {
        display: none !important;
    }
}

.woocommerce-account section.woocommerce-order-details header > h2 {
    font-size: 24px;
    margin-top: 30px;
    margin-bottom: 0;
}

.woocommerce-view-subscription.woocommerce-account .minimog-wc-account-content h2 {
    font-size: 24px;
    margin-top: 30px;
    margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
    .subscription-image {
    flex-basis: 15%;
    margin-right: 15px;
}
}

span.subscription-price-inner, span.subscription-price-inner .amount {
    color: #0A6DFF;
    font-weight: 600;
    margin-left: 3px;
}

.subscription-price {
    display: flex;
    align-items: center;
}

.subscription-usp {
    display: flex;
    align-items: center;
    margin: 4px 0;
}

.fly-cart-body .subscription-usps {
    margin-left: -10px;
}

.fly-cart-body .subscription-usp {
    font-size: 90%;
    margin: 0;
}

@media only screen and (max-width: 768px) {
    .woocommerce-cart tr.cart-subtotal.recurring-total th {
        max-width: 50% !important;
    }
}

.subscription-usp-text {
    margin-left: 5px;
}

@media only screen and (max-width: 768px) {
    .subscription-usps {
        margin: 5px 0;
    }
    .subscription-usp-text {
        font-size: 90%;
    }
    .subscription-usp {
        margin: 0;
    }
    .subscription-right h6 {
        font-size: 18px !important;
    }
}

.subscription-lowest-price {
    color: #fff;
    background-color: var(--minimog-color-heading);
    border-radius: 4px;
    text-transform: uppercase;
    font-weight: 600;
    padding: 4px 5px;
    font-size: 60%;
    margin-left: 10px;
    line-height: 1.25;
}

span.subscription-price-inner .amount {
    font-size: 120%;
}
		
.subscription-right h6 {
    margin-bottom: 5px;
    font-size: 20px;
}
		
.subscription-image img {
    border-radius: 4px;
}
		
[aria-label*="Abonnement"] ~ .quantity {
  display: none;
}
		
		.fly-cart-wrap .shipping.recurring-total,
		.woocommerce-cart .shipping.recurring-total
		{
			display: none;
		}
		.fly-cart-wrap tr.order-total.recurring-total,
		.woocommerce-cart tr.order-total.recurring-total
		{
			display: none;
		}
		.fly-cart-wrap tr.recurring-totals,
		.woocommerce-cart tr.recurring-totals
		{
			display: none;
		}
		
		.woocommerce-checkout tr.cart-subtotal.recurring-total,
		.woocommerce-checkout .recurring-totals
		{
			display: none;
		}
		
		.woocommerce-checkout tr.order-total.recurring-total .includes_tax {
			display: none;
		}
		
		.woocommerce-cart .cart-totals-label {
			flex-basis: 80%;
			text-align: right;
			max-width: unset;
			padding-right: 0 !important;
			font-weight: 600;
		}
		
@media (max-width: 980px) {
	.woocommerce-cart .cart-totals-label {
		flex-basis: 50%;
		text-align: left;
		max-width: 100%;
		padding-right: 10px !important;
		font-weight: 600;
	}
}

		
		body.woocommerce-cart tr.cart-subtotal.recurring-total > th {
			text-align: right;
			flex-basis: 80%;
			max-width: unset;
			font-weight: 600;
		}
		
		body.woocommerce-cart tr.cart-totals-row.cart-subtotal {
			width: 100%;
		}
		
.tab-button span.tab-marker {
    padding: 2px;
    border: 1px solid #ccd2e3;
    height: 21px;
    width: 21px;
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    margin-right: 8px;
}
		
.tab-button span.tab-marker:before {
    content: "";
    display: block;
    height: 13px;
    width: 13px;
    background: #fff;
    border-radius: 20px;
}
		
.tab-button.active span.tab-marker:before {
    background: var( --e-global-color-secondary );
}

.tab-title-outer-wrap {
    display: flex;
}

.tab-top {
    display: flex;
    align-items: center;
}

.tab-best-value {
    max-width: 85px;
    display: flex;
    background: linear-gradient(90deg, #80A0CF 0%, #0A6DFF 100%);
    border-radius: 4px;
    color: #fff;
    padding: 5px 10px;
    align-items: center;
    margin-left: 10px;
}

.tab-free-shipping {
    display: flex;
    color: #2F7DF0;
    font-size: 12px;
    margin-left: 24px;
    margin-top: -8px;
}

span.tab-free-shipping-title {
    font-size: 0.7rem;
}

.tab-free-shipping img {
    margin-right: 3px;
}

.best-value-title {
    font-size: 0.6rem;
    line-height: 1.2;
    text-align: left;
}

.tab-best-value img {
    height: 20px !important;
    width: 20px !important;
    margin-right: 6px;
}

@media only screen and (max-width: 1120px) and (min-width: 769px) {
    .tab-best-value img {
        display: none;
    }
}

/* Mobile tab tweaks (calio) */
@media only screen and (max-width: 768px) {
    .tab-button {
        padding: 15px 5px;
    }
    .tab-best-value {
        display: none !important;
    }
}

/*.tab-button.active .custom-tab-title {
    border-bottom: 2px solid;
}*/

.custom-tab-title {
    line-height: 1.3;
}


.woobt-body {
    border: none!important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
}

.woobt-layout-default .woobt-products>.woobt-product {
    border: none!important;
}

.entry-summary .woobt-products {
    border: none!important;
}

h6.woobt-block-heading {
    display: none;
}

.woobt-summary {
    display: none;
}

.woobt-thumb img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.woobt-product {
    /*padding-top: 0 !important;
    padding-bottom: 0 !important;*/
    min-height: 0 !important;
}

.woobt-total .amount{
    color:var(--minimog-color-heading)
}

.woobt-wrap{
    margin-top:0 !important
}
.woobt-product .woobt-product-info{
    display:flex;
    flex-direction:column;
    justify-content:center
}
.woobt-product select {
    width: auto;
    border: 0;
    box-shadow: none !important;
    min-height: 26px;
    line-height: 28px;
    padding: 0 15px 0 0;
    background-position: 100% 50%;
    color: var(--minimog-color-text);
}
.woobt-product .woobt-title .variation .label {
    display: none;
}



/*Smart bundle css styling*/

.woosb-wrap.woosb-bundled {
    border: none;
    border-top: 1px solid #eee !important;
    border-bottom: 1px solid #eee !important;
    border-radius: 0px;
    padding: 0;
}

/* Bundle row: title with the size selector (and size hint) under it on the left, price on the right,
   both vertically centred on the image. Emil 2026-10-02 */
.woosb-products .woosb-product {
    align-items: center;
}

.woosb-products .woosb-product .woosb-product-info {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 12px;
    align-items: center;
}

.woosb-products .woosb-product .woosb-product-main-info {
    display: contents;
}

.woosb-products .woosb-product .woosb-title-wrap {
    grid-column: 1;
    grid-row: 1;
}

.woosb-products .woosb-product .woosb-product-cart {
    grid-column: 1;
    grid-row: 2;
    margin-top: 4px;
}

/* Bundle list: show only the one-off price for a product that also sells on subscription
   (hides "— eller 149 kr varje 3 månader" under Nässtrips). Emil 2026-10-03 */
.woosb-products .woosb-price .wcsatt-sub-options {
    display: none;
}

/* Size hint: own full-width line under the whole row (image included) */
.woosb-products .woosb-product:has(> .calio-woosb-hint) {
    flex-wrap: wrap;
}

.calio-woosb-hint {
    flex: 0 0 100%;
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.4;
}
.calio-woosb-hint .elementor-top-section {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Light box so the bundle's size selector reads as a selector. Emil 2026-10-02 */
.woosb-products .woosb-product select.product-variation-select {
    background-color: #f1f4f8;
    border: 1px solid #dfe5ee;
    border-radius: 6px;
    padding: 2px 30px 2px 10px;
    background-position: right 10px center;
    height: auto;
    width: auto;
}

/* Bundle pages: no lines and less space around the USP row (Elementor section in the short description). Emil 2026-10-02 */
.product-type-woosb .woocommerce-product-details__short-description .elementor-top-section {
    border: 0 !important;
    margin: 12px 0 !important;
    padding: 0 !important;
}

.woosb-price .product-shipping {
    display: none;
}

.woosb-products>.woosb-item-text, .woosb-products>.woosb-product {
    margin: 10px 0 0 !important;
    padding: 10px 0 0 !important;
}

@media only screen and (min-width: 768px) {
    .woosb-products>.woosb-item-text, .woosb-products>.woosb-product {
        flex-basis: 50%;
    }
}

.woosb-products .woosb-thumb {
    width: 45px;
}

.woosb-products .woosb-product .woosb-price {
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
    text-align: right;
    white-space: nowrap;
}

.woosb-price .price bdi {
    font-size: 16px;
}

/*.woosb-products {
    margin: 0 0 10px !important;
    display: flex !important;
    flex-wrap: wrap !important;
}*/

.woosb-item-product:first-child {
    margin-top: 0 !important;
}

.woocommerce form .form-row {
    margin-bottom: 15px !important;
}

.woocommerce form .form-row label {
    margin-bottom: 5px !important;
}
.form-coupon .form-row {
    margin-bottom: 10px !important;
}

.woosb-product-info {
    display: flex;
    align-items: center;
}
.woosb-total {
    display: none !important;
}

/* (Removed 2026-09-22: a max-width:768px block that forced .product-price back to
   display:block !important. It belonged to the old mobile cart layout, where the unit price sat
   right-aligned on a row of its own. With the cart line rebuilt as a grid further up this file
   that rule fought the grid: the unhidden unit price claimed a grid row of its own, so every
   line rendered as three rows with the unit price floating between the title and the quantity.
   .dk never had this block, which is why the grid looked right there and wrong on the other
   four. The line total in .product-subtotal is the only amount a mobile cart line shows.) */

#place_order.loading:before {
    -webkit-animation: rotating 1s 
linear infinite !important;
    animation: rotating 1s 
linear infinite !important;
    content: "" !important;
    margin-right: 10px;
        -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: "Font Awesome 5 Pro";
    font-weight: 400;
}

	.cart_item[gave] .quantity {
    display: none;
}


/* category pages */
 .page-title-bar-fill-01 .page-title-bar-bg:before {
    background-color: rgb(0 0 0 / 40%) !important;
}
.page-title-bar-fill-01 .page-title-bar-bg {
    background-color: #285695 !important;
}

.product-byline {
    font-weight: 500;
    font-size: 18px;
    margin-bottom: 10px;
}

.product-byline .high {
    font-style: italic;
    font-weight: 700;
}
/* ============================================================
   Snippet #52577 "Black Friday"  --  was: elementor_head, conditions: general (all pages)
   ============================================================ */

.hot.hot-sale span {
    color: white!important;
}

	.hot.hot-sale {
		background: black!important;
	}


.black-friday-menu-item span.menu-item-title {
    background-color: black!important;
    color: white;
    padding: 4px 10px 4px 10px;
    border-radius: 6px;
    margin: -4px -10px -4px -10px;
}
/* ============================================================
   Snippet #53659 "January Sale"  --  was: elementor_head, conditions: general (all pages)
   ============================================================ */

.january-sale-badge {
    background: var(--e-global-color-e6195c8) !important;
    border-radius: 4px!important;
}
	
		.january-sale-badge span {
		font-size: 13px!important;
}
	
	
	
	.january-sale span.menu-item-title {
    background-color: var(--e-global-color-e6195c8);
    color: white;
    padding: 4px 10px 4px 10px;
    border-radius: 6px;
    margin: -4px -10px -4px -10px;
}
/* ============================================================
   Snippet #54165 "Valentines Sale"  --  was: elementor_head, conditions: general (all pages)
   ============================================================ */

.valentines-sale-badge {
    background: var(--e-global-color-a2401b4) !important;
    border-radius: 4px!important;
}
	
		.valentines-sale-badge span {
		font-size: 13px!important;
}
	
	
	
	.valentines-sale span.menu-item-title {
    background-color: var(--e-global-color-a2401b4);
    color: white;
    padding: 4px 10px 4px 10px;
    border-radius: 6px;
    margin: -4px -10px -4px -10px;
}
/* ============================================================
   Snippet #55605 "Flyout Cart CSS"  --  was: elementor_head, conditions: general (all pages)
   ============================================================ */

.fly-cart-footer,button.shipmondo-modal-close:hover{
    box-shadow:none
}
	
	 .cart_list.product_list_widget .product-thumbnail {
     width: 82px!important;
}
	
	
	 .awdr_free_product_text .fly-cart-content .cart-goal-text {
     text-align: center;
}
	
	
	 .fly-cart-header .cart-goal:not(.shakeY) .cart-goal-text {
     -webkit-animation-name: nat_bounce;
     animation-name: nat_bounce;
     -webkit-animation-duration: 3s;
     animation-duration: 3s;
     animation-delay: 0s;
     animation-iteration-count: infinite;
}

	.fly-cart-footer a.view-cart {
    flex-basis: 40%;
    margin: 0;
    background-color: transparent;
    border-color: var(--minimog-color-button-text);
    padding: 0;
}

.fly-cart-footer a.view-cart:hover {
    background-color: var(--minimog-color-button-text);
    color: #fff;
}

.fly-cart-footer .button.checkout {
    flex-basis: 60%;
    margin-left: 10px;
}

@media only screen and (max-width: 768px) {
    .fly-cart-footer a.view-cart,
    .fly-cart-footer .button.checkout
    {
        flex-basis: 100%;
    }
    .fly-cart-footer .button.checkout {
        flex-basis: 100%;
    margin: 0
    }
    .fly-cart-footer .buttons {
        flex-wrap: wrap;
    }
    
} 

 .fly-cart-header {
     padding: 10px 20px 20px 20px;
}
	
	
	
	.fly-cart-body .subscription-usps {
    margin-left: -10px;
}

.fly-cart-body .subscription-usp {
    font-size: 90%;
    margin: 0;
}

	
.fly-cart-header .cart-goal-wrap {
    margin: 10px 0 0!important;
}
	
	
		/* from the theme*/
	
	
	
	
	
	
		/* Progress bar */
	
	.cart-progress-message {
    padding-bottom: 0px!important;
    margin-bottom: 0 !important;
    /* Sentence at 500, the amount at 600 (see the rules below). */
    font-weight: 500 !important;
			    -webkit-animation-name: nat_bounce;
    animation-name: nat_bounce;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    animation-delay: 0s;
    animation-iteration-count: infinite;
}
	
	.cart-progress-message {
    color: var(--minimog-color-heading)!important;
}

/* Cart progress bar (custom-cart-progress-bar plugin): the plugin gives its milestone icons z-index 10/11 inside a track with no stacking context, so they leaked above the header (z-index 4) and covered the mega menu on the cart page. isolation keeps every z-index inside the bar local, whatever the plugin sets. calio 2026-10-03 */
.ccpb-track {
	isolation: isolate;
}

	.milestone-icon span {
		color: var(--minimog-color-heading)!important;
}
	


/* Two states, told apart by the plugin's own data-ccpb-phase on the wrapper:
     - still short of the goal  -> sentence 500, the amount 600, so the number is what the eye
       lands on. Any <b> in the plugin's own message text just inherits the sentence weight.
     - goal reached (phase "second") -> the whole congratulation is 600; there is no amount in
       that message, so nothing needs to stand out inside it.
   Using the phase attribute rather than :has() keeps this working in every browser. */
.cart-progress-message b {
    font-weight: inherit;
}
.cart-progress-message .woocommerce-Price-amount,
.cart-progress-message .woocommerce-Price-amount * {
    font-weight: 600;
}
.cart-progress-bar-wrapper[data-ccpb-phase="second"] .cart-progress-message,
.cart-progress-bar-wrapper[data-ccpb-phase="second"] .cart-progress-message * {
    font-weight: 600 !important;
}


.cart-progress-bar {
    height: 10px;
    max-width: 600px;
}


.cart-progress-bar-wrapper, .cart-sidebar-progress-bar-wrapper {
    margin: 15px 40px 5px 34px !important;
 }


.milestone-icon img {
    width: 30px;
 }


.circle-icon {
    width: 35px !important;
    height: 35px !important;
}

	.milestone-icon.milestone-gift {
    max-width: 40px;
}
	
	
	/* Progress bar */
	
	
	
	
	
/* payment icons at bottom */
.woocommerce-mini-cart__buttons img.payment-icons {
    display: block;
    margin: 12px auto 0;
    height: auto;
    text-align: center;
    width: 350px;
}

/* footer spacing */
.fly-cart-footer {
    margin-top: 0;
    padding-top: 10px;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
    background: transparent;
    border-top: 5px solid #e9f1fb85 !important;
}

/* Hide the Note/Shipping/Coupon action row in the fly-cart. */
.popup-fly-cart .cart-footer-actions {
    display: none !important;
}

/* tighten header padding to match your look */
.fly-cart-header {
    padding: 0;
    border-bottom: 5px solid #e9f1fb85 !important;
}

/* title */
h3.fly-cart-title {
    padding: 15px 50px 0 26px;
    font-size: 18px;
    font-weight: 600;
    text-align: left;
}

.bc-cart-header {
    display: flex;
    align-items: center;
    padding: 7px 15px !important;
    column-gap: 6px !important;
}

/* Title sits flush inside the flex header; the wrapper provides the padding. */
.bc-cart-header .fly-cart-title {
    padding: 0;
    margin: 0;
    line-height: 1.2;
}

/* Live cart-count pill (refreshed via the span.js-fly-cart-count WC fragment). */
.bc-cart-header .fly-cart-count {
    display: block;
    padding: 5px 8px;
    min-width: 24px;
    background: #19345C;
    color: #fff;
    border-radius: 25px;
    font-weight: 700;
    font-size: 12px;
    line-height: 1;
    text-align: center;
}

/* free shipping goal text */
.cart-goal-text {
    padding: 0 26px 0 26px;
    text-align: center;
    font-size: 16px;
}

/* progress bar spacing */
.cart-goal-progress.minimog-progress {
    padding: 0 26px 20px 26px;
}
	
	.fly-out-cart-payment-icons-div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 6px;
}
/* Only spread apart when a shipping icon is present too (nattelyst.dk); otherwise centre the lone payment icon. */
.fly-out-cart-payment-icons-div:has(.shipping-icons) {
    justify-content: space-between;
}

.fly-out-cart-payment-icons-div .payment-icons {
    height: 25px;
    width: auto;
}

.fly-out-cart-payment-icons-div .shipping-icons {
    height: 25px;
    width: auto;
}

	.popup-fly-cart .cart-totals-table {
    padding: 0 !important;
    background-color: #fff;
}

/* Fly-cart totals only: label column takes 60%, amount takes the rest. */
.popup-fly-cart .cart-totals-table .cart-totals-label {
    flex: 0 0 60%;
    max-width: 60%;
}

/* Total row: trim the CCAP total's top padding (8px source in class-ccap-freegift.php). */
.popup-fly-cart .ccap-cart-total .cart-totals-label,
.popup-fly-cart .ccap-cart-total .cart-totals-value {
    padding-top: 4px !important;
}

/* Coupon row: prefix + code + remove link in a centred flex row so the smaller
   "Fjern" lines up with the code; label keeps its column width, amount stays right. */
.popup-fly-cart .cart-totals-row.cart-discount .cart-totals-label {
    display: flex;
    align-items: center;
    gap: 5px;
}
.popup-fly-cart .cart-totals-row.cart-discount .remove-coupon-link {
    font-size: 12px;
    color: #d81f2a;
    white-space: nowrap;
}
.popup-fly-cart .cart-totals-row.cart-discount .remove-coupon-link .coupon-icon {
    font-size: 12px;
}

/* Compact fly-cart totals + buttons on mobile; hide only the "Rabatkode:" prefix. */
@media only screen and (max-width: 768px) {
    .popup-fly-cart .cart-totals-row.cart-discount .coupon-label-prefix {
        display: none;
    }
    .popup-fly-cart .cart-totals-row {
        min-height: 22px;
    }
    .popup-fly-cart .cart-subtotal .cart-totals-value .amount {
        font-size: 22px;
    }
    .popup-fly-cart .fly-cart-footer .buttons {
        margin-top: 8px;
    }
    .popup-fly-cart .fly-cart-footer a.view-cart {
        margin-top: 4px;
        height: 38px;
        min-height: 0;
        line-height: 36px;
        align-self: center;
    }
}

	@media (max-width: 768px) {
			a.button.checkout.wc-forward {
				margin-bottom: 0;
		}
}

	.fly-cart-body {
    height: 10px !important;
}

body .cart_list.product_list_widget li+li {
    margin-top: 10px !important;
}

.cart_list.product_list_widget .product-thumbnail {
	width: 70px !important;
	border-radius: 8px !important;
	}
/* --- Fly-cart tweaks (nattelyst) --------------------------------------- */

/* Drawer body: light-blue backdrop with white item cards. */
.popup-fly-cart .fly-cart-body {
	background: #e9f1fb85 !important;
	padding: 10px;
	padding-top: 5px;
	padding-bottom: 5px !important;
}
/* White cards for real cart items only — the .special-product-item offer keeps
   its own .special-product box (no white li background or padding). */
.popup-fly-cart .cart_list.product_list_widget .woocommerce-mini-cart-item:not(.special-product-item) {
	background: #fff;
	border-radius: 8px;
	padding: 10px;
	align-items: center;
}

/* Keep the progress-bar milestone icons behind the cart-updating overlay
   (the overlay is .inner:before at z-index 2); cap the icon stack below it. */
.popup-fly-cart .milestone-icons {
	z-index: 1 !important;
}
.popup-fly-cart .milestone-icon {
	z-index: 2 !important;
}

/* Compact cart line items: smaller product title + price, tighter quantity stepper.
   Scoped to .popup-fly-cart so only the drawer is affected. */
.popup-fly-cart .cart_list.product_list_widget .product-name {
	font-size: 14px;
	line-height: 1.3;
	margin-bottom: 2px;
}
.popup-fly-cart .cart_list.product_list_widget .product-price,
.popup-fly-cart .cart_list.product_list_widget .product-price .amount {
	font-size: 14px;
	line-height: 1.3;
}
/* The stepper size is driven by the --size token; shrinking it compacts the
   input and both buttons together. */
.popup-fly-cart .cart_list.product_list_widget div.quantity {
	--size: 30px;
	--icon-size: 13px;
	width: 90px;
}
.popup-fly-cart .cart_list.product_list_widget div.quantity input.qty {
	font-size: 14px;
}

/* Free-gift lines: quantity is locked to 1, so hide the "1" Calio Capture prints. Our own two
   gift systems print no quantity at all. */
.popup-fly-cart .ccap-gift-qty {
	display: none;
}

/* Free-gift lines: smaller thumbnail, in the fly-cart and on the cart page. Every gift line
   carries .calio-gift-line (calio-gift-rules.php), whichever system added it. */
.popup-fly-cart .cart_list.product_list_widget .woocommerce-mini-cart-item.calio-gift-line .product-thumbnail {
	width: 55px !important;
}
/* (The cart-page half of this rule moved into the .calio-cart-item block above when the cart
   line was rebuilt 2026-09-22; the fly-cart rule above is the one that is left.) */

/* Remove link + quantity row: tighten vertical rhythm inside the item. */
.popup-fly-cart .cart_list.product_list_widget .remove.js-remove-from-cart {
	line-height: 1;
	padding-top: 0;
	padding-bottom: 0;
}
/* Bundle lines: the bundled products join the bundle's white card (no left indent, no gap),
   with small thumbnails like the gift lines. Minimog indents .woosb-item-child 30px (10px on
   mobile); the li+li 10px gap rule above is !important, hence the !important here. Emil 2026-10-03 */
.popup-fly-cart .cart_list.product_list_widget .woocommerce-mini-cart-item.woosb-item-parent:has(+ .woosb-item-child) {
	border-radius: 8px 8px 0 0;
	padding-bottom: 6px;
}
.popup-fly-cart .cart_list.product_list_widget .woocommerce-mini-cart-item.woosb-item-child {
	margin-left: 0;
	margin-top: 0 !important;
	border-radius: 0;
	border-top: 1px solid #eef1f5;
	padding-top: 6px;
	padding-bottom: 6px;
}
.popup-fly-cart .cart_list.product_list_widget .woocommerce-mini-cart-item.woosb-item-child:not(:has(+ .woosb-item-child)) {
	border-radius: 0 0 8px 8px;
	padding-bottom: 10px;
}
.popup-fly-cart .cart_list.product_list_widget .woocommerce-mini-cart-item.woosb-item-child .product-thumbnail {
	width: 55px !important;
}
/* Minimog hides the bundled product's quantity row; it now holds "2 stk." when above 1 (cart-checkout.php). */
.popup-fly-cart .cart_list.product_list_widget .woocommerce-mini-cart-item.woosb-item-child .product-quantity-wrap {
	display: flex;
	font-size: 14px;
}
/* "Fjern" link: red, no underline, in cart page and fly-cart (Emil 2026-10-03). */
.popup-fly-cart .cart_list.product_list_widget .remove.js-remove-from-cart,
.popup-fly-cart .cart_list.product_list_widget .remove.js-remove-from-cart:hover,
.calio-cart-item .remove.btn-remove-from-cart:hover {
	text-decoration: none;
	color: #c4585e;
}
.popup-fly-cart .cart_list.product_list_widget .remove.js-remove-from-cart,
.calio-cart-item .remove.btn-remove-from-cart {
	font-size: 11px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: normal;
}
.popup-fly-cart .cart_list.product_list_widget .product-quantity-wrap {
	margin-top: 5px;
}

/* Close button vertically centred on the header row (matches buddyschoice). */
.popup-fly-cart .btn-close-fly-cart {
	top: 0;
	right: 0;
	color: #d81f2a;
}


/* Logged-in drawer height: the parent theme's .admin-bar rules replace the
   top/bottom anchor with a vh/% height, which lets the footer slip behind the
   mobile browser's bottom bar. Re-anchor top + bottom like the logged-out
   drawer (which works) and only offset the top by the admin-bar height. */
body.admin-bar .popup-fly-cart {
	top: 32px;
	bottom: 0;
	height: auto;
}
@media screen and (max-width: 782px) {
	body.admin-bar .popup-fly-cart { top: 46px; }
}
@media screen and (max-width: 600px) {
	body.admin-bar .popup-fly-cart { top: 0; }
}

/* ============================================================
 Free-shipping badge + price-by-quantity mobile layout (calio)
 Ported from nattelyst.dk split-test 100854 (now permanent). Badge text/output
 in free-shipping-badge.php. 'body ' prefix + !important so these beat the base
 wpcpq rules that load later in body-start.css.
   ============================================================ */
.calio-shipping-badge {
    background-color: #5097FF;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 8px;
    padding: 2px 6px;
    display: block;
    /* Hug the text and keep clear air on both sides, so a long translation
       ("ILMAINEN TOIMITUS") wraps inside the badge instead of squeezing the price
       onto a second line. Paired with .wpcpq-item-price in body-start.css. */
    width: fit-content;
    text-align: center;
    line-height: 1.25;
    margin-left: 10px;
    margin-right: 10px;
}

/* ============================================================
 Quantity -> free-gift ribbon (calio)
 Ribbon hanging under every price-by-quantity box that guarantees the gift.
 Output and rules live in calio-gift-rules.php.

 The wpcpq hook fires INSIDE the tier box, so the ribbon is taken out of flow and
 pinned to the outside of the box instead. Three things this has to work around:
   - NO CHILD COMBINATOR on the ribbon. In the default layout the plugin wraps the
     quantity in an unclassed flex div and fires the hook inside it, so the ribbon's
     parent is that wrapper, not .wpcpq-row. Keying on the class alone also survives
     the next plugin markup change. Same reason .calio-shipping-badge above is a
     bare class selector.
   - the ribbon is out of flow, so its row has to reserve the room itself. .wpcpq-table
     is a plain BLOCK and the tier boxes stack vertically, so the reserve is a bigger
     margin-bottom on the row carrying the ribbon -- NOT padding on the table, which
     only ever lands under the last box and lets a middle ribbon fall on the box below.
   - the wrapper is position:static, so the ribbon still resolves against .wpcpq-row.
     left/right -2px cancels the box's 2px border so the ribbon is exactly as wide as
     the box; top 100% + margin 2px lands it flush on the box's outer edge.
 The box's own bottom radius is removed so box + ribbon read as one card. The ribbon keeps a
 palette of its own (see the custom properties below); only its border tracks the box, turning
 the active colour when the tier is selected, where a tick also appears at the end of the row.
 The box's bottom border is
 painted in the ribbon's fill, so no line ever separates the two. Nothing is animated and
 nothing changes size -- selection only recolours the border and reveals the tick.

 The ribbon is ONE fixed size in both states, so nothing below it ever moves and one reserve
 value serves both. A tier carrying two rules is clipped to that height; raise it if that is
 ever used. 'body ' prefix for the same reason as the badge above: the base wpcpq rules load
 later, in body-start.css.
   ============================================================ */
/* Reserve, on the row itself: the ribbon is 36px tall and starts 2px up at the box's padding
   edge, so it reaches 34px below the box; + the 10px gap the rows normally carry = 44px. Every
   qualifying tier gets a ribbon, so a middle box needs this just as much as the last one --
   a table-level padding-bottom only ever reserved room under the LAST box, which dropped a
   middle ribbon on top of the box below it and left dead space at the bottom.
   The pane zeroes .wpcpq-wrap's bottom margin, so under the last box every px here lands
   straight in the gap above add-to-cart. */
body .wpcpq-table .wpcpq-row:has(.calio-giftrule-strip) {
    margin-bottom: 44px;
    position: relative;
    /* .wpcpq-click-yes .wpcpq-item sets overflow:hidden, which clips the ribbon away. */
    overflow: visible;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;

    /* The ribbon's palette, declared here so the box's own border can match it and so there
       is a single place to retune it. #E9F1FB is free for the ribbon now that the active box
       no longer fills with it (see body-start.css), so the ribbon can use the store's normal
       light blue and still stand clear of the #f6f6f6 box in both states. */
    --calio-giftrule-fill: #E9F1FB;
    --calio-giftrule-ink: #19345C;
    --calio-giftrule-tick: #1F7A18;

    /* Paint the 2px between box and ribbon in the ribbon's own fill so no line separates
       them -- including when selection turns the rest of the border navy. Zeroing the width
       instead would move the padding box, and with it the ribbon's top anchor. */
    border-bottom-color: var(--calio-giftrule-fill);
}

body .calio-giftrule-strip {
    position: absolute;
    top: calc(100% - 2px);
    left: -2px;
    right: -2px;
    margin-top: 2px;
    height: 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 8px;
    border: 2px solid var(--calio-giftrule-fill);
    border-top: 0;
    border-radius: 0 0 10px 10px;
    background-color: var(--calio-giftrule-fill);
    color: var(--calio-giftrule-ink);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    overflow: hidden;
}

/* Selected tier: same fill and same size -- only the border colour is taken over from the
   box, so the outline runs unbroken around box + ribbon. */
body .wpcpq-item-active .calio-giftrule-strip {
    border-color: var(--minimog-color-heading, #19345C);
}

/* Selected tier: a green tick closing the row, after the value. It is an ordinary flex item,
   so the row's 6px gap spaces it and it stays inside the centred group instead of being
   pushed to the edge. */
body .wpcpq-item-active .calio-giftrule-row::after {
    content: '\2713';
    flex: 0 0 auto;
    margin-bottom: 4px;
    color: var(--calio-giftrule-tick);
    font-size: 1rem;
    line-height: 1;
}

body .calio-giftrule-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

body img.calio-giftrule-img {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    object-fit: cover;
    border-radius: 4px;
    background-color: #fff;
}

/* Separator dot between the gift text and its value. Its own flex item, so the row's
   align-items:center centres it and the row's 6px gap spaces it evenly on both sides. */
body .calio-giftrule-sep {
    flex: 0 0 auto;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: currentColor;
}

/* The value is emitted as plain text, not wc_price() markup -- see calio-gift-rules.php.
   Nothing here has to fight the theme's .woocommerce-Price-amount styling as a result. */
body .calio-giftrule-value {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media only screen and (max-width: 768px) {
    body .wpcpq-item-price {
        flex-direction: column !important;
        align-items: start !important;
    }
    body span.wpcpq-item-text {
        background-image: none !important;
        color: inherit !important;
        width: unset !important;
        height: unset !important;
        margin: unset !important;
        padding: 0px !important;
        font-size: 10px !important;
        white-space: nowrap;
    }
    /* Tier label stays on one line on mobile: kill the <br> the stored tier text
       carries ("spara<br> 20 kr", shapes the desktop star badge) and stop it
       wrapping in the narrow row. */
    body span.wpcpq-item-text br {
        display: none;
    }
    body .wpcpq-table .wpcpq-row {
        padding: 15px !important;
    }
}

/* Mobile, quantity tiers WITHOUT any free-shipping badge in the table: keep the desktop look
   for the saving (the navy star next to the price) instead of the small text under the price.
   Table-level :has(), so every tier on a product shares one design: as soon as one tier carries
   the badge, all tiers use the text-under-price layout above (Emil 2026-10-08). */
@media only screen and (max-width: 768px) {
    body .wpcpq-table:not(:has(.calio-shipping-badge)) .wpcpq-item-price {
        flex-direction: row-reverse !important;
        align-items: center !important;
    }
    body .wpcpq-table:not(:has(.calio-shipping-badge)) span.wpcpq-item-text {
        background-image: url(https://nattelyst.dk/wp-content/uploads/2022/08/star.svg) !important;
        color: #fff !important;
        width: 48px !important;
        height: 48px !important;
        margin: -14px 10px -14px 0 !important; /* bigger star eats the row's padding, row height unchanged */
        position: relative;
        top: -3px; /* .wpcpq-item-price has margin-top 6px: centre the star on the row, not on the price */
        padding: 7px !important;
        font-size: 8px !important;
        white-space: normal !important;
    }
    body .wpcpq-table:not(:has(.calio-shipping-badge)) span.wpcpq-item-text br {
        display: inline !important;
    }
}

/* Saving star bigger on desktop too (50px, same as body-start.css, but in a lower row). Negative top/bottom
   margin lets it reach into the row padding, so a tier with a star is never taller than the
   1-pcs tier; every tier gets the 1-pcs tier's 65px min-height so the boxes line up (Emil 2026-10-08). */
body .wpcpq-table .wpcpq-row.wpcpq-item {
    min-height: 65px;
}
@media only screen and (min-width: 769px) {
    body span.wpcpq-item-text {
        width: 50px;
        height: 50px;
        margin: -12px 14px -12px 0;
        padding: 6px;
        font-size: 8px;
        position: relative;
        top: -3px; /* .wpcpq-item-price has margin-top 6px: centre the star on the row, not on the price */
    }
}


/* ============================================================
   CookieYes consent banner + preference modal

   The one and only .cky-* block in this file -- keep it that way.

   Layout (unchanged from what has been live): the notice is pulled out of
   CookieYes' bottom bar into a centred 500px modal with a shadow, 27px
   padding, a 28px title and buttons capped at 200px spread space-between.
   Under 550px it goes near-full-width and centres its text.

   Colour: CookieYes writes its palette as INLINE style attributes on these
   elements, so every colour declaration below needs !important to win --
   an author !important beats a normal inline declaration. Brand palette is
   #19345C (text) on #FFC1A7 (accent).
   ============================================================ */

/* --- Layout ------------------------------------------------------------ */
.cky-consent-container {
    bottom: 50% !important;
    left: 50% !important;
    transform: translate(-50%, 50%);
    width: 500px !important;
}

.cky-consent-container .cky-consent-bar {
    box-shadow: 0 32px 68px rgba(0, 0, 0, .3) !important;
    padding: 27px !important;
}

/* CookieYes' inner wrapper adds 24px of its own on top of the bar's 27px.
   Zero it so the bar's padding is the only thing setting the gutter. */
.cky-consent-bar .cky-notice-content-wrapper {
    padding: 0 !important;
}

/* "Powered by CookieYes" is hidden further down, but its wrapper div keeps a
   12px padding-bottom that leaves a gap under the buttons -- drop the wrapper
   as well. :has() is unsupported on Firefox below 121, where the whole
   selector is simply ignored and the old gap stays; nothing else breaks. */
.cky-consent-bar > div:has(> [data-cky-tag="powered-by"]) {
    display: none !important;
}

.cky-notice .cky-title {
    font-size: 28px !important;
    margin-bottom: 15px !important;
}

/* Never scroll the description. CookieYes caps it with max-height:40vh plus
   overflow-y:scroll at (max-width:440px) and at (min-width:576px) and
   (max-height:660px). Its own @media (max-height:480px) rule, which scrolls
   .cky-consent-container as a whole on very short screens, is left alone. */
.cky-notice-des {
    max-height: none !important;
    overflow: visible !important;
}

.cky-btn {
    max-width: 200px !important;
}

.cky-notice-btn-wrapper {
    justify-content: space-between !important;
}

/* Notice buttons are 8px; the preference modal's are 5px (CookieYes' own
   class name carries the "prefrence" typo -- do not correct it). */
button.cky-btn.cky-btn-accept,
button.cky-btn.cky-btn-reject {
    border-radius: 8px;
}

.cky-prefrence-btn-wrapper .cky-btn {
    border-radius: 5px !important;
}

/* The toggle knob ships mis-centred; unset the theme's transform and drive
   the checked position ourselves. */
.cky-switch input[type="checkbox"]:before {
    top: unset !important;
    transform: unset !important;
}

.cky-switch input[type="checkbox"]:checked:before {
    -webkit-transform: translateX(20px) !important;
    -ms-transform: translateX(20px) !important;
    transform: translateX(20px) !important;
}

/* --- Colour ------------------------------------------------------------ */
/* Title, body copy and category headings, banner and modal alike. The
   wildcards cover the rich-text description, whose spans carry their own
   inline colour. */
.cky-title,
.cky-preference-title,
.cky-notice-des,
.cky-notice-des *,
.cky-preference-content-wrapper,
.cky-preference-content-wrapper *,
.cky-accordion-header .cky-accordion-btn,
.cky-accordion-header-des,
.cky-accordion-header-des *,
.cky-always-active,
.cky-gpc-wrapper .cky-gpc-desc,
.cky-gpc-wrapper .cky-gpc-desc * {
    color: #19345C !important;
}

/* Accept -- the one filled button, in both the notice and the modal. */
button.cky-btn.cky-btn-accept {
    background-color: #FFC1A7 !important;
    border-color: #FFC1A7 !important;
    color: #19345C !important;
}

/* Customize -- text only, no frame. */
.cky-notice .cky-btn-customize,
button.cky-btn.cky-btn-customize {
    background-color: transparent !important;
    border-color: transparent !important;
    color: #19345C !important;
}

/* Save preferences and reject -- outlined. Reject is never hidden: .se shows
   it in the banner and it has to stay clickable. */
button.cky-btn.cky-btn-preferences,
button.cky-btn.cky-btn-reject {
    background-color: transparent !important;
    border-color: #FFC1A7 !important;
    color: #19345C !important;
}

.cky-switch input[type="checkbox"]:checked {
    background-color: #FFC1A7 !important;
}

/* "Show more" and any link inside the banner or the modal. */
.cky-show-desc-btn,
.cky-notice-des a,
.cky-preference-content-wrapper a,
.cky-accordion-header-des a,
.cky-gpc-wrapper .cky-gpc-desc a {
    color: #19345C !important;
}

/* CookieYes' own branding, in the banner footer and in the modal footer. */
[data-cky-tag="powered-by"],
[data-cky-tag="detail-powered-by"] {
    display: none !important;
}

/* --- Mobile ------------------------------------------------------------ */
@media (max-width: 550px) {
    .cky-custom-brand-logo-wrapper,
    .cky-notice .cky-title,
    .cky-notice-des,
    .cky-notice-btn-wrapper {
        padding: 0 !important;
    }

    body .cky-btn {
        max-width: unset !important;
    }

    body .cky-consent-container {
        width: 93% !important;
    }

    body .cky-consent-container .cky-consent-bar {
        padding: 35px 28px 20px 28px !important;
        text-align: center !important;
    }

    .cky-notice .cky-title {
        line-height: 26px !important;
    }
}


/* ============================================================
   Checkout shipping methods -- carrier cards (ported from .de 19.09.2026)

   Markup: woocommerce/cart/cart-shipping.php  ->  ul#shipping_method.calio-shipcards
   Logo:   per-method "Logo" setting, rendered by calio_shipcard_logo_html() in
           shipping-cards.php

   Shipped to all traffic -- no split test. The plain-list rules ABOVE are the previous
   design; this block overrides them wherever the two overlap, so they are now dead weight
   and can be dropped in a later pass.

   This store prints NO per-method delivery time at checkout (no shipping-delivery-time.php
   module), so the grid keeps an empty "time" row -- it collapses to zero height, and the
   layout is ready if the module is ever added.

   !important below only mirrors the !important the old blocks already use on the same
   properties (higher specificity decides the winner) -- it is not new stacking.
   ============================================================ */
/* The shipping row's value cell inherits the summary table's 5px cell padding
   (.wc-checkout-review-order-table td{padding:0 5px} in Minimog), which indents the
   cards away from the label above them. Only this row -- the other totals rows keep it. */
tr.cart-shipping > td.cart-totals-value {
    padding-left: 0;
}

ul#shipping_method.calio-shipcards {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 480px;
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
}

ul#shipping_method.calio-shipcards > li {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 12px;
    max-width: none;
    padding: 12px 14px !important;
    line-height: 1.35 !important;
    border: 1px solid #DDE3EC;
    border-radius: 10px;
    background: #FFFFFF;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

ul#shipping_method.calio-shipcards > li:hover {
    border-color: #C4CFDF;
}

/* Selected card. Decoration only -- the radio still carries the real state, and the
   coloured radio dot is what actually reads as "selected", so the border stays soft. */
ul#shipping_method.calio-shipcards > li:has(input.shipping_method:checked) {
    border-color: rgba(25, 52, 92, .35);
    background: #19345C0D;
}

ul#shipping_method.calio-shipcards > li > input[type="radio"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #5097FF;
}

ul#shipping_method.calio-shipcards > li > label {
    display: grid !important;
    grid-template-columns: auto auto 1fr auto;
    grid-template-areas:
        "logo name badge price"
        "logo time time  price";
    align-items: center;
    column-gap: 10px;
    margin: 0 !important;
    cursor: pointer;
}

/* Whatever the shipping plugins print after the rate (Shipmondo pakkeshop picker,
   business message, errors) becomes a full-width section at the bottom of the card,
   separated by a hairline instead of by a box of its own. */
ul#shipping_method.calio-shipcards > li > *:not(input):not(label):not(br) {
    grid-column: 1 / -1;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #DDE3EC;
}

ul#shipping_method.calio-shipcards .calio-shipcard-logo {
    grid-area: logo;
    width: 46px;
    height: 30px;
    object-fit: contain;
    object-position: left center;
}

ul#shipping_method.calio-shipcards .shipping-name {
    grid-area: name;
    display: block !important;
    width: auto !important;
    min-width: 0;
    font-weight: 600;
}

/* Per-method delivery time (shipping-delivery-time.php prints .nl-delivery-time).
   Fills the "time" row the grid above already reserves, under the method name. */
ul#shipping_method.calio-shipcards .nl-delivery-time {
    grid-area: time;
    display: block !important;
    margin-left: 0;
    white-space: normal;
    font-size: 0.85em !important;
    color: #7a7a7a !important;
    font-weight: 400 !important;
}

ul#shipping_method.calio-shipcards .woocommerce-Price-amount {
    grid-area: price;
    justify-self: end;
    font-weight: 600;
    white-space: nowrap;
}

/* Free badge next to the method name on 0-cost rates (calio_shipcard_free_html()).
   Brand button pair: peach fill, navy text. */
ul#shipping_method.calio-shipcards .calio-shipcard-badge {
    grid-area: badge;
    justify-self: start;
    padding: 2px 8px;
    border-radius: 999px;
    background: #FFC1A7;
    color: #19345C;
    font-size: .72em;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .02em;
    white-space: nowrap;
}

/* --- Shipmondo pakkeshop picker, seamless inside the card --------------------
   Only rendered for the CHOSEN method, so this only ever shows in the selected card.
   It keeps a border of its own so it reads as a control you can click -- the separator
   hairline the generic rule adds would be one line too many, so it goes. */
ul#shipping_method.calio-shipcards > li > .shipmondo-original {
    border-top: 0;
    padding-top: 0;
}

ul#shipping_method.calio-shipcards .shipmondo_service_point_selection,
ul#shipping_method.calio-shipcards .shipmondo-shipping-field-wrap {
    max-width: none;
    margin: 0;
}

ul#shipping_method.calio-shipcards .selected_service_point {
    border: 1px solid #C4CFDF;
    border-radius: 8px;
    padding: 8px 34px 8px 10px;
    background: #FFFFFF;
}

ul#shipping_method.calio-shipcards .selected_service_point:hover {
    border-color: #19345C;
    background: #F2F5FA;
}

/* The plugin's chevron is the only "click me" affordance -- give it more contrast. */
ul#shipping_method.calio-shipcards .selected_service_point:after {
    opacity: .85;
}

ul#shipping_method.calio-shipcards .selected_service_point .header {
    margin-bottom: 2px;
}

ul#shipping_method.calio-shipcards .selected_service_point .header .name {
    font-weight: 600;
}

ul#shipping_method.calio-shipcards .powered_by_shipmondo {
    display: none;
}

ul#shipping_method.calio-shipcards > li > .service-point-selector-error {
    font-size: .85em;
    color: #7A7A7A;
}

/* free_shipping6 is a trigger-only rate: its input and label are already hidden further
   up this file (input#shipping_method_0_free_shipping6, label[for=...]); as a card that
   left an empty bordered box, so hide the whole row. */
ul#shipping_method.calio-shipcards > li.calio-shipmethod-free_shipping6 {
    display: none !important;
}

@media only screen and (max-width: 600px) {
    ul#shipping_method.calio-shipcards > li {
        padding: 10px 12px !important;
        column-gap: 10px;
    }

    ul#shipping_method.calio-shipcards .calio-shipcard-logo {
        width: 38px;
        height: 26px;
    }
}

/* Checkout fields at 16px: iOS Safari zooms the page when a focused field is under 16px. */
.woocommerce-checkout .input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    font-size: 16px !important;
}

/* Hide floating reCAPTCHA v3 badge (Elementor forms). visibility, not display:none, keeps reCAPTCHA working. */
.grecaptcha-badge { visibility: hidden; }


/* ============================================================
   Coupon "apply" button — hover
   Minimog's global button hover paints a 0.2rem ring
   (box-shadow: 0 0 0 .2rem var(--minimog-color-button-hover-background)), which next to
   the coupon field reads as a stray shadow. Fill the button instead, matching the border
   and text colour it already carries. Cart page and both coupon modals.
   ============================================================ */
.form-coupon button[name="apply_coupon"]:hover,
.form-coupon button[name="apply_coupon"]:focus {
    box-shadow: none;
    background-color: var(--minimog-color-heading);
    border-color: var(--minimog-color-heading);
    color: #fff;
}


/* ============================================================
   Cart / checkout page heading
   "Kurv" / "Kasse" take the theme's default 42px everywhere, which reads small on a phone.
   One step up at phone width only; desktop keeps the theme's own size.
   ============================================================ */
@media only screen and (max-width: 767px) {
    .woocommerce-cart .page-title-bar-heading .heading,
    .woocommerce-checkout .page-title-bar-heading .heading {
        font-size: 48px;
    }
}


/* ============================================================
   Elementor loop grids — short badges split per character
   Elementor Pro's own custom-frontend.min.css sets
   .elementor-grid-0 .elementor-grid .elementor-grid-item { word-break: break-word }.
   Inside a flex product card that makes a short label's min-content ONE CHARACTER wide, so
   the card shrinks the badge to ~23px and "Ny" comes out as "N" over "y" (seen in the mobile
   slide-out menu's product grid on .no). Headings in a loop item are labels, not prose, so they
   break on words like everything else; long product names still wrap normally.
   ============================================================ */
.e-loop-item .elementor-heading-title {
    word-break: normal;
}

/* Header cart badge pulses while the cart has items (data-count is refreshed by WC fragments). */
@keyframes calio-cart-pulse {
    0%   { transform: scale(1); box-shadow: 0 0 0 0 rgba(25, 52, 92, .6); }
    70%  { transform: scale(1.12); box-shadow: 0 0 0 7px rgba(25, 52, 92, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(25, 52, 92, 0); }
}
.mini-cart-badge:not([data-count="0"]) {
    animation: calio-cart-pulse 1.6s ease-out infinite;
}
@media (prefers-reduced-motion: reduce) {
    .mini-cart-badge { animation: none; }
}

/* Hide lightGallery caption and toolbar buttons (share, zoom, fullscreen, autoplay, download) */
.lg-sub-html,
.lg-share,
#lg-share,
.lg-actual-size,
#lg-actual-size,
.lg-zoom-out,
#lg-zoom-out,
.lg-zoom-in,
#lg-zoom-in,
.lg-fullscreen,
.lg-autoplay-button,
.lg-download,
#lg-download {
    display: none;
}

/* GoWish: show_onskeskyen() prints the button after the gallery (desktop) and under shipping
   (mobile); one is shown per screen width, so one Seraphinite cache serves both. calio 2026-10-01 */
@media (max-width: 1024px) {
    .onskeskyen-wrap.calio-gw-desktop {
        display: none;
    }
}
@media (min-width: 1025px) {
    .onskeskyen-wrap.calio-gw-mobile {
        display: none;
    }
}

/* Modern Accordion (tm-accordion, style 01): titles 600 weight, keep the normal text colour when
   open or hovered (the theme turns them black), and 16px on mobile instead of the theme's 15px.
   "body" prefix beats the theme's 0,5,0 selectors. Emil 2026-10-02. */
body .minimog-accordion-style-01 .minimog-accordion .accordion-title {
    font-weight: 600;
}
body .minimog-accordion-style-01 .minimog-accordion .accordion-section.active .accordion-title,
body .minimog-accordion-style-01 .minimog-accordion .accordion-section.active .accordion-icon,
body .minimog-accordion-style-01 .minimog-accordion .accordion-section:hover .accordion-title,
body .minimog-accordion-style-01 .minimog-accordion .accordion-section:hover .accordion-icon {
    color: inherit;
}
@media (max-width: 767px) {
    body .minimog-accordion-style-01 .minimog-accordion .accordion-title {
        font-size: 16px;
    }
}
/* Open item: keep the light grey line under the question instead of the theme's black one (Emil 2026-10-06). */
body .minimog-accordion-style-01 .minimog-accordion .accordion-section.active .accordion-header {
    border-bottom-color: #eee;
}


/* "MENY" label after the mobile menu icon, same as buddyschoice.dk (Emil 2026-10-03). */
#page-open-mobile-menu .icon::after {
    content: 'MENY';
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.2px;
    text-transform: uppercase;
    padding-left: 4px
}

/* Desktop main menu: active item (current page or its parent), hover colour and hover underline all in #5097FF instead of the theme's light nav hover colour (#FFC1A7), which was hard to read. Set on the menu itself so it beats the header-variant colours. calio 2026-10-03 */
.page-header .page-navigation .menu__container {
	--header-nav-link-hover-color: #5097FF;
	--nav-item-hover-line-color: #5097FF;
}

/* Gift category (/kategori/presentideer/): Christmas hero. Image = category banner (media 39259,
   set on the category edit screen); this adds falling snow and a gift emoji. Emil 2026-10-03, ported from nattelyst.dk. */
.term-presentideer .page-title-bar-bg {
    background-size: cover;
    background-position: center 35%;
}
.term-presentideer .page-title-bar-bg::after,
body.calio-cat-header.term-presentideer #page-title-bar .page-title-bar-bg::after { /* 2nd selector beats the category-header rule in page-inserts.php that hides ::after */
    display: block;
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(5px 5px at 20px 30px, #fff 50%, transparent 51%),
        radial-gradient(6px 6px at 90px 80px, rgba(255,255,255,.95) 50%, transparent 51%),
        radial-gradient(4px 4px at 150px 20px, rgba(255,255,255,.9) 50%, transparent 51%),
        radial-gradient(7px 7px at 200px 130px, #fff 50%, transparent 51%),
        radial-gradient(4px 4px at 60px 160px, rgba(255,255,255,.85) 50%, transparent 51%),
        radial-gradient(5px 5px at 120px 180px, #fff 50%, transparent 51%),
        radial-gradient(3px 3px at 230px 60px, rgba(255,255,255,.8) 50%, transparent 51%),
        radial-gradient(6px 6px at 35px 110px, rgba(255,255,255,.9) 50%, transparent 51%),
        radial-gradient(4px 4px at 175px 95px, #fff 50%, transparent 51%),
        radial-gradient(3px 3px at 105px 40px, rgba(255,255,255,.8) 50%, transparent 51%);
    background-size: 240px 200px;
    animation: calio-snow 8s linear infinite;
}
@keyframes calio-snow {
    from { background-position: 0 0; }
    to { background-position: 40px 200px; }
}
@media (prefers-reduced-motion: reduce) {
    .term-presentideer .page-title-bar-bg::after,
    body.calio-cat-header.term-presentideer #page-title-bar .page-title-bar-bg::after { animation: none; }
}
.term-presentideer .page-title-bar-heading .heading span::after { content: "\00A0\1F381"; }

/* ===== Small fixes, all stores (Emil 2026-10-03) ===== */
/* A free gift's quantity with no stepper ("3 stk."), cart page and fly-cart. */
.calio-cart-item.calio-gift-line .calio-cart-item__qty,
.popup-fly-cart .cart_list.product_list_widget .woocommerce-mini-cart-item.calio-gift-line .product-quantity-wrap {
	font-size: 14px;
}
/* Bundled products on the cart page: title centred on the small image, as in the fly-cart. */
.calio-cart-item.woosb-item-child {
	align-items: center;
}
.calio-cart-item.woosb-item-child .calio-cart-item__title {
	margin-bottom: 0;
}
.calio-cart-item.woosb-item-child .calio-cart-item__price:empty {
	display: none;
}
.calio-cart-item.woosb-item-child .calio-cart-item__actions {
	margin-top: 2px;
}
/* Search page: no "Search results for" title bar and no "we found some products" line;
   the search field shows the query. */
body.search .page-title-bar {
	display: none;
}
body.search .product-search-results > .search-results-heading {
	display: none;
}
body.search .search-page-search-form {
	margin-top: 40px;
}
@media (max-width: 767px) {
	body.search .search-page-search-form {
		margin-top: 24px;
	}
}

/* ===== Small fixes, round 2 (Emil 2026-10-03) ===== */
/* Header: the "Kundeservice" button and the icons (search, cart, menu) hover in #5097FF like the
   main menu, instead of the theme's light #FFC1A7. Set on those header elements only. */
.page-header .header-buttons,
.page-header .header-icon {
	--header-link-hover-color: #5097FF;
	--header-icon-hover-color: #5097FF;
}
/* Footer: room for the Calio Capture tab (60px tall, 10px from the bottom) so it never covers the
   last footer line. On product pages the theme already pads the body by the height of the sticky
   add-to-cart bar and the tab sits above that bar, so the same 75px is enough there too. */
body:has(#ccap-floating-tab) .page-footer {
	padding-bottom: 75px;
}
/* .se: the gold "Gratis" star sticks 12px out of the top of the free-gift box and overlapped the
   quantity box on mobile. */
@media (max-width: 767px) {
	.single-product form.cart > .elementor-58390 {
		margin-top: 14px;
	}
}

/* ===== Cart, round 3 (Emil 2026-10-04) ===== */
/* Bundled product with "2 stk.": the quantity sits right under the title. Only bundled lines;
   their quantity row is plain text, so it needs no 28px stepper line height. */
.popup-fly-cart .cart_list.product_list_widget .woocommerce-mini-cart-item.woosb-item-child .product-quantity-wrap {
	margin-top: 2px;
	line-height: 18px;
}
.calio-cart-item.woosb-item-child .calio-cart-item__actions {
	line-height: 18px;
}
/* Cart page: every line centred vertically on its image (text block and line total). */
.calio-cart-item {
	align-items: center;
}
.calio-cart-item .calio-cart-item__total {
	align-self: center;
}
/* .se footer, desktop only: payment icons right-aligned in their column (they sat centred in a wide image wrapper). */
@media (min-width: 1025px) {
	.page-footer .elementor-element-bedad15 .minimog-lazy-image {
		text-align: right !important;
	}
}
/* Gift lines ("5 stk." with no stepper): the quantity sits right under the title, like the
   bundled products. Fly-cart and cart page. Emil 2026-10-04 */
.popup-fly-cart .cart_list.product_list_widget .woocommerce-mini-cart-item.calio-gift-line .product-quantity-wrap {
	margin-top: 2px;
	line-height: 18px;
}
.calio-cart-item.calio-gift-line .calio-cart-item__actions {
	line-height: 18px;
}
/* Cart goals (cart page + fly-cart): labels on two lines, bar centred. Same as nattelyst.dk
   (Emil 2026-10-04). The .ccpb-track prefix is needed: the plugin prints its own CSS after this file. */
.ccpb-track .milestone-icon span {
	white-space: normal;
	width: min-content;
	line-height: 1.15;
}
.cart-progress-bar-wrapper .ccpb-track,
.cart-sidebar-progress-bar-wrapper .ccpb-track {
	padding-bottom: 47px;
}

/* Tyngdedyne (62338, copied from .dk 2026-10-08) only:
   size as buttons (attribute pa_dynestoerrelse, type "text", used by no other product)
   and less space above and below the variant choice. */
.postid-62338 .isw-swatch--isw_text .isw-term {
    min-width: 0;
    height: 38px;
    margin: 8px 8px 0 0;
    padding: 0 14px;
    font-size: 15px;
    line-height: 38px;
}
.postid-62338 .isw-swatch--isw_text .isw-term.isw-selected {
    box-shadow: inset 0 0 0 1px var(--minimog-color-heading);
}
/* Beats the theme's .single-product .entry-summary form.cart .label > label (500) */
.postid-62338 .entry-summary form.cart .row-isw-swatch .label > label {
    font-weight: 600;
}
.postid-62338 .row-isw-swatch--isw_text .selected-term-name {
    display: none;
}
.postid-62338 .row-isw-swatch--isw_text .label {
    margin-bottom: 0;
}
/* OEKO-TEX logo (ACF produkt_badge_2, page-inserts.php) bottom right instead of top right */
.postid-62338 .woo-single-gallery .product-main-image:after {
    top: auto;
    bottom: 12px;
    right: 12px;
    width: 76px;
    height: 76px;
    background-size: contain;
}
.postid-62338 form.variations_form {
    margin-top: 12px !important;
}
.postid-62338 .variations .row-isw-swatch {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.postid-62338 .woocommerce-variation-add-to-cart {
    padding-top: 14px !important;
}
.postid-62338 .wpcpq-wrap {
    margin-bottom: 0;
}

/* Strikket Tyngdetæppe (62396, NL-KNIT-01, copied from .dk 131968 2026-10-08): colour swatches as text
   buttons (term name from aria-label), label weight, OEKO-TEX logo bottom right, tighter variant spacing. */
.postid-62396 .isw-swatch--isw_color .isw-term {
    width: auto !important;
    height: 38px !important;
    min-width: 0 !important;
    margin: 8px 8px 0 0 !important;
    padding: 0 14px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 5px !important;
    background: #fff !important;
    display: inline-flex !important;
    align-items: center;
    text-decoration: none !important;
    color: var(--minimog-color-heading);
    font-size: 15px;
    line-height: 38px;
    box-shadow: none !important;
}
.postid-62396 .isw-swatch--isw_color .isw-term .term-shape {
    display: none !important;
}
.postid-62396 .isw-swatch--isw_color .isw-term::before {
    content: attr(aria-label) !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    border: 0 !important;
    background: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    color: inherit !important;
    font-size: 15px !important;
    pointer-events: none;
}
.postid-62396 .isw-swatch--isw_color .isw-term::after {
    display: none !important;
}
.postid-62396 .isw-swatch--isw_color .isw-term.isw-selected {
    box-shadow: inset 0 0 0 1px var(--minimog-color-heading) !important;
    border-color: var(--minimog-color-heading) !important;
}
.postid-62396 .row-isw-swatch .selected-term-name {
    display: none !important;
}
.postid-62396 .row-isw-swatch .label {
    margin-bottom: 0 !important;
}
.postid-62396 .entry-summary form.cart .row-isw-swatch .label > label {
    font-weight: 600;
}
.postid-62396 .woo-single-gallery .product-main-image:after {
    top: auto;
    bottom: 12px;
    right: 12px;
    width: 76px;
    height: 76px;
    background-size: contain;
}
.postid-62396 form.variations_form {
    margin-top: 12px !important;
}
.postid-62396 .variations .row-isw-swatch {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.postid-62396 .woocommerce-variation-add-to-cart {
    padding-top: 14px !important;
}
.postid-62396 .wpcpq-wrap {
    margin-bottom: 0;
}

/* Product title line-height on mobile: theme 1.54 looked too airy when the title wraps to two lines (Emil 2026-10-08) */
@media (max-width: 767px) {
    .single-product .entry-summary .product_title.entry-title {
        line-height: 1.3;
    }
    /* A little air between title and byline (Emil 2026-10-08) */
    .single-product .entry-summary .product_title.entry-title + .product-byline {
        margin-top: 6px;
    }
}
