/* Migrated from WordPress Customizer "Additional CSS" (2026-10-14) so changes here go
   through git instead of copy-paste into the database. Remove the Customizer copy once
   this is confirmed live, to avoid two sources of truth for the same rules. */

.home-banner-slider-x,
.home-banner-slider-x * {
    width: 100%;
}

@media (min-width:767px)  and (max-width: 769px){
    .upsell__product--popup-inner{
        height: 80vh !important;
    }

}

.banner_counter .sale-countdown .days,.banner_counter .sale-countdown .hours,
.banner_counter .sale-countdown .minutes,
.banner_counter .sale-countdown .seconds
{
    font-size:24px
}

.elementor-widget-image a img[src$=".svg"] {
  width: 30px;
}

.elementor-mark-required .elementor-field-label:after {
    color: var(--nw-burgundy);
}

.overflowhidden{
    overflow:hidden;
}

/* sticky add to cart price styling */
.woocommerce-variation-price .price del {
    display: inline-flex !important;
    align-items: center;
    vertical-align: middle !important;
    line-height: 1 !important;
    transform: translateY(0) !important;
}

/* Total label */
.single_variation_wrap .woocommerce-variation-price .price::before {
    font-family: "DM Sans", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    content: "Total " !important;
    margin-right: 4px !important;
}

/* Align everything properly */
.single_variation_wrap .woocommerce-variation-price .price {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
}

.kl_reviews__star_rating_widget__label {
    font-family: "DM Sans", sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    background: transparent !important;
    padding: 0 !important;
}

.kl_reviews__star_rating_widget__label::before {
    content: "(" !important;
}

.kl_reviews__star_rating_widget__label::after {
    content: ")" !important;
}

.woocommerce-variation-price .price {
    display: flex !important;
    flex-direction: row-reverse !important;
    gap: 8px;
}
.woocommerce-variation-price .price del {
    color:var(--nw-ink) !important;
    font-size: 19px;
    display: inline-block;
    transform: translateY(6px);
    text-decoration: line-through;
    font-family:"DM Sans", sans-serif!important;
    font-weight: 400 !important;
}
.woocommerce-variation-price .price,
.woocommerce-variation-price .price ins {
    color: #000 !important;
    text-decoration: none !important;
    font-size: 24px;
    font-family: var(--nw-font-display) !important;
    font-weight: 600 !important;
}

.single_thumbnail_image-14905 .swiper-slide img {
    border-radius: 4px !important;
    overflow: hidden;
}
.single_thumbnail_image .swiper-slide.swiper-slide-thumb-active img {
    border: 2px solid var(--nw-navy) !important;
}

.NO_mega_menu{
    flex:1 !important;
}

    .kl_newsletter_checkbox_field{
        margin-bottom: 0px !important;

    }
    .woocommerce-shipping-fields #ship-to-different-address{
        margin-bottom: 4px !important;
        text-transform: lowercase ;

    }
.kw_checkout-left .create-account{
    margin-bottom :0px !important;
}

.week-deliary p{
    margin-bottom : 0px !important;
}
.chat-button{
    animation: pulse 4s infinite;  /* Animation on loop */
}
@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);  /* Slightly larger */
    }
    100% {
        transform: scale(1);
    }
}

.cananda_r .e-closed svg{
    border-radius: 50%;
}
.sale_coun-down .elementor-countdown-item:last-child {
  border: none !important;
}

.image_checkbox .frm_text_label_for_image{
        min-height: 52px;
}
.canada_form_style .frm_fields_container{
    padding-left: 10px;
}

.mac-safari .variations_form .variations ul li .value .variation-radios label .variation_image_icon img {
        height: 86% !important;
    }
 .ios-device .variations_form .variations ul li .value .variation-radios label .variation_image_icon img {
        height: 86% !important;
    }

.sale_coun-down .elementor-countdown-item{
    display:flex;
    gap: 5px;
    flex-direction: row;
  justify-content: center;

}

.norweh_icon-style .elementor-icon{
    margin-bottom: 10px;
}
.living-text {
    font-family: 'DM Sans' !important;
    font-weight: 700 !important;
}

.font_700 a{
        font-weight:700 !important;

}

.watch-btn .elementor-button-icon svg{
    width : 20px;
 height : 20px;
}
.expert_icon_status.inactive .elementor-widget-container img{
    opacity: 0.5 ;
}

.expert_icon_status.inactive .elementor-widget-container:before {
    content: "";
    background-color: var(--nw-burgundy);
    display: inline-block;
    position: absolute;
    height: 10px;
    width: 10px;
    right: 0px;
    bottom: 3px;
    border-radius: 50%;
    z-index: 1;
}

.expert_icon_status.active .elementor-widget-container:before {
    content: "";
    background-color: green;
    display: inline-block;
    position: absolute;
    height: 10px;
    width: 10px;
    right: 0px;
    bottom: 3px;
    border-radius: 50%;
}

#mini-cart-holder .woocommerce-mini-cart{
    top:55px;
}

.otgs-development-site-front-end{
    display: none ;
}

.insta-reel .sbi_photo{
    height: 400px !important;
}

.circle-progress-container {
    position: relative;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background-color: #f3f3f3;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.circle-progress-bar {
    position: absolute;
    width: 200px;
    height: 220px;
    background-color: transparent;
    border-radius: 50%;
    border: 10px solid transparent;
    border-top: 10px solid var(--nw-navy-600);
    transform: rotate(0deg);
    transition: transform 0.3s ease;
}

.frm_rootline_group{
    display: none !important;
}
.frm_page_bar{
display: none !important;

}
.frm_percent_complete, .frm_pages_complete{
    display: none !important;
}

 .with_frm_style .frm_radio label input[type=radio]{
    margin-right: 15px;
}

.text_emil{
    color : var(--nw-burgundy) ;
 text-decoration:underline;
}

.variations_form .variations ul li .value .variation-radios label .variation_image_label{
    line-height:normal;

}

@media screen and (max-width: 500px){
    .variations_form .variations ul li .value .variation-radios label .variation_image_label{
    font-size: 10px;
}
    .variations_form .variations ul li .value .variation-radios {
        gap:5px;
}
}

@media screen and (max-width: 1024px){
    .single_thumbnail_image {
    padding: 0px 5px;
}
}

@media screen and (max-width: 425px){
    .counter-container-box .elementor-counter-number-wrapper{
        font-size: 24px !important;
    }
    .counter-container-box .elementor-counter-title{
        font-size: 12px !important;
    }
}

.variation-radios.variation-radios__attribute_pa_size{
    flex-wrap: wrap;
}

#billing_order_notes_field{
    display: none;
}

#elementor-lightbox-slideshow-single-img{
    display: none !important;
}

.upsell__product--popup-item .product-image img{
    aspect-ratio:unset;
}

.upsell__product--popup-inner .mySwiper .swiper-wrapper{
padding:0px;
}

.upsell__product--popup-inner {
    padding: 10px 20px;
    padding: 40px;
}
.theme-hello-elementor:has(.elementor-933) .dialog-type-lightbox,
.theme-hello-elementor:has(.elementor-1067) .dialog-type-lightbox{
z-index:9999999;
}

.woocommerce-variation.single_variation .price ins{
    text-decoration: none;
    grid-area:ins
}
.woocommerce-variation.single_variation .price del{
    font-size: 20px;
    grid-area: del;
}

.woocommerce-variation.single_variation .price:has(del){
        display: grid !important;
    grid-template-areas:
        'total del '
        'ins ins';
    align-items: baseline;
        grid-template-columns: auto 1fr;
    column-gap: 8px;

}
@media screen and (max-width:767px){
    .woocommerce-variation.single_variation .price:has(del){
    grid-template-areas:
        'total ins del';
            grid-template-columns: 1fr auto auto;
        align-items: baseline;
}
}
.woocommerce-variation.single_variation .price::before{
    grid-area: total
}

.nwicon-box .elementor-icon-box-title {
    margin:0px;
}

.e-n-menu-dropdown-icon-opened svg,
.e-n-menu-dropdown-icon-closed svg{
    height: 4px !important;
}

.single_featured_image img {

    border-radius: 8px;
}

.swiper.single_thumbnail_image .swiper-slide img {
    border-radius: 4px !important;
       height :108px !important;


}
.single_thumbnail_image .swiper-slide {
   aspect-ratio: auto !important;
}
@media (max-width: 480px) {
    .swiper.single_thumbnail_image .swiper-slide img {
        height: 68px !important;
        object-fit: cover;
    }
}
@media (width: 1024px) {
    .swiper.single_thumbnail_image .swiper-slide {
        height: 155px !important;

    }

    .swiper.single_thumbnail_image .swiper-slide img {
    }
}

div.variation_image_icon{
    border-radius:4px;
}
.variations_form .variations ul li .label label{

    font-family: "DM Sans", sans-serif;
    font-size: 16px ;
    font-weight: 600 !important ;
    color: var(--nw-ink);
}
.variation_wall_wrapper {
    border-radius:4px;
}
.affirm-as-low-as {
    display: none !important;
}

@media screen and (max-width: 767px){
    .upsell__product--popup-inner{
        max-height: fit-content;

    }
}
#tidio-chat,
.grid-layout.widget-position-right{
    bottom: 110px !important;
}

#kl_newsletter_checkbox{
    height: auto;
}
.woocommerce-form__label-for-checkbox{
    margin: 0 !important;
}

.woocommerce-checkout .wc_avatax_validate_address{
    margin: 10px 0 !important
}
.woocommerce-order-pay .woocommerce-additional-fields{
    display: none;
}

#kl_newsletter_checkbox + .optional{
    display: none;
}
.wc_avatax_validate_address.button{
    display: none !important;
}
.wc-avatax-address-validation-result{
    font-size: 12px !important;
}
.woocommerce-billing-fields br{
    display: none !important;
}

.custom-email-element.woocommerce-invalid {
  border: 1px solid var(--nw-burgundy);
}

.custom-email-element.woocommerce-validated {
  border: 1px solid #0f834d;
}

.woocommerce_checkout_email-detail:has(.woocommerce-invalid-required-field) #billing_email_custom_validation{
    display: block !important;
    color: var(--nw-navy);
    font-family: "DM Sans", sans-serif;
    font-size: 12px;
    line-height: 1.6;
    margin-bottom: 12px;
}
#billing_email_description{
    display: none;
}
span.custom-checkout-error {
    margin-top: -16px !important;
    display: block;
}
.elementor-widget-n-menu .e-n-menu-dropdown-icon-opened svg,
  .elementor-widget-n-menu .e-n-menu-dropdown-icon-closed svg {
    height: 10px !important;
    width: 10px !important;
  }

.sale-countdown{
    white-space:nowrap;
}

form.cart .quantity{
  border-radius: unset;
  border: unset;
  padding: unset;
}

.elementor-element-4c9461e .elementor-widget-container{
    border-style:none !important;
}

:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart .button:where(:not(:first-child)), :is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart button:where(:not(:first-child)){

margin-inline-start: unset !important;
    margin-block-start: unset !important;
}

/* Desktop: 768px and above */
.norweh-promo-ribbon .norweh-promo-ribbon__desktop {
    display: block !important;
}

.norweh-promo-ribbon .norweh-promo-ribbon__mobile {
    display: none !important;
}

/* Mobile: 767px and below */
@media screen and (max-width: 767px) {
    .norweh-promo-ribbon .norweh-promo-ribbon__desktop {
        display: none !important;
    }

    .norweh-promo-ribbon .norweh-promo-ribbon__mobile {
        display: block !important;
    }
}

/* Responsive Norweh promo ribbon */
.norweh-promo-ribbon svg {
    display: block;
    height: auto;
    width: auto;
    max-width: 100%;
}

.norweh-promo-ribbon__desktop {
    height: clamp(225px, 24.375vw, 351px) !important;
}

.norweh-promo-ribbon__mobile {
    height: clamp(225px, 24.375vw, 351px) !important;
}

/* Switch between desktop and mobile SVGs */
.norweh-promo-ribbon__mobile {
    display: none;
}

@media (max-width: 767px) {
    .norweh-promo-ribbon__desktop {
        display: none;
    }

    .norweh-promo-ribbon__mobile {
        display: block;
        height: 225px !important;
    }
}

/* Checkout radios + variation text from ecom-kilowott-plugin's dist/app.min.css, recoloured
   to the navy brand. The dist build on staging isn't in git or CI and still carries the old
   red (#cc0019), so it's overridden here rather than by re-uploading a different build.
   Drop these once the plugin's dist is rebuilt from src/ and deployed. */
body.woocommerce-checkout .woocommerce form .checkout__form--main #payment .payment-inner-wrapper ul li [type=radio]:checked + label:before,
body.woocommerce-checkout .woocommerce form .checkout__form--main #payment .payment-inner-wrapper ul li [type=radio]:not(:checked) + label:before {
    border-color: var(--nw-navy);
}
body.woocommerce-checkout .woocommerce form .checkout__form--main #payment .payment-inner-wrapper ul li [type=radio]:checked + label:after,
body.woocommerce-checkout .woocommerce form .checkout__form--main #payment .payment-inner-wrapper ul li [type=radio]:not(:checked) + label:after {
    background: var(--nw-navy);
}
body.woocommerce-checkout .woocommerce form .checkout__form--main #order_review div.shop_table .shop-table-body .product-variation {
    color: var(--nw-body);
}

/* Brand consistency on shared pieces outside Elementor's per-widget styles (see
   brand-tokens.css for Site Settings and elementor-brand.css for widget values). */
/* Breadcrumb separator (#breadcrumbs, theme-styles.css) was pure black. */
#breadcrumbs span.breadcrumb-forward { color: var(--nw-ink); }
/* Elementor Pro's own default stylesheet for the My Account widget hardcodes Roboto and grey. */
.elementor-widget-woocommerce-my-account { font-family: var(--nw-font-body); color: var(--nw-body); }
/* Formidable forms (quote request): its default style's colour variables. */
body .with_frm_style {
    --required-color: var(--nw-burgundy);
    --error-text: var(--nw-burgundy);
    --border-color-error: var(--nw-burgundy);
    --border-color: var(--nw-line-strong);
    --border-color-disabled: var(--nw-line);
    --form-desc-color: var(--nw-muted);
}

/* [norweh_accessory_notice] / [norweh_addon_disclaimer] call-outs (archives and accessory
   product pages): brand colours and font instead of the pre-rebrand warm greys. */
.notice,
.disclaim { font-family: var(--nw-font-body); background: var(--nw-surface); }

/* Category notice: informational, navy accent. */
.notice { border-left-color: var(--nw-navy-600); }
.notice-ico { background: var(--nw-navy-600); }
.notice p { color: var(--nw-body); }
.notice b { color: var(--nw-ink); }

/* Card disclaimer ("can't be purchased on its own"): caution, burgundy mark. */
.disclaim { border-color: var(--nw-line); }
.disclaim-ico { background: var(--nw-burgundy); }
.disclaim p { color: var(--nw-body); }

/* ---- Defaults from other stylesheets, on the brand (site-wide) -------------------------
   Anything not styled more specifically falls back to these. */

/* Hello Elementor's reset.css: pink (#c36) links with an indigo hover, and pink bordered
   buttons that fill pink on hover/focus. */
a { color: var(--nw-navy-600); }
a:hover,
a:active { color: var(--nw-navy); }
[type="button"],
[type="submit"],
button { border-color: var(--nw-navy); color: var(--nw-navy); }
[type="button"]:focus,
[type="button"]:hover,
[type="submit"]:focus,
[type="submit"]:hover,
button:focus,
button:hover { background-color: var(--nw-navy); color: var(--nw-white); }

/* WooCommerce's default buttons (notices' "View cart", account and order actions, …):
   the navy pill instead of lavender / purple, including hover and disabled states. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
    background-color: var(--nw-navy);
    color: var(--nw-white);
    font-family: var(--nw-font-body);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
    background-color: var(--nw-navy-600);
    color: var(--nw-white);
}
.woocommerce a.button.alt.disabled,
.woocommerce a.button.alt:disabled,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled,
.woocommerce input.button.alt.disabled,
.woocommerce input.button.alt:disabled,
.woocommerce a.button.alt.disabled:hover,
.woocommerce a.button.alt:disabled:hover,
.woocommerce button.button.alt.disabled:hover,
.woocommerce button.button.alt:disabled:hover,
.woocommerce input.button.alt.disabled:hover,
.woocommerce input.button.alt:disabled:hover {
    background-color: var(--nw-navy);
    color: var(--nw-white);
}

/* WooCommerce forms: field text, show-password eye, login / register / coupon box border. */
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input { color: var(--nw-ink); }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register { border-color: var(--nw-line); }

/* Elementor defaults: required-field asterisk (red) and star rating (orange / blue-grey). */
.elementor-mark-required .elementor-field-label::after { color: var(--nw-burgundy); }
.elementor-star-rating { color: var(--nw-line-strong); }
.elementor-star-rating i::before { color: var(--nw-burgundy); }
/* Klaviyo reviews (carousel, star badges): filled stars burgundy, carousel arrows navy. The
   star paths fill from an inline gradient, which a CSS fill overrides. */
.kl_reviews__full_star .kl_reviews__star { fill: var(--nw-burgundy); }
.kl_reviews__carousel__prev_button path,
.kl_reviews__carousel__next_button path { fill: var(--nw-navy); }
/* Disabled default buttons (e.g. "Update cart" until a quantity changes): WooCommerce
   leaves inherited text on a lavender hover; keep the navy pill, dimmed. */
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce a.button.disabled:hover,
.woocommerce a.button:disabled:hover,
.woocommerce button.button.disabled:hover,
.woocommerce button.button:disabled:hover,
.woocommerce input.button.disabled:hover,
.woocommerce input.button:disabled:hover,
.woocommerce a.button:disabled[disabled],
.woocommerce a.button:disabled[disabled]:hover,
.woocommerce button.button:disabled[disabled],
.woocommerce button.button:disabled[disabled]:hover,
.woocommerce input.button:disabled[disabled],
.woocommerce input.button:disabled[disabled]:hover {
    background-color: var(--nw-navy);
    color: var(--nw-white);
}

/* About Us story (text block tagged nw-about-copy by figma-templates/redesign/
   rebrand-about.mjs): its section titles are <h2>s inside the copy, set like every other
   heading on the site. */
.nw-about-copy h2 {
    margin: 48px 0 12px;
    color: var(--nw-ink);
    font-family: var(--nw-font-display);
    font-size: 32px;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.32px;
}
.nw-about-copy h2:first-child { margin-top: 0; font-size: 44px; letter-spacing: -0.44px; }
.nw-about-copy h2 strong { font-weight: inherit; }
.nw-about-copy p { margin: 0; }
@media (max-width: 767px) {
    /* The story block goes full-bleed on phones: give it the 20px page gutter. */
    .nw-about-copy { padding-left: 20px; padding-right: 20px; }
    .nw-about-copy h2 { margin-top: 36px; font-size: 26px; }
    .nw-about-copy h2:first-child { font-size: 32px; }
}

/* Phones: iOS Safari zooms the page into any field under 16px when it gets focus (Elementor
   forms, checkout, My Account, Formidable, cart qty all set 14–15px), so text fields go to
   16px there. !important because each form sets its size per widget at high specificity. */
@media (max-width: 767px) {
    input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="hidden"], [type="file"], [type="range"]),
    select,
    textarea { font-size: 16px !important; }
}

/* Cart + checkout line prices on sale (functions.php
   norweh_cart_item_subtotal_with_regular_price): full price struck through, then the
   sale price in the line's own style. Wraps onto two lines where the column is narrow. */
.nw-sale-price {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-end;
    gap: 2px 8px;
    vertical-align: baseline;
}
.nw-sale-price del {
    color: var(--nw-muted) !important;
    font-size: 0.85em;
    font-weight: 400 !important;
    text-decoration: line-through;
}
.nw-sale-price del .woocommerce-Price-amount { color: inherit !important; font-weight: inherit !important; }
.nw-sale-price ins {
    background: none;
    color: inherit;
    font-weight: inherit;
    text-decoration: none;
}

/* FAQ plugin (gapfaq): its one Font setting stays "inherit" so questions, answers and buttons
   use DM Sans; page titles get the brand heading face like every other page. */
.gapfaq__archive-title,
.gapfaq__cat-title,
.gapfaq__single-title,
.gapfaq__hero-title {
    font-family: "Playfair Display", serif;
    font-weight: 600;
}
