/* Google Fonts – Inter:loaded via <link> in HTML for performance */
/* ==============================================
 PARKUJ-LETISTE-PRAHA.CZ / ZAPARKUJLEVNE.CZ
 Redesign: parkovani-ruzyne layout + zaparkujlevne brand colors
 Barvy: tmavá navy #1e293b + oranžová #ffa400
 ============================================== */
:root{
 --blue:#1e293b;
 --blue-dark:#0f172a;
 --blue-light:#f1f5f9;
 --red:#ff6000;
 --red-dark:#e05500;
 --accent:#ffa500;
 --accent-light:#fff8eb;
 --purple:#ff6000;
 --purple-light:#fff8eb;
 --red-ink:#b84400;
 --logo-red:#ff0026;
 --logo-orange:#ff6000;
 --logo-gold:#ffa500;
 --logo-purple:#9f0ea1;
 --white:#ffffff;
 --dark:#0f172a;
 --text:#334155;
 --text-light:#64748b;
 --gray:#f8fafc;
 --border:#e2e8f0;
 --shadow:0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
 --shadow-hover:0 4px 16px rgba(0,0,0,0.10);
 --radius:8px;
 --transition:all 0.2s ease;
}
*,
*::before,
*::after{
 margin:0;
 padding:0;
 box-sizing:border-box;
}
html{
 scroll-behavior:smooth;
}
@font-face{
 font-family:'Inter Fallback';
 src:local('Arial');
 size-adjust:107%;
 ascent-override:90%;
 descent-override:25%;
 line-gap-override:0%;
}
body{
 font-family:'Inter', 'Inter Fallback', 'Segoe UI', Arial, sans-serif;
 color:var(--text);
 line-height:1.6;
 font-size:16px;
 -webkit-font-smoothing:antialiased;
}
/* ---- LANGUAGE SWITCHER (DROPDOWN) ---- */
.lang-switcher{position:relative;margin-left:8px;border-left:1px solid var(--border);padding-left:12px;}
.lang-dropdown-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:700;color:var(--text-light);background:transparent;border:1px solid var(--border);cursor:pointer;font-family:inherit;letter-spacing:0.3px;transition:var(--transition);}
.lang-dropdown-btn:hover,.lang-dropdown-btn[aria-expanded="true"]{color:var(--blue);border-color:var(--blue);background:var(--blue-light);}
.lang-chevron{font-size:9px;transition:transform 0.2s ease;margin-left:2px;}
.lang-dropdown-btn[aria-expanded="true"] .lang-chevron{transform:rotate(180deg);}
.lang-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:120px;background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,0.1);padding:6px;list-style:none;margin:0;z-index:100;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity 0.15s ease,transform 0.15s ease,visibility 0.15s;}
.lang-dropdown.open .lang-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.lang-dropdown-menu li{margin:0;list-style:none;}
.lang-dropdown-menu .lang-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:600;color:var(--text);text-decoration:none;transition:var(--transition);}
.lang-dropdown-menu .lang-btn:hover{background:var(--blue-light);color:var(--blue);}
.lang-flag{font-size:14px;line-height:1;}
/* ---- TOPBAR ---- */
.topbar{
 background:var(--blue-dark);
 color:var(--white);
 padding:8px 0;
 font-size:14px;
}
.topbar .container{
 display:flex;
 justify-content:space-between;
 align-items:center;
 flex-wrap:wrap;
 gap:8px;
}
.topbar a{
 color:var(--white);
 text-decoration:none;
 font-weight:600;
 font-size:15px;
}
.topbar a:hover{
 text-decoration:underline;
}
.topbar-badge{
 background:#c10020;
 color:white;
 padding:2px 10px;
 border-radius:20px;
 font-size:12px;
 font-weight:700;
 letter-spacing:0.3px;
}
/* ---- ACCESSIBILITY:Focus states ---- */
:focus-visible{
 outline:2px solid var(--accent);
 outline-offset:2px;
}
.btn:focus-visible{
 outline:2px solid var(--accent);
 outline-offset:2px;
 box-shadow:0 0 0 4px rgba(255, 164, 0, 0.2);
}
a:focus-visible{
 outline:2px solid var(--accent);
 outline-offset:2px;
 border-radius:2px;
}
/* ---- HEADER / NAV ---- */
header{
 background:var(--white);
 box-shadow:0 2px 8px rgba(0,0,0,0.12);
 position:sticky;
 top:0;
 z-index:1000;
}
nav{
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:14px 0;
}
.logo{
 display:flex;
 align-items:center;
 gap:12px;
 text-decoration:none;
}
.logo-icon{
 width:44px;
 height:44px;
 background:var(--blue);
 border-radius:var(--radius);
 display:flex;
 align-items:center;
 justify-content:center;
 color:white;
 font-size:22px;
}
.logo-img{
 width:44px;
 height:44px;
 border-radius:var(--radius);
 display:block;
 flex-shrink:0;
}
.logo-text{
 display:flex;
 flex-direction:column;
}
.logo-text strong{
 color:var(--blue);
 font-size:16px;
 font-weight:700;
 line-height:1.2;
}
.logo-text span{
 color:var(--red);
 font-size:12px;
 font-weight:600;
}
.nav-links{
 display:flex;
 list-style:none;
 gap:4px;
 align-items:center;
}
.nav-links a{
 text-decoration:none;
 color:var(--dark);
 font-weight:500;
 padding:8px 10px;
 border-radius:var(--radius);
 transition:var(--transition);
 font-size:14px;
}
.nav-links a:hover{
 background:var(--blue-light);
 color:var(--blue);
}
.nav-links a.active{
 color:var(--blue);
 font-weight:700;
}
.btn-nav-rezervace{
 background:var(--red) !important;
 color:var(--blue) !important;
 font-weight:700 !important;
 padding:10px 20px !important;
 white-space:nowrap;
}
.btn-nav-rezervace:hover{
 background:var(--red-dark) !important;
 color:var(--blue) !important;
}
/* Hamburger */
.hamburger{
 display:none;
 flex-direction:column;
 gap:5px;
 cursor:pointer;
 padding:6px;
 background:none;
 border:none;
}
.hamburger span{
 display:block;
 width:24px;
 height:2px;
 background:var(--dark);
 border-radius:2px;
 transition:var(--transition);
}
/* ---- CONTAINER ---- */
.container{
 max-width:1140px;
 margin:0 auto;
 padding:0 20px;
}
/* ---- BUTTONS ---- */
.btn{
 display:inline-block;
 padding:14px 32px;
 border-radius:var(--radius);
 font-weight:700;
 font-size:16px;
 text-decoration:none;
 cursor:pointer;
 transition:var(--transition);
 border:none;
 text-align:center;
}
.btn-primary{
 background:var(--red);
 color:var(--blue);
}
.btn-primary:hover{
 background:var(--red-dark);
 transform:translateY(-2px);
 box-shadow:0 8px 28px rgba(255,164,0,0.35);
}
.btn-secondary{
 background:var(--blue);
 color:white;
}
.btn-secondary:hover{
 background:var(--blue-dark);
 transform:translateY(-2px);
 box-shadow:var(--shadow-hover);
}
.btn-outline{
 background:transparent;
 color:var(--white);
 border:2px solid var(--white);
}
.btn-outline:hover{
 background:var(--white);
 color:var(--blue);
}
.btn-lg{
 padding:18px 40px;
 font-size:18px;
}
/* ---- HERO ---- */
.hero{
 background:linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%);
 color:white;
 padding:80px 0 80px;
 min-height:600px;
 position:relative;
 overflow:hidden;
 contain:paint;
}
.hero::before,
.hero::after{
 display:none;
}
.hero-content{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:60px;
 align-items:center;
}
.hero-badge{
 display:inline-block;
 background:var(--red);
 color:var(--blue);
 padding:6px 16px;
 border-radius:20px;
 font-size:13px;
 font-weight:700;
 margin-bottom:20px;
 letter-spacing:0.5px;
}
.hero h1{
 font-size:2.6rem;
 font-weight:800;
 line-height:1.2;
 margin-bottom:20px;
}
.hero h1 span{
 color:var(--red);
}
.hero-subtitle{
 font-size:1.1rem;
 opacity:1;
 margin-bottom:30px;
 line-height:1.7;
}
.hero-cta-box{
 display:inline-flex;
 gap:28px;
 flex-wrap:wrap;
 align-items:center;
 margin-top:24px;
}
.hero-phone{
 color:white;
 text-decoration:none;
 font-size:1.1rem;
 font-weight:600;
 opacity:0.9;
 transition:var(--transition);
}
.hero-phone:hover{
 opacity:1;
 text-decoration:underline;
}
.hero-card{
 background:white;
 color:var(--dark);
 border-radius:16px;
 padding:32px;
 box-shadow:0 20px 60px rgba(0,0,0,0.25);
}
.hero-card h3{
 color:var(--blue);
 font-size:1rem;
 font-weight:700;
 margin:-32px -32px 24px;
 padding:16px 24px;
 background:var(--blue-light);
 border-radius:16px 16px 0 0;
 text-align:center;
 border-bottom:1px solid rgba(5,7,55,0.1);
}
.price-preview{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:12px;
 margin-bottom:24px;
}
.price-item{
 background:var(--gray);
 border-radius:var(--radius);
 padding:12px;
 text-align:center;
}
.price-item .days{
 font-size:13px;
 color:var(--text-light);
 margin-bottom:4px;
}
.price-item .price{
 font-size:1.3rem;
 font-weight:700;
 color:var(--blue);
}
.hero-card .btn{
 width:100%;
 display:block;
 text-align:center;
}
.hero-card .discount-note,
.hero-form .discount-note{
 text-align:center;
 font-size:13px;
 color:#b34000;
 margin-bottom:16px;
 margin-top:0;
 font-weight:600;
 background:rgba(255,164,0,0.08);
 padding:8px 12px;
 border-radius:var(--radius);
}
/* ---- HERO BENEFITS ---- */
.hero-benefits{
 list-style:none;
 padding:0;
 margin:0 0 24px;
 display:flex;
 gap:20px;
 flex-wrap:wrap;
}
.hero-benefits li{
 color:white;
 font-size:16px;
 font-weight:500;
 display:flex;
 align-items:center;
 gap:6px;
}
.hero-caption{color:rgba(255,255,255,0.75);font-size:14px;font-weight:500;letter-spacing:0.3px;margin:-8px 0 22px;}
.hero-benefits li::before{
 content:'\f058';
 font-family:'Font Awesome 6 Free';
 font-weight:900;
 color:var(--red);
 font-size:18px;
}
@media (max-width:640px){
 .hero-benefits{
 flex-direction:column;
 gap:8px;
}
}
/* ---- TRUST BAR ---- */
.trust-bar{
 background:var(--blue-light);
 border-bottom:1px solid var(--border);
 border-top:1px solid var(--border);
 padding:20px 0;
}
.trust-items{
 display:flex;
 justify-content:center;
 align-items:center;
 flex-wrap:wrap;
 gap:12px 32px;
 max-width:960px;
 margin:0 auto;
}
.trust-item{
 display:flex;
 align-items:center;
 gap:8px;
 font-weight:600;
 font-size:14px;
 color:var(--dark);
 padding:6px 0;
}
.trust-item .icon{
 font-size:20px;
 color:var(--blue);
}
/* ---- SECTIONS ---- */
section{
 padding:70px 0;
}
.section-header{
 text-align:center;
 margin-bottom:48px;
}
.section-header h2{
 font-size:2rem;
 font-weight:700;
 color:var(--dark);
 margin-bottom:12px;
}
.section-header p{
 color:var(--text-light);
 font-size:1.05rem;
 max-width:580px;
 margin:0 auto;
 line-height:1.7;
}
.section-label{
 display:inline-flex;
 align-items:center;
 gap:6px;
 color:#c24e00;
 font-weight:700;
 font-size:13px;
 letter-spacing:1px;
 text-transform:uppercase;
 margin-bottom:8px;
}
.section-label::before{
 display:none;
}
/* ---- FEATURES / VYHODY ---- */
.features{
 background:var(--gray);
}
.features-grid{
 display:grid;
 grid-template-columns:repeat(3, 1fr);
 gap:24px;
}
.feature-card{
 background:white;
 border-radius:12px;
 padding:28px;
 box-shadow:var(--shadow);
 transition:var(--transition);
 border-top:4px solid var(--blue);
}
.feature-card:hover{
 transform:translateY(-6px);
 box-shadow:0 12px 40px rgba(0,0,0,0.12);
}
.feature-icon{
 font-size:2.2rem;
 margin-bottom:16px;
}
.feature-card h3{
 font-size:1.05rem;
 font-weight:700;
 color:var(--dark);
 margin-bottom:10px;
}
.feature-card p{
 color:var(--text-light);
 font-size:15px;
 line-height:1.65;
}
/* ---- FEATURE ICONS – color variants ---- */
.feature-icon-wrap{
 width:52px;
 height:52px;
 border-radius:12px;
 display:flex;
 align-items:center;
 justify-content:center;
 margin-bottom:16px;
 font-size:1.6rem;
}
.feature-icon-wrap.gold{background:#fff3e0;color:#e05500;}
.feature-icon-wrap.blue{background:#fff3e0;color:#e05500;}
.feature-icon-wrap.green{background:#fff3e0;color:#e05500;}
.feature-icon-wrap.red{background:#fff3e0;color:#e05500;}
.feature-icon-wrap.purple{background:#fff3e0;color:#e05500;}
.feature-icon-wrap.teal{background:#fff3e0;color:#e05500;}
/* ---- PRICING TABLE ---- */
.pricing{
 background:white;
}
.pricing-table{
 width:100%;
 border-collapse:collapse;
 border-radius:12px;
 overflow:hidden;
 box-shadow:var(--shadow);
 margin-bottom:24px;
}
.pricing-table thead{
 background:var(--blue);
 color:white;
}
.pricing-table th{
 padding:16px 20px;
 text-align:left;
 font-weight:700;
 font-size:15px;
}
.pricing-table td{
 padding:14px 20px;
 border-bottom:1px solid var(--border);
 font-size:15px;
}
.pricing-table tbody tr:last-child td{
 border-bottom:none;
}
.pricing-table tbody tr:nth-child(even){
 background:var(--gray);
}
.pricing-table tbody tr:hover{
 background:var(--blue-light);
}
.pricing-table .price-cell{
 font-weight:700;
 font-size:1.15rem;
 color:var(--blue);
}
.pricing-table tr.best-value td{
 background:var(--accent-light);
 font-weight:600;
}
.pricing-table tr.best-value .price-cell{
 color:var(--red-ink);
}
.best-value-badge{
 display:inline-block;
 background:var(--red-ink);
 color:white;
 font-size:11px;
 font-weight:800;
 padding:3px 10px;
 border-radius:20px;
 margin-left:10px;
 vertical-align:middle;
 letter-spacing:0.5px;
 text-transform:uppercase;
 box-shadow:0 2px 6px rgba(184,68,0,0.3);
}
.pricing-note{
 background:var(--blue-light);
 border-left:4px solid var(--blue);
 padding:16px 20px;
 border-radius:0 var(--radius) var(--radius) 0;
 font-size:14px;
 color:var(--text);
 margin-bottom:16px;
}
.discount-box{
 background:var(--accent-light);
 border:2px solid var(--accent);
 border-radius:var(--radius);
 padding:16px 20px;
 display:flex;
 align-items:center;
 gap:12px;
 font-size:15px;
}
.discount-code{
 background:var(--red);
 color:var(--blue);
 padding:4px 12px;
 border-radius:4px;
 font-weight:800;
 font-family:monospace;
 font-size:16px;
 letter-spacing:1px;
 cursor:pointer;
 position:relative;
 border-bottom:1px dashed currentColor;
 transition:opacity 0.2s;
}
.discount-code:hover{
 opacity:0.8;
}
.discount-code .copy-icon{
 font-size:0.8em;
 margin-left:4px;
 opacity:0.6;
}
.copy-tooltip{
 position:absolute;
 bottom:100%;
 left:50%;
 transform:translateX(-50%);
 background:var(--dark);
 color:#fff;
 font-size:0.75rem;
 padding:4px 10px;
 border-radius:4px;
 white-space:nowrap;
 pointer-events:none;
 opacity:0;
 transition:opacity 0.2s;
}
.copy-tooltip.show{
 opacity:1;
}
/* ---- HOW IT WORKS ---- */
.how-it-works{
 background:var(--gray);
}
.steps{
 display:grid;
 grid-template-columns:repeat(4, 1fr);
 gap:24px;
 position:relative;
}
.steps::before{
 content:'';
 position:absolute;
 top:40px;
 left:12%;
 right:12%;
 height:2px;
 background:var(--border);
 z-index:0;
}
.step{
 text-align:center;
 position:relative;
 z-index:1;
}
.step-number{
 width:56px;
 height:56px;
 background:var(--purple);
 color:white;
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:1.4rem;
 font-weight:800;
 margin:0 auto 16px;
 box-shadow:0 4px 16px rgba(159,14,161,0.3);
}
.step h3{
 font-size:1rem;
 font-weight:700;
 color:var(--dark);
 margin-bottom:8px;
}
.step p{
 color:var(--text-light);
 font-size:14px;
 line-height:1.6;
}
/* ---- ABOUT ---- */
.about{
 background:white;
}
.about-content{
 display:grid;
 grid-template-columns:1fr 1.3fr;
 gap:48px;
 align-items:start;
}
.about-text h2{
 font-size:1.8rem;
 font-weight:800;
 color:var(--dark);
 margin-bottom:16px;
}
.about-text p{
 color:var(--text-light);
 margin-bottom:16px;
 line-height:1.7;
}
.about-list{
 list-style:none;
 margin:20px 0;
}
.about-list li{
 padding:8px 0;
 padding-left:28px;
 position:relative;
 font-size:15px;
 color:var(--text);
}
.about-list li::before{
 content:'\f00c';
 font-family:'Font Awesome 6 Free';
 font-weight:900;
 position:absolute;
 left:0;
 color:var(--red);
}
.about-map{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:12px;
}
.about-map-item{
 border-radius:12px;
 overflow:hidden;
 box-shadow:var(--shadow);
 background:var(--gray);
 height:220px;
 border:1px solid var(--border);
}
.about-map-label{
 padding:10px 16px;
 font-size:14px;
 font-weight:700;
 color:var(--dark);
 background:var(--gray);
 display:flex;
 align-items:center;
 gap:8px;
}
.about-map-label i{
 color:var(--red);
}
.about-map-item iframe{
 width:100%;
 height:calc(100% - 40px);
 border:none;
}
.location-map{
 width:100%;
 height:180px;
 border:0;
 border-radius:12px;
 margin-top:16px;
}
.location-tagline{color:var(--red-ink);font-size:14px;font-weight:700;margin:6px 0 12px;line-height:1.4;}
.location-nav-btn{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:10px 18px;background:var(--blue);color:#fff;font-weight:700;font-size:14px;text-decoration:none;border-radius:8px;transition:var(--transition);}
.location-nav-btn:hover{background:var(--red);}
.location-nav-btn i{font-size:15px;}
.location-gps{
 margin-top:10px;
 font-size:13px;
 color:var(--text-light);
}
.location-gps i{color:var(--red);margin-right:4px;}
.location-gps a{color:var(--red);font-weight:600;}
/* ---- FAQ ---- */
.faq{
 background:var(--gray);
}
.faq-list{
 max-width:780px;
 margin:0 auto;
}
.faq-item{
 background:white;
 border-radius:var(--radius);
 margin-bottom:12px;
 box-shadow:var(--shadow);
 overflow:hidden;
}
.faq-question{
 width:100%;
 background:none;
 border:none;
 padding:20px 24px;
 text-align:left;
 font-size:16px;
 font-weight:600;
 color:var(--dark);
 cursor:pointer;
 display:flex;
 justify-content:space-between;
 align-items:center;
 transition:var(--transition);
}
.faq-question:hover{
 background:var(--blue-light);
 color:var(--blue);
}
.faq-question.open{
 color:var(--blue);
 background:var(--blue-light);
 border-left:3px solid var(--blue);
 padding-left:21px;
}
.faq-chevron{
 font-size:18px;
 transition:transform 0.25s ease;
 color:var(--blue);
 flex-shrink:0;
}
.faq-question.open .faq-chevron{
 transform:rotate(180deg);
}
.faq-answer{
 max-height:0;
 overflow:hidden;
 transition:max-height 0.35s ease, padding 0.25s ease;
 padding:0 24px;
}
.faq-answer.open{
 max-height:400px;
 padding:4px 24px 20px;
}
.faq-answer p{
 color:var(--text-light);
 line-height:1.7;
}
/* ---- CTA SECTION ---- */
.cta-section{
 background:linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%);
 color:white;
 text-align:center;
 padding:60px 0;
}
.cta-section h2{
 font-size:2rem;
 font-weight:700;
 margin-bottom:12px;
}
.cta-section p{
 opacity:0.9;
 font-size:1.05rem;
 margin-bottom:32px;
}
.cta-buttons{
 display:flex;
 gap:16px;
 justify-content:center;
 flex-wrap:wrap;
}
/* ---- CONTACT ---- */
.contact{
 background:white;
}
.contact-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:48px;
}
.contact-info h3{
 font-size:1.3rem;
 font-weight:700;
 color:var(--dark);
 margin-bottom:24px;
}
.contact-item{
 display:flex;
 gap:16px;
 margin-bottom:24px;
 align-items:flex-start;
}
.contact-item-icon{
 width:44px;
 height:44px;
 background:var(--blue-light);
 border-radius:var(--radius);
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:20px;
 flex-shrink:0;
 color:var(--blue);
}
.contact-item-text strong{
 display:block;
 font-size:15px;
 color:var(--dark);
 margin-bottom:2px;
}
.contact-item-text a,
.contact-item-text span{
 color:var(--text-light);
 text-decoration:none;
 font-size:15px;
}
.contact-item-text a:hover{
 color:var(--blue);
 text-decoration:underline;
}
/* ---- FOOTER ---- */
footer{
 background:var(--dark);
 color:rgba(255,255,255,0.85);
 padding:48px 0 24px;
}
.footer-grid{
 display:grid;
 grid-template-columns:2fr 1fr 1fr;
 gap:48px;
 margin-bottom:40px;
}
.footer-brand .logo-text strong{
 color:white;
}
.footer-brand p{
 margin-top:16px;
 font-size:14px;
 line-height:1.7;
 max-width:300px;
}
footer h3{
 color:white;
 font-size:15px;
 font-weight:700;
 margin-bottom:16px;
}
footer ul{
 list-style:none;
}
footer ul li{
 margin-bottom:8px;
}
footer ul li a{
 color:rgba(255,255,255,0.8);
 text-decoration:none;
 font-size:14px;
 transition:all 0.2s ease;
}
footer ul li a:hover{
 color:var(--red);
 padding-left:4px;
}
.footer-legal{
 text-align:center;
 padding:12px 0 0;
 font-size:13px;
 color:rgba(255,255,255,0.5);
}
.footer-bottom{
 border-top:1px solid rgba(255,255,255,0.1);
 padding-top:20px;
 text-align:center;
 font-size:13px;
 color:rgba(255,255,255,0.75);
}
.footer-bottom a{
 color:rgba(255,255,255,0.75);
 text-decoration:underline;
 text-decoration-color:rgba(255,255,255,0.3);
}
.footer-bottom a:hover{
 color:#fff;
}
.footer-seo{
 border-top:1px solid rgba(255,255,255,0.1);
 margin-top:24px;
 padding-top:20px;
 font-size:13px;
 color:rgba(255,255,255,0.75);
 line-height:1.7;
 max-width:700px;
}
.footer-seo a{
 color:rgba(255,255,255,0.8);
 text-decoration:underline;
}
.footer-seo a:hover{
 color:var(--red);
}
/* ---- PAGE HERO (inner pages) ---- */
.page-hero{
 background:linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%);
 color:white;
 padding:56px 0;
 text-align:center;
}
.page-hero h1{
 font-size:2rem;
 font-weight:800;
 margin-bottom:8px;
}
.page-hero p{
 opacity:0.85;
 font-size:1rem;
}
.breadcrumb{
 font-size:13px;
 opacity:0.7;
 margin-bottom:16px;
}
.breadcrumb a{
 color:white;
 text-decoration:none;
}
.breadcrumb a:hover{
 text-decoration:underline;
}
/* ---- SEASONAL PRICING ---- */
.seasonal-tabs{
 display:flex;
 gap:8px;
 margin-bottom:20px;
}
.tab-btn{
 padding:10px 24px;
 border-radius:var(--radius);
 border:2px solid var(--border);
 background:white;
 cursor:pointer;
 font-weight:600;
 font-size:15px;
 color:var(--text);
 transition:var(--transition);
}
.tab-btn.active{
 background:var(--red);
 border-color:var(--red);
 color:white;
 box-shadow:0 2px 8px rgba(255,96,0,0.25);
}
.tab-btn:hover:not(.active){
 border-color:var(--red);
 color:var(--red);
}
.tab-content{
 display:none;
}
.tab-content.active{
 display:block;
}
/* ---- RESPONSIVE ---- */
@media (max-width:900px){
 .hero-content{
 grid-template-columns:1fr;
 gap:40px;
}
 .hero h1{
 font-size:2rem;
}
 .features-grid{
 grid-template-columns:repeat(2, 1fr);
}
 .steps{
 grid-template-columns:repeat(2, 1fr);
}
 .steps::before{
 display:none;
}
 .about-content{
 grid-template-columns:1fr;
}
 .contact-grid{
 grid-template-columns:1fr;
}
 .footer-grid{
 grid-template-columns:1fr 1fr;
}
}
@media (max-width:640px){
 .nav-links{
 display:none;
 flex-direction:column;
 position:absolute;
 top:100%;
 left:0;
 right:0;
 background:white;
 padding:16px 20px;
 box-shadow:0 8px 24px rgba(0,0,0,0.12);
 border-top:1px solid var(--border);
 z-index:1001;
 gap:0;
 max-height:calc(100dvh - 120px);
 overflow-y:auto;
}
 .nav-links.open{
 display:flex;
}
 .nav-links li{
 width:100%;
}
 .nav-links a{
 display:block;
 padding:12px 16px;
 width:100%;
 font-size:15px;
 font-weight:600;
 text-align:left;
 border-radius:10px;
 transition:background 0.2s ease, color 0.2s ease;
}
 .nav-links a:hover,
 .nav-links a.active{
 background:var(--gray);
 color:var(--dark);
}
 header{
 position:relative;
}
 .hamburger{
 display:flex;
}
 .nav-links .btn-nav-rezervace{
 display:block;
 font-size:16px !important;
 padding:14px 24px !important;
 text-align:center;
 border-radius:10px !important;
 margin:8px auto 4px;
 max-width:300px;
 width:100%;
 box-sizing:border-box;
}
 .features-grid{
 grid-template-columns:1fr;
}
 .steps{
 grid-template-columns:1fr;
}
 .hero h1{
 font-size:1.7rem;
}
 .price-preview{
 grid-template-columns:repeat(2, 1fr);
}
 .footer-grid{
 grid-template-columns:1fr;
 gap:32px;
}
 .topbar .container{
 justify-content:center;
}
 .section-header h2{
 font-size:1.6rem;
}
}
/* ---- UTILITY ---- */
.text-center{text-align:center;}
.mt-24{margin-top:24px;}
.mb-24{margin-bottom:24px;}
/* Mobile-only components hidden on desktop */
.mobile-booking-card,
.mobile-cta-stack{
 display:none;
}
.bg-gray{background:var(--gray);}
/* ============================================
 STATISTIKY – sekce s čísly
 ============================================ */
.stats-section{
 background:var(--blue);
 padding:48px 0;
}
.stats-grid{
 display:grid;
 grid-template-columns:repeat(4, 1fr);
 gap:24px;
 text-align:center;
 max-width:960px;
 margin:0 auto;
}
.stat-item{
 color:white;
 padding:16px;
}
.stat-number{
 font-size:2.6rem;
 font-weight:900;
 color:var(--logo-gold);
 line-height:1;
 margin-bottom:8px;
 letter-spacing:-1px;
}
.stat-label{
 font-size:14px;
 opacity:0.85;
 font-weight:500;
 line-height:1.4;
}
.stat-icon{
 font-size:1.6rem;
 margin-bottom:8px;
 opacity:0.7;
 color:white;
}
@media (min-width:641px){
 .stat-item:not(:last-child){
 border-right:1px solid rgba(255,255,255,0.13);
}
}
/* ============================================
 ANIMACE – fade-in on scroll
 ============================================ */
.fade-in{
 opacity:0;
 transform:translateY(24px);
 transition:opacity 0.6s ease, transform 0.6s ease;
}
.fade-in.visible{
 opacity:1;
 transform:translateY(0);
}
.fade-in-delay-1{transition-delay:0.1s;}
.fade-in-delay-2{transition-delay:0.2s;}
.fade-in-delay-3{transition-delay:0.3s;}
.fade-in-delay-4{transition-delay:0.4s;}
.fade-in-delay-5{transition-delay:0.5s;}
.fade-in-delay-6{transition-delay:0.6s;}
/* ============================================
 HERO – vylepšení
 ============================================ */
.hero-visual{
 position:relative;
 display:flex;
 justify-content:center;
 align-items:center;
}
.hero-badge-row{
 display:flex;
 gap:8px;
 flex-wrap:wrap;
 margin-bottom:20px;
}
.hero-tag{
 display:inline-flex;
 align-items:center;
 gap:5px;
 background:rgba(255,96,0,0.15);
 color:white;
 padding:5px 12px;
 border-radius:20px;
 font-size:13px;
 font-weight:600;
 border:1px solid rgba(255,96,0,0.55);
 backdrop-filter:blur(4px);
}
.hero-tag i{color:var(--accent);}
/* ============================================
 RECENZE / HODNOCENÍ – sekce
 ============================================ */
.reviews{
 background:white;
 padding:70px 0;
}
.reviews-grid{
 display:grid;
 grid-template-columns:repeat(3, 1fr);
 gap:24px;
 margin-bottom:32px;
}
.review-card{
 background:var(--gray);
 border-radius:12px;
 padding:24px 24px 20px;
 border-left:4px solid var(--purple);
 transition:var(--transition);
 position:relative;
 overflow:hidden;
}
.review-card::before{
 display:none;
}
.review-card:hover{
 box-shadow:var(--shadow-hover);
 transform:translateY(-3px);
 background:white;
}
.review-stars{
 color:#f5a623;
 font-size:1rem;
 margin-bottom:10px;
 letter-spacing:2px;
}
.review-text{
 color:var(--text);
 font-size:14px;
 line-height:1.7;
 margin-bottom:14px;
 font-style:italic;
}
.review-author{
 font-weight:700;
 font-size:14px;
 color:var(--dark);
}
.review-from{
 font-size:12px;
 color:var(--text-light);
}
.rating-summary{
 text-align:center;
 padding:20px;
 background:var(--blue-light);
 border-radius:var(--radius);
 border:1px solid var(--border);
}
.rating-big{
 font-size:3.5rem;
 font-weight:900;
 color:var(--blue);
 line-height:1;
}
.rating-stars-big{
 color:#f5a623;
 font-size:1.4rem;
 margin:6px 0;
}
.rating-count{
 font-size:13px;
 color:var(--text);
}
@media (max-width:768px){
 .stats-grid{grid-template-columns:repeat(2, 1fr);}
 .reviews-grid{grid-template-columns:1fr;}
 .about-map{grid-template-columns:1fr;}
}
@media (max-width:480px){
 .stats-grid{grid-template-columns:repeat(2, 1fr);gap:12px;}
 .stat-number{font-size:2rem;}
}
/* ============================================
 NAŠE PARKOVIŠTĚ – dvě lokace
 ============================================ */
.locations-section{
 padding:70px 0;
 background:var(--gray);
 color:var(--dark);
 position:relative;
 z-index:1;
}
.locations-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:32px;
 margin-top:40px;
 max-width:1000px;
 margin-left:auto;
 margin-right:auto;
}
.location-card{
 background:white;
 border-radius:16px;
 padding:36px 32px 32px;
 box-shadow:var(--shadow);
 border:2px solid var(--border);
 transition:var(--transition);
 position:relative;
}
.location-card:hover{
 box-shadow:var(--shadow-hover);
 border-color:var(--red);
 transform:translateY(-2px);
}
.location-badge{
 display:inline-block;
 background:var(--red-ink);
 color:white;
 padding:4px 14px;
 border-radius:20px;
 font-size:12px;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:0.5px;
 margin-bottom:16px;
}
.location-card h3{
 font-size:1.3rem;
 font-weight:800;
 color:var(--dark);
 margin-bottom:12px;
}
.location-card h3 i{
 color:var(--blue);
 margin-right:6px;
}
.location-address{
 font-size:15px;
 color:var(--text-light);
 margin-bottom:20px;
 padding-bottom:20px;
 border-bottom:1px solid var(--border);
}
.location-address i{
 color:var(--red);
 margin-right:6px;
}
.location-features{
 list-style:none;
 padding:0;
 margin:0 0 24px;
}
.location-features li{
 padding:8px 0;
 font-size:15px;
 color:var(--text);
 display:flex;
 align-items:center;
 gap:10px;
}
.location-features li i{
 color:var(--red);
 width:18px;
 text-align:center;
 font-size:14px;
}
.location-btn{
 width:100%;
 text-align:center;
 display:block;
}
@media (max-width:640px){
 .locations-grid{
 grid-template-columns:1fr;
 gap:20px;
}
 .locations-section{
 padding:50px 0;
}
 .location-card{
 padding:28px 24px 24px;
}
}
/* ============================================
 SECTION CTA – bloky po každé sekci
 ============================================ */
.section-cta{
 text-align:center;
 padding:40px 0 0;
 display:flex;
 flex-direction:column;
 gap:14px;
 justify-content:center;
 align-items:center;
}
.section-cta .btn{
 min-width:240px;
 padding:14px 32px;
 font-size:1rem;
}
.section-cta .cta-phone{
 font-size:0.95rem;
 font-weight:600;
 color:var(--text-light);
 text-decoration:none;
 display:inline-flex;
 align-items:center;
 gap:6px;
 padding:6px 16px;
 border-radius:8px;
 transition:var(--transition);
}
.section-cta .cta-phone:hover{
 color:var(--blue);
 background:var(--blue-light);
}
/* ============================================
 SEO CONTENT – dlouhý textový blok
 ============================================ */
.seo-content{
 background:var(--gray);
 padding:70px 0;
}
.seo-content .seo-grid{
 max-width:860px;
 margin:0 auto;
}
.seo-content h2{
 font-size:1.6rem;
 font-weight:800;
 color:var(--dark);
 margin:40px 0 16px;
}
.seo-content h2:first-of-type{
 margin-top:0;
}
.seo-content p{
 color:var(--text);
 line-height:1.8;
 margin-bottom:16px;
 font-size:15px;
}
.seo-content ul{
 margin:12px 0 20px 24px;
 color:var(--text);
 line-height:1.8;
}
.seo-content ul li{
 margin-bottom:6px;
 font-size:15px;
}
.seo-content a{
 color:var(--blue);
 font-weight:600;
 text-decoration:underline;
}
.seo-content a:hover{
 color:var(--blue-dark);
}
.seo-content .comparison-table{
 width:100%;
 border-collapse:collapse;
 margin:20px 0;
 border-radius:var(--radius);
 overflow:hidden;
 box-shadow:var(--shadow);
}
.seo-content .comparison-table th{
 background:var(--blue);
 color:white;
 padding:12px 16px;
 text-align:left;
 font-size:14px;
}
.seo-content .comparison-table td{
 padding:10px 16px;
 border-bottom:1px solid var(--border);
 font-size:14px;
}
.seo-content .comparison-table tr:nth-child(even){
 background:white;
}
.seo-content .comparison-table tr:last-child td{
 border-bottom:none;
}
/* ============================================
 SEO LANDING PAGES – styl pro content pages
 ============================================ */
.content-page{
 padding:60px 0;
}
.content-page .content-wrapper{
 max-width:860px;
 margin:0 auto;
}
.content-page h2{
 font-size:1.5rem;
 font-weight:800;
 color:var(--dark);
 margin:36px 0 14px;
}
.content-page p{
 color:var(--text);
 line-height:1.8;
 margin-bottom:14px;
 font-size:15px;
}
.content-page ul{
 margin:12px 0 20px 24px;
 color:var(--text);
 line-height:1.8;
}
.content-page ul li{
 margin-bottom:6px;
 font-size:15px;
}
.content-page a{
 color:var(--blue);
 font-weight:600;
}
.content-page .inline-cta{
 background:var(--blue-light);
 border-radius:var(--radius);
 padding:24px;
 text-align:center;
 margin:32px 0;
 border:1px solid rgba(5,7,55,0.1);
}
/* ============================================
 FONT AWESOME ICONS – sizing & spacing
 ============================================ */
.btn i.fa-solid,
.cta-phone i.fa-solid,
.hero-phone i.fa-solid,
.topbar i.fa-solid,
.discount-note i.fa-solid,
.discount-box i.fa-solid,
.pricing-note i.fa-solid{
 margin-right:5px;
}
.stat-icon i.fa-solid{font-size:inherit;}
.trust-item .icon i.fa-solid{font-size:inherit;}
.feature-icon-wrap i.fa-solid{font-size:inherit;}
.hero-form-title i.fa-solid{margin-right:5px;}
.form-group label i.fa-solid{margin-right:4px;color:var(--blue);}
.hero-tag i.fa-solid{margin-right:3px;}
.tab-btn i.fa-solid{margin-right:4px;}
.section-cta .cta-phone i.fa-solid{margin-right:4px;}
.blog-date i.fa-solid{margin-right:4px;}
.contact-item-icon i.fa-solid{font-size:inherit;}
.faq h2 i.fa-solid,section h3 i.fa-solid{margin-right:5px;}
.review-stars i.fa-solid{color:#f5a623;}
/* ============================================
 MOBILE FIXES
 ============================================ */
html, body{
 width:100%;
 max-width:100%;
 overflow-x:hidden;
}
@media (max-width:640px){
 .pricing-table{table-layout:fixed;width:100%;max-width:100%;font-size:14px;box-sizing:border-box;}
 .pricing-table th,.pricing-table td{padding:12px 10px;white-space:normal;word-break:break-word;font-size:14px;line-height:1.4;box-sizing:border-box;}
 .pricing-table .price-cell{font-size:15px;}
 .hero-card{padding:20px;margin:0 -4px;}
 .hero-card h3{margin:-20px -20px 20px;padding:14px 16px;font-size:0.9rem;}
 .price-preview{gap:8px;}
 .price-item{padding:10px 8px;}
 .price-item .price{font-size:1.1rem;}
 .price-item .days{font-size:11px;}
 .hero{padding:50px 0 40px;min-height:auto;}
 .hero h1{font-size:1.5rem;word-break:break-word;}
 .hero-subtitle{font-size:0.95rem;}
 .hero-cta-box{flex-direction:column;align-items:stretch;gap:12px;}
 .hero-cta-box .hero-phone{text-align:center;}
 .hero-badge{font-size:12px;padding:5px 12px;}
 .topbar{font-size:12px;padding:6px 0;}
 .topbar .container{flex-direction:column;gap:4px;text-align:center;}
 .topbar a{font-size:14px;}
 .trust-items{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;justify-items:start;}
 .trust-item{font-size:12px;gap:6px;}
 .seasonal-tabs{flex-wrap:wrap;}
 .tab-btn{flex:1 1 auto;padding:8px 12px;font-size:13px;text-align:center;min-width:0;white-space:normal;}
 .discount-box{flex-wrap:wrap;font-size:13px;padding:12px 16px;gap:8px;}
 section{padding:48px 0;}
 .section-header{margin-bottom:32px;}
 .section-header h2{font-size:1.4rem;}
 .section-header p{font-size:0.9rem;}
 .feature-card{padding:20px;}
 .feature-card h3{font-size:0.95rem;}
 .feature-card p{font-size:13px;}
 .about-text h2{font-size:1.4rem;}
 .about-content{gap:32px;}
 .contact-grid{gap:32px;}
 .cta-section{padding:40px 0;}
 .cta-section h2{font-size:1.5rem;}
 .cta-buttons{flex-direction:column;align-items:center;gap:12px;}
 .cta-buttons .btn{width:100%;max-width:300px;}
 footer{padding:36px 0 20px;}
 .footer-grid{gap:24px;}
 .review-card{padding:18px 18px 16px;}
 .rating-big{font-size:2.8rem;}
 .step p{font-size:13px;}
 .stats-section{padding:32px 0;}
 .stat-number{font-size:1.8rem;}
 .stat-label{font-size:12px;}
 .stat-icon{font-size:1.3rem;}
 .page-hero{padding:36px 0;}
 .page-hero h1{font-size:1.5rem;}
 .btn-lg{padding:14px 28px;font-size:16px;}
 .best-value-badge{display:block;margin-left:0;margin-top:4px;width:fit-content;}
 .faq-question{padding:16px;font-size:14px;}
 .faq-answer.open{padding:4px 16px 16px;}
 .faq-question.open{padding-left:13px;}
 .nav-links .lang-switcher{position:static;border-left:none;border-top:1px solid var(--border);padding:10px 0 4px;margin:0;width:100%;display:flex;justify-content:center;}
 .nav-links .lang-dropdown-btn{font-size:14px;padding:10px 16px;}
 .nav-links .lang-dropdown-menu{right:auto;left:50%;transform:translateX(-50%) translateY(-4px);}
 .nav-links .lang-dropdown.open .lang-dropdown-menu{transform:translateX(-50%) translateY(0);}
}
@media (max-width:380px){
 .container{padding:0 12px;}
 .hero h1{font-size:1.3rem;}
 .price-preview{grid-template-columns:1fr 1fr;gap:6px;}
 .price-item .price{font-size:1rem;}
 .trust-items{grid-template-columns:1fr;}
 .stats-grid{gap:8px;}
 .stat-number{font-size:1.5rem;}
}
/* ============================================
 MOBILE LAYOUT FIX – 768px
 ============================================ */
@media (max-width:768px){
 *,*::before,*::after{box-sizing:border-box;}
 .container{max-width:100%;padding:0 16px;overflow:hidden;}
 section{max-width:100%;padding:40px 0;}
 h1{font-size:24px;line-height:1.3;}
 h2{font-size:20px;line-height:1.3;}
 h3{font-size:17px;}
 .hero h1{font-size:22px;word-break:break-word;overflow-wrap:break-word;}
 .hero h1 span{font-size:20px;}
 .hero-form{padding:20px 16px;margin:0;max-width:100%;border-radius:12px;}
 .hero-form-title,.hero-form h3{margin:-20px -16px 20px;padding:14px 16px;font-size:15px;border-radius:12px 12px 0 0;}
 .form-group{margin-bottom:12px;width:100%;}
 .form-input{width:100%;max-width:100%;padding:14px 16px;font-size:16px;min-height:52px;display:block;}
 #btn-zjistit-cenu,.hero-form .btn{width:100%;display:block;text-align:center;margin-top:10px;padding:14px;font-size:16px;}
 .discount-note{font-size:13px;text-align:center;}
 .price-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;}
 .price-mini-item{font-size:13px;text-align:center;}
 .pricing{overflow:hidden;}
 .pricing .container{max-width:100%;padding:0 16px;box-sizing:border-box;}
 .pricing-table{table-layout:fixed;width:100%;max-width:100%;font-size:13px;box-sizing:border-box;}
 .pricing-table th,.pricing-table td{padding:11px 8px;font-size:13px;line-height:1.4;white-space:normal;word-break:break-word;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;}
 .pricing-table .price-cell{font-size:14px;font-weight:700;}
 .tab-content{width:100%;max-width:100%;overflow:hidden;box-sizing:border-box;}
 .seasonal-tabs{display:flex;flex-direction:column;gap:8px;width:100%;max-width:100%;box-sizing:border-box;}
 .tab-btn{width:100%;padding:12px 16px;font-size:14px;text-align:center;white-space:normal;box-sizing:border-box;}
 .pricing-note{padding:16px;font-size:13px;line-height:1.6;word-break:break-word;}
 .section-cta{text-align:center;padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:12px;}
 .section-cta .btn{width:100%;max-width:300px;}
 .content-page .inline-cta{padding:20px 16px;}
 .inline-cta .btn{width:100%;display:block;margin:8px 0;}
 .seo-content,.content-page{font-size:15px;line-height:1.7;}
 .seo-grid,.content-wrapper{max-width:100%;overflow:hidden;}
 .comparison-table{display:block;overflow-x:auto;width:100%;font-size:13px;}
 .hero::before,.hero::after{display:none;}
 .hero-content{flex-direction:column;gap:24px;}
 .hero-left,.hero-right{width:100%;max-width:100%;}
 .hero-benefits{flex-direction:column;gap:6px;margin-bottom:20px;}
 .hero-benefits li{font-size:15px;}
 .features-grid{grid-template-columns:1fr;gap:16px;}
 .steps-grid{grid-template-columns:1fr;gap:24px;}
 .reviews-grid{grid-template-columns:1fr;gap:16px;}
 .stats-grid{grid-template-columns:repeat(2, 1fr);gap:12px;}
 .footer-grid{grid-template-columns:1fr;gap:24px;}
 .footer-seo{font-size:12px;line-height:1.5;}
 .cta-section h2{font-size:20px;}
 .cta-buttons{flex-direction:column;align-items:center;gap:12px;width:100%;}
 .cta-buttons .btn{width:100%;max-width:320px;}
 .hero-badge-row{flex-wrap:wrap;gap:8px;}
 .hero-tag{font-size:12px;padding:4px 10px;}
 .text-center.mt-24{display:flex;flex-direction:column;align-items:center;gap:16px;}
 .text-center.mt-24 .btn{width:100%;max-width:320px;display:block;text-align:center;}
 .hero-form .form-group,.hero-form .form-input,.hero-form .btn{width:100%;max-width:100%;box-sizing:border-box;}
 img,iframe,video,table,pre{max-width:100%;}
 .hero-form{display:none !important;}
 .pricing .text-center.mt-24{display:none !important;}
 /* ---- MOBILE BOOKING CARD ---- */
 .mobile-booking-card{
 display:block;
 width:calc(100% - 32px);
 max-width:100%;
 margin:24px auto 0;
 padding:20px;
 background:white;
 border-radius:16px;
 box-shadow:0 12px 40px rgba(0,0,0,0.18);
 box-sizing:border-box;
 color:var(--dark);
}
 .mobile-booking-card .mbc-title{text-align:center;font-size:16px;font-weight:700;color:var(--blue);margin-bottom:16px;}
 .mobile-booking-card .mbc-title i{margin-right:5px;}
 .mobile-booking-card label{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px;}
 .mobile-booking-card label i{margin-right:4px;color:var(--blue);}
 .mobile-booking-card input[type="date"]{display:block;width:100%;max-width:100%;box-sizing:border-box;padding:14px 12px;border:2px solid var(--border);border-radius:10px;font-size:16px;font-family:inherit;color:var(--dark);background:var(--gray);margin-bottom:14px;-webkit-appearance:none;appearance:none;}
 .mobile-booking-card input[type="date"]:focus{outline:none;border-color:var(--blue);background:white;box-shadow:0 0 0 3px rgba(5,7,55,0.1);}
 .mobile-booking-card .mbc-btn{display:block;width:100%;box-sizing:border-box;padding:16px;background:var(--red);color:var(--blue);font-size:16px;font-weight:700;text-align:center;text-decoration:none;border:none;border-radius:10px;cursor:pointer;margin-top:4px;}
 .mobile-booking-card .mbc-discount{text-align:center;font-size:13px;color:#b34000;font-weight:600;margin-top:10px;}
 .mobile-booking-card .mbc-discount i{margin-right:4px;}
 .mobile-booking-card .mbc-prices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border);}
 .mobile-booking-card .mbc-price{text-align:center;font-size:12px;color:var(--text-light);}
 .mobile-booking-card .mbc-price strong{display:block;font-size:1.05rem;color:var(--blue);font-weight:800;}
 /* ---- MOBILE CTA STACK ---- */
 .mobile-cta-stack{display:flex;flex-direction:column;gap:16px;width:calc(100% - 64px);max-width:320px;margin:24px auto 0;}
 .mobile-cta-stack .mcs-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:16px 20px;border-radius:12px;font-size:15px;font-weight:700;text-decoration:none;text-align:center;box-sizing:border-box;cursor:pointer;border:none;letter-spacing:0.2px;}
 .mobile-cta-stack .mcs-btn-secondary{background:var(--blue);color:white;}
 .mobile-cta-stack .mcs-btn-primary{background:var(--red);color:var(--blue);}
}
/* ============================================
 WHATSAPP FLOATING BUTTON
 ============================================ */
.whatsapp-float{
 position:fixed;
 bottom:24px;
 right:24px;
 width:60px;
 height:60px;
 background:#25d366;
 color:white;
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:1.8rem;
 box-shadow:0 4px 12px rgba(37, 211, 102, 0.4);
 z-index:999;
 transition:all 0.3s ease;
 text-decoration:none;
}
.whatsapp-float:hover{
 transform:scale(1.1);
 box-shadow:0 6px 20px rgba(37, 211, 102, 0.5);
}
.whatsapp-float .whatsapp-tooltip{
 position:absolute;
 right:70px;
 background:white;
 color:var(--dark);
 padding:8px 14px;
 border-radius:8px;
 font-size:13px;
 font-weight:600;
 white-space:nowrap;
 box-shadow:0 2px 8px rgba(0,0,0,0.15);
 opacity:0;
 pointer-events:none;
 transition:opacity 0.3s;
}
.whatsapp-float:hover .whatsapp-tooltip{
 opacity:1;
}
@media (max-width:640px){
 .whatsapp-float{bottom:calc(90px + env(safe-area-inset-bottom));right:16px;width:52px;height:52px;font-size:1.5rem;}
 .whatsapp-float .whatsapp-tooltip{display:none;}
}
/* ============================================
 SERVICES HIGHLIGHT BOX
 ============================================ */
.promo-expiry{color:var(--text-light);font-weight:500;font-size:0.88em;white-space:nowrap;}
.pricing-collapsible .pricing-hidden{display:none;}
.pricing-collapsible.expanded .pricing-hidden{display:table-row;}
.pricing-expand-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px auto 0;padding:12px 24px;background:white;border:2px solid var(--border);border-radius:10px;cursor:pointer;font-weight:700;font-size:14px;color:var(--text);transition:var(--transition);font-family:inherit;}
.pricing-expand-btn:hover{border-color:var(--red);color:var(--red);}
.pricing-expand-btn i{font-size:12px;transition:transform 0.2s ease;}
.pricing-expand-btn.expanded i{transform:rotate(180deg);}
.guarantees{background:var(--gray);padding:72px 0;}
.guarantees-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;}
.guarantee-card{background:white;border:1px solid var(--border);border-radius:14px;padding:32px 28px;text-align:center;box-shadow:var(--shadow);transition:var(--transition);}
.guarantee-card:hover{box-shadow:var(--shadow-hover);border-color:var(--red);transform:translateY(-2px);}
.guarantee-icon{width:64px;height:64px;border-radius:16px;background:var(--accent-light);color:var(--red);display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:18px;}
.guarantee-card h3{font-size:1.15rem;font-weight:800;color:var(--blue);margin-bottom:10px;}
.guarantee-card p{font-size:15px;color:var(--text);line-height:1.6;}
@media (max-width:880px){.guarantees-grid{grid-template-columns:1fr;gap:16px;}.guarantees{padding:48px 0;}.guarantee-card{padding:24px 20px;}}
.services-box{
 background:linear-gradient(135deg, var(--blue-light) 0%, var(--accent-light) 100%);
 border-radius:12px;
 padding:32px;
 margin-top:32px;
 border:1px solid var(--border);
}
.services-box h3{
 font-size:1.2rem;
 margin-bottom:12px;
 color:var(--blue);
}
.services-box p{
 color:var(--text);
 line-height:1.7;
}
.services-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
 gap:20px;
 margin-top:16px;
}
.service-item{
 display:flex;
 align-items:flex-start;
 gap:12px;
}
.service-item i{
 color:var(--blue);
 font-size:1.2rem;
 margin-top:2px;
 flex-shrink:0;
}
/* ============================================
 PRICE CALCULATOR (hero date picker)
 ============================================ */
.calc-fields{
 display:flex;
 gap:10px;
 margin-bottom:14px;
}
.calc-field{
 display:flex;
 flex-direction:column;
 gap:4px;
 flex:1;
}
.calc-field label{
 font-size:11px;
 font-weight:700;
 color:var(--text-light);
 text-transform:uppercase;
 letter-spacing:0.8px;
}
.calc-field input{
 padding:11px 12px;
 border:2px solid var(--border);
 border-radius:10px;
 font-size:16px;
 font-family:inherit;
 color:var(--dark);
 background:#f8fafc;
 transition:border-color 0.2s, box-shadow 0.2s;
 width:100%;
 cursor:pointer;
}
.calc-field input:focus{
 outline:none;
 border-color:var(--blue);
 box-shadow:0 0 0 3px rgba(5, 7, 55, 0.1);
 background:#fff;
}
.calc-field input::placeholder{
 color:#a0aec0;
 font-size:13px;
}
.calc-result{
 background:var(--blue-light);
 border-radius:10px;
 padding:14px;
 text-align:center;
 margin-bottom:14px;
 min-height:60px;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 transition:all 0.3s;
}
.calc-result-empty{
 color:var(--text);
 font-size:13px;
}
.calc-result-days{
 font-size:13px;
 color:var(--text-light);
 margin-bottom:2px;
}
.calc-result-price{
 font-size:1.8rem;
 font-weight:900;
 color:var(--blue);
 line-height:1.2;
}
.calc-result-season{
 font-size:11px;
 color:var(--text-light);
 margin-top:2px;
}
.calc-result.has-price{
 background:linear-gradient(135deg, var(--blue-light) 0%, var(--accent-light) 100%);
}
.mbc-calc .calc-fields{padding:0 4px;}
.mbc-calc .calc-result{margin:0 4px 10px;}
/* Flatpickr custom theme */
.flatpickr-calendar{
 border-radius:12px !important;
 box-shadow:0 12px 40px rgba(0,0,0,0.15) !important;
 border:none !important;
 font-family:'Inter', sans-serif !important;
 overflow:hidden;
}
.flatpickr-months{
 background:var(--blue) !important;
 padding:4px 0 !important;
 border-radius:12px 12px 0 0 !important;
}
.flatpickr-months .flatpickr-month{color:#fff !important;fill:#fff !important;}
.flatpickr-current-month{color:#fff !important;font-weight:700 !important;font-size:1.05rem !important;}
.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{fill:#fff !important;color:#fff !important;}
.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:var(--red) !important;fill:var(--red) !important;}
.flatpickr-weekdays{background:var(--blue) !important;}
span.flatpickr-weekday{color:rgba(255,255,255,0.7) !important;font-weight:600 !important;font-size:12px !important;}
.flatpickr-day{border-radius:8px !important;font-weight:500 !important;color:var(--dark) !important;}
.flatpickr-day:hover{background:var(--blue-light) !important;border-color:var(--blue-light) !important;}
.flatpickr-day.selected,.flatpickr-day.selected:hover{background:var(--red) !important;border-color:var(--red) !important;color:var(--blue) !important;font-weight:700 !important;}
.flatpickr-day.today{border-color:var(--blue) !important;}
.flatpickr-day.today:hover{background:var(--blue-light) !important;}
.flatpickr-day.flatpickr-disabled{color:#ccc !important;}
@media (max-width:480px){.calc-fields{flex-direction:column;gap:8px;}}
@media (max-width:768px){
 .flatpickr-calendar{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important;max-width:90vw !important;z-index:99999 !important;}
 .flatpickr-calendar::before,.flatpickr-calendar::after{display:none !important;}
}
.flatpickr-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.4);z-index:99998;}
.flatpickr-backdrop.active{display:block;}
/* ---- PAYMENT NOTE ---- */
.payment-note{font-size:0.82rem;color:var(--text-light);margin-top:8px;display:flex;align-items:center;gap:6px;justify-content:center;}
.payment-note i{color:var(--red);font-size:0.9rem;}
/* ---- REDIRECT NOTICE ---- */
.redirect-note{font-size:0.75rem;color:var(--text);font-style:italic;margin-top:6px;text-align:center;}
.hero-cta-box .redirect-note{margin-top:10px;color:rgba(255,255,255,0.75);}
/* ---- RESERVATION INFO BOX ---- */
.reservation-info-box{
 background:var(--accent-light);
 border:1px solid #f0d080;
 border-radius:var(--radius);
 padding:20px 24px;
 margin-top:32px;
 display:flex;
 align-items:flex-start;
 gap:12px;
 font-size:0.95rem;
 color:var(--text);
 line-height:1.6;
}
.reservation-info-box i{color:var(--red);font-size:1.2rem;margin-top:2px;flex-shrink:0;}
@media (max-width:600px){.reservation-info-box{padding:16px;font-size:0.9rem;}}
/* ---- CAR SERVICE SECTION ---- */
.car-service-section{padding:48px 0;}
.car-service-box{
 background:linear-gradient(135deg, var(--blue-light) 0%, var(--accent-light) 100%);
 border:1px solid #e0d0a0;
 border-radius:16px;
 padding:36px 40px;
 display:flex;
 gap:28px;
 align-items:flex-start;
}
.car-service-icon{
 background:var(--purple);
 color:white;
 width:64px;height:64px;
 border-radius:16px;
 display:flex;align-items:center;justify-content:center;
 font-size:1.6rem;flex-shrink:0;
}
.car-service-content h2{font-size:1.4rem;color:var(--blue);margin-bottom:8px;}
.car-service-content > p{color:var(--text-light);font-size:0.95rem;margin-bottom:16px;line-height:1.6;}
.car-service-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px 20px;margin-bottom:16px;}
.car-service-item{display:flex;align-items:center;gap:8px;font-size:0.9rem;font-weight:500;color:var(--text);}
.car-service-item i{color:var(--red);font-size:0.95rem;width:20px;text-align:center;flex-shrink:0;}
.car-service-note{font-size:0.88rem;color:var(--text-light);border-top:1px solid #e0d0a0;padding-top:12px;margin-top:4px;}
.car-service-note i{color:var(--blue);margin-right:4px;}
.car-service-note a{color:var(--blue);font-weight:600;}
@media (max-width:768px){.car-service-box{flex-direction:column;padding:24px 20px;gap:16px;}.car-service-grid{grid-template-columns:1fr 1fr;}.car-service-content h2{font-size:1.2rem;}}
@media (max-width:480px){.car-service-grid{grid-template-columns:1fr;}}
/* ---- HERO FORM ---- */
.hero-form{
 background:white;
 color:var(--dark);
 border-radius:16px;
 padding:32px 32px 28px;
 box-shadow:0 24px 64px rgba(0,0,0,0.22), 0 4px 16px rgba(0,0,0,0.12);
}
.hero-form h3,.hero-form-title{
 color:var(--blue);
 font-size:1.1rem;
 font-weight:700;
 margin:-32px -32px 24px;
 padding:16px 24px;
 background:var(--blue-light);
 border-radius:16px 16px 0 0;
 text-align:center;
 border-bottom:1px solid rgba(5,7,55,0.1);
}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:8px;}
.form-input{
 width:100%;padding:14px 16px;
 border:2px solid var(--border);border-radius:var(--radius);
 font-size:17px;font-family:'Inter', sans-serif;
 color:var(--dark);transition:var(--transition);
 background:var(--gray);min-height:52px;
}
.form-input:focus{outline:none;border-color:var(--blue);background:white;box-shadow:0 0 0 3px rgba(5,7,55,0.1);}
.hero-form .btn{width:100%;display:block;text-align:center;margin-top:8px;}
.hero-form .price-mini{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;}
.price-mini-item{text-align:center;font-size:13px;color:var(--text-light);background:var(--gray);border-radius:var(--radius);padding:14px 8px;border:1px solid var(--border);}
.price-mini-item strong{display:block;font-size:1.25rem;color:var(--blue);font-weight:800;margin-top:4px;}
/* Price item */
.price-item{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:14px 12px;text-align:center;transition:var(--transition);}
.price-item:hover{border-color:var(--red);background:var(--accent-light);}
.price-item .days{font-size:12px;color:var(--text-light);margin-bottom:4px;font-weight:500;}
.price-item .price{font-size:1.35rem;font-weight:800;color:var(--blue);letter-spacing:-0.5px;}
/* Hamburger active state */
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px, 5px);}
.hamburger.active span:nth-child(2){opacity:0;transform:translateX(-10px);}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px, -5px);}
.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* Button letter spacing */
.btn{letter-spacing:0.2px;}
/* Topbar phone more prominent */
.topbar a{font-size:1rem;font-weight:700;}
/* ---- HERO TRUST ROW ---- */
.hero-trust-row{
 display:grid;
 grid-template-columns:repeat(3, 1fr);
 gap:10px 14px;
 align-items:center;
 margin:18px 0 22px;
 padding:12px 16px;
 background:rgba(255,255,255,0.06);
 border:1px solid rgba(255,255,255,0.12);
 border-radius:10px;
 backdrop-filter:blur(4px);
}
.hero-trust-item{
 display:flex;
 align-items:center;
 gap:8px;
 color:rgba(255,255,255,0.92);
 font-size:13px;
 font-weight:600;
 line-height:1.3;
 white-space:nowrap;
}
.hero-trust-item i,
.hero-trust-item .stars{
 color:var(--logo-gold);
 font-size:15px;
 flex-shrink:0;
}
.hero-trust-item strong{color:#fff;font-weight:800;}
.hero-trust-divider{
 width:1px;
 height:20px;
 background:rgba(255,255,255,0.18);
 justify-self:center;
}
@media (max-width:900px){
 .hero-trust-row{grid-template-columns:1fr;gap:8px;padding:12px 14px;}
 .hero-trust-item{font-size:13px;white-space:normal;}
 .hero-trust-divider{display:none;}
}
/* ---- MOBILE STICKY CTA ---- */
.mobile-sticky-cta{
 display:none;
 position:fixed;
 bottom:0;
 left:0;
 right:0;
 background:#fff;
 border-top:1px solid var(--border);
 box-shadow:0 -4px 14px rgba(0,0,0,0.10);
 padding:10px 14px calc(10px + env(safe-area-inset-bottom));
 z-index:998;
}
.mobile-sticky-cta a{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 width:100%;
 padding:14px 16px;
 background:var(--red);
 color:#fff;
 font-size:15px;
 font-weight:800;
 text-decoration:none;
 border-radius:10px;
 letter-spacing:0.2px;
 box-shadow:0 2px 6px rgba(255,96,0,0.25);
}
.mobile-sticky-cta a:hover{background:var(--red-dark);}
.mobile-sticky-cta .msc-price{font-weight:700;opacity:0.95;}
.mobile-sticky-cta .msc-phone{
 display:flex;
 align-items:center;
 justify-content:center;
 width:48px;
 flex:0 0 48px;
 padding:14px 0;
 background:var(--blue);
 color:#fff;
 border-radius:10px;
 text-decoration:none;
}
.mobile-sticky-cta-inner{display:flex;gap:8px;}
@media (max-width:768px){
 .mobile-sticky-cta{display:block;}
 body{padding-bottom:74px;}
 .whatsapp-float{bottom:82px !important;}
}

/* ---- Codex mobile UX fixes: menu, datepicker and floating CTA layers ---- */
@media (max-width:768px){
 body.nav-open{overflow:hidden;}
 body.nav-open .mobile-sticky-cta,
 body.nav-open .whatsapp-float,
 body.datepicker-open .mobile-sticky-cta,
 body.datepicker-open .whatsapp-float{display:none !important;}
 .mobile-sticky-cta{transition:transform .22s ease,opacity .22s ease;}
.mobile-sticky-cta.is-context-hidden{transform:translateY(110%);opacity:0;pointer-events:none;}
.whatsapp-float.is-context-hidden{transform:scale(.92);opacity:0;pointer-events:none;}
.mobile-sticky-cta.is-early-hidden{transform:translateY(110%);opacity:0;pointer-events:none;}
.whatsapp-float.is-early-hidden{transform:scale(.92);opacity:0;pointer-events:none;}
.whatsapp-float{bottom:calc(96px + env(safe-area-inset-bottom)) !important;right:14px !important;width:48px;height:48px;font-size:1.35rem;}
 header{z-index:1003;}
 .hamburger{position:relative;z-index:1004;}
 .nav-links.open{
  position:fixed;
  top:var(--mobile-nav-offset,76px);
  left:0;
  right:0;
  bottom:0;
  display:flex;
  max-height:none;
  overflow-y:auto;
  padding:18px 20px 120px;
  border-top:1px solid var(--border);
  box-shadow:none;
  z-index:1002;
 }
}
@media (max-width:420px){
.mobile-sticky-cta a{font-size:14px;padding:13px 12px;}
.mobile-sticky-cta .msc-phone{width:46px;flex-basis:46px;}
}
.quick-answer{background:#fff8eb;border-left:4px solid var(--red);border-radius:0 8px 8px 0;padding:18px 20px;margin:0 0 24px;color:var(--blue);line-height:1.7}.season-answer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 32px}.season-answer-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:20px;box-shadow:var(--shadow)}.season-answer-card span{display:block;color:var(--text-light);font-size:13px;font-weight:700;text-transform:uppercase;margin-bottom:6px}.season-answer-card strong{display:block;color:var(--blue);font-size:1.15rem;line-height:1.3;margin-bottom:8px}.season-answer-card p{margin:0;color:var(--text-light);font-size:14px}.content-page ol{max-width:760px;margin:0 auto 24px;padding-left:24px}.content-page ol li{margin-bottom:10px;line-height:1.7}.content-page .pricing-table{margin:20px 0 28px}.reviews .google-review-links{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:760px;margin:24px auto 0}.google-review-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--blue);font-weight:800;text-decoration:none;box-shadow:var(--shadow)}.google-review-link span{display:block;color:var(--text-light);font-size:13px;font-weight:600}.google-review-link:hover{border-color:var(--red);box-shadow:var(--shadow-hover)}@media(max-width:768px){.season-answer-grid,.reviews .google-review-links{grid-template-columns:1fr}.quick-answer{padding:16px;margin-bottom:20px}.season-answer-card{padding:18px}}
