/* WinFAS SKOLENI - RESPONSIVE OVERLAY
   Load AFTER style_v9.css and style_skoleni_layout.css.
   Desktop is unchanged; viewport narrower than 1005px gets fluid layout.
   Layout-only: no modification of SQL, form names, content or redirects. */
#skoleni-mobile-toggle { display:none; }
@media screen and (max-width: 1005px) {
    html, body { max-width:100%; overflow-x:clip; }
    #wrapper, #wrapper2 { box-sizing:border-box; width:100% !important; max-width:100% !important; min-width:0 !important; }
    #header { box-sizing:border-box; width:100%; overflow:hidden; }
    #page { display:flex; width:100%; box-sizing:border-box; align-items:stretch; }
    #page > #sidebar { box-sizing:border-box; flex:0 0 188px; width:188px !important; float:none !important; }
    #page > #content { box-sizing:border-box; flex:1 1 0; min-width:0; float:none !important; width:auto !important; margin:0 18px 0 0 !important; }
    #page > #content > .post { min-width:0; box-sizing:border-box; width:100%; padding-left:12px; padding-right:0; }
    #content .skoleni-prihlaska,
    #content .skoleni-detail,
    #content .namety-page,
    #content .skoleni-archiv { width:100%; max-width:100%; min-width:0; }
    #content img, #content video, #content iframe { max-width:100%; height:auto; }
    #content .skoleni-registrace-form .crm_table { max-width:100%; }
    #footer { box-sizing:border-box; width:100%; background-size:100% auto; }
}

/* Tablet portrait and mobile: no squeezed, fixed-width sidebar. */
@media screen and (max-width: 760px) {
    html, body { margin:0 !important; width:100%; min-width:0 !important; }
    body { font-size:14px; }
    #header { height:198px !important; background-color:#e9a51a; }
    /* The original PNG is a 1005px wide decorative header; scale it slightly
       and show its left portion without reducing the logo to unreadable size. */
    #header > a { display:block; width:100%; height:110px; overflow:hidden; }
    #header > a > img { display:block; width:790px !important; max-width:none !important; height:auto !important; }
    #header > div[style*="left: 350px"] { display:none; }
    #menu { position:absolute !important; top:115px !important; left:8px !important; right:8px !important; margin:0 !important; width:auto !important; }
    #menu ul { display:flex; gap:4px; width:100%; margin:0 !important; padding:0 !important; list-style:none; }
    #menu li { box-sizing:border-box; flex:1 1 0; float:none !important; width:auto !important; min-width:0; height:38px !important; margin:0 !important; background-size:100% 100%; }
    #menu li a, #menu li a:hover { display:flex; justify-content:center; align-items:center; box-sizing:border-box; height:38px; padding:0 3px; font-size:12px !important; line-height:1.1 !important; white-space:normal; text-align:center; }
    /* Preserve login/logout button as a distinct action. */
    #crm_menu { position:absolute !important; top:158px !important; left:auto !important; right:12px !important; margin:0 !important; float:none !important; transform:scale(.83); transform-origin:top right; }
    #crm_menu ul { margin:0 !important; padding:0 !important; }
    #crm_menu li { margin-right:0 !important; }
    #skoleni-mobile-toggle { display:flex; align-items:center; justify-content:center; width:calc(100% - 24px); max-width:100%; box-sizing:border-box; margin:12px 12px 2px; padding:11px 14px; border:1px solid #ebd0a3; border-radius:6px; background:#fff5e4; color:#805216; font:bold 14px Arial,Helvetica,sans-serif; cursor:pointer; }
    #skoleni-mobile-toggle:focus-visible { outline:2px solid #b97616; outline-offset:2px; }
    #page { display:flex; flex-direction:column; align-items:stretch; width:100%; min-width:0; }
    /* Without JS do NOT hide navigation. */
    #page > #sidebar { float:none !important; flex:none; width:100% !important; border-right:0; border-bottom:1px solid #eee1cb; margin:0; padding:5px 12px 13px !important; }
    .skoleni-js #page:not(.skoleni-mobile-menu-open) > #sidebar { display:none !important; }
    .skoleni-js #page.skoleni-mobile-menu-open > #sidebar { display:block !important; }
    #leve_menu { position:static !important; left:auto !important; top:auto !important; width:100% !important; margin:0 !important; }
    #leve_menu .skoleni-nav { max-width:100%; width:100%; margin:0; }
    #leve_menu .skoleni-nav__list a { white-space:normal; min-height:40px; padding:8px 10px; font-size:13px; }
    #leve_menu .skoleni-nav__text { white-space:normal; min-width:0; flex:1 1 auto; }
    #leve_menu .skoleni-nav__count { flex:0 0 auto; }
    #page > #content { box-sizing:border-box; flex:none; width:100% !important; margin:0 !important; padding:0 !important; }
    #page > #content > .post { width:100%; padding:20px 12px 30px !important; }
    #page > #content h1 { max-width:100%; font-size:22px; line-height:1.3; }
    #page > #content h2 { line-height:1.35; }
    #page > #content p, #page > #content li { line-height:1.58; overflow-wrap:break-word; }
    #page > #content ul:not(.skoleni-archiv__list) { max-width:100%; }
    #content .skoleni-home, #content .namety-page, #content .skoleni-archiv,
    #content .skoleni-detail, #content .skoleni-ico, #content .skoleni-prihlaska { width:100% !important; max-width:100% !important; min-width:0 !important; margin-left:0 !important; margin-right:0 !important; }
    #content .skoleni-home__categories { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0; margin:12px 0; }
    #content .skoleni-home__category { box-sizing:border-box; width:auto !important; min-width:0; margin:0; padding:10px 6px; }
    #content .skoleni-home__category img { display:block; max-width:100%; height:auto; margin:0 auto; }
    #content .skoleni-archiv__list { grid-template-columns:1fr; }
    #content .namety-form__grid { display:grid; grid-template-columns:minmax(0,1fr) !important; gap:13px; }
    #content .namety-field, #content .namety-field--full { min-width:0; grid-column:1 / -1 !important; }
    #content .namety-form__header, #content .namety-form__body { padding:16px !important; }
    #content .namety-form__footer { flex-direction:column; align-items:stretch; gap:10px; padding:14px 16px; }
    #content .namety-form__submit { width:100%; }
    #content .namety-page input, #content .namety-page textarea { box-sizing:border-box; max-width:100%; }

    /* Mobile course list: complete cards with consistent layout. */
    #content table.skoleni-prehled,
    #content .skoleni-prehled tbody {
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        border:0;
        box-shadow:none;
    }
    #content .skoleni-prehled colgroup,
    #content .skoleni-prehled thead { display:none !important; }
    #content .skoleni-prehled tbody tr {
        display:grid !important;
        box-sizing:border-box;
        width:100%;
        grid-template-columns:minmax(0, 1fr) auto;
        grid-template-areas:
            "topic topic"
            "date status"
            "detail action";
        column-gap:10px;
        row-gap:12px;
        align-items:center;
        margin:0 0 12px;
        padding:15px 14px 12px;
        border:1px solid #e7dac7;
        border-radius:8px;
        background:#fff;
        box-shadow:0 2px 7px rgba(75,51,19,.045);
    }
    #content .skoleni-prehled tbody tr > td {
        display:block !important;
        box-sizing:border-box;
        width:auto !important;
        min-width:0 !important;
        max-width:100%;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0;
        background:transparent !important;
        visibility:visible !important;
    }
    #content .skoleni-prehled tbody tr > td.skoleni-prehled__topic {
        grid-area:topic;
        font-size:15px;
        font-weight:700;
        line-height:1.45;
        overflow-wrap:anywhere;
    }
    #content .skoleni-prehled .skoleni-prehled__topic a {
        display:block;
        color:#3b2f20;
        text-decoration:none;
        overflow-wrap:anywhere;
    }
    #content .skoleni-prehled tbody tr > td.skoleni-prehled__date {
        grid-area:date;
        justify-self:start;
        color:#5b5449;
        font-size:12px;
        font-weight:700;
        white-space:normal;
        font-variant-numeric:tabular-nums;
    }
    /* ASCII-only CSS escape: the page itself uses Windows-1250. */
    #content .skoleni-prehled .skoleni-prehled__date::before {
        content:"Za\010D\00E1tek: ";
        font-weight:400;
        color:#806d53;
    }
    #content .skoleni-prehled tbody tr > td.skoleni-prehled__status {
        grid-area:status;
        justify-self:end;
        text-align:right;
    }
    #content .skoleni-prehled .skoleni-prehled__capacity {
        display:inline-block !important;
        min-width:0;
        padding:5px 8px;
        font-size:11px;
    }
    #content .skoleni-prehled tbody tr > td.skoleni-prehled__detail-cell,
    #content .skoleni-prehled tbody tr > td.skoleni-prehled__actions {
        padding-top:3px !important;
        border-top:0 !important;
    }
    #content .skoleni-prehled tbody tr > td.skoleni-prehled__detail-cell {
        grid-area:detail;
        justify-self:stretch;
        text-align:left;
    }
    #content .skoleni-prehled tbody tr > td.skoleni-prehled__actions {
        grid-area:action;
        justify-self:stretch;
        text-align:right;
    }
    #content .skoleni-prehled a.skoleni-prehled__detail {
        display:inline-flex !important;
        width:auto !important;
        height:38px !important;
        min-height:38px;
        padding:0 12px !important;
        gap:5px;
        border:1px solid #e5d4ba;
        border-radius:5px;
        background:#fff9ed;
        color:#80521b;
        font-size:20px;
        line-height:1;
        text-decoration:none;
    }
    #content .skoleni-prehled a.skoleni-prehled__detail::after {
        content:"Detail";
        font:bold 12px Arial,Helvetica,sans-serif;
    }
    #content .skoleni-prehled a.skoleni-prehled__order {
        display:inline-flex !important;
        align-items:center;
        justify-content:center;
        min-height:38px;
        padding:8px 14px;
        box-sizing:border-box;
        white-space:nowrap;
        font-size:12px;
    }
    /* Detail: price follows facts, without fixed third column. */
    #content .skoleni-detail--modern .skoleni-detail__summary { display:flex; flex-direction:column; gap:12px; padding:15px !important; }
    #content .skoleni-detail--modern .skoleni-detail__facts,
    #content .skoleni-detail--modern .skoleni-detail__price { width:100% !important; max-width:100%; flex:none !important; }
    #content .skoleni-detail--modern .skoleni-detail__hero { padding:16px !important; }
    #content .skoleni-detail--modern .skoleni-detail__hero h1 { font-size:20px !important; }
    #content .skoleni-detail--modern .skoleni-detail__fact { gap:10px; }
    #content .skoleni-detail--modern .skoleni-detail__fact dt { flex:0 0 88px; }
    #content .skoleni-detail--modern .skoleni-detail__fact dd { min-width:0; flex:1 1 auto; overflow-wrap:anywhere; }
    #content .skoleni-detail--modern .skoleni-detail__section { padding:18px 14px !important; }
    #content .skoleni-detail--modern .skoleni-detail__note { margin:0 12px 14px !important; padding:14px !important; }
    #content .skoleni-detail--modern .skoleni-detail__foot { justify-content:center; }

    /* All registration forms: stack labels above controls on phones.
       The existing two-column <table> is only a layout table. */
    #content .skoleni-prihlaska { margin:0 0 22px !important; }
    #content .skoleni-registrace-form { width:100% !important; max-width:100%; padding:8px !important; overflow:visible; }
    #content .skoleni-registrace-form table.crm_table,
    #content .skoleni-registrace-form .crm_table tbody { display:block !important; width:100% !important; max-width:100%; table-layout:auto !important; }
    #content .skoleni-registrace-form .crm_table colgroup { display:none !important; }
    #content .skoleni-registrace-form .crm_table tr { display:block !important; width:100%; box-sizing:border-box; border-bottom:1px solid #eee5db; }
    #content .skoleni-registrace-form .crm_table th { display:block; box-sizing:border-box; width:100%; padding:11px 12px !important; text-align:left; }
    #content .skoleni-registrace-form .crm_table td.crm_td_left,
    #page #content .skoleni-registrace-form .crm_table td.crm_td_left:first-child:not([colspan]),
    #page #content .skoleni-registrace-form .crm_table td.crm_td_left:nth-child(2) { display:block !important; box-sizing:border-box; width:100% !important; max-width:100%; border:0 !important; text-align:left; }
    #page #content .skoleni-registrace-form .crm_table tr > td:first-child:not([colspan]) { padding:9px 11px 3px !important; font-weight:700; }
    #page #content .skoleni-registrace-form .crm_table tr > td:nth-child(2) { padding:3px 11px 11px !important; }
    #page #content .skoleni-registrace-form .crm_table tr > td[colspan] { padding:9px 11px !important; }
    #page #content .skoleni-registrace-form .crm_table tr td::after,
    #page #content .skoleni-registrace-form .crm_table tr td::before { display:none !important; content:none !important; }
    #content .skoleni-registrace-form input:not([type="hidden"]),
    #content .skoleni-registrace-form textarea,
    #content .skoleni-registrace-form select { box-sizing:border-box; max-width:100% !important; }
    #content .skoleni-registrace-form textarea[name="ucastnici"],
    #content .skoleni-registrace-form textarea[name="poznamka"],
    #content .skoleni-registrace-form textarea[name="adresa"] { width:100% !important; max-width:100% !important; }
    #content .skoleni-registrace-form input[name="firma"],
    #content .skoleni-registrace-form input[name="email"] { width:min(100%,350px) !important; }
    #content .skoleni-registrace-form input[name="skoleni"] { width:100% !important; }
    #content .skoleni-registrace-form input[name="datum"] { width:112px !important; }
    #content .skoleni-registrace-form input[name="casod"],
    #content .skoleni-registrace-form input[name="casdo"] { width:54px !important; }
    #content .skoleni-registrace-form .skoleni-registrace-form__course { padding:5px 0; }
    #page #content .skoleni-registrace-form .crm_table td.skoleni-registrace-form__actions { padding:12px !important; text-align:center !important; background:#fffaf2; }
    #content .skoleni-registrace-form__submit,
    #content .skoleni-registrace-form__back { min-height:40px; }
    #content .skoleni-ico { max-width:100%; }
    #content .skoleni-ico__card { width:100%; max-width:100%; }
    #content .skoleni-ico__body { flex-wrap:wrap; }
    #content .skoleni-ico__body input[type="text"] { width:100%; max-width:100% !important; flex:1 1 140px; }
    #footer p { padding:15px 12px 0; }
}
@media screen and (max-width: 359px) {
    #menu li a, #menu li a:hover { font-size:11px !important; }
    #page > #content > .post { padding-left:9px !important; padding-right:9px !important; }
    #content .skoleni-home__categories { gap:7px; }
    #content .skoleni-registrace-form input[name="datum"] { width:102px !important; }
    #content .skoleni-registrace-form input[name="casod"],
    #content .skoleni-registrace-form input[name="casdo"] { width:48px !important; }
}
@media (prefers-reduced-motion: reduce) {
    #skoleni-mobile-toggle { scroll-behavior:auto; }
}


/* Mobilni hlavicka WinFAS Skoleni: pouze male displeje.
   Desktop a tablet nad 760 px zustavaji bez zmeny. */
@media screen and (max-width: 760px) {
    #header {
        height: 118px !important;
        min-height: 118px !important;
        background-color: #eba719;
        background-image: url('style_img/img13.png');
        background-repeat: no-repeat;
        background-size: 585px auto;
        background-position: left top;
        overflow: hidden;
    }
    /* Logo zustava puvodni obrazek, jen se proporcne zmensi. */
    #header > a {
        display: block;
        width: 100%;
        height: 75px !important;
        overflow: hidden;
    }
    #header > a > img {
        display: block;
        width: 585px !important;
        max-width: none !important;
        height: auto !important;
    }
    /* Prihlaseni je vpravo vedle loga, nikoliv na samostatne radce. */
    #crm_menu {
        position: absolute !important;
        top: 9px !important;
        right: 9px !important;
        left: auto !important;
        width: 105px !important;
        transform: scale(.76) !important;
        transform-origin: top right;
        margin: 0 !important;
    }
    #crm_menu ul { margin: 0 !important; padding: 0 !important; }
    /* Tri puvodni navigacni polozky vedle sebe ve druhe radce. */
    #menu {
        position: absolute !important;
        top: 79px !important;
        bottom: auto !important;
        left: 8px !important;
        right: 8px !important;
        width: auto !important;
        margin: 0 !important;
    }
    #menu ul { margin: 0 !important; padding: 0 !important; gap: 5px; }
    #menu li { height: 35px !important; min-width: 0; }
    #menu li a,
    #menu li a:hover {
        height: 35px !important;
        min-width: 0;
        font-size: 12px !important;
        line-height: 1.1 !important;
        padding: 0 4px;
    }
    /* Tlacitko seznamu skoleni navazuje hned za hlavickou. */
    #skoleni-mobile-toggle {
        box-sizing: border-box;
        width: calc(100% - 20px) !important;
        min-height: 38px;
        margin: 8px 10px 2px !important;
        padding: 8px 12px !important;
        font-size: 13px;
        line-height: 1.2;
    }
}
@media screen and (max-width: 359px) {
    #header { background-size: 550px auto; }
    #header > a > img { width: 550px !important; }
    #crm_menu { transform: scale(.70) !important; right: 6px !important; }
    #menu { left: 6px !important; right: 6px !important; }
    #menu ul { gap: 4px; }
    #menu li a, #menu li a:hover { font-size: 11px !important; }
}
