/* Shared visual contract. The body ID makes ownership explicit above legacy
   page-specific rules; booking logic, tables and dialogs keep their own layout. */
#design-refined {
  --mg-navy:#172554; --mg-blue:#3438ad; --mg-blue-hover:#282b8e;
  --mg-ink:#17233b; --mg-muted:#526075; --mg-line:#dde3ed;
  --mg-canvas:#f7f8fb; --mg-radius:16px;
  --mg-shadow:0 8px 24px rgb(23 37 84 / .05);
  color:var(--mg-ink); background:#fff;
}
#design-refined :is(h1,h2,h3,h4,p,li,a,label,button,summary) {
  hyphens:none!important; -webkit-hyphens:none!important; word-break:normal;
}
#design-refined :is(h1,h2,h3) { text-wrap:balance; letter-spacing:-.035em; }
#design-refined :is(p,li) { text-wrap:pretty; }
#design-refined a[href^="tel:"] { white-space:nowrap!important; }
#design-refined a[href^="mailto:"] { overflow-wrap:anywhere!important; }
#design-refined :is(.btn,.btn-primary,.btn-secondary,.btn-nav-rezervace) {
  border-radius:10px!important; min-height:48px; font-weight:650!important;
  box-shadow:none!important; letter-spacing:0!important;
  transition:background-color .18s,border-color .18s;
}
#design-refined .btn-primary,#design-refined .btn-nav-rezervace {
  background:var(--mg-blue)!important; border-color:var(--mg-blue)!important; color:#fff!important;
}
#design-refined .btn-primary:hover,#design-refined .btn-nav-rezervace:hover { background:var(--mg-blue-hover)!important; }
#design-refined .btn-secondary { background:#fff!important; color:var(--mg-navy)!important; border:1px solid #cbd3e1!important; }
#design-refined .btn-secondary:hover { background:#f0f3f9!important; }
#design-refined .container { max-width:1240px; }
#design-refined .section-header { margin-inline:0!important; max-width:none!important; text-align:left!important; }
#design-refined .section-header p { margin-inline:0!important; max-width:720px!important; text-align:left!important; }
#design-refined .section-header { margin-bottom:32px!important; }
#design-refined .section-header h2 { margin-left:0!important; }
#design-refined :is(.content-page,.about-trust) { padding-block:64px!important; }
#design-refined .content-page .container > .content-wrapper {
  max-width:1040px!important; padding:0!important; background:transparent!important;
  border:0!important; box-shadow:none!important; border-radius:0!important;
}
#design-refined .content-wrapper > :is(p,ul,ol,h2,h3) { max-width:720px; margin-inline:auto; }
#design-refined .content-wrapper > :is(p,ul,ol) { line-height:1.7!important; }
#design-refined .content-wrapper > :is(h2,h3) { margin-top:40px!important; }
#design-refined :is(.master-panel,.master-proof-panel,.season-answer-card,.master-card,.master-proof-card,.inline-cta) {
  box-shadow:none!important; border-radius:16px!important;
}
#design-refined .master-panel { margin-block:40px!important; padding:32px!important; }
#design-refined :is(.master-panel,.inline-cta):not(.master-dark) { background:#f5f7fb!important; border:1px solid var(--mg-line)!important; }
#design-refined .master-dark { background:var(--mg-navy)!important; color:#fff!important; }
#design-refined .master-dark > :is(h2,h3,p,span) { color:#fff!important; -webkit-text-fill-color:#fff!important; }
#design-refined .master-dark .master-card { background:#fff!important; color:var(--mg-ink)!important; padding:24px!important; }
#design-refined .master-dark .master-card :is(strong,span,p,h3) {
  color:var(--mg-ink)!important; -webkit-text-fill-color:var(--mg-ink)!important; opacity:1!important; display:block!important;
}
#design-refined .master-dark .master-card strong { margin-block:12px 8px; }
#design-refined .master-card-grid { gap:16px!important; }
#design-refined .aerial-gallery-card figcaption :is(strong,span) { color:#fff!important; -webkit-text-fill-color:#fff!important; }
#design-refined .aerial-gallery-card figcaption { background:linear-gradient(transparent,rgba(7,20,40,.88))!important; padding:48px 24px 24px!important; }
#design-refined :is(.real-proof-card,.location-about-card) { box-shadow:none!important; border-radius:16px!important; overflow:hidden; }
#design-refined :is(.real-proof-card,.location-about-card) img { object-fit:cover; }
/* A photograph is contextual, not a generic background for every guide. */
#design-refined:not(.home) .page-hero {
  background:#f0f3f9!important; color:var(--mg-ink)!important; padding:64px 0!important; min-height:0!important;
}
#design-refined:not(.home) .page-hero::before,#design-refined:not(.home) .page-hero::after { display:none!important; }
#design-refined:not(.home) .page-hero :is(h1,h2,p,.breadcrumb,.breadcrumb a) { color:var(--mg-ink)!important; -webkit-text-fill-color:var(--mg-ink)!important; }
#design-refined:not(.home) .page-hero h1 { max-width:880px!important; font-size:clamp(32px,4vw,54px)!important; line-height:1.08!important; }
#design-refined:not(.home) .page-hero p { max-width:720px!important; line-height:1.6!important; }
#design-refined[data-location="horomerice"] .page-hero {
  background:linear-gradient(90deg,rgba(10,24,44,.9),rgba(10,24,44,.3)),url('../img/photos/aerial-2026/horomerice-overview-1600.webp?v=2') center 55%/cover!important;
}
#design-refined[data-location="drnovska"] .page-hero {
  background:linear-gradient(90deg,rgba(10,24,44,.9),rgba(10,24,44,.3)),url('../img/photos/aerial-2026/praha-drnovska-overview-1800.webp?v=2') center/cover!important;
}
#design-refined[data-location] .page-hero :is(h1,p,.breadcrumb,.breadcrumb a) { color:#fff!important; -webkit-text-fill-color:#fff!important; }
#design-refined .about-layout { display:grid!important; grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr)!important; align-items:start!important; gap:48px!important; }
#design-refined .about-layout > * { margin-top:0!important; align-self:start!important; }
#design-refined .cta-section { background:var(--mg-navy)!important; padding:56px 0!important; }
#design-refined .cta-section h2 { max-width:760px; margin-inline:auto; font-size:clamp(28px,3.2vw,42px)!important; }
#design-refined .cta-section .btn-primary { background:#fff!important; border-color:#fff!important; color:var(--mg-navy)!important; }
#design-refined :is(footer,.site-footer) { background:#132044!important; color:#dae1ef!important; padding-top:48px!important; }
#design-refined footer :is(p,li,a) { color:#dae1ef!important; font-size:14px!important; line-height:1.65!important; }
#design-refined footer :is(h3,strong) { color:#fff!important; }
#design-refined footer .footer-grid { gap:32px!important; }
#design-refined footer :is(.footer-seo,.footer-projects,.footer-bottom,.footer-legal) { margin-top:24px!important; padding-block:20px!important; }
#design-refined footer .footer-brand > p { max-width:360px; }
#design-refined .zl-cookie-settings,#design-refined button[data-cookie-settings] { background:#fff!important; color:var(--mg-navy)!important; border:1px solid #cbd3e1!important; }
/* Hidden means hidden, including controls retired by the layout owner. */
#design-refined [hidden] { display:none!important; }
#design-refined :is(.mobile-sticky-cta,.sticky-mobile-cta,.mobile-cta-bar) { display:none!important; }
#design-refined[data-reading-page] :is(.master-mobile-booking,.pro-mobile-reserve,.mobile-reserve-pill) { display:none!important; }
#design-refined :is(.faq-item,.faq-card,details) { box-shadow:none!important; }
#design-refined :is(.faq-question,summary) { color:var(--mg-navy); font-weight:650; }
#design-refined details { border:1px solid var(--mg-line); border-radius:12px; background:#fff; padding:0 20px; margin-block:12px; }
#design-refined details > summary { min-height:56px; padding-block:18px; cursor:pointer; }
#design-refined details[open] { padding-bottom:20px; }
#design-refined .pricing-cta { padding:24px!important; }
#design-refined .google-reviews-section { padding-block:32px!important; }
#design-refined .google-reviews-grid { grid-template-columns:1fr 1fr!important; align-items:center; gap:32px!important; }
#design-refined .google-reviews-copy h2 { font-size:28px!important; }
#design-refined .google-reviews-points { display:none!important; }
#design-refined .google-reviews-card { box-shadow:none!important; padding:24px!important; }
/* Shared date-field geometry works with translated labels without fixed label heights. */
#design-refined .calc-fields { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:16px!important; align-items:end!important; }
#design-refined .calc-field { position:relative!important; padding:0!important; min-width:0!important; }
#design-refined .calc-field label { display:block!important; margin:0 0 10px!important; color:#526075!important; font-size:13px!important; line-height:1.35!important; text-transform:none!important; letter-spacing:0!important; }
#design-refined .calc-field input { width:100%!important; height:64px!important; padding:0 32px 0 40px!important; font-size:16px!important; background:#fff!important; border:1px solid #bfcadc!important; border-radius:10px!important; text-align:left!important; color:var(--mg-navy)!important; }
#design-refined .calc-field-icon { position:absolute!important; top:auto!important; left:12px!important; bottom:22px!important; width:20px!important; height:20px!important; transform:none!important; pointer-events:none!important; }
#design-refined .selected-field-chevron { position:absolute!important; top:auto!important; right:12px!important; bottom:25px!important; width:14px!important; height:14px!important; transform:none!important; pointer-events:none!important; }
#design-refined.home .hero-form-reservation { box-shadow:0 12px 40px rgb(10 24 44 / .12)!important; border-radius:16px!important; }
#design-refined.home .homepage-trust-panel { display:block!important; }
#design-refined.home :is(.homepage-trust-grid,.homepage-trust-links) { gap:16px!important; }
#design-refined.home .homepage-trust-section { padding-block:40px!important; }
#design-refined.home .homepage-trust-section .btn { min-height:44px; }
#design-refined.home .direction-hero-scrim { background:linear-gradient(90deg,rgba(6,22,42,.8),rgba(6,22,42,.2))!important; }
@media (min-width:769px) {
 #design-refined.home .hero .calc-fields { grid-template-columns:1fr!important; }
 #design-refined .news-row { min-height:0!important; }
}
@media (max-width:768px) {
 #design-refined :is(.content-page,.about-trust) { padding-block:36px!important; }
 #design-refined .container { padding-inline:20px!important; }
 #design-refined .section-header { margin-bottom:24px!important; }
 #design-refined .section-header h2 { font-size:30px!important; line-height:1.12!important; }
 #design-refined .content-wrapper > :is(p,li,ul,ol) { font-size:16px!important; line-height:1.65!important; }
 #design-refined .master-panel { padding:22px!important; margin-block:28px!important; }
 #design-refined .master-dark .master-card { padding:20px!important; }
 #design-refined .master-card-grid { grid-template-columns:1fr!important; }
 #design-refined .about-layout,#design-refined .google-reviews-grid { grid-template-columns:1fr!important; gap:24px!important; }
 #design-refined:not(.home) .page-hero { padding:36px 0!important; }
 #design-refined:not(.home) .page-hero h1 { font-size:34px!important; line-height:1.1!important; }
 #design-refined .cta-section { padding:40px 0!important; }
 #design-refined footer { padding-top:32px!important; }
 #design-refined footer .footer-grid { gap:20px!important; }
 #design-refined footer .footer-brand { padding-bottom:8px!important; }
 #design-refined .news-row { display:grid!important; grid-template-columns:96px minmax(0,1fr)!important; gap:16px!important; padding-block:24px!important; min-height:0!important; align-items:start!important; }
 #design-refined .news-row-media { width:96px!important; height:88px!important; aspect-ratio:auto!important; border-radius:10px!important; }
 #design-refined .news-row-media img { width:100%!important; height:100%!important; object-fit:cover!important; }
 #design-refined .news-row-copy { padding:0!important; min-height:0!important; }
 #design-refined .news-row-copy h2 { font-size:19px!important; line-height:1.25!important; margin-block:6px!important; }
 #design-refined .news-row-arrow { display:none!important; }
 #design-refined .news-row-copy p { display:none!important; }
 #design-refined.home:not(.audited-home) .hero { padding:32px 0!important; min-height:0!important; }
 #design-refined.home:not(.audited-home) .hero-content { display:flex!important; flex-direction:column!important; gap:24px!important; }
 #design-refined.home:not(.audited-home) .hero-left { padding:0!important; margin:0!important; min-height:0!important; order:0!important; }
 #design-refined.home:not(.audited-home) .hero-right { padding:0!important; margin:0!important; order:1!important; }
 #design-refined.home:not(.audited-home) .hero-left h1 { margin-top:0!important; font-size:36px!important; line-height:1.08!important; }
 #design-refined.home:not(.audited-home) .hero-form-reservation { padding:20px!important; }
 #design-refined.home:not(.audited-home) :is(.mobile-value-strip,.selected-benefits,.selected-price-title,.mobile-form-primary) { display:none!important; }
 #design-refined .calc-fields { gap:10px!important; }
 #design-refined .calc-field input { padding:0 26px 0 32px!important; font-size:14px!important; height:58px!important; }
 #design-refined .calc-field-icon { left:9px!important; bottom:21px!important; width:16px!important; height:16px!important; }
 #design-refined .selected-field-chevron { right:9px!important; bottom:23px!important; width:12px!important; height:12px!important; }
}
@media (prefers-reduced-motion:reduce) { #design-refined * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
#design-refined .refined-footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:64px; }
#design-refined .refined-footer-logo { display:flex; gap:12px; align-items:center; text-decoration:none; max-width:280px; }
#design-refined .refined-footer-brand p { margin-block:20px 16px; max-width:300px; }
#design-refined .refined-footer-grid h3 { margin:0 0 16px; font-size:15px; letter-spacing:0; }
#design-refined .refined-footer-grid ul { list-style:none; padding:0; margin:0; }
#design-refined .refined-footer-grid li { margin-bottom:8px; }
#design-refined .refined-footer-grid li span { display:block; color:#b7c3d9; }
#design-refined .refined-footer-more { background:transparent; border:0; border-top:1px solid #33415f; border-bottom:1px solid #33415f; border-radius:0; padding:0; margin-top:32px; }
#design-refined .refined-footer-more summary { color:#fff; }
#design-refined .refined-footer-more ul { columns:3; padding-left:20px; }
#design-refined .refined-footer-more li { break-inside:avoid; margin-bottom:12px; }
#design-refined .refined-footer .footer-bottom { text-align:left!important; border:0!important; }
@media(max-width:768px){
 #design-refined.home:not(.audited-home) #home-top.hero { padding:32px 0 24px!important; min-height:0!important; }
 #design-refined.home:not(.audited-home) #home-top .hero-content { display:flex!important; flex-direction:column!important; gap:24px!important; }
 #design-refined.home:not(.audited-home) #home-top .hero-left { padding:0!important; min-height:0!important; height:auto!important; justify-content:flex-start!important; }
 #design-refined.home:not(.audited-home) #home-top .hero-right { position:static!important; margin:0!important; transform:none!important; width:100%!important; }
 #design-refined.home:not(.audited-home) #home-top h1 { order:0!important; margin-top:0!important; }
 #design-refined.home:not(.audited-home) #home-top .hero-price-note { order:3!important; }
 #design-refined .refined-footer-grid { grid-template-columns:1fr 1fr; gap:28px 20px; }
 #design-refined .refined-footer-brand { grid-column:1/-1; }
 #design-refined .refined-footer-more ul { columns:1; }
}
#design-refined .trust-decision-panel { display:block!important; padding:32px!important; box-shadow:none!important; border:0!important; background:#f5f7fb!important; border-radius:16px!important; }
#design-refined .trust-decision-copy { max-width:720px!important; margin-bottom:24px!important; }
#design-refined .trust-decision-copy h2 { font-size:36px!important; }
#design-refined .trust-decision-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:24px!important; }
#design-refined .trust-decision-grid a { padding:20px 0 0!important; background:transparent!important; box-shadow:none!important; border-radius:0!important; border:0!important; border-top:1px solid #ccd5e4!important; }
#design-refined .trust-decision-actions { margin-top:24px!important; }
#design-refined #home-top .btn { box-shadow:none!important; border-radius:10px!important; }
#design-refined #home-top .btn-primary { background:var(--mg-blue)!important; color:#fff!important; }
#design-refined .content-page .container > .content-wrapper { width:100%!important; }
@media(max-width:768px){
 #design-refined .trust-decision-panel { padding:24px!important; }
 #design-refined .trust-decision-copy h2 { font-size:28px!important; }
 #design-refined .trust-decision-grid { grid-template-columns:1fr!important; gap:16px!important; }
 #design-refined.home:not(.audited-home) .master-mobile-booking { margin:0!important; padding:24px 20px!important; background:#f5f7fb!important; position:relative!important; top:auto!important; }
 #design-refined.home:not(.audited-home) .master-mobile-booking .hero-right { position:static!important; margin:0!important; transform:none!important; width:100%!important; }
 #design-refined.home:not(.audited-home) .master-mobile-booking .hero-form-reservation { padding:20px!important; background:#fff!important; border-radius:16px!important; box-shadow:none!important; }
 #design-refined.home:not(.audited-home) #home-top .hero-left { gap:16px!important; }
 #design-refined.home:not(.audited-home) #home-top .hero-benefits { margin:0!important; }
}
#design-refined :is(span,strong,small) { hyphens:none!important; -webkit-hyphens:none!important; }
#design-refined:not(.home) #main .page-hero { background:#f0f3f9!important; color:var(--mg-ink)!important; }
#design-refined:not(.home) #main .page-hero::before,#design-refined:not(.home) #main .page-hero::after { display:none!important; }
#design-refined[data-location="horomerice"] #main .page-hero { background:linear-gradient(90deg,rgba(10,24,44,.9),rgba(10,24,44,.3)),url('../img/photos/aerial-2026/horomerice-overview-1600.webp?v=2') center 55%/cover!important; }
#design-refined[data-location="drnovska"] #main .page-hero { background:linear-gradient(90deg,rgba(10,24,44,.9),rgba(10,24,44,.3)),url('../img/photos/aerial-2026/praha-drnovska-overview-1800.webp?v=2') center/cover!important; }
/* Keep the contact photograph and its contrast overlay in the same background layer. */
#design-refined .contact-master-hero { background:linear-gradient(90deg,rgba(3,20,36,.82),rgba(3,20,36,.68)),url('../img/photos/approved-2026/parking-hero-desktop.webp') center 52%/cover no-repeat!important; padding:56px 0!important; }
#design-refined .contact-master-hero :is(h1,p,.breadcrumb,.breadcrumb a,.contact-write-link) { color:#fff!important; }
#design-refined .refined-reviews { padding:32px 0; background:#f5f7fb; }
#design-refined .refined-reviews .container { display:flex; gap:24px; align-items:center; justify-content:space-between; }
#design-refined .refined-reviews h2 { font-size:22px; margin:0; }
#design-refined .refined-review-links { display:flex; flex-wrap:wrap; gap:12px; }
#design-refined .refined-proof-links a { display:block; background:transparent!important; border:0!important; box-shadow:none!important; padding:16px 0!important; border-bottom:1px solid var(--mg-line)!important; }
#design-refined .refined-proof-links a span { display:none!important; }
#design-refined[data-reading-page] .content-wrapper h1 { font-size:clamp(34px,4vw,48px)!important; line-height:1.1!important; margin-bottom:20px; }
#design-refined[data-reading-page] .content-wrapper h2 { font-size:26px!important; }
#design-refined[data-reading-page] .ra-launcher { display:none!important; }
#design-refined .faq-question .icon { width:18px!important; height:18px!important; }
#design-refined :is(.master-panel,.master-proof-panel,.season-answer-card) :is(.master-card,.master-proof-card) { box-shadow:none!important; }
#design-refined .cta-section :is(h2,p,.cta-buttons,.btn) { visibility:visible!important; opacity:1!important; transform:none!important; }
@media(max-width:768px){
 #design-refined .contact-master-hero { background:linear-gradient(rgba(3,20,36,.76),rgba(3,20,36,.76)),url('../img/photos/approved-2026/parking-hero-mobile-760.webp') center 47%/cover no-repeat!important; padding:36px 0!important; }
 #design-refined .refined-reviews .container { flex-direction:column; align-items:flex-start; }
 #design-refined .refined-review-links { flex-direction:column; width:100%; }
 #design-refined .refined-footer-grid li { margin-bottom:8px!important; }
 #design-refined .refined-footer-grid li a { min-height:40px!important; padding-block:6px!important; }
}
#design-refined .section-header { max-width:none!important; margin-inline:0!important; }
#design-refined .section-header p { max-width:720px!important; margin-left:0!important; }
#design-refined :is(.pro-mobile-disclosure,.master-pricing-expand) { min-height:48px!important; padding:12px 20px!important; border:1px solid #cbd3e1!important; border-radius:10px!important; font-size:14px!important; font-weight:650!important; background:#fff!important; color:var(--mg-navy)!important; }
#design-refined .contact-master-hero::before,#design-refined .contact-master-hero::after { display:none!important; }
#design-refined .contact-master-hero .btn-primary { background:var(--mg-blue)!important; color:#fff!important; }
#design-refined .contact-master-hero .btn-secondary { background:#fff!important; color:var(--mg-navy)!important; border-color:#cbd3e1!important; }
#design-refined .contact-master-hero :is(.contact-master-kicker,.contact-master-breadcrumb,.contact-master-breadcrumb a) { color:#fff!important; }
#design-refined .refined-reviews { padding-block:24px!important; }
#design-refined .refined-footer-more summary { list-style:none; display:flex; align-items:center; justify-content:space-between; }
#design-refined .refined-footer-more summary::-webkit-details-marker { display:none; }
#design-refined .refined-footer-more summary::after { content:'+'; font-size:20px; }
#design-refined .refined-footer-more[open] summary::after { content:'−'; }
@media(max-width:380px){
 #design-refined header .logo-text { display:flex!important; }
 #design-refined header .logo-text > span { display:none!important; }
 #design-refined header .logo-text strong { font-size:14px!important; }
}
@media(max-width:768px){
 #design-refined.home .trust-decision-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:20px!important; }
 #design-refined.home .trust-decision-grid a strong { font-size:15px!important; line-height:1.3!important; }
 #design-refined.home .trust-decision-grid a span { font-size:14px!important; line-height:1.5!important; }
}
#design-refined .about-service-photo { margin:24px 0 0; }
#design-refined .about-service-photo img { width:100%; height:auto; border-radius:12px; }
#design-refined .about-service-photo figcaption { margin-top:8px; font-size:14px; color:var(--mg-muted); }
#design-refined .refined-scenarios { max-width:800px; margin-inline:auto; }
#design-refined :is(.payment-section,.payment-section-muted,.transfer-landing) { padding-block:48px!important; }
#design-refined :is(.payment-layout,.transfer-layout) { align-items:start!important; gap:40px!important; }
#design-refined :is(.payment-copy,.transfer-copy) :is(p,li) { font-size:16px!important; line-height:1.65!important; }
#design-refined :is(.payment-summary,.transfer-summary) { box-shadow:none!important; border:1px solid var(--mg-line)!important; background:#f5f7fb!important; border-radius:16px!important; }
@media(max-width:768px){
 #design-refined :is(.payment-section,.payment-section-muted,.transfer-landing) { padding-block:32px!important; }
 #design-refined :is(.payment-layout,.transfer-layout) { gap:24px!important; }
}
#design-refined[data-reading-page] .reservation-assistant-launcher { display:none!important; }
#design-refined :is(.page-hero,.contact-master-hero) .btn-outline { background:#fff!important; color:var(--mg-navy)!important; -webkit-text-fill-color:var(--mg-navy)!important; border:1px solid #cbd3e1!important; }
#design-refined .contact-master-hero-copy { padding-block:0!important; }
/* Interactive maps stay anchored when moving between the card and its iframe. */
#design-refined .contact-master-map,
#design-refined .contact-master-map:hover { transform:none!important; transition:box-shadow .22s ease,border-color .22s ease; }
