/* PROMATION MOBILE UX V1. Only search suggestions intentionally change desktop. */
.pm-menu-caption, .pm-search-icon, .pm-gallery-counter, .pm-mobile-field-label,
.pm-finder-results-shortcut { display: none; }
#product-code-search-hint[hidden], #product-code-search-results[hidden] { display: none; }
#product-code-search-hint { max-height: min(470px, 60vh); overflow-y: auto; overscroll-behavior: contain; }
#product-code-search-results .pm-search-result {
    display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 8px;
    align-items: center; padding: 10px 8px; min-height: 72px; border-bottom: 1px solid #d3e9f7;
    color: #253b49; font-size: 14px; line-height: 1.35;
}
#product-code-search-results .pm-search-picture { width: 44px; height: 44px; background: #fff; }
#product-code-search-results .pm-search-picture img { width: 44px; height: 44px; object-fit: contain; }
#product-code-search-results .pm-search-info { min-width: 0; text-align: left; }
#product-code-search-results .pm-search-code,
#product-code-search-results .pm-search-name,
#product-code-search-results .pm-search-delivery { display: block; overflow-wrap: anywhere; }
#product-code-search-results .pm-search-name { font-weight: 400; }
#product-code-search-results .pm-search-delivery { color: #53636f; font-size: 12px; font-weight: 400; }
#product-code-search-results .pm-search-action { color: #00718f; font-weight: 700; text-decoration: underline; }
#product-code-search-results li:focus { outline: 2px solid #00718f; outline-offset: -2px; background: #e5f3fb; }
#product-code-search-results .show-more { min-height: 44px; padding: 12px 8px; color: #00718f; }
@media (max-width: 768px) {
    main, main > section, main > aside { min-width: 0; }
    main aside { grid-template-columns: minmax(0, 1fr) 84px; gap: 0 8px; }
    #product-code-search { display: flex; padding: 0; height: 48px; min-width: 0; border: 1px solid #00718f; }
    #product-code-search > div:first-child {
        position: absolute; width: 1px; height: 1px; overflow: hidden;
        clip: rect(0, 0, 0, 0); white-space: nowrap;
    }
    #product-code-search .search-input-component-wrapper { flex: 1; min-width: 0; }
    #product-code-search .action::before { display: none; }
    #product-code-search #searchProduct { height: 46px; width: 100%; margin: 0; padding: 0 8px; border: 0; font-size: 16px; border-radius: 0; }
    #product-code-search-link { display: flex; align-items: center; justify-content: center; flex: 0 0 46px; width: 46px; height: 46px; background: #fb9917; color: #253b49; }
    #product-code-search-link .pm-search-word { display: none; }
    #product-code-search-link .pm-search-icon { display: inline-block; font-size: 20px; }
    #product-code-search-hint { top: 47px; left: -1px; right: -93px; border: 1px solid #00718f; z-index: 110; }
    #product-code-search-results .pm-search-result { grid-template-columns: 44px minmax(0, 1fr) auto; }
    main aside ._menu { position: relative; height: 48px; width: 84px; color: #00718f; border: 1px solid #00718f; border-radius: 3px; }
    main aside input._burger { inset: 0; margin: 0; width: 100%; height: 48px; z-index: 2; }
    main aside span._burger { position: absolute; left: 8px; top: 14px; width: 24px; pointer-events: none; }
    main aside span._burger span { width: 24px; height: 3px; margin-bottom: 5px; background: #00718f; }
    .pm-menu-caption { display: block; margin-left: 28px; font-size: 14px; font-weight: 700; pointer-events: none; }
    main aside input._burger:focus-visible ~ .pm-menu-caption { outline: 2px solid currentColor; outline-offset: 5px; }
    .container ._menu._mobile { position: fixed; z-index: 100; top: 8px; right: 8px; background: #00718f; color: #fff; }
    header.first._mobile { position: fixed; z-index: 100; inset: 0 0 auto; height: 65px; }
    header.first._mobile .menu { display: none; }
    header.first._mobile .logo-content, header.first._mobile .logo { height: 40px; }
    header.first._mobile .basket { top: 20px; right: 108px; }
    body.pm-menu-open { overflow: hidden; }
    body.pm-menu-open .container ._menu { z-index: 1001; }
    main aside input._burger:checked ~ .nav { width: 100%; min-width: 0; max-width: 100vw; z-index: 1001; padding: 0 0 24px; overscroll-behavior: contain; }
    main aside input._burger:checked { inset: 12px 12px auto auto; width: 48px; height: 48px; z-index: 1003; }
    main aside input._burger:checked ~ span._burger { inset: 25px 23px auto auto; width: 24px; z-index: 1002; }
    main aside input._burger:checked ~ span._burger span { background: #fff !important; }
    main aside input._burger:checked:focus-visible ~ span._burger { outline: 2px solid #fff; outline-offset: 8px; }
    main aside input._burger:checked ~ .pm-menu-caption { display: none; }
    #pm-category-menu nav ._title { background: #00718f; color: #fff; padding: 20px 72px 20px 16px; text-align: left; min-height: 72px; }
    #pm-category-menu nav ._title::before { display: none; }
    #pm-category-menu nav ul { padding: 0 12px; margin: 0; }
    #pm-category-menu nav li { padding: 0; white-space: normal; overflow-wrap: anywhere; }
    #pm-category-menu nav li a { display: inline-flex; align-items: center; min-height: 44px; max-width: calc(100% - 14px); padding: 8px 4px; line-height: 1.35; color: #00718f; }
    header.first:not(._mobile) { height: auto; min-height: 132px; padding-bottom: 10px; }
    header.first:not(._mobile) .menu { width: 100%; min-width: 0; }
    header.first:not(._mobile) .menu nav { display: grid; grid-template-columns: .8fr 1.4fr .9fr 1.3fr 1fr; gap: 4px; width: 100%; }
    header.first:not(._mobile) .menu nav a { width: auto; min-width: 0; min-height: 48px; padding: 4px 0; margin: 0; display: flex; flex-direction: column; align-items: center; }
    header.first:not(._mobile) .menu nav a::after { display: none; }
    header.first:not(._mobile) .menu nav a i { display: block; font-size: 26px; }
    header.first:not(._mobile) .menu nav a span { font-size: 12px; line-height: 1.25; white-space: normal; overflow-wrap: normal; text-align: center; }
    .breadcramps, .breadcramps a { color: #00718f; }
    main aside .pm-home-finder { min-height: 44px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px; }
    .pm-home-finder__main, .pm-home-finder__cta { color: #00718f; }
    body[data-pm-page="/"] main > section p { text-align: left !important; }
    /* Contact CMS table only: other tables and comparison data retain their structure. */
    body[data-pm-page="/promation-kontakt.php"] main > section { overflow-wrap: anywhere; }
    body[data-pm-page="/promation-kontakt.php"] main > section table { max-width: 100%; }
    body[data-pm-page="/promation-kontakt.php"] main > section table[width="620"],
    body[data-pm-page="/promation-kontakt.php"] main > section table[width="620"] tbody,
    body[data-pm-page="/promation-kontakt.php"] main > section table[width="620"] tr,
    body[data-pm-page="/promation-kontakt.php"] main > section table[width="620"] td { display: block; width: 100% !important; height: auto; }
    body[data-pm-page="/promation-kontakt.php"] main > section table[width="620"] td { padding: 12px; line-height: 1.5; }
    body[data-pm-page="/promation-kontakt.php"] main > section img { max-width: 100%; height: auto !important; float: none !important; }
    body[data-pm-page="/promation-kontakt.php"] .fb-page { min-width: 0 !important; max-width: 100% !important; overflow-x: auto; }
    /* Form labels stay available while a visitor enters text. */
    .form_contac[data-v-0b864eef] { margin: 0; padding: 0 16px 20px; }
    .form_contac .col-sm-6 { flex: 0 0 100%; max-width: 100%; }
    .form_contac .pm-mobile-field-label { display: block; padding: 8px 0 5px; font-size: 16px; color: #253b49; font-weight: 600; }
    .form_contac label input:not([type="checkbox"]), .form_contac label textarea { width: 100%; min-height: 48px; font-size: 16px; line-height: 1.5; padding: 10px; border: 1px solid #537a87; border-radius: 3px; }
    .form_contac label textarea { min-height: 144px; }
    .form_contac .type_checkbox { align-items: flex-start; min-height: 44px; padding: 8px 0; gap: 8px; }
    .form_contac label.type_checkbox i { min-width: 32px; width: 32px; min-height: 32px; position: relative; font-size: 24px; }
    .form_contac label.type_checkbox i input { position: absolute; top: 0; left: 0; width: 32px; height: 32px; opacity: 0; margin: 0; }
    .form_contac label.type_checkbox:focus-within { outline: 2px solid #00718f; outline-offset: 2px; }
    .form_contac a._a_send_form { display: flex; justify-content: center; align-items: center; min-height: 48px; width: 100%; font-size: 16px; }
    .form_contac a._a_send_form:not(._disable) span, .form_contac a._a_send_form:not(._disable) i { color: #253b49; }
    .form_contac a._a_send_form:focus-visible { outline: 2px solid #00718f; outline-offset: 3px; }
    /* Same gallery engine, larger controls inside the viewport. */
    .product .images { height: auto; min-width: 0; padding-bottom: 0; }
    .product .images .single-item { margin-bottom: 0; padding-bottom: 48px; }
    .product .images .slick-prev, .product .images .slick-next { width: 44px; height: 44px; top: auto; bottom: 0; transform: none; z-index: 2; border: 1px solid #00718f; border-radius: 50%; background: #fff; }
    .product .images .slick-prev { left: 0; }
    .product .images .slick-next { right: 0; }
    .product .images .slick-prev::before, .product .images .slick-next::before { font-size: 32px; color: #00718f; opacity: 1; }
    .product .images .slick-dots { position: static; display: flex; justify-content: center; flex-wrap: wrap; width: 100%; }
    .product .images .slick-dots li { margin: 0; width: 44px; height: 44px; }
    .product .images .slick-dots li button { width: 44px; height: 44px; padding: 0; }
    .product .images .slick-dots li button::before { width: 44px; height: 44px; line-height: 44px; font-size: 10px; color: #00718f; }
    .product .images.pm-gallery-dots-overflow .slick-dots { display: none; }
    .product .images .pm-gallery-counter:not([hidden]) { display: block; position: relative; margin: -44px 48px 0; min-height: 44px; line-height: 44px; text-align: center; color: #253b49; pointer-events: none; font-size: 14px; }
    #pm-video-popup { width: calc(100vw - 24px); max-width: 720px; padding: 64px 8px 8px; box-sizing: border-box; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); }
    #pm-video-popup video { display: block; max-width: 100%; max-height: calc(100vh - 96px); max-height: calc(100dvh - 96px); object-fit: contain; }
    #pm-video-popup > button { top: 8px; right: 8px; width: 48px; height: 48px; font-size: 32px; line-height: 44px; color: #253b49; background: #fff; border: 2px solid #00718f; }
    /* Comparison: readable columns with existing horizontal scrolling and sticky labels. */
    .pm-product-comparison { --pmc-label-width: 84px; --pmc-model-width: 150px; padding: 10px; }
    .pm-product-comparison__table { min-width: calc(var(--pmc-label-width) + (var(--pm-mobile-model-count, 4) * var(--pmc-model-width))); }
    .pm-product-comparison__name { display: block; overflow: visible; font-size: 14px; -webkit-line-clamp: unset; }
    .pm-product-comparison__cell, .pm-product-comparison__row-label { font-size: 14px; }
    .pm-product-comparison__code, .pm-product-comparison__secondary, .pm-product-comparison__current-badge { font-size: 12px; color: #53636f; }
    .pm-product-comparison__details-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
    .pm-product-comparison__scroll-hint { display: block; font-size: 14px; }
    .pm-product-page-content .pm-product-comparison__heading { color: #00718f; }
    #pm-stand-finder .pmf-chip-row { gap: 8px; }
    #pm-stand-finder .pmf-chip, #pm-stand-finder .pmf-clear, #pm-stand-finder .pmf-sort select { min-height: 44px; padding: 8px 12px; font-size: 14px; line-height: 1.35; }
    #pm-stand-finder .pmf-results-wrap { scroll-margin-top: 80px; }
    .pm-finder-results-shortcut:not([hidden]) { display: block; position: fixed; left: 16px; right: 16px; bottom: 12px; bottom: max(12px, env(safe-area-inset-bottom)); min-height: 48px; padding: 12px; border: 1px solid #ad6600; border-radius: 5px; background: #fb9917; color: #253b49; font-size: 16px; font-weight: 700; z-index: 90; }
    body.pm-finder-shortcut-visible #myBtn { bottom: 80px; }
    body.pm-menu-open .pm-finder-results-shortcut { display: none; }
}
@media (max-width: 575px) { .container { width: 100%; max-width: 100%; } }
@media (prefers-reduced-motion: reduce) { main aside span._burger span { transition: none; } }
@media (max-width: 359px) { .container { padding-left: 12px; padding-right: 12px; } main aside { column-gap: 6px; } #product-code-search-hint { right: -91px; } }

/* V04: narrow screens, explicit close control and compact product header. */
.pm-product-menu, .pm-menu-close { display: none; }
@media (max-width: 768px) {
    html, body { min-width: 0; width: 100%; }
    body > .container, main, main > section, main > section > div { min-width: 0; max-width: 100%; }
    main > aside { min-width: 0; max-width: 100%; }
    main aside .pm-home-finder { box-sizing: border-box; min-width: 0; max-width: 100%; white-space: normal; }
    header.secound { height: 48px; }
    header.secound .row { margin-left: 0; margin-right: 0; flex-wrap: nowrap; }
    header.secound .information { flex: 0 0 112px; width: 112px; min-width: 0; padding: 0; }
    header.secound .information ._contact { width: 104px; height: 48px; align-items: center; flex-wrap: nowrap; }
    header.secound .information ._contact a { display: inline-flex; justify-content: center; align-items: center; flex: 0 0 48px; height: 48px; }
    header.secound .slogan { flex: 1 1 0; width: auto; min-width: 0; padding: 0 0 0 8px; font-size: 14px; line-height: 48px; }
    header.secound .slogan-animation li { left: 0; width: 100%; white-space: nowrap; }
    /* The X is independent of the burger's inherited transforms and container. */
    body.pm-menu-open .pm-menu-close { display: flex; position: fixed; top: 12px; right: 12px; top: max(12px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); width: 48px; height: 48px; padding: 0; align-items: center; justify-content: center; color: #0065b3; background: #fff; border: 2px solid #0065b3; border-radius: 4px; font: 36px/1 sans-serif; z-index: 1010; cursor: pointer; }
    .pm-menu-close:focus-visible { outline: 3px solid #fb9917; outline-offset: 2px; }
    body.pm-menu-open main aside input._burger,
    body.pm-menu-open main aside span._burger { visibility: hidden; }
    main aside input._burger:checked ~ .nav { position: fixed; inset: 0; margin: 0; width: auto; min-width: 0; max-width: none; box-sizing: border-box; overflow-x: hidden; overflow-y: auto; }
    #pm-category-menu > nav { width: 100%; min-width: 0; padding: 0; }
    #pm-category-menu nav ._title { background: #fff; color: #253b49; padding-right: 80px; }
    #pm-category-menu > nav > ._title:first-child { position: sticky; top: 0; z-index: 2; min-height: 76px; }
    /* Contact content includes both fixed and percentage-width CMS tables. */
    body[data-pm-page="/promation-kontakt.php"] main > section p { text-align: left !important; overflow-wrap: anywhere; }
    body[data-pm-page="/promation-kontakt.php"] main > section table { width: 100% !important; max-width: 100%; table-layout: fixed; box-sizing: border-box; }
    body[data-pm-page="/promation-kontakt.php"] main > section td { min-width: 0; max-width: 100%; overflow-wrap: anywhere; box-sizing: border-box; }
    body[data-pm-page="/promation-kontakt.php"] main > section table[width="620"] { display: block; }
    body[data-pm-page="/promation-kontakt.php"] main > section iframe { max-width: 100%; }
    /* Product only. Search and finder stay in the document for desktop. */
    body[data-pm-product="1"] #product-code-search,
    body[data-pm-product="1"] main aside .pm-home-finder,
    body[data-pm-product="1"] header.secound .slogan { display: none; }
    body[data-pm-product="1"] main { display: block; margin-top: 12px; }
    body[data-pm-product="1"] main > aside { height: 0; margin: 0; padding: 0; display: block; }
    body[data-pm-product="1"] main aside ._menu { position: static; width: 0; height: 0; min-height: 0; border: 0; padding: 0; margin: 0; }
    body[data-pm-product="1"] main aside input._burger,
    body[data-pm-product="1"] main aside span._burger,
    body[data-pm-product="1"] main aside .pm-menu-caption { display: none; }
    body[data-pm-product="1"] header.secound { background: #01b3e1; }
    body[data-pm-product="1"] header.secound .row { align-items: center; justify-content: space-between; }
    body[data-pm-product="1"] .pm-product-menu { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 104px; height: 48px; padding: 0 12px; color: #253b49; background: #fff; border: 1px solid #fff; border-radius: 3px; font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.2; cursor: pointer; }
    body[data-pm-product="1"] .pm-product-menu span { font-size: 26px; line-height: 1; }
    body[data-pm-product="1"] .pm-product-menu:focus-visible { outline: 3px solid #fb9917; outline-offset: -3px; }
    body[data-pm-product="1"].pm-product-docked .pm-product-menu { position: fixed; top: 8px; right: 8px; z-index: 101; }
    body[data-pm-product="1"] header.first._mobile .basket { right: 124px; }
    body[data-pm-product="1"].pm-product-docked header.secound { margin-top: 70px !important; }
}
