/* ── RESPONSIVE / MEDIA QUERIES ─────────────────────────────────────────── */

/* Large Tablets & Small Laptops */
@media (max-width: 1200px) {
    :root {
        --section-y: 72px;
    }

    .w_nav_inner {
        padding: 0 15px 0 10px;
    }

    .w_nav {
        width: calc(100% - 32px);
    }

    .w_nav_lang_trigger svg,
    .w_nav_lang_trigger .arrow_down {
        display: none;
    }

    .w_nav .w_nav_logo_name {
        display: none;
    }

    .w_nav_links {
        display: none;
    }

    .w_mobile_toggle {
        display: flex;
    }

    .w_nav_actions {
        gap: 2px;
    }

    .w_nav_actions .btn_nav_auth,
    .w_nav_actions .btn_nav_login {
        display: none;
    }

    .w_shop_layout {
        grid-template-columns: 220px 1fr;
        gap: 20px;
    }

    .w_product_layout {
        gap: 36px;
    }

    .w_footer_grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 28px;
    }

    .w_footer_brand_col {
        grid-column: 1 / -1;
        display: flex;
        flex-direction: column;
        gap: 0;
        align-items: flex-start;
    }

    .w_footer_brand_desc {
        max-width: 520px;
    }

    .wpc_grid_4,
    .w_empty_state_suggestions_grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .w_newsletter_section_inner {
        gap: 32px;
    }

    .w_features_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .w_steps_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .w_steps_grid::before {
        display: none;
    }

    .w_stats_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .w_condition_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .w_brand_wall {
        grid-template-columns: repeat(2, 1fr);
    }

    .w_features_grid>.w_feature_card:last-child:nth-child(odd),
    .w_condition_grid>.w_condition_card:last-child:nth-child(odd),
    .w_brand_wall>.w_brand_wall_card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .w_footer_cta {
        padding: 32px;
    }

    .w_footer_cta_text h2 {
        font-size: clamp(20px, 6vw, 34px);
        margin: 0.25rem auto;
        width: 90%;
    }

    .w_footer_cta_text p {
        font-size: 0.85rem;
        margin-bottom: 0;
    }

    .w_hero_visual {
        flex: 0 0 420px;
        width: 420px;
        height: 500px;
    }

    .w_hero_brand_chip {
        padding: 8px 14px 8px 11px;
    }

    .w_hero_brand_name {
        font-size: 12px;
    }
}

/* Tablets */
@media (max-width: 1024px) {
    :root {
        --section-y: 60px;
    }

    .w_nav {
        width: calc(100% - 24px);
    }

    .w_mobile_menu {
        width: calc(100% - 24px);
    }

    .w_auth,
    .w_auth_page {
        grid-template-columns: 1fr;
    }

    .w_auth_brand {
        display: none;
    }

    .w_auth_form_side {
        min-height: 100vh;
        padding: 40px 32px;
    }

    .w_contact_layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .w_cart_layout {
        grid-template-columns: 1fr;
        margin-top: 0;
    }

    .w_cart_summary {
        position: static;
    }

    .w_checkout_layout {
        grid-template-columns: 1fr;
    }

    .w_checkout_summary_col {
        position: static;
    }

    .w_checkout_fields {
        grid-template-columns: 1fr;
    }

    .w_payment_options {
        grid-template-columns: 1fr 1fr;
    }

    .w_order_view_layout {
        grid-template-columns: 1fr;
    }

    .w_order_view_aside {
        position: static;
    }

    .w_profile_dashboard,
    .w_profile_main_grid {
        grid-template-columns: 1fr;
    }

    .w_profile_aside {
        position: static;
    }

    .w_shop_layout {
        grid-template-columns: 1fr;
    }

    .w_product_layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .w_product_gallery {
        position: static;
        overflow: hidden;
    }

    .w_product_main_img {
        border-radius: var(--r-lg);
    }

    .w_product_title {
        font-size: clamp(21px, 2.5vw, 30px);
    }

    .w_pd_top_bar {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .w_pd_section {
        padding-inline: 0;
    }

    .w_pd_breadcrumb {
        width: 100%;
    }

    .w_pd_share_btn_top {
        align-self: flex-end;
    }

    .w_pd_spec_row {
        gap: 0;
    }

    .w_related_section {
        margin-top: 1.5rem;
        padding-top: 1rem;
    }

    .w_footer_grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .w_footer_brand_col {
        grid-column: 1 / -1;
        display: flex;
        flex-direction: column;
        padding-inline-end: 0;
    }

    .w_footer_social {
        margin-bottom: 0;
    }

    .w_footer_cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .w_footer_social {
        margin-inline-start: 0;
    }

    .wpc_grid_4,
    .w_empty_state_suggestions_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .w_hero_deco_circle_1,
    .w_hero_deco_circle_2 {
        display: none;
    }

    .w_hero .w_hero_arrows {
        bottom: 20px;
        right: 20px;
    }

    .w_hero_visual {
        display: none;
    }

    .w_mobile_app_card {
        padding: 44px 40px;
    }

    .w_mobile_app_glyph {
        width: 220px;
        height: 220px;
    }

    .w_newsletter_section_inner {
        grid-template-columns: 1fr;
        gap: 32px;
        text-align: center;
        padding: 0.75rem;
    }

    .w_newsletter_section_text p {
        max-width: 100%;
    }

    .w_newsletter_section_form {
        padding: 18px;
    }

    .w_newsletter_section_action_row {
        grid-template-columns: 1fr;
    }

    .w_perks_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .w_perk_item:nth-child(3) {
        border-inline-start: none;
        border-top: 1px solid var(--c-border);
    }

    .w_perk_item:nth-child(4) {
        border-top: 1px solid var(--c-border);
    }

    .w_stats_grid,
    .w_brand_wall,
    .w_condition_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile */
@media (max-width: 768px) {
    :root {
        --section-y: 48px;
        --nav-height: 56px;
    }

    .w_nav_icon_btn {
        width: 30px;
    }

    .w_nav_lang_trigger {
        padding: 0 10px;
    }

    .btn_logout {
        display: none;
    }

    .w_nav_lang_menu {
        inset-inline-start: 0;
        inset-inline-end: auto;
        min-width: 11rem;
        max-width: calc(100vw - 32px);
    }

    .w_cart_badge {
        width: 16px;
        height: 16px;
        font-size: 12px;
    }

    .w_nav {
        top: 10px;
        width: calc(100% - 20px);
        height: 54px;
        border-radius: 30px;
    }

    .w_shopnav_inner {
        padding: 0 0.5rem;
    }

    .w_mobile_menu {
        width: calc(100% - 20px);
    }

    .w_container {
        padding: 0 16px;
        margin-top: 0.5rem;
    }

    .w_product_details {
        margin-top: 0;
        padding-block: 0.75rem;
    }

    .w_section_title {
        font-size: clamp(18px, 3vw, 1rem);
        margin-bottom: 4px;
    }

    .w_pd_sticky_bar {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 900;
        align-items: center;
        gap: 12px;
        padding: 10px 16px;
        background: var(--c-white);
        border-top: 1px solid var(--c-border);
        box-shadow: 0 -12px 30px rgba(13, 27, 42, .1);
        transform: translateY(100%);
        pointer-events: none;
        transition: transform .3s ease;
    }

    .w_pd_sticky_bar.visible {
        transform: translateY(0);
        pointer-events: auto;
    }

    .w_pd_sticky_info {
        flex: 1 1 auto;
        min-width: 0;
    }

    .w_pd_sticky_name {
        font-size: 12px;
        color: var(--c-text-muted);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .w_pd_sticky_price {
        display: flex;
        align-items: baseline;
        gap: 6px;
    }

    .w_pd_sticky_price_main {
        font-size: 16px;
        font-weight: 700;
        color: var(--c-text);
    }

    .w_pd_sticky_price_original {
        font-size: 12px;
        color: var(--c-text-light);
        text-decoration: line-through;
    }

    .w_pd_sticky_actions {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-shrink: 0;
    }

    .w_pd_sticky_actions .w_pd_share_btn,
    .w_pd_sticky_actions .w_pd_consult_btn {
        width: 40px;
        height: 40px;
        padding: 0;
        justify-content: center;
        flex-shrink: 0;
    }

    .w_pd_sticky_add_btn {
        height: 40px;
        padding: 0 18px;
        font-size: 13px;
    }

    .w_hero {
        height: 74vh;
        min-height: 500px;
        max-height: 640px;
    }

    .w_hero_content {
        padding: 0 20px;
        gap: 28px;
    }

    /* Warm accent glow re-centered behind the headline for extra depth,
       rather than the desktop's off-canvas placement near the (hidden) visual. */
    .w_hero_deco_glow {
        width: 420px;
        height: 420px;
        top: 6%;
        right: -90px;
        left: auto;
        transform: none;
        background: radial-gradient(circle, rgba(232, 160, 32, .22) 0%, transparent 70%);
    }

    [dir="rtl"] .w_hero_deco_glow {
        right: auto;
        left: -90px;
    }

    .w_hero_title {
        font-size: clamp(30px, 8.6vw, 46px);
        line-height: 1.08;
        letter-spacing: -.03em;
        text-shadow: 0 4px 28px rgba(0, 0, 0, .38);
        margin-bottom: 5rem;
    }

    .w_hero_eyebrow {
        margin-bottom: 10px;
    }

    .w_hero_subtitle {
        font-size: 14.5px;
        line-height: 1.65;
        margin-bottom: 22px;
        max-width: 100%;
        display: none;
    }

    .w_hero_actions .btn_outline {
        display: inline-flex;
    }

    .w_hero_actions {
        margin-bottom: 18px;
    }

    .w_hero_actions .btn_primary {
        padding: 15px 26px;
        box-shadow: 0 14px 34px rgba(232, 160, 32, .40);
    }

    .w_hero_ai_search {
        display: none;
    }

    .w_hero_mobile_search {
        display: block;
        width: 100%;
        max-width: 100%;
    }

    .w_hero_mobile_search_bar {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        padding: 9px;
        box-shadow: 0 22px 50px rgba(8, 16, 30, .32);
    }

    .w_hero_mobile_search_input_wrap input {
        min-height: 46px;
        font-size: 14px;
    }

    .w_hero_mobile_search_bar button {
        min-height: 46px;
        padding: 0 18px;
        font-size: 12px;
    }

    .w_hero_slide::before,
    .w_hero_actions .btn_primary::after {
        display: none;
    }

    .w_hero_slide_img,
    .w_hero_slide.active .w_hero_slide_img,
    .w_hero_visual,
    .w_hero_slide.active .w_hero_visual,
    .w_hero_eyebrow,
    .w_hero_slide.active .w_hero_eyebrow,
    .w_hero_title,
    .w_hero_slide.active .w_hero_title,
    .w_hero_subtitle,
    .w_hero_slide.active .w_hero_subtitle,
    .w_hero_actions,
    .w_hero_slide.active .w_hero_actions {
        animation: none;
        transition-duration: .01ms;
        transition-delay: 0s;
    }

    .w_hero_slide_img,
    .w_hero_slide.active .w_hero_slide_img {
        transform: none;
        opacity: 1;
        filter: saturate(1.02) contrast(1.01);
    }

    .w_hero_visual,
    .w_hero_slide.active .w_hero_visual,
    .w_hero_eyebrow,
    .w_hero_slide.active .w_hero_eyebrow,
    .w_hero_title,
    .w_hero_slide.active .w_hero_title,
    .w_hero_subtitle,
    .w_hero_slide.active .w_hero_subtitle,
    .w_hero_actions,
    .w_hero_slide.active .w_hero_actions {
        opacity: 1;
        transform: none;
    }

    .w_hero_dots {
        bottom: 18px;
    }

    .w_hero_dot {
        width: 17px;
    }

    .w_hero_arrows {
        bottom: 18px;
        right: 16px;
    }

    .w_hero_arrow {
        width: 38px;
        height: 38px;
        background: rgba(255, 255, 255, .12);
        border-color: rgba(255, 255, 255, .18);
        backdrop-filter: blur(14px) saturate(1.7);
        -webkit-backdrop-filter: blur(14px) saturate(1.7);
    }

    /* Bouncing "more below" cue, centered above the dots row */
    .w_hero_scroll_cue {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        bottom: 54px;
        left: 50%;
        transform: translateX(-50%);
        width: 30px;
        height: 30px;
        z-index: 3;
        opacity: 0;
        animation: w_hero_scroll_cue_reveal .8s ease .9s forwards;
        pointer-events: none;
    }

    .w_hero_scroll_cue svg {
        width: 20px;
        height: 20px;
        fill: none;
        stroke: rgba(255, 255, 255, .7);
        stroke-width: 2.2;
        stroke-linecap: round;
        stroke-linejoin: round;
        animation: w_hero_scroll_cue_bounce 2.2s ease-in-out .9s infinite;
    }

    @keyframes w_hero_scroll_cue_reveal {
        to {
            opacity: 1;
        }
    }

    @keyframes w_hero_scroll_cue_bounce {

        0%,
        100% {
            transform: translateY(0);
        }

        50% {
            transform: translateY(7px);
        }
    }

    .w_cats_grid {
        display: flex;
        flex-wrap: nowrap;
        grid-template-columns: none;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 4px;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .w_cats_grid::-webkit-scrollbar {
        display: none;
    }

    .w_cat_card {
        flex: 0 0 auto;
        width: 168px;
        min-width: 168px;
        min-height: 168px;
        border-radius: 18px;
    }

    .w_cat_card_overlay {
        padding: .8rem;
        gap: .55rem;
    }

    .w_cat_card_name {
        font-size: .88rem;
        line-height: 1.25;
    }

    .w_cat_card_count {
        min-width: 34px;
        min-height: 34px;
        padding: .25rem .6rem;
        font-size: .74rem;
    }

    .wpc_grid,
    .wpc_grid_4,
    .w_empty_state_suggestions_grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .w_empty_state {
        padding: 44px 16px 32px;
        gap: 12px;
    }

    .w_empty_state_suggestions {
        margin-top: 16px;
        padding-top: 22px;
    }

    .w_empty_state_suggestions_head {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .w_search_card {
        padding: 0;
    }

    .w_search_card .w_empty_state_suggestions_grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .w_search_section_head {
        flex-wrap: wrap;
        gap: 6px;
        margin-bottom: 5px;
        padding: 1.25rem;
    }

    .w_search_section_title {
        font-size: 14px;
    }

    .wpc_card {
        height: auto;
    }

    .wpc_card_name a {
        font-size: 1rem;
    }

    .wpc_card_name a:active {
        color: var(--c-accent);
    }

    .wpc_card:hover {
        transform: none;
    }

    .wpc_card_img_wrap {
        display: block;
        width: auto;
        min-height: 0;
        aspect-ratio: 1 / 1;
        max-height: none;
        margin: 12px 12px 0;
        border-radius: 14px;
    }

    .wpc_card_img_link {
        display: block;
        position: relative;
        width: 100%;
        height: 100%;
    }

    .wpc_card_img_wrap img,
    .wpc_card_img_placeholder {
        width: 100%;
        height: 100%;
    }

    .wpc_card_badges {
        top: 10px;
        inset-inline-start: 10px;
        gap: 4px;
    }

    .wpc_card_badge {
        padding: 3px 7px;
        font-size: 9.5px;
    }

    .wpc_card_dots {
        position: absolute;
        inset-inline: 0;
        bottom: 9px;
        margin-top: 0;
    }

    .wpc_card_img_arrow {
        display: none;
    }

    .wpc_card_name {
        font-size: 14.5px;
        min-height: unset;
        -webkit-line-clamp: 5;
        line-clamp: 5;
    }

    .wpc_card_price_main {
        font-size: 14px;
    }

    .wpc_card_body {
        padding: 14px 14px 15px;
        gap: 6px;
        position: relative;
    }

    .wpc_card_cart_btn {
        display: none;
    }

    .w_home_product_section {
        padding-block: 1.15rem;
    }

    .w_home_product_section .w_section_header {
        flex-direction: row;
        align-items: center;
        gap: 8px;
        margin-bottom: 14px;
    }

    .w_home_product_section .w_section_header_left {
        flex: 1 1 auto;
        min-width: 0;
        gap: 0;
    }

    .w_home_product_section .w_section_title {
        font-size: 1.1rem;
        line-height: 1.2;
        letter-spacing: 0;
    }

    .w_home_product_section .w_section_sub,
    .w_home_product_section .w_eyebrow,
    .w_home_product_header_actions .w_section_see_all {
        display: none;
    }

    .w_home_product_header_actions {
        flex: 0 0 auto;
        margin-inline-start: 0;
        gap: 3px;
        padding: 4px;
        box-shadow: 0 10px 26px rgba(13, 27, 42, .06);
    }

    .w_home_product_view_toggle {
        padding: 2px;
        gap: 2px;
        background: rgba(255, 255, 255, .86);
    }

    .w_home_product_view_btn {
        width: 34px;
        height: 34px;
    }

    .w_home_product_view_btn svg {
        width: 17px;
        height: 17px;
    }

    .w_home_product_arrow {
        width: 36px;
        height: 36px;
        background: transparent;
        color: var(--c-text);
        box-shadow: none;
    }

    .w_home_product_arrow:first-child {
        color: #9fb2ad;
    }

    .w_home_product_slider {
        --home-product-card-width: min(74vw, 310px);
        gap: 12px;
        margin-inline: -1rem;
        padding-inline: 1rem;
        padding-bottom: 4px;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
    }

    .w_home_product_slide .wpc_card {
        flex-direction: column;
        height: 100%;
        min-height: auto;
        border-radius: 14px;
        background: #fff;
        overflow: hidden;
        box-shadow: 0 6px 18px rgba(13, 27, 42, .035);
    }

    .w_home_product_slide .wpc_card:hover {
        transform: none;
    }

    .w_home_product_slide .wpc_card_img_wrap {
        display: block;
        width: auto;
        flex: 0 0 auto;
        aspect-ratio: 1.22 / 1;
        max-height: none;
        margin: 12px 12px 0;
        border-radius: 12px;
        background: #f4f6f8;
    }

    .w_home_product_slide .wpc_card_img_wrap img,
    .w_home_product_slide .wpc_card_img_placeholder {
        width: 100%;
        height: 100%;
        flex: none;
        object-fit: cover;
    }

    .w_home_product_slide .wpc_card_badges {
        top: 10px;
        inset-inline-start: 10px;
    }

    .w_home_product_slide .wpc_card_dots {
        position: absolute;
        inset-inline: 0;
        bottom: 9px;
        margin-top: 0;
    }

    .w_home_product_slide .wpc_card_body {
        padding: 14px 14px 15px;
        gap: 7px;
        min-height: 150px;
    }

    .w_home_product_slide .wpc_card_sku {
        font-size: .72rem;
        letter-spacing: 0;
        text-transform: none;
        color: var(--c-text-muted);
    }

    .w_home_product_slide .wpc_card_name {
        font-size: 1rem;
        line-height: 1.35;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        min-height: 2.7em;
    }

    .w_home_product_slide .wpc_card_price {
        padding-top: 8px;
    }

    .w_home_product_slide .wpc_card_price_main {
        font-size: 1.13rem;
        color: var(--c-text);
    }

    .w_home_product_slide .wpc_card_price_original {
        font-size: .78rem;
    }

    .w_home_product_slide .wpc_card_savings {
        font-size: .74rem;
    }

    .w_home_product_section[data-home-view="list"] .w_home_product_slider {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin-inline: 0;
        padding: 0;
        overflow: visible;
    }

    .w_home_product_section[data-home-view="list"] .w_home_product_slide {
        width: 100%;
        flex-basis: auto;
    }

    .w_home_product_section[data-home-view="list"] .wpc_card,
    .w_home_product_section_stack .wpc_card {
        flex-direction: row;
        align-items: flex-start;
        min-height: 0;
        height: auto;
    }

    .w_home_product_section[data-home-view="list"] .wpc_card_img_wrap,
    .w_home_product_section_stack .wpc_card_img_wrap {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        flex: 0 0 104px;
        width: 104px;
        min-height: 104px;
        aspect-ratio: auto;
        max-height: none;
        margin-block: 14px;
        margin-inline: 14px 0;
        border-radius: 14px;
    }

    .w_home_product_section[data-home-view="list"] .wpc_card_img_link,
    .w_home_product_section_stack .wpc_card_img_link {
        display: block;
        width: 100%;
        height: 104px;
    }

    .w_home_product_section[data-home-view="list"] .wpc_card_img_wrap img,
    .w_home_product_section[data-home-view="list"] .wpc_card_img_placeholder,
    .w_home_product_section_stack .wpc_card_img_wrap img,
    .w_home_product_section_stack .wpc_card_img_placeholder {
        flex: 0 0 104px;
        height: 104px;
    }

    .w_home_product_section[data-home-view="list"] .wpc_card_body,
    .w_home_product_section_stack .wpc_card_body {
        min-height: 0;
        padding-block: 14px;
        padding-inline: 12px 14px;
        gap: 6px;
    }

    .w_home_product_section[data-home-view="list"] .wpc_card_dots,
    .w_home_product_section_stack .wpc_card_dots {
        position: absolute;
        inset-inline: 0;
        bottom: 9px;
        margin-top: 0;
    }

    .w_home_product_section[data-home-view="list"] .wpc_card_name,
    .w_home_product_section_stack .wpc_card_name {
        font-size: 14.5px;
        min-height: unset;
        -webkit-line-clamp: 5;
        line-clamp: 5;
    }

    .w_home_product_section[data-home-view="list"] .wpc_card_price_main,
    .w_home_product_section_stack .wpc_card_price_main {
        font-size: 14px;
    }

    .w_home_product_section_stack .w_home_product_header_actions .w_section_see_all {
        display: none;
    }

    .w_pd_card_body {
        width: 100%;
    }

    .w_section_header {
        margin-bottom: 20px;
        align-items: flex-start;
        gap: 12px;
    }

    .w_page_body_full {
        padding-top: 5.5rem;
    }

    .w_page_body_full,
    .w_shop_layout,
    .w_shop_content_area,
    .w_shop_grid_wrap {
        min-width: 0;
        overflow-x: clip;
    }

    .w_shop_toolbar_strip {
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -ms-overflow-style: none;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        margin-inline: -16px;
        padding: 10px 16px 12px;
        width: auto;
        /* A sticky element that also owns horizontal scroll/snap makes mobile
           browsers recompute its position every scroll frame, showing up as a
           1px up/down jiggle. Animating `top` makes that jiggle visible as
           motion, so drop the transition here and pin the element to its own
           compositor layer to stop the recalculation. */
        transition: none;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
        will-change: transform;
    }

    .w_shop_toolbar_strip::-webkit-scrollbar {
        display: none;
    }

    .w_shop_search_wrap {
        width: 100%;
    }

    .w_shop_search {
        padding-right: 108px;
    }

    .w_shop_search_btn {
        padding: 0 14px;
    }

    .w_shop_toolbar_strip>*,
    .w_filter_pill_wrap,
    .w_filter_pill,
    .w_shop_filter_btn,
    .w_shop_short_link_btn,
    .w_shop_sort_mobile_btn {
        flex: 0 0 auto;
        scroll-snap-align: start;
        color: var(--c-text);
    }

    .w_shop_short_link_btn {
        color: white;
    }

    .w_filter_price_dropdown {
        inset-inline-start: auto;
        inset-inline-end: 0;
    }

    .w_shop_layout {
        padding: 20px 16px;
    }

    .w_shop_filter_pills {
        flex-wrap: nowrap;
        width: max-content;
    }

    .w_shop_sort_select {
        display: none;
    }

    .w_shop_sort_mobile_btn {
        display: inline-flex;
    }

    .w_shop_cats_bar {
        flex-wrap: nowrap;
        width: max-content;
        margin-inline: 0;
        padding: 0 16px 8px;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
    }

    .w_shop_cats_bar>* {
        scroll-snap-align: start;
    }

    .w_filter_dropdown {
        display: none !important;
    }

    .w_mobile_sheet {
        display: block;
    }

    .w_shop_active_filters {
        justify-content: flex-start;
    }

    .w_product_layout {
        padding: 4px 0;
    }


    .w_ai_feedback_answer {
        min-height: 560px;
    }

    .w_ai_feedback_chat_scroll {
        max-height: 360px;
    }

    .w_ai_chat_bubble {
        max-width: 100%;
    }

    .w_ai_chat_bar {
        grid-template-columns: 1fr;
    }

    .w_ai_chat_bar button {
        min-height: 48px;
    }

    .w_ai_feedback_products .w_ai_product_card {
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 12px;
        padding: 10px;
    }

    .w_ai_feedback_products .w_ai_product_body h3 {
        font-size: 16px;
    }

    .w_product_cart_section {
        flex-direction: row;
        align-items: stretch;
    }

    .w_product_price_main {
        font-size: 36px;
    }

    .btn_add_to_cart {
        height: 48px;
        font-size: 14px;
        padding: 1rem;
        width: auto;
        flex: 1 1 auto;
    }

    .w_product_cart_whatsapp {
        width: 48px;
        min-width: 48px;
        flex: 0 0 48px;
        height: 48px;
    }

    .w_product_qty {
        width: 100%;
        flex: 0 0 100%;
    }

    .w_product_qty_input {
        flex: 1;
    }

    .w_pd_share_btn_top {
        width: 100%;
        justify-content: center;
    }

    .w_pd_card_body {
        width: 100%;
    }

    .w_pd_spec_num {
        flex-basis: 42px;
        font-size: 9px;
    }

    .w_pd_spec_key {
        flex-basis: 120px;
        padding: 12px 12px;
        font-size: 12px;
    }

    .w_pd_spec_val {
        padding: 12px 14px;
        font-size: 13px;
    }

    .w_cart_page {
        padding: 24px 16px;
    }

    .w_cart_item {
        flex-wrap: wrap;
        gap: 12px;
        padding: 14px;
    }

    .w_cart_item_img {
        width: 64px;
        height: 64px;
    }

    .w_cart_item_controls {
        flex: none;
        width: 100%;
        justify-content: space-between;
        padding-top: 8px;
        border-top: 1px solid var(--c-border);
        margin-top: 4px;
    }

    .w_profile_shell {
        padding: 24px 0 56px;
    }

    .w_profile_identity {
        align-items: flex-start;
    }

    .w_profile_avatar {
        width: 64px;
        height: 64px;
        font-size: 22px;
    }

    .w_profile_stat_strip {
        flex-direction: column;
    }

    .w_profile_stat_strip_divider {
        width: auto;
        height: 1px;
        margin: 0 20px;
        background: repeating-linear-gradient(90deg, rgba(15, 34, 55, .16) 0 6px, transparent 6px 12px);
    }

    .w_profile_aside_card,
    .w_profile_overview_card,
    .w_profile_panel,
    .w_profile_quick_card,
    .w_profile_info_card {
        border-radius: 24px;
    }

    .w_profile_aside_card,
    .w_profile_overview_card {
        padding: 22px 18px;
    }

    .w_profile_panel {
        padding: 22px 18px;
    }

    .w_profile_panel_head {
        flex-direction: column;
    }

    .w_profile_form_grid {
        grid-template-columns: 1fr;
    }

    .w_profile_nav {
        margin-top: 20px;
    }

    .w_profile_nav_link {
        min-height: 50px;
    }

    .w_profile_actions .btn_auth_submit {
        width: 100%;
        justify-content: center;
    }

    .w_profile_info_row {
        flex-direction: column;
        align-items: flex-start;
    }

    .w_profile_info_row strong {
        text-align: start;
    }

    .w_contact_form_card {
        padding: 24px 20px;
    }

    .w_auth_field_row {
        grid-template-columns: 1fr;
    }

    .w_auth_form_side {
        padding: 32px 20px;
    }

    .w_footer_grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .w_footer_brand_col {
        grid-column: auto;
    }

    .w_footer_main {
        padding: 36px 0 28px;
    }

    .w_footer_cta_wrap {
        padding-top: 28px;
    }

    .w_footer_cta {
        padding: 1rem 1.75rem;
        border-radius: 28px;
        text-align: center;
        align-items: center;
    }

    .w_footer_cta_actions {
        width: 100%;
        justify-content: center;
    }

    .w_footer_cta .btn_primary {
        width: 100%;
    }

    .w_mobile_app_card {
        flex-direction: column;
        align-items: flex-start;
        padding: 32px 24px;
        border-radius: 28px;
        gap: 24px;
    }

    .w_mobile_app_glyph {
        display: none;
    }

    .w_mobile_app_desc {
        max-width: 100%;
    }

    .w_mobile_app_actions {
        width: 100%;
    }

    .w_store_btn {
        flex: 1 1 auto;
        justify-content: center;
    }

    .w_footer_logo_name {
        font-size: 22px;
        color: var(--c-accent);
    }

    .w_footer_brand_desc {
        max-width: 100%;
        font-size: 15px;
    }

    .w_cta_inner {
        flex-direction: column;
        text-align: center;
    }

    .w_cta_actions {
        justify-content: center;
    }

    .w_newsletter_section {
        padding: 56px 0;
    }

    .w_newsletter_section_inner {
        grid-template-columns: 1fr;
        gap: 24px;
        text-align: center;
        padding: 24px 20px;
        border-radius: 26px;
    }

    .w_newsletter_section_text p {
        max-width: 100%;
    }

    .w_newsletter_section_form {
        padding: 18px;
        border-radius: 22px;
    }

    .w_newsletter_section_action_row {
        grid-template-columns: 1fr;
    }

    .btn_newsletter_section {
        width: 100%;
        min-width: 0;
    }

    .w_footer_bottom_inner {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    .w_footer_social {
        justify-content: center;
        margin-inline-start: 0;
    }

    .fp_card {
        height: 320px;
    }

    .fp_card_title {
        font-size: 14px;
        margin-bottom: 0;
    }

    .fp_card_desc {
        font-size: 0.75rem;
    }

    .fp_card_price {
        font-size: 18px;
    }

    .w_perk_item {
        border-inline-start: none;
        border-top: 1px solid var(--c-border);
        flex-direction: row;
        text-align: start;
        gap: 10px;
        padding: 0.6rem !important;
    }

    .w_perk_icon {
        width: 38px;
        height: 38px;
        border-radius: 10px;
    }

    .w_perk_icon svg {
        width: 18px;
        height: 18px;
    }

    .w_perk_text p {
        display: none;
    }

    .w_features_grid,
    .w_condition_grid,
    .w_brand_wall {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .w_feature_card {
        padding: 20px 16px;
    }

    .w_condition_card {
        padding: 18px 16px;
    }

    .w_brand_wall_card {
        padding: 18px;
    }

    .w_feature_icon,
    .w_condition_icon,
    .w_brand_wall_icon {
        width: 44px;
        height: 44px;
    }

    .w_steps_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .w_stats_grid {
        grid-template-columns: 1fr;
    }

    .w_section_stats {
        display: none;
    }

    .w_404_page {
        padding: calc(var(--nav-height) + 34px) 0 68px;
    }

    .w_404_hero {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-bottom: 30px;
    }

    .w_404_title {
        max-width: 640px;
        font-size: clamp(30px, 6vw, 44px);
    }

    .w_404_subtitle {
        font-size: 16px;
    }

    .w_404_actions {
        justify-content: flex-start;
    }

    .w_fixed_tools {
        right: 14px;
        bottom: 22px;
    }

    [dir="rtl"] .w_fixed_tools {
        right: auto;
        left: 14px;
    }

    .w_fixed_ai_btn,
    .w_fixed_cart_btn {
        width: 52px;
        height: 52px;
    }

    .w_ai_sheet {
        bottom: 0;
        width: calc(100vw - 12px);
        padding: 16px 14px 20px;
        border-radius: 26px 26px 0 0;
        transform: translate(-50%, calc(100% + 16px)) scale(1);
    }

    .w_ai_sheet_head h3 {
        font-size: 24px;
    }

    .w_ai_sheet_bar {
        grid-template-columns: 1fr;
    }

    .w_ai_sheet_bar button[type="submit"] {
        width: 100%;
    }

    .w_order_card_body {
        flex-direction: column;
        align-items: flex-start;
    }

    .w_order_item_row {
        flex-wrap: wrap;
        gap: 10px;
    }

    .w_payment_options {
        grid-template-columns: 1fr;
    }
}

/* ── Mobile nav: hamburger — centered logo — search icon ────────────────
   Reworks the crowded top bar into the compact "hamburger / logo / search"
   shape on phones, moves currency, language, cart and account shortcuts
   out to the drawer + bottom tab bar so the header stays uncluttered. */
@media (max-width: 768px) {
    .w_nav_only_desktop {
        display: none !important;
    }

    .w_nav_inner,
    .w_shopnav_row1 {
        position: relative;
    }

    .w_nav_logo {
        /* Fixed (not 50%) so the logo stays pinned to the compact icon row
           even when the shop nav's search bar wraps open beneath it and
           grows the row's total height — 50% would re-center against the
           taller box and drop the logo down onto the open search bar. */
        position: absolute;
        left: 50%;
        top: 27px;
        transform: translate(-50%, -50%);
        margin: 0;
    }

    .w_nav_actions {
        width: 100%;
        margin-inline-start: 0;
        gap: 8px;
        justify-content: flex-end;
    }

    .w_mobile_toggle {
        order: -1;
        margin-inline-end: auto;
    }

    #w_nav_search_toggle_btn {
        order: 1;
    }

    .w_nav_mobile_whatsapp {
        display: inline-flex;
        order: 2;
    }

    .w_shop_search_toggle_btn {
        order: 1;
    }

    .w_shop_search_toggle_btn span {
        display: none;
    }

    .w_fixed_whatsapp_btn {
        display: none;
    }

    /* Search icon opens a compact dropdown bar under the floating pill nav */
    .w_nav_search_drawer {
        display: block;
        position: fixed;
        top: calc(var(--nav-height) + 22px);
        left: 50%;
        transform: translateX(-50%) translateY(-8px);
        width: calc(100% - 20px);
        max-width: 560px;
        z-index: 998;
        padding: 8px;
        border-radius: 22px;
        background: rgba(255, 255, 255, .98);
        border: 1px solid var(--c-border);
        box-shadow: 0 20px 50px rgba(13, 27, 42, .16);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .25s ease, transform .3s cubic-bezier(.2, .8, .2, 1), visibility .25s;
    }

    .w_nav_search_drawer.open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
    }

    .w_nav_search_drawer .w_shop_search {
        height: 44px;
        font-size: 15px;
    }

    .w_nav_search_drawer .w_shop_search_btn {
        height: 32px;
    }
}

/* ── Mobile menu: full-screen, branded, staggered-reveal drawer ────────── */
@media (max-width: 768px) {
    .w_mobile_menu {
        position: fixed;
        inset: 0;
        top: 0;
        left: 0;
        width: 100%;
        max-width: none;
        height: 100dvh;
        border-radius: 0;
        border: none;
        display: flex;
        flex-direction: column;
        gap: 4px;
        padding: calc(env(safe-area-inset-top, 0px) + 18px) 18px calc(env(safe-area-inset-bottom, 0px) + 22px);
        background: linear-gradient(165deg, #101010 0%, #212121 55%, #161515 100%);
        box-shadow: none;
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: scale(1.03);
        transition: opacity .35s cubic-bezier(.4, 0, .2, 1), transform .4s cubic-bezier(.2, .8, .2, 1), visibility .35s;
        z-index: 1200;
    }

    .w_mobile_menu.open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: scale(1);
    }

    .w_mobile_menu_head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 12px;
    }

    .w_mobile_menu_brand {
        display: flex;
        align-items: center;
        gap: 10px;
        text-decoration: none;
    }

    .w_mobile_menu_brand_mark {
        width: 34px;
        height: 34px;
        border-radius: 9px;
        overflow: hidden;
        flex-shrink: 0;
        display: flex;
    }

    .w_mobile_menu_brand_mark img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .w_mobile_menu_brand_name {
        font-size: 17px;
        font-weight: 700;
        letter-spacing: -.02em;
        color: var(--c-white);
    }

    .w_mobile_menu_close {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 255, 255, .08);
        color: rgba(255, 255, 255, .8);
        border: none;
        cursor: pointer;
        transition: var(--t);
        flex-shrink: 0;
    }

    .w_mobile_menu_close:hover {
        background: rgba(255, 255, 255, .16);
        color: var(--c-white);
    }

    .w_mobile_menu_close svg {
        width: 18px;
        height: 18px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .w_mobile_menu_switcher_group {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
    }

    .w_mobile_menu_switcher_label {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 14px;
        font-weight: 600;
        color: white;
        text-transform: uppercase;
        letter-spacing: .06em;
    }

    .w_mobile_menu_switcher_label svg {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
    }

    .w_mobile_menu_switcher_pills {
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .w_mobile_menu_switcher_pill {
        min-height: 32px;
        padding: 0 14px;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, .16);
        background: rgba(255, 255, 255, .04);
        color: rgba(255, 255, 255, .68);
        font-size: 11.5px;
        font-weight: 700;
        letter-spacing: .03em;
        cursor: pointer;
        transition: var(--t);
        text-decoration: none;
        display: inline-flex;
        align-items: center;
    }

    .w_mobile_menu_switcher_pill.active {
        background: var(--c-accent);
        border-color: var(--c-accent);
        color: var(--c-primary);
    }

    .w_mobile_menu_links {
        padding: 0;
        gap: 2px;
    }

    .w_mobile_menu_link {
        color: rgba(255, 255, 255, .76);
        font-size: 19px;
        font-weight: 600;
        padding: 13px 8px;
        border-radius: 14px;
        opacity: 0;
        transform: translateY(14px);
        transition: opacity .4s ease, transform .4s ease, background .2s ease, color .2s ease;
    }

    .w_mobile_menu_link svg {
        width: 25px;
        height: 25px;
    }

    .w_mobile_menu_link:hover,
    .w_mobile_menu_link.active {
        color: var(--c-accent);
        background: rgba(255, 255, 255, .06);
    }

    .w_mobile_menu.open .w_mobile_menu_link {
        opacity: 1;
        transform: translateY(0);
    }

    .w_mobile_menu.open .w_mobile_menu_link:nth-child(1) {
        transition-delay: .08s;
    }

    .w_mobile_menu.open .w_mobile_menu_link:nth-child(2) {
        transition-delay: .13s;
    }

    .w_mobile_menu.open .w_mobile_menu_link:nth-child(3) {
        transition-delay: .18s;
    }

    .w_mobile_menu.open .w_mobile_menu_link:nth-child(4) {
        transition-delay: .23s;
    }

    .w_mobile_menu.open .w_mobile_menu_link:nth-child(5) {
        transition-delay: .28s;
    }

    .w_mobile_menu.open .w_mobile_menu_link:nth-child(6) {
        transition-delay: .33s;
    }

    .w_mobile_menu.open .w_mobile_menu_link:nth-child(7) {
        transition-delay: .38s;
    }

    .w_mobile_menu.open .w_mobile_menu_link:nth-child(8) {
        transition-delay: .43s;
    }

    .w_mobile_menu_divider {
        background: rgba(255, 255, 255, .12);
        margin: 8px 0;
        flex-shrink: 0;
    }

    .w_mobile_menu_switchers {
        display: flex;
        flex-direction: column;
        gap: 12px;
        opacity: 0;
        transform: translateY(14px);
        transition: opacity .4s ease .3s, transform .4s ease .3s;
    }

    .w_mobile_menu.open .w_mobile_menu_switchers {
        opacity: 1;
        transform: translateY(0);
    }

    .w_mobile_menu_actions {
        padding: 4px 0 0;
        opacity: 0;
        transform: translateY(14px);
        transition: opacity .4s ease .35s, transform .4s ease .35s;
    }

    .w_mobile_menu.open .w_mobile_menu_actions {
        opacity: 1;
        transform: translateY(0);
    }

    .w_mobile_menu_actions .btn_nav_login {
        background: var(--c-accent);
        color: var(--c-primary);
        border: none;
        height: 100%;
        font-size: 1rem;
    }
}

/* ── Bottom mobile tab bar + clearances for existing fixed elements ────── */
@media (max-width: 768px) {
    body {
        padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px));
    }

    .w_tabbar {
        display: flex;
        position: fixed;
        left: 50%;
        bottom: calc(env(safe-area-inset-bottom, 0px) + 4px);
        transform: translateX(-50%);
        z-index: 950;
        width: calc(100% - 28px);
        max-width: 420px;
        align-items: center;
        gap: 2px;
        padding: 7px;
        border-radius: 28px;
        background: rgba(255, 255, 255, .72);
        backdrop-filter: blur(28px) saturate(1.9);
        -webkit-backdrop-filter: blur(28px) saturate(1.9);
        border: 1px solid rgba(255, 255, 255, .6);
        box-shadow: 0 18px 46px rgba(13, 27, 42, .18), 0 2px 10px rgba(13, 27, 42, .06), inset 0 1px 0 rgba(255, 255, 255, .5);
        transition: transform .35s cubic-bezier(.4, 0, .2, 1);
    }

    .w_tabbar_link {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        flex: 1 1 0;
        padding: 9px 4px 8px;
        border-radius: 20px;
        color: var(--c-text-muted);
        text-decoration: none;
        transition: background .25s ease, color .25s ease, transform .2s ease;
    }

    .w_tabbar_link:active {
        transform: scale(.92);
    }

    .w_tabbar_icon {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 23px;
        height: 23px;
        transition: transform .25s cubic-bezier(.34, 1.56, .64, 1);
    }

    .w_tabbar_icon svg {
        width: 100%;
        height: 100%;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .w_tabbar_label {
        font-size: 10.5px;
        font-weight: 600;
        letter-spacing: -.01em;
        line-height: 1;
    }

    .w_tabbar_link.active {
        color: var(--c-primary);
        background: var(--c-accent-muted);
    }

    .w_tabbar_link.active .w_tabbar_icon {
        color: var(--c-accent);
        transform: translateY(-1px) scale(1.06);
    }

    .w_tabbar_badge {
        position: absolute;
        top: -6px;
        right: -9px;
        min-width: 16px;
        height: 16px;
        padding: 0 3px;
        background: var(--c-accent);
        color: var(--c-primary);
        font-size: 9px;
        font-weight: 700;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        border: 2px solid var(--c-white);
    }

    .w_tabbar_badge.hidden {
        display: none;
    }

    [dir="rtl"] .w_tabbar_badge {
        right: auto;
        left: -9px;
    }

    body.w_pd_sticky_visible .w_tabbar,
    .w_tabbar.w_tabbar_hidden {
        transform: translateX(-50%) translateY(140%);
        pointer-events: none;
    }

    .w_fixed_tools {
        right: 14px;
        bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    }

    [dir="rtl"] .w_fixed_tools {
        left: 14px;
    }

    .w_toast_cart {
        bottom: calc(92px + env(safe-area-inset-bottom, 0px));
    }
}

/* ── Home "Watch & Shop" video row sizing ───────────────────────────────── */
@media (max-width: 768px) {
    .w_home_videos_row {
        --home-video-card-width: min(72vw, 300px);
        gap: 12px;
        margin-inline: -1rem;
        padding-inline: 1rem;
    }
}

/* ── Video info sheet → bottom sheet on phones ──────────────────────────── */
@media (max-width: 768px) {
    .w_video_sheet {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9501;
        width: 100%;
        max-width: none;
        max-height: min(92vh, 840px);
        border-radius: 24px 24px 0 0;
        transform: translateY(100%);
    }

    .w_video_sheet.open {
        transform: translateY(0);
    }

    .w_video_sheet_close {
        top: 18px;
        inset-inline-end: 16px;
        width: 36px;
        height: 36px;
        z-index: 6;
        background: rgba(15, 23, 42, .72);
        border: 1px solid rgba(255, 255, 255, .14);
        box-shadow: 0 10px 24px rgba(0, 0, 0, .22);
    }

    .w_video_sheet_media {
        aspect-ratio: 4 / 3;
        padding-top: 60px;
    }

    .w_video_sheet_info {
        padding: 16px 16px calc(20px + env(safe-area-inset-bottom, 0px));
    }

    .w_video_sheet_title {
        font-size: 17px;
    }

    .w_video_sheet.is_mobile_fullscreen {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        max-height: 100vh;
        border-radius: 0;
        transform: translateY(0);
        background: #000;
    }

    .w_video_sheet.is_mobile_fullscreen .w_video_sheet_scroll {
        height: 100vh;
        overflow: hidden;
    }

    .w_video_sheet.is_mobile_fullscreen .w_video_sheet_media {
        height: 100vh;
        min-height: 100vh;
        aspect-ratio: auto;
        padding-top: calc(env(safe-area-inset-top, 0px) + 72px);
    }

    .w_video_sheet.is_mobile_fullscreen .w_video_sheet_close {
        top: calc(env(safe-area-inset-top, 0px) + 18px);
        inset-inline-end: 16px;
        width: 40px;
        height: 40px;
        z-index: 12;
    }

    .w_video_sheet.is_mobile_fullscreen .w_video_sheet_info {
        display: none;
    }

    .w_dwell_laptop_modal {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        max-width: none;
        max-height: min(88vh, 760px);
        padding: 18px 16px calc(18px + env(safe-area-inset-bottom, 0px));
        border-radius: 26px 26px 0 0;
        transform: translateY(100%);
    }

    .w_dwell_laptop_modal.is_open {
        transform: translateY(0);
    }

    .w_dwell_laptop_head {
        margin-bottom: 16px;
        max-width: none;
        padding-inline-end: 40px;
    }

    .w_dwell_laptop_title {
        font-size: 24px;
    }

    .w_dwell_laptop_subtitle {
        font-size: 14px;
        line-height: 1.7;
    }

    .w_dwell_laptop_grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .w_dwell_laptop_card {
        flex-direction: row;
        align-items: stretch;
    }

    .w_dwell_laptop_card_media {
        width: 120px;
        min-width: 120px;
        aspect-ratio: auto;
    }

    .w_dwell_laptop_card_body {
        padding: 14px;
    }

    .w_dwell_laptop_card_name {
        min-height: 0;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .w_dwell_laptop_card_price {
        font-size: 19px;
    }

    .w_dwell_laptop_actions {
        flex-direction: column-reverse;
        align-items: stretch;
        margin-top: 16px;
    }

    .w_dwell_laptop_dismiss,
    .w_dwell_laptop_browse {
        width: 100%;
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    :root {
        --section-y: 1rem;
    }

    .w_section_header {
        margin-bottom: 15px;
    }

    .wpc_grid,
    .wpc_grid_4 {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .w_auth_form_side {
        padding: 24px 16px;
    }

    .w_contact_form_card {
        padding: 20px 16px;
    }

    .w_hero {
        height: 70vh;
        min-height: 400px;
        max-height: 560px;
    }

    .w_mobile_app_actions {
        flex-direction: column;
    }

    .w_store_btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {

    .w_hero_slide::before,
    .w_hero_actions .btn_primary::after {
        display: none !important;
    }

    .w_hero_slide_img,
    .w_hero_slide.active .w_hero_slide_img,
    .w_hero_visual,
    .w_hero_slide.active .w_hero_visual,
    .w_hero_eyebrow,
    .w_hero_slide.active .w_hero_eyebrow,
    .w_hero_title,
    .w_hero_slide.active .w_hero_title,
    .w_hero_subtitle,
    .w_hero_slide.active .w_hero_subtitle,
    .w_hero_actions,
    .w_hero_slide.active .w_hero_actions {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

@media (max-width: 640px) {
    .w_eyebrow {
        display: none;
    }

    .w_section_sub {
        margin-bottom: 0.25rem;
    }

    .w_404_page {
        padding: calc(var(--nav-height) + 24px) 0 56px;
    }

    .w_404_title {
        font-size: 28px;
        line-height: 1.22;
    }

    .w_404_subtitle {
        margin-top: 14px;
        font-size: 14px;
        line-height: 1.8;
    }

    .w_404_actions {
        justify-content: stretch;
    }

    .w_404_btn {
        width: 100%;
    }

    .w_filter_sidebar {
        width: 100%;
        max-width: none;
    }

    .w_search_grid {
        grid-template-columns: 1fr;
    }

    .w_search_page {
        padding-inline: 12px;
    }

    .w_policy_page {
        padding: 32px 0 56px;
    }

    .w_policy_card {
        padding: 22px 18px;
        border-radius: 22px;
    }
}

@media (max-width: 480px) {
    .pv_info_grid {
        grid-template-columns: 1fr 1fr;
    }

    .pv_name {
        font-size: 1.2rem;
    }
}
