/* NeoDigi 63.29.29: local overflow rules; never clip every descendant on mobile. */
:root { --nd-mobile-nav-height: calc(64px + env(safe-area-inset-bottom, 0px)); }
.partner-price-mobile { display: none; }

/* Percentage-height chains must not feed a grid row's intrinsic height. */
.discount-products-section .discount-products-slider { align-items: flex-start; }
.discount-products-section .discount-products-carousel,
.discount-products-section .discount-products-carousel .owl-stage-outer,
.discount-products-section .discount-products-carousel .owl-stage,
.discount-products-section .discount-products-carousel .owl-item,
.discount-products-section .discount-products-carousel .item {
    height: auto !important;
    min-height: 0;
}
.discount-products-section .discount-products-carousel .owl-stage { align-items: stretch; }
.discount-products-section .discount-products-carousel .owl-item { display: flex; }
.discount-products-section .discount-products-carousel .item { align-self: stretch; }
.discount-products-section .product-card.box1 {
    height: auto;
    min-height: 0;
    flex: 1 1 auto;
    grid-template-rows: auto auto minmax(0, 1fr);
}
.discount-products-section .product-card .product-img { aspect-ratio: 1; min-height: 0; }
.discount-products-section .product-card .product-img::after { content: none; }
.discount-products-section .product-card .product-img .img-container-inner { padding: 12px; }
.discount-products-section .product-card .product-img .img-container-inner > img {
    width: 100%; height: 100%; object-fit: contain;
}
.discount-products-section .festival-summary-heading,
.discount-products-section .festival-summary-title-wrap { max-width: 100%; min-width: 0; }
.discount-products-section .discount-products_title { white-space: normal; overflow-wrap: anywhere; }
.discount-products-section .festival-view-all { white-space: nowrap; }
.nd-comparison-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.nd-comparison-canvas .row { margin-inline: 0; }
.nd-comparison-canvas table { width: 100%; table-layout: fixed; }
.nd-comparison-canvas td { width: 25%; }

@media (max-width: 991.98px) {
    body.nd-has-mobile-navigation { padding-bottom: var(--nd-mobile-nav-height); }
    .partner-price-mobile { display: block; padding: 6px 0 10px; background: #fff; }
    .partner-price-mobile > .container { display: flex; justify-content: center; }
    .partner-price-mobile .partner-price-switch { margin: 0; width: min(100%, 280px); }
    .partner-price-mobile .partner-price-switch button { flex: 1; min-width: 0; min-height: 28px; padding-block: 2px; }
    .header .inner-nav-container, .header .searchbox-mb { min-width: 0; max-width: 100%; }
    .navbar-fixed-mobile {
        min-height: var(--nd-mobile-nav-height);
        padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
    }
    .navbar-fixed-mobile > .container { max-width: 100%; padding-inline: 4px; }
    .navbar-fixed-mobile .row {
        display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
        gap: 2px; margin: 0;
    }
    .navbar-fixed-mobile .row > div { width: auto; min-width: 0; padding: 0; }
    .navbar-fixed-mobile .row > div > a {
        min-width: 0; min-height: 52px; gap: 4px; padding: 3px 0;
        text-decoration: none; position: relative;
    }
    .navbar-fixed-mobile p {
        margin: 0; font-size: 11px; line-height: 18px;
        white-space: nowrap; word-break: normal;
    }
    .navbar-fixed-mobile a > span:not(.basket-notify),
    .navbar-fixed-mobile a > svg { width: 20px; height: 20px; font-size: 20px; line-height: 20px; flex: none; }
    .navbar-fixed-mobile .basket-notify { font-size: 10px; line-height: 14px; inset-inline-end: calc(50% - 22px); }
    .discount-products-section .discount-products-layout { grid-template-columns: minmax(0, 1fr); }
    .discount-products-section .discount-products-summary { padding: 12px; }
    .discount-products-section .festival-summary-copy { flex: 1 1 100%; }
    .discount-products-section .festival-summary-actions { justify-content: flex-start; gap: 8px; }
    .discount-products-section .festival-static-products {
        flex-wrap: nowrap !important; overflow-x: auto; align-items: stretch;
        scroll-snap-type: x proximity; overscroll-behavior-x: contain; padding-bottom: 4px;
    }
    .discount-products-section .festival-static-products > .item {
        flex: 0 0 var(--festival-card-width, 210px); width: var(--festival-card-width, 210px);
        max-width: 100%; scroll-snap-align: start;
    }
    .popup-overlay .popup-content { max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; }
    .nd-comparison-canvas { min-width: 1024px; }
    .nd-comparison-canvas .col-3, .nd-comparison-canvas td { min-width: 0; }
}
@media (max-width: 575.98px) {
    .discount-products-section .countdown .part { width: 34px; margin-left: 3px; flex-shrink: 0; }
    .discount-products-section .festival-view-all { padding-inline: 10px; font-size: 12px; }
    .discount-products-section .festival-summary-actions > * { max-width: 100%; }
    .discount-products-section .discount-products-box { padding: 12px; }
    .discount-products-section .discount-products_title { font-size: 16px; }
    .cheque-step-actions .btn, .cheque-settlement .btn { white-space: normal; overflow-wrap: anywhere; }
}

/* Mobile hero: rounded clipped slides, without previous/next controls. */
@media (max-width: 767.98px) {
    .full-width-slider .slider-carousel { border-radius: 16px; overflow: hidden; margin-bottom: 0; }
    .full-width-slider .slider-carousel .owl-stage-outer { border-radius: inherit; }
    .full-width-slider .slider-carousel .owl-nav { display: none !important; }
}

/* Device-specific banners use CSS so shared page caches remain safe. */
@media (max-width: 767.98px) {
    .nd-banner-desktop-only { display: none !important; }
    .full-width-slider { margin-bottom: 8px !important; }
}
@media (min-width: 768px) {
    .nd-banner-mobile-only { display: none !important; }
}

/* Secondary section headings only: keep product copy and form guidance readable. */
@media (max-width: 767.98px) {
    .section-title .section__title_en,
    .festival-summary-subtitle,
    .discount-products-section .discount-products_text,
    .nd-section-subtitle { display: none !important; }
}

/* 63.29.37: compact mobile festival header; retain settings and natural wrapping. */
@media (max-width: 767.98px) {
    .discount-products-section.festival-template-minimal .discount-products-summary {
        padding: 6px 12px;
        gap: 6px;
    }
    .discount-products-section.festival-template-minimal .festival-summary-copy { gap: 0; }
    .discount-products-section.festival-template-minimal .festival-summary-kicker {
        margin-bottom: 1px;
        line-height: 16px;
    }
    .discount-products-section.festival-template-minimal .discount-products_title {
        margin: 0;
        line-height: 24px;
    }
    .discount-products-section.festival-template-minimal .festival-summary-logo {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        padding: 4px;
    }
}
