@font-face{font-family:"Futura LT Pro";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/public/curaprox-font-futura-lt-pro_book_3.woff2") format("woff2")}
@font-face{font-family:"Futura LT Pro";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/public/curaprox-font-futura-lt-pro_bold_3.woff2") format("woff2")}
@font-face{font-family:"Info Display Pro";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/public/curaprox-font-infodisplaypro_book.woff2") format("woff2")}
@font-face{font-family:"Info Display Pro";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/public/curaprox-font-infodisplaypro_bold.woff2") format("woff2")}
.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px}.hero-photo{width:100%;height:auto;border-radius:18px}.program-photo{width:100%;height:auto;border-radius:18px}figure{margin:32px 0}.program-gallery{margin-block:32px}.program-gallery img{border-radius:18px}.identity{min-width:0;max-width:100%}.identity a{max-width:100%}.button{border-radius:999px}.edu{border-radius:18px}input,textarea{border-radius:12px}.article-grid article{min-width:0}.article-grid h2{margin-top:40px}@media(max-width:767px){.hero{grid-template-columns:1fr}.hero-photo{margin-top:16px}}:root{--blue:#003DA5;--white:#fff;--grey:#706F6F;--light:#EDEDED;--tint:#CCD8ED}*{box-sizing:border-box}body{margin:0;color:var(--grey);background:white;font:16px/1.5 "Info Display Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-synthesis:none}h1,h2,h3,.eyebrow,.button{font-family:"Futura LT Pro",Futura,"Avenir Next",Avenir,"Century Gothic",Arial,sans-serif}h1,h2{color:var(--blue);text-transform:uppercase;letter-spacing:.02em;line-height:1.15}h1{font-size:clamp(32px,3.2vw,39.0625px);max-width:22ch}h2{font-size:clamp(24px,2.2vw,25px)}p{max-width:65ch}a{color:var(--blue);text-underline-offset:.2em}a:hover{text-decoration-thickness:3px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.container{max-width:1120px;margin:auto;padding:0 24px}.review{background:var(--tint);color:var(--blue);padding:12px 24px;font-size:14px}.review a{margin-right:16px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:28px;border-bottom:1px solid var(--light)}.identity{display:flex;gap:30px;align-items:center}.logo{width:430px;max-width:100%;height:auto;display:block}.name{color:var(--blue);font-weight:bold}.site-header nav{display:flex;gap:24px;flex-wrap:wrap}.site-header a{padding:8px 0}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;background:white;z-index:3}.hero{padding:80px 0 72px;border-bottom:1px solid var(--light)}.lead{font-size:clamp(18px,1.8vw,20px);line-height:1.4}.eyebrow{font-size:14px;letter-spacing:.1em;color:var(--blue)}.button{display:inline-block;background:var(--blue);color:white;border:2px solid var(--blue);padding:12px 20px;text-decoration:none;font-size:16px;cursor:pointer;min-height:48px}.button:hover{background:white;color:var(--blue)}.secondary{margin:18px;display:inline-block}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:64px 0}.edu{background:var(--light);padding:32px;margin:32px 0 64px;color:var(--blue)}.intro{padding:32px 0}.article-grid{display:grid;grid-template-columns:210px 1fr;gap:64px}.article-grid aside a{display:block;margin-bottom:16px;padding:8px 0}.article-grid article section{margin-bottom:48px;scroll-margin-top:24px}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:64px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}label{display:block;color:var(--blue)}input,textarea{display:block;width:100%;border:1px solid var(--grey);padding:12px;font:inherit;margin-top:8px;min-width:0}.wide{grid-column:1/-1}.review-note{padding:12px;border-left:3px solid var(--blue);font-size:14px}.error{font-size:14px;color:var(--blue);font-weight:bold}.site-footer{border-top:1px solid var(--light);padding:32px 0}.site-footer nav{display:flex;gap:24px;flex-wrap:wrap}main{padding-top:24px}button{font:inherit}@media(max-width:767px){.site-header,.identity{align-items:flex-start;flex-direction:column;gap:16px}.site-header nav{gap:18px}.hero{padding:36px 0}.split,.contact-grid,.article-grid{grid-template-columns:1fr;gap:24px}.split{padding:32px 0}.article-grid aside{border-bottom:1px solid var(--light)}.fields{grid-template-columns:1fr}.edu{padding:24px}.secondary{margin-left:0}.container{padding-inline:20px}.review{padding-inline:20px}.name{font-size:18px}}body{overflow-wrap:anywhere}.button{max-width:100%}
.public-menu{display:flex;flex-wrap:wrap;list-style:none;gap:24px;padding:0;margin:0}.public-menu ul{list-style:none;padding:0}.public-menu a{display:inline-block;padding:12px 0}.identity{display:block;flex:1}.public-copy{max-width:760px;margin:0 auto 48px}.public-copy h2{margin-top:40px}.public-copy img{max-width:100%;height:auto;border-radius:18px}.public-copy p{max-width:none}.contact-form-antibot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.public-contact-form label{display:inline}.public-contact-form input[type=submit]{width:auto;background:#003da5;color:white;border-radius:999px;min-height:48px;padding:12px 28px;cursor:pointer}.public-contact-form .wide{grid-column:1/-1}.public-contact-form [aria-invalid=true]{border:2px solid #003da5}.public-contact-form .field-error{display:block;font-size:14px;font-weight:bold;color:#003da5}.breadcrumbs{color:#706f6f;padding-top:24px}#contact-errors{background:#ededed;border-left:3px solid #003da5;padding:16px}#contact-errors[hidden]{display:none}.contact-grid{margin-bottom:48px}body.dp-public{background:#fff}@media(max-width:767px){.public-menu{gap:16px}.site-header{display:block}.identity{margin-bottom:20px}}

.photo-dialog{border:0;border-radius:18px;padding:24px;max-width:90vw;max-height:90vh}.photo-dialog::backdrop{background:rgb(0 0 0 / .7)}.photo-dialog img{display:block;width:auto;height:auto;max-width:100%;max-height:70vh;margin-top:16px}.photo-dialog button{background:#003da5;color:#fff;border:0;border-radius:999px;padding:12px 24px;min-height:48px}.public-menu>li{margin:0}button,input[type=submit]{font-family:inherit}.public-copy p{margin-block:16px}.public-copy h2{font-size:25px}.breadcrumbs span{padding-inline:4px}.identity img{height:auto}.hero picture{min-width:0}

.program-gallery img{width:165px;height:125px;object-fit:contain}h1,h2,h3{font-weight:700}a{ text-decoration:underline }.button{text-decoration:none}.public-menu a{text-decoration:none}.public-menu a:hover{text-decoration:underline}

/* Consent controls share the same size and visual priority. */
.analytics-settings { padding-top: 16px; padding-bottom: 24px; }
.analytics-settings button { cursor: pointer; font: inherit; }
.analytics-consent { margin-top: 24px; margin-bottom: 24px; padding: 24px; border: 1px solid var(--blue, #003da5); border-radius: 18px; background: #fff; }
.analytics-consent[hidden], .analytics-settings[hidden] { display: none; }
.analytics-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.analytics-actions .button { font: inherit; cursor: pointer; border: 2px solid #003da5; }

/* CMS inline height must not distort photographs on narrow screens. */
.public-copy img { height: auto !important; }

/* Supporting palette: colors.supporting_palette, curaprox-brand-system
   87cba8911d577cea6a1177da1b622c54007d9c22. Decorative accents only. */
.dp-public {
    --flush-orange: #FF8200;
    --cornflower: #8BB8E8;
    --persian-pink: #F277C6;
}
.dp-public .hero-copy::before {
    content: "";
    display: block;
    width: 72px;
    height: 8px;
    margin-bottom: 24px;
    border-radius: 999px;
    background: var(--flush-orange);
}
.dp-public .hero picture {
    display: block;
    padding: 8px;
    border-radius: 26px;
    background: var(--cornflower);
    line-height: 0;
}
.dp-public .hero picture .hero-photo { margin-top: 0; }
.dp-public .edu {
    background: var(--light);
    color: var(--blue);
}
.dp-public .intro::after,
.dp-public .split > div:first-child::before {
    content: "";
    display: block;
    width: 72px;
    height: 8px;
    border-radius: 999px;
    background: var(--persian-pink);
}
.dp-public .intro::after { margin-top: 24px; }
.dp-public .split > div:first-child::before { margin-bottom: 24px; }
.dp-public .public-copy h2 {
    padding-left: 16px;
    border-left: 6px solid var(--cornflower);
}
.dp-public .site-footer { border-top: 6px solid var(--cornflower); }

/* EDU supports the programme; reserve the filled CTA for Dental Prevention. */
.dp-public .edu .button {
    background: transparent;
    color: var(--blue);
}
.dp-public .edu .button:hover {
    background: var(--blue);
    color: var(--white);
}

/* Compact supporting block: copy and next steps share desktop width. */
.dp-public .edu-copy,
.dp-public .edu-actions { min-width: 0; }
.dp-public .edu-copy .eyebrow { margin: 0 0 16px; }
.dp-public .edu-copy h2 { margin: 0 0 16px; }
.dp-public .edu-copy > p:last-child { margin: 0; }
.dp-public .edu-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
    margin-top: 24px;
}
.dp-public .edu-actions p { margin: 0; }
@media (min-width: 900px) {
    .dp-public .edu {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
        align-items: center;
        gap: 40px;
    }
    .dp-public .edu-actions { margin-top: 0; }
}
.dp-public .program-nav { max-width: 760px; margin: 0 auto 32px; padding: 20px 24px; border: 1px solid var(--light); border-radius: 18px; }
.dp-public .program-label { margin: 16px 0; color: var(--blue); font-size: clamp(20px, 1.8vw, 22px); line-height: 1.35; }
.dp-public .other-courses { margin: 16px 0 0; font-size: 16px; }
.dp-public .other-courses a { display: inline-block; padding-block: 4px; }
.dp-public .program-nav p { margin: 0 0 12px; color: var(--blue); }
.dp-public .program-nav ul { margin: 0; padding-left: 20px; }
.dp-public .program-nav li + li { margin-top: 8px; }
.dp-public .program-nav a { display: inline-block; padding: 4px 0; }
.dp-public .public-copy h2[id^="program-section-"] { scroll-margin-top: 24px; }

/* Programme reading layout only; no CMS text or shared copy styles change. */
.dp-public .program-layout { margin-bottom: 48px; }
.dp-public .program-layout > .program-nav { margin: 0 0 28px; padding: 0 0 20px; border: 0; border-bottom: 1px solid var(--light); border-radius: 0; }
.dp-public .program-layout > .program-nav ul { list-style: none; padding: 0; }
.dp-public .program-layout > .program-nav a { display: block; padding: 8px 0; }
.dp-public .program-layout > .program-article { width: 100%; margin: 0 auto; font-size: 16px; line-height: 1.5; min-width: 0; }
.dp-public .program-article > p:first-child { margin-top: 0; font-size: clamp(18px, 1.8vw, 20px); line-height: 1.4; }
.dp-public .program-article > h2 { margin: 48px 0 18px; }
.dp-public .program-article > h2 + p { margin-top: 0; }
.dp-public .program-article > #program-section-4 + p { padding: 20px 24px; background: var(--light); color: var(--blue); border-radius: 12px; }
.dp-public .program-article > #program-section-4 + p a[href="mailto:info@dentalprevention.cz"] { display: inline-block; max-width: 100%; padding: 6px 0; font-size: 20px; font-weight: 700; overflow-wrap: anywhere; }
.dp-public .program-article .program-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 240px)); gap: 20px; margin: 28px 0 0; }
.dp-public .program-article .program-gallery a { display: block; }
.dp-public .program-article .program-gallery img { display: block; width: 100%; height: auto; object-fit: contain; }
@media (min-width: 64rem) {
    .dp-public .program-layout.has-sections { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: start; }
    .dp-public .program-layout.has-sections > .program-nav { margin: 0; padding: 0 20px 0 0; border-bottom: 0; border-right: 1px solid var(--light); align-self: start; }
    .dp-public .program-layout.has-sections > .program-article { margin: 0; }
}
/* A conservative height gate keeps the full four-link menu visible, including zoom reflow. */
@media (min-width: 64rem) and (min-height: 48rem) {
    .dp-public .program-layout.has-sections > .program-nav { position: sticky; top: 24px; }
}
@media (max-width: 767px) {
    .dp-public .program-article > h2 { margin-top: 40px; }
    .dp-public .program-article > #program-section-4 + p { padding: 16px 20px; }
}

.dp-public .flashes-cover { position: fixed; inset: 0; z-index: 100; background: rgb(0 0 0 / .5); }
.dp-public .flashes { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 101; width: min(520px, calc(100% - 40px)); max-height: calc(100dvh - 40px); overflow: auto; padding: 24px; background: white; border-radius: 18px; box-shadow: 0 8px 40px rgb(0 0 0 / .2); }
.dp-public .flashes p { margin: 0 0 16px; color: var(--blue); }
.dp-public .flashes .flash + .flash { margin-top: 12px; }
.dp-public .flashes .close { display: block; margin: 24px 0 0 auto; min-width: 72px; min-height: 48px; padding: 12px 20px; border: 2px solid var(--blue); border-radius: 999px; background: var(--blue); color: white; cursor: pointer; }
.dp-public .flashes .close:hover { background: white; color: var(--blue); }
