/* Hlídací pes: karta a vyskakovací okno */
/* Hlídací pes */
.spsdw-hp-card .btn{margin-top:.2em}
.spsdw-hp-card p{margin:0 0 1em;line-height:1.6}
.sbox.spsdw-hp-card a.btn{display:inline-flex;font-size:.95em;letter-spacing:0;text-transform:none;color:#fff;padding:.6em 1.2em;border-radius:999px;background:var(--navy);border:2px solid var(--navy)}
.sbox.spsdw-hp-card a.btn::after,.sbox.spsdw-hp-card a.btn::before{content:none}
@media (hover:hover){.sbox.spsdw-hp-card a.btn:hover{background:var(--navy-2);text-decoration:none}}
dialog.spsdw-hp{position:fixed;inset:0;margin:auto;height:fit-content;font-family:var(--font);width:min(30em,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:8px;box-shadow:0 20px 60px rgba(0,20,40,.35);color:var(--ink);font-size:clamp(15px,calc(9px + .5vw),19px);overflow:auto}
dialog.spsdw-hp::backdrop{background:rgba(0,27,50,.55)}
html.spsdw-hp-open{overflow:hidden}
.spsdw-hp-form{position:relative;margin:0}
.spsdw-hp-body{padding:1.8em 1.8em 1.5em}
.spsdw-hp-x{position:absolute;top:.6em;right:.6em;width:2.4em;height:2.4em;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--navy);cursor:pointer}
.spsdw-hp-x svg{width:1.3em;height:1.3em}
@media (hover:hover){.spsdw-hp-x:hover{background:var(--navy-50)}}
.spsdw-hp-kicker{margin:0 0 .4em;font-size:.8em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
.spsdw-hp h2{margin:0 2em .6em 0;font-size:1.4em;font-weight:900;line-height:1.15;color:var(--navy)}
.spsdw-hp p{margin:0 0 1em;line-height:1.55}
.spsdw-hp-zajem{background:var(--navy-50);border-radius:4px;padding:.5em .75em;font-size:.95em}
.spsdw-hp-l{display:block;font-weight:700;font-size:.9em;margin-bottom:.35em;color:var(--navy)}
.spsdw-hp input[type=email]{display:block;width:100%;box-sizing:border-box;font:inherit;padding:.75em .9em;border:1.5px solid #B9C3D1;border-radius:6px;background:#fff;color:var(--ink)}
.spsdw-hp input[type=email]:focus{outline:3px solid rgba(0,43,79,.25);border-color:var(--navy)}
.spsdw-hp-chk{display:flex;gap:.6em;align-items:flex-start;margin:1em 0 1.2em;font-size:.92em;line-height:1.45;cursor:pointer}
.spsdw-hp-chk input{width:1.15em;height:1.15em;margin:.15em 0 0;flex-shrink:0;accent-color:var(--navy)}
.spsdw-hp .btn{font:inherit;font-weight:700;width:100%;justify-content:center;font-size:1em;padding:.8em 1.3em;border-radius:999px;border:2px solid var(--navy);background:var(--navy);color:#fff;font-weight:700;cursor:pointer}
.spsdw-hp .btn[disabled]{opacity:.6;cursor:wait}
.spsdw-hp-msg{margin:.9em 0 0!important;font-weight:500}
.spsdw-hp-msg:empty{display:none}
.spsdw-hp-msg.is-ok{background:#E8F4EC;border-left:3px solid #2E7D4F;padding:.7em .9em;border-radius:0 4px 4px 0}
.spsdw-hp-msg.is-err{color:#B3261E}
.spsdw-hp-form.is-done label,.spsdw-hp-form.is-done input,.spsdw-hp-form.is-done .btn{display:none}
.spsdw-hp-gdpr{margin:1.1em 0 0!important;font-size:.8em;color:var(--muted)}
.spsdw-hp-gdpr a{color:var(--muted)}
.spsdw-hp-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.forms li .spsdw-hp-fbtn{cursor:pointer}

/* přihlášky: název vlevo, tlačítko vpravo i na mobilu */
.forms li:has(.spsdw-hp-fbtn){flex-direction:row;align-items:center;gap:.75em 1em}
.forms li:has(.spsdw-hp-fbtn) .fn{flex:1 1 auto;min-width:0}
.forms .spsdw-hp-none{display:block;margin-top:.15em;font-size:.8em;font-weight:400;color:var(--muted)}
.forms li .spsdw-hp-fbtn{flex:0 0 auto}
@media (max-width:560px){.forms li .spsdw-hp-fbtn{padding:.45em .8em;font-size:.8em}.forms li .spsdw-hp-fbtn .i{width:1em;height:1em}}

/* mobil: kontakt hned pod „Aktuálně“ (WPBakery i bloky) */
@media (max-width:760px){
  .spsd-content .vc_row:has(>.vc_col-sm-4 .spsd-e-contact){display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0}
  .spsd-content .vc_row:has(>.vc_col-sm-4 .spsd-e-contact)>.wpb_column,
  .spsd-content .vc_row:has(>.vc_col-sm-4 .spsd-e-contact)>.wpb_column>.vc_column-inner,
  .spsd-content .vc_row:has(>.vc_col-sm-4 .spsd-e-contact)>.wpb_column>.vc_column-inner>.wpb_wrapper{display:contents}
  .spsd-content .vc_row:has(>.vc_col-sm-4 .spsd-e-contact) .wpb_wrapper>*{order:3}
  .spsd-content .vc_row:has(>.vc_col-sm-4 .spsd-e-contact) .wpb_wrapper>.spsd-e-notice{order:1}
  .spsd-content .vc_row:has(>.vc_col-sm-4 .spsd-e-contact) .vc_col-sm-4 .wpb_wrapper>.spsd-e-contact{order:2;margin-top:1.25em}
  .spsd-content .vc_row:has(>.vc_col-sm-4 .spsd-e-contact) .vc_col-sm-4 .wpb_wrapper>.spsd-e-contact+*{margin-top:2.5em}
  .spsd-content .vc_row:has(>.vc_col-sm-4 .spsd-e-contact) .vc_col-sm-4 .wpb_wrapper>*+*:not(.spsd-e-contact+*){margin-top:1.25em}
  .spsdw-layout:has(>.spsdw-side>.spsd-e-contact){display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0}
  .spsdw-layout:has(>.spsdw-side>.spsd-e-contact)>.spsdw-main,.spsdw-layout:has(>.spsdw-side>.spsd-e-contact)>.spsdw-side{display:contents}
  .spsdw-layout:has(>.spsdw-side>.spsd-e-contact)>*>*{order:3}
  .spsdw-layout:has(>.spsdw-side>.spsd-e-contact)>.spsdw-main>.spsd-e-notice{order:1}
  .spsdw-layout:has(>.spsdw-side>.spsd-e-contact)>.spsdw-side>.spsd-e-contact{order:2;margin-top:1.25em}
  .spsdw-layout:has(>.spsdw-side>.spsd-e-contact)>.spsdw-side>.spsd-e-contact+*{margin-top:2.5em}
  .spsdw-layout:has(>.spsdw-side>.spsd-e-contact)>.spsdw-side>*+*:not(.spsd-e-contact+*){margin-top:1.25em}
}

/* tlačítka: Stáhnout jako tlačítko, na mobilu ceník a Hlídací pes stejně velké jako „Přihlásit se do kurzu“ */
.file .fd{border:1.5px solid var(--navy);border-radius:999px;padding:.55em 1.1em;font-size:.9em;text-transform:none;letter-spacing:0;transition:background .15s,color .15s}
.file .fd .arr{transform:rotate(90deg)}
@media (hover:hover){.file:hover .fd{background:var(--navy);color:#fff}.file:hover .fd .arr{color:#fff}}
.sbox.spsdw-hp-card a.btn{font-size:1em;padding:.7em 1.3em}
@media (max-width:760px){
  .file .fd{flex-basis:100%;margin-left:0;justify-content:center;padding:.75em 1.3em;font-size:1em;border-width:2px}
  .spsd-e-file.file .fd{padding-left:1.3em}
  .phead .ctas .tlink{flex:1 1 100%;justify-content:center;border:2px solid var(--navy);border-radius:999px;padding:.7em 1.3em;text-decoration:none;background:#fff}
  .sbox.spsdw-hp-card a.btn{display:flex;width:100%;justify-content:center}
}

/* pás fotek */
.spsdw-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(14em,1fr));gap:.75em}
.spsdw-photos figure{margin:0;min-width:0}
/* zlatý řez: dlaždice v poměru φ (1,618 : 1); výřez řídí „Střed výřezu“ u fotky v Médiích */
.spsdw-photos img{display:block;width:100%;height:auto;aspect-ratio:1.618/1;object-fit:cover;border-radius:6px}
.spsdw-photos .spsdw-zoom{position:relative;display:block;aspect-ratio:1.618/1;overflow:hidden;border-radius:6px;background:#22303c;isolation:isolate}
.spsdw-photos .spsdw-zoom::before{content:"";position:absolute;inset:-24px;background:var(--spsdw-bg) center/cover;filter:blur(18px) brightness(.85);z-index:-1}
.spsdw-photos .spsdw-zoom img{position:absolute;max-width:none;max-height:none;aspect-ratio:auto;object-fit:fill;border-radius:0}
.spsdw-photos figcaption{margin-top:.4em;font-size:.875em;color:var(--muted);line-height:1.4}
@media (max-width:760px){
  .spsdw-photos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.6em;margin-right:calc(-1 * var(--gx));padding-right:var(--gx);scrollbar-width:none}
  .spsdw-photos::-webkit-scrollbar{display:none}
  .spsdw-photos figure{flex:0 0 78%;scroll-snap-align:start}
}

.spsd-content .wpb_wrapper>.spsdw-photos{margin-top:2.5em}

/* Partneři školy [spsd_partneri]: funguje i mimo vzhled SPŠD (úvodní stránka ve Wolverine), proto vlastní barvy, písmo a nulování stylů šablony */
.spsdw-par{--par-navy:#002B4F;--par-line:#DDE2EA;--par-muted:#5B6475;--par-ink:#1B1F2A;display:block;padding:0;border:0;font-family:"Roboto",Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--par-ink);text-align:left}
.spsdw-par,.spsdw-par *,.spsdw-par *::before,.spsdw-par *::after{box-sizing:border-box}
.spsdw-par .spsdw-par-h{display:flex;align-items:flex-end;margin:0 0 26px;padding:0}
.spsdw-par .spsdw-par-h h2{flex:0 1 auto;min-width:0;margin:0 18px -1px 0;padding:0;border:0;background:none;font-family:inherit;font-size:24px;font-weight:900;font-style:normal;letter-spacing:.5px;text-transform:uppercase;color:var(--par-navy);line-height:1;text-align:left}
.spsdw-par .spsdw-par-h h2::before,.spsdw-par .spsdw-par-h h2::after{content:none;display:none}
/* čára = kolej, na ní metro M1; když se nevejde, ořízne se zleva (zůstane čelo s kabinou) a konec se ztrácí */
.spsdw-par .spsdw-par-track{flex:1;min-width:0;container-type:inline-size;display:flex;justify-content:flex-end;align-items:flex-end;min-height:34px;margin:0;padding:0 2px 2px;border-bottom:3px solid var(--par-navy);position:relative}
.spsdw-par .spsdw-par-track::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:3px;background:repeating-linear-gradient(90deg,var(--par-navy) 0 3px,transparent 3px 14px);opacity:.35}
.spsdw-par .spsdw-par-track img.metro{display:block;flex-shrink:0;height:30px;width:356px;max-width:100%;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:none;object-fit:cover;object-position:right bottom}
@media (min-width:561px){@container (max-width:355.5px){.spsdw-par .spsdw-par-track img.metro{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px);mask-image:linear-gradient(90deg,transparent,#000 40px)}}}
.spsdw-par .spsdw-par-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0;padding:4px 0 34px}
.spsdw-par .plogo{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-width:0;margin:0;padding:24px 26px 18px;background:#fff;border:1px solid var(--par-line);border-radius:6px;box-shadow:none;color:var(--par-ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.spsdw-par a.plogo:focus,.spsdw-par a.plogo:active,.spsdw-par a.plogo:visited{color:var(--par-ink);text-decoration:none}
/* šablona podtrhává odkazy (a:visited, a:focus, .entry-content a:hover … !important); na dotykových displejích zůstává hover po klepnutí */
.spsdw-par a.plogo,.spsdw-par a.plogo:link,.spsdw-par a.plogo:visited,.spsdw-par a.plogo:hover,.spsdw-par a.plogo:focus,.spsdw-par a.plogo:active,
.spsdw-par a.plogo span,.spsdw-par a.plogo:hover span,.spsdw-par a.plogo:focus span,.spsdw-par a.plogo:active span,.spsdw-par a.plogo b{text-decoration:none!important;-webkit-text-decoration:none!important}
.spsdw-par a.plogo{-webkit-tap-highlight-color:rgba(0,43,79,.08)}
.spsdw-par a.plogo:focus-visible{outline:3px solid var(--par-navy);outline-offset:3px}
.spsdw-par .plogo img{display:block;width:100%;max-width:100%;height:64px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:none;object-fit:contain;object-position:left center}
.spsdw-par .plogo b{display:flex;align-items:center;min-height:64px;font-size:18px;font-weight:700;line-height:1.25;color:var(--par-navy)}
.spsdw-par .plogo span{display:block;margin:0;padding:12px 0 0;border-top:1px solid var(--par-line);font-size:14px;line-height:1.5;color:var(--par-muted);text-decoration:none}
@media (hover:hover){.spsdw-par a.plogo:hover{border-color:#B9C3D1;box-shadow:0 10px 24px -16px rgba(0,43,79,.4);color:var(--par-ink);text-decoration:none}}
@media (max-width:1279px){.spsdw-par .spsdw-par-grid{grid-template-columns:1fr 1fr}}
/* úvodní stránka (Wolverine, řádky WPBakery s okraji 3em – Partneři, Aktuálně, Kalendář akcí, Ze života školy): na mobilu okraje jako hlavička (16 px) */
@media (max-width:760px){
  #partneri-skoly>.vc_row,.fullwidth>.vc_row:has(>.wpb_column>.vc_column-inner>.wpb_wrapper>:is(.spsdw-par,.spsdw-zpr,.spsdw-kal)){margin-left:0!important;margin-right:0!important}
  #partneri-skoly>.vc_row>.wpb_column>.vc_column-inner,.fullwidth>.vc_row>.wpb_column>.vc_column-inner:has(>.wpb_wrapper>:is(.spsdw-par,.spsdw-zpr,.spsdw-kal)){padding-left:16px!important;padding-right:16px!important}
  #partneri-skoly>.vc_row>.wpb_column>.vc_column-inner>.wpb_wrapper{margin-left:0;margin-right:0;padding-left:0;padding-right:0}
}
@media (max-width:560px){
  .spsdw-par .spsdw-par-h{margin-bottom:20px}
  .spsdw-par .spsdw-par-h h2{font-size:20px}
  .spsdw-par .spsdw-par-track{min-height:26px}
  .spsdw-par .spsdw-par-track img.metro{height:20px;width:237px}
  @container (max-width:236.5px){.spsdw-par .spsdw-par-track img.metro{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}}
  /* kompaktní karty: logo 44 px, popisek hned pod ním */
  .spsdw-par .spsdw-par-grid{grid-template-columns:1fr;gap:10px;padding-bottom:12px}
  .spsdw-par .plogo{justify-content:flex-start;gap:10px;padding:14px 16px}
  .spsdw-par .plogo img{height:44px}
  .spsdw-par .plogo b{min-height:44px;font-size:17px}
  .spsdw-par .plogo span{padding-top:8px;border-top-color:#E8ECF1;font-size:14px;line-height:1.45}
}
@media (prefers-reduced-motion:reduce){.spsdw-par .plogo{transition:none}}

/* větší text v mobilním menu */
html.fontsize .drawer{font-size:24px;overflow-wrap:break-word}
html.fontsize .dquick{grid-template-columns:minmax(0,1fr)}
html.fontsize .sec-h h2{white-space:normal}
html.fontsize .dtop .dtitle{font-size:30px}
html.fontsize .dclose{font-size:15.8px}
html.fontsize .dh{font-size:19.5px}
html.fontsize .dquick a{font-size:22.5px}
html.fontsize .dsearch input{font-size:24px}
html.fontsize .dnav summary,html.fontsize .dnav>a{font-size:24px}
html.fontsize .dnav .sub h5{font-size:18px}
html.fontsize .dnav .sub a{font-size:24px}
html.fontsize .dcontact{font-size:22.5px}
html.fontsize .dcontact .lab{font-size:18px}
html.fontsize .dcontact small{font-size:19.5px}
html.fontsize .dnav .you{font-size:17.2px}
html.fontsize .dblk .dserv a.here::after{font-size:16.5px}
