/* VSHOKOLADE mobile compact typography and hero rhythm — 2026-10-08 */

@media (max-width: 781px) {
    /* Site-wide mobile heading scale.
       Small UI/filter headings are excluded so controls do not grow. */
    .site-main h1,
    .site-main .h1 {
        font-size: 26px !important;
        line-height: 1.10 !important;
    }

    .site-main h2:not(.entry-title):not(.vsh-faq-card-title):not(.vsh-pantone-step h2):not(.vsh-template-step h2),
    .site-main .h2 {
        font-size: 23px !important;
        line-height: 1.16 !important;
    }

    .site-main h3:not(.bapf_head h3):not(.category-filter h3):not(.berocket_aapf_widget h3):not(.widget h3),
    .site-main .h3 {
        font-size: 19px !important;
        line-height: 1.20 !important;
    }

    .site-main h4,
    .site-main .h4 {
        font-size: 17px !important;
        line-height: 1.22 !important;
    }

    /* Common homepage hero. */
    .home-hero__banner {
        padding: 0.75rem !important;
    }

    .home-hero__content {
        gap: 0.875rem !important;
        padding: 0.75rem !important;
    }

    .home-hero__content p {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    .home-hero__links {
        gap: 0.5rem !important;
    }

    /* Shared boxed heroes across major site sections. */
    .vsh-solutions__hero,
    .vsh-company-hero,
    .vsh-buyer-hero,
    .vsh-pantone-hero,
    .vsh-templates-hero {
        padding: 20px 18px !important;
        margin-bottom: 26px !important;
        border-radius: 14px !important;
    }

    .vsh-company-hero p,
    .vsh-buyer-hero p,
    .vsh-pantone-hero p,
    .vsh-templates-hero p,
    .vsh-solutions__lead {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    /* Block-editor based heroes. */
    .vsh-order-hero > .wp-block-group__inner-container,
    .vsh-faq-hero > .wp-block-group__inner-container,
    .vsh-faq-child-hero > .wp-block-group__inner-container {
        padding: 20px 18px !important;
    }

    .vsh-order-hero-copy,
    .vsh-faq-hero-copy,
    .vsh-faq-child-hero-copy {
        gap: 10px !important;
    }

    .vsh-order-hero p,
    .vsh-faq-hero p,
    .vsh-faq-child-hero p {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    /* Contacts hero/intro. */
    body.page-id-359 .vsh-contacts__intro-copy {
        padding: 20px 18px !important;
    }

    body.page-id-359 .vsh-contacts__intro h1 {
        margin-bottom: 10px !important;
    }

    body.page-id-359 .vsh-contacts__intro p {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    /* News archive hero. */
    body.category-news .vsh-news-hero {
        padding: 20px 18px !important;
        margin-bottom: 26px !important;
        border-radius: 14px !important;
    }

    body.category-news .vsh-news-intro {
        margin-top: 10px !important;
    }

    body.category-news .vsh-news-intro p {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    /* Keep important section titles compact without touching card titles. */
    .section-title + * {
        margin-top: 1.25rem !important;
    }

    .vsh-solutions__section h2,
    .vsh-buyer-section h2,
    .vsh-order-page > section > h2,
    .vsh-faq-popular-title,
    .vsh-company-main > h2,
    .vsh-company-main .vsh-company-page > h2,
    body.page-id-359 .vsh-route > h2,
    body.page-id-359 .vsh-contact-map > h2,
    body.page-id-359 .vsh-contact-cta > h2,
    .vsh-pantone-section-head h2,
    .vsh-templates-section-head h2 {
        font-size: 23px !important;
        line-height: 1.16 !important;
    }

    /* Long headings should wrap naturally, never force horizontal overflow. */
    .site-main h1,
    .site-main h2,
    .site-main h3,
    .site-main h4 {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 781px) {
    /* Extra compaction for the tallest mobile heroes. */
    .home-hero__content .badges {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .home-hero__content .badges::-webkit-scrollbar {
        display: none;
    }

    .home-hero__content .badges > * {
        flex: 0 0 auto;
    }

    .home-hero__bg {
        height: 230px !important;
        max-height: 230px !important;
        overflow: hidden;
    }

    .home-hero__bg img {
        width: 100% !important;
        height: 230px !important;
        max-height: 230px !important;
        object-fit: contain !important;
    }

    body.page-id-4727 .vsh-order-hero-copy {
        padding: 18px 16px !important;
    }

    body.page-id-4727 .vsh-order-kicker {
        margin-bottom: 8px !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    body.page-id-4727 .vsh-order-lead {
        margin-top: 10px !important;
        line-height: 1.40 !important;
    }

    body.page-id-4727 .vsh-order-actions,
    body.page-id-4727 .vsh-order-actions.wp-block-buttons {
        margin-top: 16px !important;
        gap: 8px !important;
    }

    body.page-id-4727 .vsh-order-actions .wp-block-button__link {
        min-height: 44px !important;
        padding: 10px 16px !important;
        font-size: 14px !important;
    }

    .vsh-buyer-hero .vsh-buyer-lead {
        margin-top: 12px !important;
    }

    .vsh-buyer-hero .vsh-buyer-actions {
        margin-top: 16px !important;
        gap: 8px !important;
    }

    body.page-id-359 .vsh-contacts__office img {
        max-height: 170px !important;
        object-fit: cover !important;
    }
}

@media (max-width: 781px) {
    .home-hero__content {
        width: 100% !important;
        min-width: 0 !important;
    }

    .home-hero__content .badges {
        width: 100% !important;
        max-width: 100% !important;
    }

    .home-hero__bg {
        width: 100% !important;
        height: 210px !important;
        max-height: 210px !important;
    }

    .home-hero__bg img {
        width: 100% !important;
        height: 210px !important;
        max-height: 210px !important;
    }

    body.page-id-4727 .vsh-order-actions,
    body.page-id-4727 .vsh-order-actions.wp-block-buttons {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.page-id-4727 .vsh-order-actions .wp-block-button,
    body.page-id-4727 .vsh-order-actions .wp-block-button__link {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.page-id-4727 .vsh-order-actions .wp-block-button__link {
        font-size: 13px !important;
        white-space: normal !important;
    }
}

@media (max-width: 599px) {
    .home-hero__links {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .home-hero__links .button {
        min-width: 0 !important;
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
        font-size: 12px !important;
        white-space: normal !important;
        line-height: 1.15 !important;
    }
}

/* BEGIN VSHOKOLADE MOBILE FOOTER CAROUSEL 2026-10-08 */
@media (max-width: 781px) {
    .site-footer__nav {
        display: flex !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        padding: 18px 0 22px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 0;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }

    .site-footer__nav::-webkit-scrollbar {
        display: none;
    }

    .site-footer__nav > ul {
        box-sizing: border-box;
        flex: 0 0 calc(100% - 52px) !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 16px 16px 18px !important;
        border: 1px solid rgba(211, 161, 90, .42);
        border-radius: 12px;
        background: rgba(255, 255, 255, .025);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .035),
            0 8px 24px rgba(0, 0, 0, .08);
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .site-footer__nav > ul:nth-child(5) {
        display: none !important;
    }

    .site-footer__nav > ul li:first-child {
        margin-bottom: 10px;
    }

    .site-footer__nav > ul li:first-child > a.site-footer__nav-title {
        width: 100%;
    }

    .site-footer__nav > ul li a {
        white-space: normal !important;
    }
}
/* END VSHOKOLADE MOBILE FOOTER CAROUSEL 2026-10-08 */
/* BEGIN VSHOKOLADE MOBILE SEARCH SHEET 2026-10-08 */
@media (max-width: 1024px) {
    body.searh-active::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: 99;
        background: rgba(22, 14, 11, .58);
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
    }

    .searh-active .header-main__search {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        position: fixed !important;
        top: 10px !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        height: auto !important;
        max-height: calc(100dvh - 20px) !important;
        min-height: 0 !important;
        padding: 12px !important;
        border: 1px solid rgba(112, 69, 31, .16) !important;
        border-radius: 14px !important;
        background: var(--color-light) !important;
        box-shadow: 0 18px 50px rgba(0, 0, 0, .24);
        opacity: 1 !important;
        overflow: hidden !important;
        z-index: 107 !important;
    }

    .searh-active .search-close {
        display: block !important;
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        width: 36px !important;
        height: 36px !important;
        margin: 0 !important;
        border-color: rgba(112, 69, 31, .22) !important;
        background-color: rgba(255, 255, 255, .52) !important;
        z-index: 3;
    }

    .searh-active .search-input-field {
        flex: 0 0 auto;
        width: auto !important;
        height: 40px !important;
        margin-right: 46px !important;
        padding: 0 12px !important;
        border: 1px solid rgba(112, 69, 31, .16) !important;
        border-radius: 9px !important;
        background: rgba(255, 255, 255, .35);
    }

    .searh-active .header-main__search #custom-live-search {
        font-size: 14px !important;
        line-height: 1.3 !important;
    }

    .searh-active .search-dropdown {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        max-height: calc(100dvh - 86px) !important;
        margin: 0 !important;
        border: 0 !important;
        border-top: 1px solid rgba(112, 69, 31, .12) !important;
        border-radius: 0 !important;
        background: transparent !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .searh-active .search-dropdown:empty {
        display: none !important;
    }

    .searh-active .search-results-list {
        max-height: none !important;
        padding-top: 6px;
    }
}
/* END VSHOKOLADE MOBILE SEARCH SHEET 2026-10-08 */

/* BEGIN VSHOKOLADE MOBILE PRODUCT TAB LINK WRAP 2026-10-08 */
@media (max-width: 781px) {
    .product__tabs .wc-tab p a:not(.fancybox) {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}
/* END VSHOKOLADE MOBILE PRODUCT TAB LINK WRAP 2026-10-08 */

/* BEGIN VSHOKOLADE MOBILE MENU GRID 2026-10-08 */
@media (max-width: 781px) {
    .header-hidden {
        align-items: stretch !important;
        gap: 0 !important;
        padding: 18px 16px 14px !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .header-hidden .main-navigation,
    .header-hidden .top-menu {
        width: 100% !important;
        margin: 0 !important;
    }

    .header-hidden .main-navigation {
        margin-top: 8px !important;
    }

    .header-hidden .top-menu {
        margin-top: 8px !important;
    }

    .header-hidden .main-navigation > ul,
    .header-hidden .top-menu > ul {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        align-items: stretch !important;
    }

    .header-hidden .main-navigation > ul > li,
    .header-hidden .top-menu > ul > li {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .header-hidden .main-navigation > ul > li > a,
    .header-hidden .top-menu > ul > li > a,
    .header-hidden .main-navigation > ul > li:first-child > a {
        box-sizing: border-box;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 44px !important;
        height: 44px !important;
        padding: 8px 10px !important;
        border: 1px solid rgba(112, 69, 31, .22) !important;
        border-radius: 10px !important;
        background: #fffaf5 !important;
        color: var(--color-main) !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: normal !important;
        text-decoration: none !important;
    }

    .header-hidden .main-navigation > ul > li.current-menu-item > a,
    .header-hidden .main-navigation > ul > li.current-page-ancestor > a,
    .header-hidden .top-menu > ul > li.current-menu-item > a,
    .header-hidden .top-menu > ul > li.current-page-ancestor > a {
        border-color: rgba(112, 69, 31, .55) !important;
        background: #f7eadc !important;
        color: #70451f !important;
        font-weight: 700 !important;
    }

    .header-hidden .main-navigation a::after,
    .header-hidden .top-menu a::after {
        display: none !important;
    }

    .header-hidden .top-menu > ul > li:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .header-hidden > p {
        margin-top: auto !important;
        margin-bottom: 6px !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
        text-align: center !important;
    }

    .header-hidden__phones {
        gap: 3px !important;
        margin-bottom: 8px !important;
    }

    .header-hidden__phones a {
        font-size: 17px !important;
        line-height: 1.25 !important;
    }

    .header-hidden .header-top-social {
        justify-content: center !important;
        margin: 0 0 10px !important;
    }

    .header-hidden button[data-modal-target="#modal-call"] {
        margin-top: 0 !important;
        height: 40px !important;
        flex-basis: 40px !important;
    }
}
/* END VSHOKOLADE MOBILE MENU GRID 2026-10-08 */

/* BEGIN VSHOKOLADE MOBILE MENU CONTACT CARD 2026-10-08 */
@media (max-width: 781px) {
    .header-hidden > p {
        box-sizing: border-box;
        width: 100% !important;
        margin-top: auto !important;
        margin-bottom: 0 !important;
        padding: 14px 16px 4px !important;
        border: 1px solid rgba(112, 69, 31, .22);
        border-bottom: 0;
        border-radius: 12px 12px 0 0;
        background: #fffaf5;
        color: rgba(40, 24, 19, .68);
        font-size: 13px !important;
        line-height: 1.25 !important;
        text-align: center !important;
    }

    .header-hidden__phones {
        box-sizing: border-box;
        width: 100% !important;
        gap: 4px !important;
        margin: 0 !important;
        padding: 4px 16px 8px !important;
        border-left: 1px solid rgba(112, 69, 31, .22);
        border-right: 1px solid rgba(112, 69, 31, .22);
        background: #fffaf5;
    }

    .header-hidden__phones a {
        font-size: 17px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
    }

    .header-hidden .header-top-social {
        box-sizing: border-box;
        width: 100% !important;
        justify-content: center !important;
        gap: 16px !important;
        margin: 0 0 12px !important;
        padding: 8px 16px 14px !important;
        border: 1px solid rgba(112, 69, 31, .22);
        border-top: 0;
        border-radius: 0 0 12px 12px;
        background: #fffaf5;
    }

    .header-hidden .header-top-social a {
        width: 30px !important;
        height: 30px !important;
    }

    .header-hidden button[data-modal-target="#modal-call"] {
        margin-top: 0 !important;
        border-radius: 10px !important;
        box-shadow: 0 5px 16px rgba(112, 69, 31, .10);
    }
}
/* END VSHOKOLADE MOBILE MENU CONTACT CARD 2026-10-08 */

/* BEGIN VSHOKOLADE MOBILE CATALOG SEO INTRO HIDE 2026-10-08 */
@media (max-width: 781px) {
    body.post-type-archive-product .page-catalog .vsh-shop-seo-intro {
        display: none !important;
    }
}
/* END VSHOKOLADE MOBILE CATALOG SEO INTRO HIDE 2026-10-08 */

/* BEGIN VSHOKOLADE MOBILE CATALOG TITLE GAP 2026-10-08 */
@media (max-width: 781px) {
    body.post-type-archive-product .woocommerce-products-header__title {
        margin-bottom: 12px !important;
    }
}
/* END VSHOKOLADE MOBILE CATALOG TITLE GAP 2026-10-08 */

/* BEGIN VSHOKOLADE MOBILE HOME BADGES FIT 2026-10-08 */
@media (max-width: 781px) {
    .home-hero__content .badges {
        justify-content: space-between !important;
        gap: 6px !important;
        overflow: visible !important;
    }

    .home-hero__content .badges > * {
        min-width: 0 !important;
        height: 26px !important;
        padding: 0 9px !important;
    }

    .home-hero__content .badges > p {
        font-size: 10px !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
    }

    .home-hero__content .rating-badge {
        flex: 0 0 auto !important;
        gap: 4px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .home-hero__content .rating-stars__base,
    .home-hero__content .rating-stars__fill {
        gap: 1px !important;
    }

    .home-hero__content .star-icon {
        width: 12px !important;
        height: 12px !important;
    }

    .home-hero__content .rating-badge__num {
        font-size: 12px !important;
    }
}
/* END VSHOKOLADE MOBILE HOME BADGES FIT 2026-10-08 */

@media (max-width: 359px) {
    .home-hero__content .badges > p {
        font-size: 8px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .home-hero__content .rating-badge {
        gap: 3px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .home-hero__content .star-icon {
        width: 10px !important;
        height: 10px !important;
    }

    .home-hero__content .rating-badge__num {
        font-size: 11px !important;
    }
}

/* BEGIN VSHOKOLADE RELATED PRODUCTS TWO-AXIS TOUCH 2026-10-08 */
@media (max-width: 1023px) {
    .single-product .related-products .products,
    .single-product .related-products .product-item,
    .single-product .related-products .product-item__inner,
    .single-product .related-products .product-item__gallery,
    .single-product .related-products .product-item__gallery.swiper-pointer-events,
    .single-product .related-products .product-item__gallery .swiper-wrapper,
    .single-product .related-products .product-item__gallery .swiper-slide,
    .single-product .related-products .product-item__gallery .swiper-slide > a {
        touch-action: pan-x pan-y !important;
    }
}
/* END VSHOKOLADE RELATED PRODUCTS TWO-AXIS TOUCH 2026-10-08 */


/* BEGIN VSHOKOLADE ORDER HERO MOBILE COMPACT 2026-10-08 */
@media (max-width: 600px) {
    body.page-id-4727 .vsh-order-page .vsh-order-hero {
        margin-bottom: 20px !important;
    }

    body.page-id-4727 .vsh-order-page .vsh-order-hero-copy {
        padding: 14px 16px 16px !important;
    }

    body.page-id-4727 .vsh-order-page .vsh-order-kicker {
        margin-bottom: 6px !important;
    }

    body.page-id-4727 .vsh-order-page .vsh-order-lead {
        margin-top: 8px !important;
        line-height: 1.36 !important;
    }

    body.page-id-4727 .vsh-order-page .vsh-order-actions,
    body.page-id-4727 .vsh-order-page .vsh-order-actions.wp-block-buttons {
        margin-top: 12px !important;
    }
}
/* END VSHOKOLADE ORDER HERO MOBILE COMPACT 2026-10-08 */

/* BEGIN VSHOKOLADE ORDER MOBILE EQUAL BUTTONS 2026-10-08 */
@media (max-width: 781px) {
    body.page-id-4727 .vsh-order-page .vsh-order-actions .wp-block-button {
        display: flex !important;
        align-items: stretch !important;
    }

    body.page-id-4727 .vsh-order-page .vsh-order-actions .wp-block-button__link {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 54px !important;
        height: 100% !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        text-align: center !important;
        line-height: 1.2 !important;
    }
}
/* END VSHOKOLADE ORDER MOBILE EQUAL BUTTONS 2026-10-08 */
