/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--cyan:#0ec0e8;
--cyan-dark:#0ba8cc;
--cyan-light:rgba(14,192,232,0.1);
--title:#151515;
--body:#454545;
--bg-light:#f8f8f8;
--white:#ffffff;
--border:#e7e7e7;
--radius:0.625rem;
--gold:#C8A96E;
--gold-dark:#a07840;
--amber:#B8922A;
}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--body);background:var(--bg-light);-webkit-font-smoothing:antialiased;line-height:1.6}
h1,h2,h3,h4,h5,h6{font-family:'DM Serif Display',serif;color:var(--title);line-height:1.2}
p{color:var(--body)}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
button{cursor:pointer;border:none;font-family:'Inter',sans-serif}
ul{list-style:none}

/* ===== UTILITIES ===== */
.container{width:100%;max-width:1360px;margin:0 auto;padding:0 16px}
@media(min-width:640px){.container{padding:0 24px}}
@media(min-width:1024px){.container{padding:0 32px}}

.section-subtitle{font-size:0.8rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--cyan)}
.section-title{font-size:2.2rem;font-weight:700;color:var(--title)}
@media(min-width:768px){.section-title{font-size:2.8rem}}

.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;background:linear-gradient(135deg,#22d3ee,var(--cyan));color:#fff;font-weight:600;font-size:0.95rem;border-radius:50px;transition:all .3s;box-shadow:0 4px 20px rgba(14,192,232,0.3)}
.btn-primary:hover{transform:scale(1.05);box-shadow:0 8px 30px rgba(14,192,232,0.5)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;background:transparent;border:2px solid var(--title);color:var(--title);font-weight:600;font-size:0.95rem;border-radius:50px;transition:all .3s}
.btn-secondary:hover{background:var(--title);color:#fff}

.text-gradient{background:linear-gradient(135deg,#22d3ee,var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ===== ANIMATIONS ===== */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}
@keyframes slideLeft{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideRight{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}

.anim-float{animation:float 4s ease-in-out infinite}
.anim-fade-up{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s;will-change:opacity,transform}
.anim-fade-up.visible{opacity:1;transform:translateY(0)}
.anim-scale{opacity:0;transform:scale(0.9);transition:opacity .7s,transform .7s;will-change:opacity,transform}
.anim-scale.visible{opacity:1;transform:scale(1)}
.anim-slide-left{opacity:0;transform:translateX(-50px);transition:opacity 1s,transform 1s;will-change:opacity,transform}
.anim-slide-left.visible{opacity:1;transform:translateX(0)}
.anim-slide-right{opacity:0;transform:translateX(50px);transition:opacity 1s,transform 1s;will-change:opacity,transform}
.anim-slide-right.visible{opacity:1;transform:translateX(0)}

/* ===== SVG ICONS ===== */
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icon-sm{width:16px;height:16px}
.icon-lg{width:24px;height:24px}

/* ===== NAVBAR ===== */
.navbar{position:fixed;top:33px;left:0;right:0;z-index:100;padding:5px 0;transition:top .3s ease,padding .3s ease,box-shadow .3s ease;background:rgba(255,255,255,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.navbar.scrolled{top:0;padding:5px 0;box-shadow:0 2px 20px rgba(0,0,0,0.08)}
@media(max-width:767px){
.navbar{top:0;padding:10px 0}
.navbar .container{padding:0 14px}
/* Bandeira colada ao hambúrguer: o div da bandeira é empurrado para a direita,
   ficando junto ao hambúrguer (último elemento). Gap pequeno entre eles. */
.navbar .container > div[style*="gap:8px"]{margin-left:auto;gap:4px !important}
.mobile-toggle{margin-left:4px}
}
.navbar .container{display:flex;align-items:center;justify-content:space-between}
.navbar-brand{display:flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-size:1.25rem;font-weight:700;color:var(--title);transition:color .3s}
.navbar-logo{height:110px;width:auto;object-fit:contain;transition:all .3s}
.navbar.scrolled .navbar-logo{height:80px}
/* Alternância de logos: ciano (default) vs branco (sobre banner) */
.navbar-logo-white{display:none}
.navbar-hero .navbar-logo-cyan{display:none}
.navbar-hero .navbar-logo-white{display:block}
.navbar-hero.scrolled .navbar-logo-cyan{display:block}
.navbar-hero.scrolled .navbar-logo-white{display:none}
@media(max-width:767px){.navbar-logo{height:70px}}
@media(max-width:767px){.navbar.scrolled .navbar-logo{height:55px}}
.navbar-brand-icon{width:40px;height:40px;background:linear-gradient(135deg,#22d3ee,var(--cyan));border-radius:12px;display:flex;align-items:center;justify-content:center}
.navbar-brand-icon svg{width:24px;height:24px;stroke:#fff}
.nav-links{display:none;gap:32px;align-items:center}
@media(min-width:1024px){.nav-links{display:flex}}
.nav-links a{font-size:0.9rem;font-weight:500;color:var(--body);transition:color .3s;position:relative}
.nav-links a:hover{color:var(--title)}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--cyan);transition:width .3s}
.nav-links a:hover::after{width:100%}
.nav-cta{display:none;padding:10px 24px;font-size:0.85rem}
@media(min-width:1024px){.nav-cta{display:inline-flex}}
.mobile-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;color:var(--title);transition:color .3s}
@media(min-width:1024px){.mobile-toggle{display:none}}

.navbar-hero{background:transparent;backdrop-filter:none}
.navbar-hero .navbar-brand{color:#fff}
.navbar-hero .nav-links a{color:rgba(255,255,255,0.85)}
.navbar-hero .nav-links a:hover{color:#fff}
.navbar-hero .mobile-toggle{color:#fff}
.navbar-hero.scrolled{background:rgba(255,255,255,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.navbar-hero.scrolled .navbar-brand{color:var(--title)}
.navbar-hero.scrolled .nav-links a{color:var(--body)}
.navbar-hero.scrolled .nav-links a:hover{color:var(--title)}
.navbar-hero.scrolled .mobile-toggle{color:var(--title)}
@media(max-width:767px){
.navbar-hero{background:rgba(5,15,30,0.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.navbar-hero.scrolled{background:rgba(255,255,255,0.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.navbar-hero.scrolled .mobile-toggle{color:var(--title)}
}
.mobile-menu{display:block;position:fixed;top:0;right:-320px;width:280px;height:100vh;background:#fff;padding:80px 24px 24px;box-shadow:-10px 0 40px rgba(0,0,0,0.15);transition:right .3s ease;z-index:200;overflow-y:auto}
.mobile-menu.open{right:0}
.mobile-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.4);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:199}
.mobile-overlay.open{opacity:1;visibility:visible}
.mobile-menu a{display:block;padding:14px 0;font-size:1rem;color:var(--body);border-bottom:1px solid var(--border)}
.mobile-menu a:last-child{border:none}

/* ===== TOP BAR ===== */
.top-bar{background:#0b1d2e;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.08);position:relative;z-index:101;transition:transform .3s}
.top-bar a:hover{color:#fff !important}
@media(max-width:767px){.top-bar{display:none}}

/* ===== LANGUAGE SELECTOR ===== */
.lang-selector{position:relative}
.lang-current{display:flex;align-items:center;justify-content:center;width:40px;height:32px;border-radius:8px;border:none;background:transparent;cursor:pointer;transition:all .3s;padding:0}
.lang-current:hover{background:rgba(255,255,255,0.15)}
.navbar.scrolled .lang-current:hover{background:rgba(0,0,0,0.05)}
.lang-current svg{border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,0.2);display:block}
.lang-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,0.15);overflow:hidden;z-index:200;min-width:160px}
.lang-selector.open .lang-dropdown{display:block;animation:fadeIn .2s ease}
.lang-option{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:0.85rem;color:var(--title);transition:background .2s;cursor:pointer}
.lang-option:hover{background:var(--bg-light)}
.lang-option.active{background:rgba(14,192,232,0.08);color:var(--cyan);font-weight:600}
.lang-option svg{border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,0.1);flex-shrink:0}
@media(max-width:1023px){.lang-selector{display:none}}

/* ===== HERO ===== */
/* Hero base */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:80px;padding-bottom:240px;background-color:#0b1d2e;background-size:cover;background-position:center center;background-repeat:no-repeat !important;background-attachment:scroll}

/* Tablet (768px – 1023px) */
@media(max-width:1023px){
.hero{background-attachment:scroll;background-size:cover;background-position:center center;min-height:100svh}
}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,29,46,0.65) 0%,rgba(11,29,46,0.45) 60%,rgba(11,29,46,0.7) 100%);z-index:1}
@media(max-width:1023px){.hero::before{background:rgba(11,29,46,0.7)}}
.hero-deco1,.hero-deco2{display:none}
.hero .container{position:relative;z-index:10}
.hero-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:1024px){.hero-grid{grid-template-columns:1fr;gap:32px}}
.hero-content{order:2}
@media(min-width:1024px){.hero-content{order:1}}
.hero-subtitle{display:flex;align-items:center;gap:8px;margin-bottom:16px}
.hero-subtitle .line{width:32px;height:2px;background:var(--cyan)}
.hero h1{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:24px;line-height:1.15;text-align:center}
@media(min-width:640px){.hero h1{font-size:3rem}}
@media(min-width:1024px){.hero h1{font-size:3.5rem}}
.hero-desc{font-size:1.05rem;color:rgba(255,255,255,0.85);max-width:480px;margin:0 auto 32px;text-align:center;line-height:1.6}
.hero-buttons{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:48px}
.hero-stats{display:flex;flex-wrap:wrap;gap:32px}
.hero-stat{display:flex;align-items:center;gap:12px}
.hero-stat-icon{width:48px;height:48px;background:rgba(14,192,232,0.2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--cyan)}
.hero-stat-value{font-size:1.5rem;font-weight:700;color:#fff}
.hero-stat-label{font-size:0.8rem;color:rgba(255,255,255,0.6)}
.hero .section-subtitle{color:var(--cyan)}
.hero-image{order:1;position:relative}
@media(min-width:1024px){.hero-image{order:2}}
.hero-image img{width:100%;border-radius:24px;box-shadow:0 25px 50px rgba(0,0,0,0.15)}
.hero-price-card{position:absolute;bottom:-24px;left:-24px;background:#fff;border-radius:16px;padding:16px;box-shadow:0 10px 40px rgba(0,0,0,0.1);z-index:20;display:flex;align-items:center;gap:12px}
.hero-price-icon{width:48px;height:48px;background:linear-gradient(135deg,#22d3ee,var(--cyan));border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2rem}
.hero-price-label{font-size:0.8rem;color:var(--body)}
.hero-price-value{font-size:1.5rem;font-weight:700;color:var(--title)}
.hero-price-value span{font-size:0.8rem;font-weight:400;color:var(--body)}
.hero-rating-card{position:absolute;top:-16px;right:-16px;background:#fff;border-radius:16px;padding:16px;box-shadow:0 10px 40px rgba(0,0,0,0.1);z-index:20}
.hero-stars{display:flex;gap:2px;color:#facc15}
.hero-stars svg{width:20px;height:20px;fill:#facc15}
.hero-rating-text{font-weight:700;color:var(--title);margin-left:8px}
.hero-rating-count{font-size:0.8rem;color:var(--body);margin-top:4px}
.hero-wave{position:absolute;bottom:0;left:0;right:0;line-height:0;font-size:0;z-index:15;pointer-events:none}
.hero-wave svg{width:100%;height:auto;display:block;vertical-align:bottom}

/* ===== CATEGORIES ===== */
.categories{padding:96px 0;background:#fff}
.categories-header{text-align:center;margin-bottom:64px}
.categories-header p{font-size:1.1rem;color:var(--body);max-width:600px;margin:16px auto 0}
.categories-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:640px){.categories-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.categories-grid{grid-template-columns:repeat(4,1fr)}}
.category-card{position:relative;border-radius:24px;overflow:hidden;cursor:pointer;transition:all .5s;height:320px}
.category-card:hover{transform:translateY(-12px);box-shadow:0 20px 60px rgba(0,0,0,0.15)}
@media(min-width:640px){.category-card:nth-child(2),.category-card:nth-child(4){margin-top:30px}}
.category-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.category-card:hover img{transform:scale(1.1)}
.category-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.7),rgba(0,0,0,0.2),transparent)}
.category-badge{position:absolute;top:16px;left:16px;padding:8px 16px;background:rgba(255,255,255,0.9);backdrop-filter:blur(8px);border-radius:50px;font-size:0.8rem;font-weight:600;color:var(--title)}
.category-content{position:absolute;bottom:0;left:0;right:0;padding:24px;color:#fff}
.category-content h3{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:4px}
.category-content .desc{font-size:0.85rem;color:rgba(255,255,255,0.8);margin-bottom:12px}
.category-bottom{display:flex;align-items:center;justify-content:space-between}
.category-price-label{font-size:0.8rem;color:rgba(255,255,255,0.6)}
.category-price{font-size:1.25rem;font-weight:700;color:#fff}
.category-price span{font-size:0.8rem;font-weight:400}
.category-arrow{width:48px;height:48px;background:var(--cyan);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s}
.category-card:hover .category-arrow{transform:scale(1.1) rotate(45deg)}

/* ===== FLEET ===== */
.fleet{padding:96px 0;background:var(--bg-light)}
.fleet-header{display:flex;flex-direction:column;gap:24px;margin-bottom:48px}
@media(min-width:1024px){.fleet-header{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.fleet-filters{display:flex;flex-wrap:wrap;gap:8px}
.fleet-filter{padding:10px 20px;border-radius:50px;font-size:0.85rem;font-weight:500;background:#fff;color:var(--body);transition:all .3s}
.fleet-filter:hover,.fleet-filter.active{background:var(--title);color:#fff}
.fleet-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:640px){.fleet-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.fleet-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1280px){.fleet-grid{grid-template-columns:repeat(4,1fr)}}
.car-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,0.04);transition:all .5s}
.car-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,0.1)}
.car-card-img{position:relative;height:192px;overflow:hidden}
.car-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.car-card:hover .car-card-img img{transform:scale(1.1)}
.car-badge{position:absolute;top:16px;left:16px;padding:4px 12px;border-radius:50px;font-size:0.75rem;font-weight:600}
.car-badge.essential{background:#dcfce7;color:#15803d}
.car-badge.family{background:#dbeafe;color:#1d4ed8}
.car-badge.premium{background:#f3e8ff;color:#7e22ce}
.car-badge.electric{background:rgba(14,192,232,0.1);color:var(--cyan-dark)}
.car-card-body{padding:20px 24px}
.car-card-body h3{font-size:1.1rem;font-weight:700;color:var(--title);margin-bottom:8px}
.car-specs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;font-size:0.85rem;color:var(--body)}
.car-spec{display:flex;align-items:center;gap:4px}
.car-spec svg{width:16px;height:16px}
.car-card-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px 24px;border-top:1px solid var(--border);margin:0}
.car-booked{opacity:0.65;pointer-events:auto}
.car-booked .car-card-img img{filter:grayscale(60%)}
.car-booked .car-card-img::after{content:'';position:absolute;inset:0;background:rgba(248,248,248,0.4);border-radius:inherit;z-index:4}
.car-booked:hover{transform:none;box-shadow:0 2px 10px rgba(0,0,0,0.04)}
.car-booked-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(239,68,68,0.9);color:#fff;padding:8px 20px;border-radius:50px;font-size:0.85rem;font-weight:700;z-index:5}
.car-price-label{font-size:0.8rem;color:var(--body)}
.car-price{font-size:1.5rem;font-weight:700;color:var(--title)}
.car-cta{padding:10px 20px;background:var(--cyan);color:#fff;font-size:0.85rem;font-weight:600;border-radius:50px;transition:all .3s;display:flex;align-items:center;gap:8px}
.car-cta:hover{background:var(--cyan-dark)}
.fleet-more{text-align:center;margin-top:48px}

/* ===== ABOUT ===== */
.about{padding:96px 0;background:#fff}
.about-grid{display:grid;grid-template-columns:1fr;gap:64px;align-items:center}
@media(min-width:1024px){.about-grid{grid-template-columns:1fr 1fr}}
.about-image{position:relative}
.about-image img{width:100%;height:500px;object-fit:cover;border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,0.1)}
.about-exp-badge{position:absolute;bottom:-32px;right:-32px;background:linear-gradient(135deg,var(--cyan),var(--cyan-dark));color:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 40px rgba(14,192,232,0.3)}
@media(max-width:360px){.about-exp-badge{right:0;bottom:-16px;padding:14px;border-radius:10px}}
.about-exp-badge .num{font-size:2.5rem;font-weight:700;line-height:1}
.about-exp-badge .txt{font-size:0.85rem;color:rgba(255,255,255,0.9)}
.about-content .section-subtitle{margin-bottom:16px}
.about-content .section-title{margin-bottom:24px}
.about-content>p{font-size:1.1rem;margin-bottom:32px}
.about-benefits{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:40px}
@media(min-width:640px){.about-benefits{grid-template-columns:1fr 1fr}}
.about-benefit{display:flex;align-items:center;gap:8px;font-size:0.9rem;color:var(--body)}
.about-benefit-icon{width:20px;height:20px;background:rgba(14,192,232,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.about-benefit-icon svg{width:12px;height:12px;color:var(--cyan);stroke:var(--cyan)}
.about-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media(min-width:640px){.about-stats{grid-template-columns:repeat(4,1fr)}}
.about-stat{text-align:center}
.about-stat-icon{width:48px;height:48px;background:rgba(14,192,232,0.1);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--cyan)}
.about-stat-value{font-size:1.5rem;font-weight:700;color:var(--title);display:flex;align-items:baseline;justify-content:center;gap:1px}
.about-stat-suffix{font-size:1rem;font-weight:700;color:var(--title)}
.about-stat-label{font-size:0.75rem;color:var(--body)}

/* ===== FEATURES ===== */
.features{padding:96px 0;background:var(--bg-light)}
.features-header{text-align:center;margin-bottom:64px}
.features-header p{font-size:1.1rem;color:var(--body);max-width:600px;margin:16px auto 0}
.features-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:640px){.features-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.features-grid{grid-template-columns:repeat(4,1fr)}}
.feature-card{background:#fff;border-radius:16px;padding:24px;transition:all .5s}
.feature-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,0.08)}
.feature-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:transform .3s}
.feature-card:hover .feature-icon{transform:scale(1.1) rotate(6deg)}
.feature-icon svg{width:28px;height:28px}
.feature-card h3{font-size:1.1rem;font-weight:700;color:var(--title);margin-bottom:8px}
.feature-card p{font-size:0.85rem;color:var(--body);line-height:1.6}
.features-cta{text-align:center;margin-top:64px}

/* ===== REVIEWS ===== */
.reviews{padding:96px 0;background:#fff;overflow:hidden}
.reviews-header{text-align:center;margin-bottom:48px}
.reviews-header p{font-size:1.1rem;color:var(--body);max-width:600px;margin:16px auto 0}
.reviews-summary-strip{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;margin-bottom:48px;padding:28px 32px;background:var(--bg-light);border-radius:20px}

.reviews-summary-strip .avg-block{display:flex;align-items:center;gap:14px}
.reviews-summary-strip .avg-num{font-size:2.8rem;font-weight:700;color:var(--title);font-family:'Poppins',sans-serif;line-height:1}
.reviews-summary-strip .avg-stars{display:flex;gap:2px}
.reviews-summary-strip .avg-stars svg{width:22px;height:22px;fill:#f59e0b}
.reviews-summary-strip .avg-count{font-size:0.85rem;color:var(--body);margin-top:2px}
.reviews-summary-strip .rating-bars{display:flex;flex-direction:column;gap:4px}
.reviews-summary-strip .rbar{display:flex;align-items:center;gap:6px;font-size:0.75rem;color:var(--body)}
.reviews-summary-strip .rbar-track{width:110px;height:7px;background:#e5e7eb;border-radius:50px;overflow:hidden}
.reviews-summary-strip .rbar-fill{height:100%;background:#0ec0e8;border-radius:50px}
.carousel-outer{position:relative}
.carousel-track-wrap{overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y}
.carousel-track-wrap:active{cursor:grabbing}
.carousel-track{display:flex;gap:20px;transition:transform .5s cubic-bezier(.25,.46,.45,.94);will-change:transform;padding:8px 4px 16px}
.carousel-track.dragging{transition:none}
.ar-review-card{flex:0 0 340px;background:#fff;border-radius:14px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,0.08);border-top:3px solid #0ec0e8;transition:box-shadow .3s,transform .3s}
@media(max-width:640px){.ar-review-card{flex:0 0 290px}}
.ar-review-card:hover{box-shadow:0 6px 24px rgba(14,192,232,0.15);transform:translateY(-3px)}
.ar-review-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}

.ar-review-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#22d3ee,#0ec0e8);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.85rem;color:#fff;flex-shrink:0}
.av-blue{background:#4285f4}.av-red{background:#ea4335}.av-yellow{background:#fbbc04;color:#333}.av-green{background:#34a853}.av-teal{background:#0ec0e8}.av-purple{background:#a855f7}.av-orange{background:#ea580c}.av-pink{background:#db2777}
.ar-review-name{font-weight:700;font-size:0.9rem;color:var(--title);line-height:1.3}
.ar-review-local{font-size:0.75rem;color:#0ec0e8;margin-top:2px}

.ar-review-rating{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.ar-review-stars{display:flex;gap:1px}
.ar-review-stars svg{width:15px;height:15px;fill:#f59e0b}
.ar-review-stars svg.empty-star{fill:#e0e0e0}
.ar-review-date{font-size:0.75rem;color:var(--body)}
.ar-review-text{font-size:0.875rem;color:var(--body);line-height:1.65;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ar-review-bottom{display:flex;align-items:center;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid #f0f0f0;font-size:0.75rem;color:#0ec0e8;font-weight:600}
.ar-review-bottom svg{width:14px;height:14px}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:32px}
.carousel-btn{width:44px;height:44px;background:#fff;border:1px solid #dadce0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;color:#5f6368}
.carousel-btn:hover{background:var(--bg-light);border-color:var(--cyan);color:var(--cyan)}
.carousel-btn svg{width:20px;height:20px}
.carousel-dots{display:flex;gap:6px;align-items:center}
.carousel-dot{width:8px;height:8px;border-radius:50%;background:#dadce0;border:none;cursor:pointer;transition:all .3s;padding:0}
.carousel-dot.active{background:#4285f4;width:20px;border-radius:50px}

/* ===== FOOTER ===== */
.site-footer{background:var(--title);color:#fff;padding-top:80px;padding-bottom:32px}
.footer-newsletter{background:linear-gradient(135deg,var(--cyan),var(--cyan-dark));border-radius:24px;padding:32px;margin-bottom:64px}
@media(min-width:1024px){.footer-newsletter{padding:48px}}
.footer-newsletter-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
@media(min-width:1024px){.footer-newsletter-grid{grid-template-columns:1fr 1fr}}
.footer-newsletter h3{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:8px}
@media(min-width:1024px){.footer-newsletter h3{font-size:1.8rem}}
.footer-newsletter p{color:rgba(255,255,255,0.8)}
.footer-newsletter-form{display:flex;gap:12px}
.footer-newsletter-input{flex:1;position:relative}
.footer-newsletter-input svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#9ca3af}
.footer-newsletter-input input{width:100%;padding:16px 16px 16px 48px;border-radius:50px;border:none;font-size:0.95rem;outline:none}
.footer-newsletter-input input:focus{box-shadow:0 0 0 2px rgba(255,255,255,0.5)}
.footer-newsletter-btn{padding:16px 24px;background:var(--title);color:#fff;border-radius:50px;font-weight:600;transition:background .3s;display:flex;align-items:center;gap:8px;white-space:nowrap}
.footer-newsletter-btn:hover{background:#2a2a2a}
/* Footer grid — nova estrutura */
.footer-grid{display:flex;flex-direction:column;gap:0;margin-bottom:48px}

/* Linha topo: logo | selos+sociais */
.footer-top-row{display:flex;align-items:stretch;margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.06)}
.footer-logo-col{display:flex;align-items:center;justify-content:center;padding-right:40px;border-right:1px solid rgba(255,255,255,0.08);flex:0 0 50%;width:50%}
.footer-logo{width:auto;max-width:100%;max-height:130px;object-fit:contain;display:block}
.footer-brand-col{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;flex:1;padding-left:40px}
.footer-seals{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}
.footer-seals div{background:rgba(255,255,255,0.92);border-radius:8px;padding:6px 10px;display:flex;align-items:center;justify-content:center;height:52px}
.footer-seals div img{height:40px;width:auto;max-width:120px;object-fit:contain;display:block}
.footer-socials{display:flex;gap:10px;justify-content:center}

/* Linha baixo: 3 colunas */
.footer-bottom-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}

/* Mobile */
@media(max-width:767px){
  .footer-top-row{flex-direction:column;align-items:center;gap:20px;text-align:center}
  .footer-logo-col{padding-right:0;border-right:none;border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:20px;width:100%;justify-content:center}
  .footer-brand-col{padding-left:0}
  .footer-bottom-row{grid-template-columns:1fr 1fr;gap:24px}
  .footer-bottom-row .footer-col:first-child{grid-column:1/-1}
}
.footer-brand p{color:#9ca3af;margin-bottom:24px;font-size:0.9rem}
.footer-socials{display:flex;gap:12px}
.footer-social{width:40px;height:40px;background:rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s}
.footer-social:hover{background:var(--cyan);transform:scale(1.1) rotate(12deg)}
.footer-social svg{width:20px;height:20px}
.footer-col h4{font-size:1.1rem;font-weight:600;margin-bottom:24px;color:#fff}
.footer-col ul li{margin-bottom:12px}
.footer-col ul li a{color:#9ca3af;font-size:0.9rem;transition:color .3s;display:flex;align-items:center;gap:8px}
.footer-col ul li a:hover{color:var(--cyan)}
.footer-col ul li a .link-line{width:0;height:2px;background:var(--cyan);transition:width .3s}
.footer-col ul li a:hover .link-line{width:12px}
.footer-contact li{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;color:#9ca3af;font-size:0.9rem}
.footer-contact li svg{width:20px;height:20px;color:var(--cyan);flex-shrink:0;margin-top:2px}
.footer-contact li a{color:#9ca3af;transition:color .3s}
.footer-contact li a:hover{color:var(--cyan)}
.footer-bottom{padding-top:32px;border-top:1px solid rgba(255,255,255,0.1);display:flex;flex-direction:column;gap:16px;align-items:center}
@media(min-width:640px){.footer-bottom{flex-direction:row;justify-content:space-between}}
.footer-bottom p{color:#9ca3af;font-size:0.85rem}
.footer-payments{display:flex;align-items:center;gap:16px}
.footer-payments span{color:#9ca3af;font-size:0.85rem}
.footer-payments-icons{display:flex;gap:8px}
.footer-payment-icon{width:40px;height:24px;background:rgba(255,255,255,0.1);border-radius:4px;display:flex;align-items:center;justify-content:center}
.footer-payment-icon svg{width:16px;height:16px;color:#9ca3af}
.fp-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:0.7rem;font-weight:700;white-space:nowrap}
.pay-seal{display:inline-block;object-fit:contain;vertical-align:middle}
.pay-seal-footer{height:20px;width:auto;max-width:48px;filter:brightness(0) invert(1);opacity:0.7;transition:opacity .3s}
.pay-seal-footer:hover{opacity:1}
.pay-seal-checkout{height:18px;width:auto;max-width:40px}
@media(max-width:767px){
.pay-seal-footer{height:16px;max-width:38px}
.pay-seal-checkout{height:14px;max-width:32px}
}

/* ===== MODAL ===== */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:200;align-items:center;justify-content:center;padding:16px}
.modal-overlay.open{display:flex}
.modal{background:#fff;border-radius:24px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;position:relative}
.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;background:var(--bg-light);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .3s}
.modal-close:hover{background:#e5e7eb}
.modal-header{padding:24px 24px 0}
.modal-header h2{font-size:1.5rem;font-weight:700;color:var(--title)}
.modal-body{padding:24px}
.modal-img{width:100%;height:256px;object-fit:cover;border-radius:16px;margin-bottom:24px}
.modal-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}
@media(min-width:640px){.modal-specs{grid-template-columns:repeat(4,1fr)}}
.modal-spec{background:var(--bg-light);border-radius:12px;padding:16px;text-align:center}
.modal-spec svg{width:24px;height:24px;color:var(--cyan);margin:0 auto 8px}
.modal-spec .label{font-size:0.8rem;color:var(--body)}
.modal-spec .value{font-weight:700;color:var(--title)}
.modal-features h4{font-weight:600;color:var(--title);margin-bottom:12px}
.modal-features-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.modal-feature-tag{display:flex;align-items:center;gap:4px;padding:6px 12px;background:rgba(14,192,232,0.05);color:var(--cyan-dark);border-radius:50px;font-size:0.85rem}
.modal-feature-tag svg{width:16px;height:16px}
.modal-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border)}

/* ===== PLANS ===== */
.plans-grid{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:640px){.plans-grid{grid-template-columns:1fr 1fr 1fr}}
.plan-card{position:relative;border:2px solid var(--border);border-radius:14px;padding:18px 16px;cursor:pointer;transition:all .3s;text-align:center}
.plan-card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.plan-card.active{border-color:var(--cyan);background:rgba(14,192,232,0.04);box-shadow:0 0 0 3px rgba(14,192,232,0.12)}
.plan-card .plan-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--cyan);color:#fff;font-size:0.7rem;font-weight:700;padding:3px 12px;border-radius:50px;white-space:nowrap}
.plan-card .plan-discount-badge{position:absolute;top:-11px;right:10px;font-size:0.7rem;font-weight:700;padding:3px 10px;border-radius:50px;white-space:nowrap}
.plan-card .plan-name{font-size:1rem;font-weight:700;color:var(--title);margin-bottom:4px}
.plan-card .plan-price{font-size:1.6rem;font-weight:700;color:var(--title);margin-bottom:2px}
.plan-card .plan-price span{font-size:0.8rem;font-weight:400;color:var(--body)}
.plan-card .plan-total{font-size:0.8rem;color:var(--body);margin-bottom:12px}
.plan-card .plan-features{text-align:left;font-size:0.78rem;color:var(--body);line-height:1.9}
.plan-card .plan-features .pf-item{display:flex;align-items:flex-start;gap:6px}
.plan-card .plan-features .pf-check{color:var(--cyan);font-weight:700;flex-shrink:0;margin-top:1px}
.plan-card .plan-features .pf-x{color:#cbd5e1;flex-shrink:0;margin-top:1px}
.plan-card .plan-features strong{color:var(--title)}
.plan-box{border:2px solid var(--border);border-radius:14px;padding:16px;cursor:pointer;transition:all .3s;position:relative;display:flex;flex-direction:column}
.plan-box:hover{border-color:var(--cyan)}
.plan-box.active{border-color:var(--cyan);background:rgba(14,192,232,0.04);box-shadow:0 0 0 3px rgba(14,192,232,0.1)}
.plan-box-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--cyan);color:#fff;font-size:0.65rem;font-weight:700;padding:2px 10px;border-radius:50px;white-space:nowrap}
.plan-box-name{font-size:1rem;font-weight:700;color:var(--title);margin-bottom:4px}
.plan-box-price{font-size:1.3rem;font-weight:700;color:var(--cyan);margin-bottom:10px}
.plan-box-features{list-style:none;padding:0;margin:0 0 10px;flex-grow:1}
.plan-box-features li{font-size:0.75rem;color:var(--body);padding:3px 0;line-height:1.4}
.plan-box-total{font-size:0.8rem;font-weight:600;color:var(--title);padding-top:8px;border-top:1px solid var(--border);margin-top:auto}

/* ===== EXTRAS ===== */
.extra-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .3s;font-size:0.85rem}
.extra-row:hover{border-color:var(--cyan);background:rgba(14,192,232,0.02)}
.extra-row input[type="checkbox"]{width:18px;height:18px;accent-color:var(--cyan);flex-shrink:0}
.extra-info{display:flex;justify-content:space-between;flex:1;align-items:center}
.extra-name{color:var(--title);font-weight:500}
.extra-price{color:var(--cyan);font-weight:600;font-size:0.8rem;white-space:nowrap}

/* ===== CHECKOUT ===== */
.ck-field{margin-bottom:14px}
.ck-field label{display:block;font-size:0.8rem;font-weight:600;color:var(--title);margin-bottom:6px}
.ck-field input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;font-size:0.9rem;color:var(--title);background:#fff;outline:none;transition:border-color .3s;font-family:'Inter',sans-serif;box-sizing:border-box}
.ck-field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(14,192,232,0.1)}
.ck-select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;font-size:0.9rem;color:var(--title);background:#fff;font-family:'Inter',sans-serif;box-sizing:border-box}
/* Age stepper — botões +/- */
.age-stepper{display:flex;align-items:stretch;gap:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;height:46px}
.age-stepper:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(14,192,232,0.1)}
.age-btn{flex-shrink:0;width:46px;background:#fff;border:none;color:var(--cyan);font-size:1.4rem;font-weight:600;cursor:pointer;transition:background .2s;font-family:'Inter',sans-serif;line-height:1}
.age-btn:hover:not(:disabled){background:rgba(14,192,232,0.08)}
.age-btn:disabled{color:var(--border);cursor:not-allowed}
.age-stepper input{flex:1;border:none;text-align:center;font-size:1rem;font-weight:600;color:var(--title);background:transparent;font-family:'Inter',sans-serif;outline:none;padding:0;min-width:0;-moz-appearance:textfield}
.age-stepper input::-webkit-outer-spin-button,
.age-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* Pill "Idade mínima: 23" nos cards da frota */
.car-age-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:50px;background:rgba(14,192,232,0.1);color:var(--cyan);font-size:0.7rem;font-weight:600;border:1px solid rgba(14,192,232,0.3);white-space:nowrap}
.car-age-pill svg{flex-shrink:0;width:11px;height:11px}
.ck-datetime-row{display:flex;gap:8px}
@media(max-width:480px){.ck-datetime-row{flex-direction:column}}
.pay-option{position:relative;border:2px solid var(--border);border-radius:14px;padding:16px;cursor:pointer;transition:all .3s;text-align:center;overflow:visible}
.pay-option:hover{border-color:var(--cyan)}
.pay-option.active{border-color:var(--cyan);background:rgba(14,192,232,0.04);box-shadow:0 0 0 3px rgba(14,192,232,0.1)}
.pay-logos{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:8px;min-height:28px}
.pay-icon{font-size:1.8rem;margin-bottom:6px}
.pay-label{font-size:0.9rem;font-weight:700;color:var(--title)}
.pay-desc{font-size:0.75rem;color:var(--body);margin-top:2px}
.pay-price{font-size:1.1rem;font-weight:700;color:var(--title);margin-top:8px}
.pay-badge{position:absolute;top:-10px;right:-6px;background:#16a34a;color:#fff;font-size:0.7rem;font-weight:700;padding:3px 8px;border-radius:50px;white-space:nowrap}
.crypto-coin{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .3s;font-size:0.85rem;font-weight:500;color:var(--title)}
.crypto-coin:hover{border-color:var(--cyan)}
.crypto-coin.active{border-color:var(--cyan);background:rgba(14,192,232,0.04)}
.crypto-coin svg{flex-shrink:0}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:#f1f1f1}
::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:#a1a1a1}
::selection{background:rgba(14,192,232,0.3);color:var(--title)}

/* ===== WHATSAPP ===== */
.whatsapp-float{position:fixed;bottom:24px;right:24px;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,0.4);z-index:999;transition:all .3s}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 30px rgba(37,211,102,0.5)}
@media(max-width:767px){.whatsapp-float{bottom:16px;right:16px;width:50px;height:50px}}

/* ===== TRUST SEALS ===== */
.trust-seals{display:flex;justify-content:center;gap:24px;padding:16px 0;flex-wrap:wrap}
.trust-seal{display:flex;align-items:center;gap:6px;font-size:0.75rem;color:var(--body);font-weight:500}
.trust-seal svg{color:var(--cyan)}
@media(max-width:767px){.trust-seals{gap:12px}.trust-seal{font-size:0.7rem}}

/* ===== REDUCED MOTION ===== */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}

/* ===== COOKIE BANNER ===== */
.cookie-banner{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:0;animation:cookieSlideUp .5s ease-out}
.cookie-banner.show{display:block}
@keyframes cookieSlideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
.cookie-inner{max-width:1360px;margin:0 auto;padding:20px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#1e293b;border-top:3px solid var(--cyan);box-shadow:0 -4px 30px rgba(0,0,0,0.2)}
@media(min-width:768px){.cookie-inner{flex-wrap:nowrap;padding:20px 32px}}
.cookie-text{flex:1;color:#cbd5e1;font-size:0.85rem;line-height:1.6}
.cookie-text a{color:var(--cyan);text-decoration:underline}
.cookie-buttons{display:flex;gap:10px;flex-shrink:0}
.cookie-btn{padding:10px 24px;border-radius:8px;font-size:0.85rem;font-weight:600;cursor:pointer;transition:all .3s;border:none}
.cookie-btn-accept{background:var(--cyan);color:#fff}
.cookie-btn-accept:hover{background:var(--cyan-dark)}
.cookie-btn-reject{background:transparent;color:#94a3b8;border:1px solid #475569}
.cookie-btn-reject:hover{background:#334155;color:#fff}

/* ===== MULTI-PAGE ===== */
.page-hero{padding:140px 0 5px;background:linear-gradient(135deg,#f8f8f8,#fff,#f0f9fc);position:relative;overflow:hidden}
.page-hero h1{font-size:2.5rem;font-weight:700;color:var(--title);margin-bottom:16px}
@media(min-width:768px){.page-hero h1{font-size:3rem}}
.page-hero p{font-size:1.1rem;color:var(--body);max-width:600px}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:0.85rem;color:var(--body);margin-bottom:24px}
.breadcrumb a{color:var(--cyan);transition:color .3s}
.breadcrumb a:hover{color:var(--cyan-dark)}
.breadcrumb span{color:#cbd5e1}

/* Fleet page */
.frota-cat-bar{position:sticky;top:60px;z-index:50;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 10px rgba(0,0,0,0.04)}
@media(min-width:768px) and (max-width:1023px){.frota-cat-bar{top:64px}}
@media(max-width:767px){.frota-cat-bar{top:56px}}
.frota-cat-tabs{display:flex;gap:6px;padding:12px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}
.frota-cat-tabs::-webkit-scrollbar{display:none}
.frota-cat-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:50px;border:2px solid var(--border);background:#fff;cursor:pointer;font-size:0.85rem;font-weight:600;color:var(--body);transition:all .3s;white-space:nowrap;font-family:'Inter',sans-serif;flex-shrink:0}
.frota-cat-tab:hover{border-color:var(--cyan);color:var(--title)}
.frota-cat-tab.active{background:var(--cyan);border-color:var(--cyan);color:#fff}
.frota-cat-tab.active svg{stroke:#fff}
.frota-cat-count{font-size:0.7rem;background:rgba(0,0,0,0.08);padding:2px 8px;border-radius:50px}
.frota-cat-tab.active .frota-cat-count{background:rgba(255,255,255,0.25)}
.frota-cat-desc{background:var(--bg-light);padding:32px 0}
.frota-cat-desc-inner{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.frota-cat-desc h2{font-size:1.4rem;font-weight:700;color:var(--title);margin:0}
.frota-cat-desc p{font-size:0.9rem;color:var(--body);margin:0;flex:1;min-width:200px}
.frota-cat-price{background:#fff;padding:8px 20px;border-radius:50px;font-size:0.9rem;color:var(--body);white-space:nowrap;box-shadow:0 1px 4px rgba(0,0,0,0.06)}
.frota-cat-price strong{color:var(--cyan);font-size:1.2rem}

/* Filter bar (Petrol/Diesel/Hybrid/Electric · Manual/Automatic) */
.frota-filter-bar{display:flex;align-items:center;gap:8px;padding:14px 0;flex-wrap:wrap}
.frota-filter-label{font-size:0.78rem;color:var(--body);font-weight:500;margin-right:4px}
.frota-fpill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:50px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:0.75rem;font-weight:500;color:var(--body);transition:all .25s ease;white-space:nowrap;font-family:'Inter',sans-serif}
.frota-fpill:hover{border-color:var(--cyan);color:var(--title)}
.frota-fpill.active{background:rgba(14,192,232,0.1);border-color:var(--cyan);color:var(--cyan);font-weight:600}
.frota-fpill svg{flex-shrink:0;color:inherit}
.frota-filter-sep{width:1px;height:18px;background:var(--border);margin:0 4px}
@media(max-width:600px){
  .frota-filter-bar{gap:6px;padding:12px 0}
  .frota-fpill{font-size:0.7rem;padding:5px 10px;gap:4px}
  .frota-fpill svg{width:11px;height:11px}
  .frota-filter-sep{display:none}
}

/* Reservation page */
.reserva-layout{display:grid;grid-template-columns:1fr;gap:32px;padding:48px 0 96px}
@media(min-width:1024px){.reserva-layout{grid-template-columns:1fr 420px}}
@media(min-width:768px) and (max-width:1023px){.reserva-layout{max-width:720px;margin:0 auto}}
.reserva-car-detail{background:#fff;border-radius:20px;padding:32px;box-shadow:0 2px 20px rgba(0,0,0,0.04);position:sticky;top:100px;align-self:start}
.reserva-car-detail img{width:100%;height:300px;object-fit:cover;border-radius:16px;margin-bottom:24px}
.reserva-sidebar{}
.reserva-form{background:#fff;border-radius:20px;padding:28px;box-shadow:0 2px 20px rgba(0,0,0,0.04);overflow:visible}
@media(min-width:768px) and (max-width:1023px){.reserva-form{max-width:640px;margin:0 auto}}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:1fr;gap:32px;padding:48px 0 96px}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact-form{background:#fff;border-radius:20px;padding:32px;box-shadow:0 2px 20px rgba(0,0,0,0.04)}
.contact-info{display:flex;flex-direction:column;gap:20px}
.contact-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 20px rgba(0,0,0,0.04);display:flex;align-items:flex-start;gap:16px}
.contact-card-icon{width:48px;height:48px;background:rgba(14,192,232,0.1);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--cyan)}

/* FAQ page */
.faq-list{max-width:800px;margin:0 auto;padding:48px 0 96px}
.faq-item{background:#fff;border-radius:16px;margin-bottom:12px;box-shadow:0 2px 10px rgba(0,0,0,0.03);overflow:hidden}
.faq-question{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:600;color:var(--title);font-size:0.95rem;transition:background .3s}
.faq-question:hover{background:var(--bg-light)}
.faq-question svg{width:20px;height:20px;color:var(--body);transition:transform .3s;flex-shrink:0}
.faq-item.open .faq-question svg{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.open .faq-answer{max-height:500px}
.faq-answer-inner{padding:0 24px 20px;font-size:0.9rem;color:var(--body);line-height:1.7}

/* ===== CAR EXTRAS ===== */
.car-insurance-badge{position:absolute;bottom:10px;left:10px;background:rgba(16,185,129,0.95);color:#fff;font-size:0.72rem;font-weight:700;padding:5px 10px;border-radius:6px;letter-spacing:.3px}
.car-includes{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.car-includes span{font-size:0.73rem;color:#10b981;font-weight:600;background:rgba(16,185,129,0.1);padding:4px 10px;border-radius:6px;border:1px solid rgba(16,185,129,0.2)}
.fleet-grid .car-card-img img{height:180px;object-fit:cover;width:100%}

/* ===== HERO SEARCH BOX ===== */
.hero-search-wrapper{position:absolute;bottom:210px;left:0;right:0;z-index:20;padding:0 16px;max-width:1200px;margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box}
.search-box{background:rgba(255,255,255,0.97);backdrop-filter:blur(12px);border-radius:20px;box-shadow:0 12px 48px rgba(0,0,0,0.2);padding:20px 24px;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}
.search-box-fields{display:flex;align-items:flex-end;gap:12px;flex-wrap:nowrap}
.search-field{flex:1;min-width:120px}
.search-field-small{flex:0.55;min-width:80px}
.search-field label{display:block;font-size:0.65rem;font-weight:700;color:#94a3b8;margin-bottom:5px;text-transform:uppercase;letter-spacing:.6px}
.search-field select,.search-field input{width:100%;padding:10px 12px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:0.87rem;color:var(--title);background:#f8fafc;outline:none;cursor:pointer;font-family:'Inter',sans-serif;-webkit-appearance:none;appearance:none;transition:border-color .2s}
.search-field select{background:#f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center}
.search-field select:focus,.search-field input:focus{border-color:var(--cyan);background:#fff;box-shadow:0 0 0 3px rgba(14,192,232,0.12)}
.search-btn{padding:10px 24px;background:linear-gradient(135deg,#22d3ee,var(--cyan));color:#fff;border:none;border-radius:10px;font-size:0.9rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap;transition:all .3s;height:42px;font-family:'Inter',sans-serif;letter-spacing:.2px}
.search-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(14,192,232,0.35)}
/* section.categories padding handled per breakpoint below */

/* ===== HERO RATING & PILLS ===== */
.hero-rating{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:10px}
.hero-stars{color:#facc15;font-size:1.3rem;letter-spacing:2px}
.hero-rating-text{color:rgba(255,255,255,0.9);font-size:0.9rem;font-weight:500}
.hero-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;padding-bottom:4px}
.hero-pill{background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.25);color:#fff;padding:8px 16px;border-radius:50px;font-size:0.82rem;font-weight:600;letter-spacing:.3px;white-space:nowrap}
.hero-pill-highlight{background:rgba(14,192,232,0.3);border-color:var(--cyan)}
.hero-notice{color:rgba(255,255,255,0.7);font-size:0.78rem;margin-top:12px;font-style:italic}

/* ===== WEATHER WIDGET ===== */
.weather-widget{display:inline-flex;align-items:center;gap:5px;background:rgba(14,192,232,0.15);border:1px solid rgba(14,192,232,0.3);border-radius:50px;padding:4px 14px 4px 10px;font-size:0.82rem;font-weight:600;color:#0ec0e8;white-space:nowrap;transition:all .3s}
.weather-widget .weather-label{font-size:0.68rem;font-weight:500;opacity:0.8;text-transform:uppercase;letter-spacing:.5px}
.navbar-hero .weather-widget{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.25);color:#fff}
.navbar.scrolled .weather-widget{background:rgba(14,192,232,0.08);border-color:rgba(14,192,232,0.2);color:#0ec0e8}

/* ===== HOW IT WORKS (base) ===== */
.how-steps{display:flex;align-items:flex-start;justify-content:center;gap:20px;flex-wrap:wrap}
.how-step{background:var(--bg-light);border-radius:16px;padding:32px 24px;max-width:280px;flex:1;min-width:200px;position:relative;text-align:center}
.how-step-number{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--cyan);color:#fff;width:28px;height:28px;border-radius:50%;font-size:0.8rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.how-step-icon{font-size:2.2rem;margin-bottom:12px}
.how-step h3{font-size:1rem;font-weight:700;color:var(--title);margin-bottom:8px}
.how-step p{font-size:0.85rem;color:var(--body);line-height:1.6}
.how-step-arrow{font-size:1.5rem;color:var(--cyan);align-self:center;font-weight:700;padding-top:40px}

/* ===== HOW IT WORKS — 4 steps layout ===== */

/* DESKTOP (≥769px): 4 colunas em linha */
.how-steps-4{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  gap:16px;
  align-items:flex-start;
  justify-content:center;
  max-width:1100px;
  margin:0 auto;
}
.how-steps-4 .how-step{text-align:center;padding:28px 16px 24px;background:var(--bg-light)}
.how-steps-4 .how-step-arrow{
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;color:var(--cyan);margin-top:40px;font-weight:700;
}

/* TABLET (641px – 900px): grid 2x2 igual à frota */
@media(max-width:900px){
  .how-steps-4{
    grid-template-columns:1fr 1fr;
    gap:32px;
    max-width:700px;
  }
  .how-steps-4 .how-step-arrow{display:none}
  .how-dots{display:none !important}
}

/* MOBILE (≤640px): grid 2x2 compacto */
@media(max-width:640px){
  .how-steps-4{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:20px;
    padding:8px 4px 16px;
    max-width:unset;
    margin:0;
  }
  .how-steps-4 .how-step{
    flex:unset !important;
    width:auto !important;
    min-width:0 !important;
    max-width:unset;
    padding:28px 12px 20px;
    background:#fff;
    border:1px solid rgba(14,192,232,0.18);
    box-shadow:0 4px 16px rgba(0,0,0,0.07);
    border-radius:14px;
    box-sizing:border-box;
  }
  .how-steps-4 .how-step-arrow{display:none !important}
  .how-steps-4 .how-step-number{
    width:34px;height:34px;font-size:1rem;font-weight:800;
    background:var(--cyan);color:#fff;
    box-shadow:0 4px 12px rgba(14,192,232,0.4);
    top:-17px;
  }
  .how-steps-4 .how-step-icon{font-size:1.8rem;margin-bottom:8px}
  .how-steps-4 .how-step h3{font-size:0.88rem}
  .how-steps-4 .how-step p{font-size:0.78rem;line-height:1.5}
  .how-dots{display:none !important}
}

/* ===== SEARCH SUMMARY ===== */
.search-summary{margin-bottom:32px}
.search-summary-inner{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,rgba(14,192,232,0.08),rgba(14,192,232,0.04));border:1px solid rgba(14,192,232,0.2);border-radius:12px;padding:12px 24px;font-size:0.95rem;color:var(--title)}
.search-summary-icon{font-size:1.2rem}
.search-summary-text strong{color:var(--cyan);font-size:1.1rem}
.car-total-price{font-size:0.78rem!important;color:#64748b!important;font-weight:500!important}

/* ===== TRUST SEALS IMAGES ===== */
.trust-seals-images{background:#f8fafc;border-top:1px solid #e5e7eb;padding:20px 0}
.trust-seals-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px}
.trust-seals-grid img{height:40px;width:auto;object-fit:contain;opacity:.8;transition:opacity .3s;filter:grayscale(30%)}
.trust-seals-grid img:hover{opacity:1;filter:grayscale(0)}

/* ===== PARTNERS CAROUSEL ===== */
.partners-track{display:flex;gap:40px;align-items:center;animation:partnerScroll 30s linear infinite;width:max-content}
.partner-logo{flex-shrink:0;display:flex;align-items:center;justify-content:center;height:50px}
.partner-logo img{height:40px;width:auto;object-fit:contain;filter:grayscale(100%);opacity:0.6;transition:all .3s}
.partner-logo img:hover{filter:grayscale(0);opacity:1}
@keyframes partnerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ============================================================
   MOBILE RESPONSIVE FIXES
   ============================================================ */

@media(max-width:767px){
.hero{min-height:100svh;padding:110px 0 48px;background-attachment:scroll;background-size:cover;background-position:center center}
.hero::before{background:linear-gradient(to bottom,rgba(5,15,30,0.82) 0%,rgba(5,15,30,0.65) 50%,rgba(5,15,30,0.85) 100%)!important}
.hero h1{font-size:1.75rem;line-height:1.25;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,0.5);max-width:340px;margin-left:auto;margin-right:auto}
.hero-desc{font-size:0.85rem;margin-bottom:14px;text-align:center;text-shadow:0 1px 6px rgba(0,0,0,0.4);max-width:300px;margin-left:auto;margin-right:auto}
.hero-buttons{gap:10px;margin-bottom:32px}
.hero-buttons .btn-primary,.hero-buttons .btn-secondary{padding:12px 20px;font-size:0.85rem}
.hero-stats{gap:16px}
.hero-stat-icon{width:36px;height:36px}
.hero-stat-value{font-size:1.1rem}
.hero-stat-label{font-size:0.7rem}
.hero-pill{font-size:0.75rem;padding:7px 14px}
.hero-rating{flex-direction:column;gap:4px}
.hero-stars{font-size:1rem}
.hero-rating-text{font-size:0.8rem}
.weather-widget{padding:2px 8px 2px 6px;font-size:0.7rem;gap:3px}
.weather-widget .weather-label{display:none}
/* Reduzir city selector e bandeira em mobile (logo deve dominar) */
.city-current{padding:2px 6px !important;height:24px !important;font-size:0.65rem !important;gap:3px !important}
.city-current svg:first-child{width:11px !important;height:11px !important}
.city-current svg:last-child{width:8px !important;height:8px !important}
.city-current-label{font-size:0.65rem}
.mobile-lang-btn{padding:1px 3px !important;gap:2px !important}
.mobile-lang-btn svg:first-child{width:18px !important;height:12px !important;border-radius:2px}
.mobile-lang-btn svg:last-child{width:8px !important;height:8px !important}
.how-step-arrow{display:none}
}

@media(max-width:480px){
.hero{padding:90px 0 40px}
.hero h1{font-size:1.5rem;line-height:1.25;max-width:300px}
.hero-desc{font-size:0.78rem;max-width:270px}
.pay-option{padding:10px 6px !important}
.pay-logos{flex-wrap:wrap !important;gap:3px !important;justify-content:center}
.pay-logos svg,.pay-logos img{width:24px !important;height:15px !important}
.pay-label{font-size:0.7rem !important}
.pay-price{font-size:0.8rem !important}
}

@media(max-width:767px){
.categories{padding:48px 0}
.categories-header{margin-bottom:32px}
.categories-header .section-title{font-size:1.6rem}
.categories-grid{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:16px;scrollbar-width:none}
.categories-grid::-webkit-scrollbar{display:none}
.categories-grid .category-card{flex:0 0 260px;scroll-snap-align:start;height:280px;margin-top:0 !important}
}

@media(max-width:767px){
.about{padding:48px 0}
.about-grid{gap:32px}
.about-image img{height:280px}
.about-exp-badge{bottom:-16px;right:8px;padding:14px;border-radius:12px}
.about-exp-badge .num{font-size:1.5rem}
.about-exp-badge .txt{font-size:0.7rem}
.about-content .section-title{font-size:1.5rem}
.about-content>p{font-size:0.95rem;margin-bottom:20px}
.about-stats{grid-template-columns:repeat(2,1fr);gap:16px}
}

@media(max-width:767px){
.features{padding:48px 0}
.features-grid{gap:12px;grid-template-columns:1fr 1fr !important}
.feature-card{padding:16px}
.feature-icon{width:44px;height:44px;margin-bottom:12px}
.feature-card h3{font-size:0.9rem}
.feature-card p{font-size:0.78rem}
}

@media(max-width:767px){
.reviews{padding:48px 0}
.reviews-summary-strip{gap:16px;padding:16px;flex-direction:column;align-items:flex-start}
.reviews-summary-strip .avg-num{font-size:2rem}
.reviews-summary-strip .rbar-track{width:80px}
}

@media(max-width:767px){
.site-footer{padding-top:48px}
.footer-newsletter{padding:24px;margin-bottom:32px}
.footer-newsletter h3{font-size:1.2rem}
.footer-newsletter-form{flex-direction:column}
.footer-bottom{flex-direction:column;gap:16px;text-align:center}
.footer-payments{flex-direction:column;align-items:center;gap:8px}
}
@media(max-width:400px){
.footer-newsletter-form{flex-direction:column}
.footer-newsletter-btn{width:100%;justify-content:center}
.modal{border-radius:12px;max-height:92vh}
.modal-specs{grid-template-columns:repeat(2,1fr) !important}
}

@media(max-width:767px){
.page-hero{padding:100px 0 48px}
.page-hero h1{font-size:1.6rem}
.page-hero p{font-size:0.9rem}
}

@media(max-width:767px){
.frota-cat-tab{padding:8px 14px;font-size:0.8rem;gap:6px}
.frota-cat-tab svg{width:16px;height:16px}
.frota-cat-desc{padding:20px 0}
.frota-cat-desc h2{font-size:1.1rem}
.frota-cat-desc p{font-size:0.8rem}
.frota-cat-desc-inner{gap:12px}
.fleet-grid{grid-template-columns:1fr !important;gap:16px}
}

@media(max-width:1023px){
.reserva-layout{grid-template-columns:1fr;padding:24px 0 64px}
.reserva-sidebar{position:static}
.reserva-car-detail{padding:20px;position:sticky;top:80px;z-index:10}
.reserva-car-detail img{height:200px}
.reserva-form{padding:16px}
}

@media(max-width:767px){
.reserva-car-detail{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;top:65px;border-radius:14px}
.reserva-car-detail img{width:90px;height:65px;border-radius:10px;margin-bottom:0;flex-shrink:0}
.reserva-car-detail > div:first-of-type{flex:1;min-width:0;margin-bottom:0!important}
.reserva-car-detail > div:first-of-type h2{font-size:1rem!important}
.reserva-car-detail > div:first-of-type .text-gradient{font-size:0.85rem}
.reserva-car-detail > *:nth-child(n+3){display:none!important}
.reserva-form .pay-option{padding:12px 8px}
.reserva-form .pay-label{font-size:0.75rem !important}
.reserva-form .pay-logos{gap:3px}
.reserva-form .pay-logos svg{width:26px !important;height:16px !important}
.reserva-form .pay-price{font-size:0.85rem !important}
}

@media(max-width:767px){
.contact-grid{padding:24px 0 64px;gap:24px}
.contact-form{padding:20px}
}

@media(max-width:767px){
.faq-list{padding:24px 0 64px}
.faq-question{padding:16px;font-size:0.85rem}
.faq-answer-inner{padding:0 16px 16px;font-size:0.85rem}
}

@media(max-width:767px){
.cookie-inner{flex-direction:column;padding:16px}
.cookie-text{font-size:0.8rem}
.cookie-buttons{width:100%}
.cookie-btn{flex:1;padding:10px;font-size:0.8rem;text-align:center}
}

@media(max-width:767px){
.modal-overlay{padding:8px}
.modal{border-radius:16px;max-height:95vh}
}

@media(max-width:767px){
.btn-primary,.btn-secondary{padding:12px 24px;font-size:0.85rem}
.nav-cta{padding:8px 18px;font-size:0.8rem}
}

@media(max-width:767px){
.section-title{font-size:1.6rem}
.section-subtitle{font-size:0.7rem}
}

@media(max-width:767px){
.trust-seals-grid{gap:16px}
.trust-seals-grid img{height:32px}
}

@media(max-width:768px){
.partner-logo img{height:30px}
.partners-track{gap:24px}
}

@media(max-width:1024px){
  .search-box-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
  .search-field,.search-field-small{min-width:0;flex:none;width:100%}
  .search-btn{grid-column:1/-1;justify-content:center;padding:14px;height:auto;border-radius:12px;font-size:0.95rem}
}

@media(max-width:768px){
  .hero-search-wrapper{
    padding:0 12px;
    bottom:42px;
    width:100%;
    box-sizing:border-box;
  }
  .hero{padding-bottom:370px}
  .search-box{
    padding:14px 12px;
    border-radius:14px;
    box-shadow:0 4px 20px rgba(0,0,0,0.15);
    background:#fff;
    width:100%;
    box-sizing:border-box;
  }
  .search-box-fields{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px}
  .search-box-fields .search-field:nth-child(3){grid-column:1/-1}
  .search-field label{font-size:0.58rem;letter-spacing:.3px;margin-bottom:4px}
  .search-field select,.search-field input{padding:9px 8px;font-size:0.82rem;border-radius:8px;width:100%;box-sizing:border-box}
  .search-btn{grid-column:1/-1 !important;padding:13px;font-size:0.95rem;border-radius:10px;margin-top:2px;width:100%;box-sizing:border-box}
  section.categories{padding-top:0 !important}
  .hero + section{padding-top:0 !important}
}

@media(max-width:400px){
  .search-box-fields{grid-template-columns:1fr 1fr !important;gap:6px}
  .search-box-fields .search-field:nth-child(3){grid-column:1/-1}
  .search-box{padding:10px}
  .search-field label{font-size:0.5rem}
  .search-field select,.search-field input{padding:8px 6px;font-size:0.78rem}
  section.categories,.hero + section{padding-top:0 !important}
}

@media(max-width:767px){
.car-includes{gap:5px;margin-top:8px}
.car-includes span{font-size:0.68rem;padding:4px 9px}
.car-insurance-badge{font-size:0.68rem;padding:4px 8px}
}

@media(max-width:600px){
.pay-option{padding:10px!important}
}
/* ===== PREMIUM & LUXURY CARDS ===== */
.car-cat-badge{position:absolute;top:12px;left:12px;font-size:0.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:3px;z-index:5}
.car-cat-badge--premium{background:var(--gold);color:#0a0a0a}
.car-cat-badge--luxury{left:auto;right:10px;top:10px;width:28px;height:28px;padding:0;border-radius:50%;background:var(--amber);color:#0D0C0B;display:flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:0}

/* ════════════════════════════════════════════════════════════════
   CATEGORIAS DE CARROS — temas visuais por categoria
   Concebidos para PNG transparente (carros sem fundo)
   ════════════════════════════════════════════════════════════════ */

/* ── ESSENCIAL: claro, limpo, gradiente subtil cinzento ─────── */
.car-card.cat-essential{
  background:linear-gradient(180deg,#ffffff 0%,#f1f5f9 100%);
  border:1px solid #e2e8f0;
  box-shadow:0 4px 12px rgba(0,0,0,0.04);
}
.car-card.cat-essential:hover{
  box-shadow:0 18px 36px rgba(0,0,0,0.08);
  transform:translateY(-6px);
}
.car-card.cat-essential .car-card-img{
  background:transparent;
}
.car-card.cat-essential .car-insurance-badge{
  background:#0ec0e8;
  color:#ffffff;
  border:1px solid #0ec0e8;
}
.car-card.cat-essential .car-includes span{
  color:var(--cyan-dark);
  background:rgba(14,192,232,0.06);
  border-color:rgba(14,192,232,0.18);
}
.car-card.cat-essential .car-cta{
  background:#ffffff;
  border:1.5px solid var(--cyan);
  color:var(--cyan-dark);
}
.car-card.cat-essential .car-cta:hover{
  background:var(--cyan);
  color:#ffffff;
}

/* ── FAMÍLIA: claro, gradiente azulado, sensação confortável ── */
.car-card.cat-family{
  background:linear-gradient(180deg,#ffffff 0%,#e8f1f8 100%);
  border:1px solid #cfe3f0;
  box-shadow:0 4px 12px rgba(14,192,232,0.06);
}
.car-card.cat-family:hover{
  box-shadow:0 18px 36px rgba(14,192,232,0.12);
  transform:translateY(-6px);
}
.car-card.cat-family .car-card-img{
  background:transparent;
}
.car-card.cat-family .car-insurance-badge{
  background:#22c55e;
  color:#ffffff;
  border:1px solid #22c55e;
}
.car-card.cat-family .car-includes span{
  color:#15803d;
  background:rgba(34,197,94,0.08);
  border-color:rgba(34,197,94,0.2);
}
.car-card.cat-family .car-cta{
  background:#ffffff;
  border:1.5px solid #22c55e;
  color:#15803d;
}
.car-card.cat-family .car-cta:hover{
  background:#22c55e;
  color:#ffffff;
}

/* ── ELÉTRICO: light blue claro, energia limpa (V7) ────────── */
.car-card.cat-electric{
  background:#F0F7FF;
  border:1px solid rgba(59,130,246,0.15);
  box-shadow:0 4px 12px rgba(59,130,246,0.05);
}
.car-card.cat-electric:hover{
  box-shadow:0 18px 40px rgba(59,130,246,0.15);
  transform:translateY(-8px);
  border-color:rgba(59,130,246,0.3);
}
.car-card.cat-electric .car-card-img{
  background:transparent;
}
.car-card.cat-electric .car-card-body h3{color:#1E3A8A;font-weight:700}
.car-card.cat-electric .car-specs{color:#64748B}
.car-card.cat-electric .car-spec svg{stroke:#3B82F6}
.car-card.cat-electric .car-insurance-badge{
  background:#3B82F6;
  color:#FFFFFF;
  border:0;
}
.car-card.cat-electric .car-includes span{
  color:#1E40AF;
  background:rgba(59,130,246,0.1);
  border-color:rgba(59,130,246,0.2);
}
.car-card.cat-electric .car-card-footer{border-top-color:rgba(59,130,246,0.15)}
.car-card.cat-electric .car-price-label{color:#64748B;letter-spacing:1px}
.car-card.cat-electric .car-price{color:#1E3A8A;font-weight:700}
.car-card.cat-electric .car-cta{
  background:#3B82F6;
  color:#FFFFFF;
  border:0;
  box-shadow:none;
}
.car-card.cat-electric .car-cta:hover{
  background:#2563EB;
  color:#FFFFFF;
  box-shadow:0 4px 12px rgba(59,130,246,0.4);
}

/* ── PREMIUM: off-white + carvão (Apple Store / Tesla showroom) ── */
.car-card.cat-premium{
  background:#F5F2ED;
  box-shadow:0 4px 14px rgba(0,0,0,0.06);
  border:1px solid rgba(0,0,0,0.08);
  border-top:1px solid rgba(0,0,0,0.15);
}
.car-card.cat-premium:hover{
  box-shadow:0 20px 44px rgba(0,0,0,0.12);
  transform:translateY(-8px);
  border-color:rgba(0,0,0,0.18);
}
.car-card.cat-premium .car-card-img{background:transparent}
.car-card.cat-premium .car-card-img img{filter:none}
.car-card.cat-premium:hover .car-card-img img{filter:brightness(1.02)}
.car-card.cat-premium .car-card-body h3{color:#1A1A1A;font-weight:700;letter-spacing:-0.3px}
.car-card.cat-premium .car-specs{color:#6B6B6B}
.car-card.cat-premium .car-spec svg{stroke:#6B6B6B}
.car-card.cat-premium .car-includes span{
  color:#1A1A1A;
  background:rgba(0,0,0,0.06);
  border-color:rgba(0,0,0,0.1);
}
.car-card.cat-premium .car-card-footer{border-top-color:rgba(0,0,0,0.08)}
.car-card.cat-premium .car-price-label{color:#6B6B6B;font-weight:400;letter-spacing:1px}
.car-card.cat-premium .car-price{color:#1A1A1A;font-weight:700}
.car-card.cat-premium .car-cta{
  background:#1A1A1A;
  border:0;
  color:#F5F2ED;
  border-radius:6px;
  font-size:0.82rem;
  letter-spacing:0;
  text-transform:none;
  padding:10px 18px;
  font-weight:700;
}
.car-card.cat-premium .car-cta:hover{
  background:#000000;
  color:#F5F2ED;
}
.car-card.cat-premium .car-insurance-badge{
  background:#1A1A1A;
  color:#F5F2ED;
  border:0;
}

/* ── LUXO: showroom, radial spotlight, âmbar refinado ───────── */
.car-card.cat-luxury{
  background:#0F1B3D;
  box-shadow:0 4px 16px rgba(0,0,0,0.35);
  border:1px solid rgba(212,175,122,0.15);
  border-top:1px solid rgba(212,175,122,0.4);
}
.car-card.cat-luxury:hover{
  box-shadow:0 24px 50px rgba(0,0,0,0.55);
  transform:translateY(-8px);
  border-color:rgba(212,175,122,0.35);
}
.car-card.cat-luxury .car-card-img{
  background:radial-gradient(ellipse at center top,rgba(212,175,122,0.08) 0%,transparent 60%);
}
.car-card.cat-luxury .car-card-img img{filter:brightness(.98)}
.car-card.cat-luxury:hover .car-card-img img{filter:brightness(1.05)}
.car-card.cat-luxury .car-card-body h3{
  color:#F5EFE0;
  font-weight:600;
  letter-spacing:-0.2px;
}
.car-card.cat-luxury .car-specs{color:#7A88B0;flex-wrap:wrap;gap:6px}
.car-card.cat-luxury .car-spec{
  background:rgba(212,175,122,0.06);
  border:0.5px solid rgba(212,175,122,0.2);
  padding:3px 9px;
  border-radius:10px;
  font-size:0.78rem;
}
.car-card.cat-luxury .car-spec svg{
  stroke:#D4AF7A;
  width:14px;
  height:14px;
  flex-shrink:0;
}
.car-card.cat-luxury .car-includes span{
  color:#D4AF7A;
  background:rgba(212,175,122,0.06);
  border-color:rgba(212,175,122,0.2);
}
.car-card.cat-luxury .car-card-footer{border-top-color:rgba(212,175,122,0.15)}
.car-card.cat-luxury .car-price-label{color:#7A88B0;font-weight:400;letter-spacing:1px}
.car-card.cat-luxury .car-price{color:#D4AF7A;font-weight:600}
.car-card.cat-luxury .car-cta{
  background:#D4AF7A;
  border:0;
  color:#0F1B3D;
  border-radius:4px;
  font-size:0.82rem;
  letter-spacing:0;
  text-transform:none;
  padding:10px 18px;
  font-weight:700;
}
.car-card.cat-luxury .car-cta:hover{
  background:#C9A06A;
  color:#0F1B3D;
}
.car-card.cat-luxury .car-insurance-badge{
  background:#D4AF7A;
  color:#0F1B3D;
  border:0;
}


/* ═══════════════════════════════════════════════════════════════
   FROTA — forçar pílulas de categoria ajustadas ao conteúdo no desktop
   (corrige visualização esticada/espalhada por toda a largura)
   ═══════════════════════════════════════════════════════════════ */
.frota-cat-tabs{
  justify-content:flex-start !important;
  gap:10px !important;
}
.frota-cat-tabs > .frota-cat-tab{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  justify-content:flex-start !important;
}
@media(min-width:1024px){
  .frota-cat-tabs{
    gap:12px !important;
    justify-content:center;
  }
  .frota-cat-tab{
    padding:10px 22px !important;
  }
}

/* Safari iOS: impedir zoom automático ao abrir o calendário (inputs precisam >=16px) */
@media(max-width:768px){
  #ckDateRange,#searchDateRange,.flatpickr-input{font-size:16px !important}
}

/* ===========================================================
   HERO V1 — Onda Drive (foto dominante, texto à esquerda,
   search box editorial flutuante)
   =========================================================== */

/* Container do hero */
.hero-v1{
  position:relative;
  width:100%;
  min-height:auto;
  background-size:cover;
  background-position:center;
  background-color:#0ba8cc;
  padding:140px 60px 0;
  color:#FFFFFF;
  overflow:visible;
  display:flex;
  flex-direction:column;
}
/* Imagem hero por cidade */
.hero-v1-portugal{
  background-image:url('/img/site/Hero-Portugal.jpg');
  background-image:-webkit-image-set(url('/img/site/Hero-Portugal.webp') type('image/webp'),url('/img/site/Hero-Portugal.jpg') type('image/jpeg'));
  background-image:image-set(url('/img/site/Hero-Portugal.webp') type('image/webp'),url('/img/site/Hero-Portugal.jpg') type('image/jpeg'));
}
.hero-v1-faro{
  background-image:url('/img/site/Hero-Faro.jpg');
  background-image:-webkit-image-set(url('/img/site/Hero-Faro.webp') type('image/webp'),url('/img/site/Hero-Faro.jpg') type('image/jpeg'));
  background-image:image-set(url('/img/site/Hero-Faro.webp') type('image/webp'),url('/img/site/Hero-Faro.jpg') type('image/jpeg'));
}
.hero-v1-lisboa{
  background-image:url('/img/site/Hero-Lisboa.jpg');
  background-image:-webkit-image-set(url('/img/site/Hero-Lisboa.webp') type('image/webp'),url('/img/site/Hero-Lisboa.jpg') type('image/jpeg'));
  background-image:image-set(url('/img/site/Hero-Lisboa.webp') type('image/webp'),url('/img/site/Hero-Lisboa.jpg') type('image/jpeg'));
}
.hero-v1-porto{
  background-image:url('/img/site/Hero-Porto.jpg');
  background-image:-webkit-image-set(url('/img/site/Hero-Porto.webp') type('image/webp'),url('/img/site/Hero-Porto.jpg') type('image/jpeg'));
  background-image:image-set(url('/img/site/Hero-Porto.webp') type('image/webp'),url('/img/site/Hero-Porto.jpg') type('image/jpeg'));
}

/* Versões mobile — imagens muito mais leves para acelerar LCP em telemóveis */
@media(max-width:767px){
  .hero-v1-portugal{
    background-image:url('/img/site/Hero-Portugal-mobile.jpg');
    background-image:-webkit-image-set(url('/img/site/Hero-Portugal-mobile.webp') type('image/webp'),url('/img/site/Hero-Portugal-mobile.jpg') type('image/jpeg'));
    background-image:image-set(url('/img/site/Hero-Portugal-mobile.webp') type('image/webp'),url('/img/site/Hero-Portugal-mobile.jpg') type('image/jpeg'));
  }
  .hero-v1-faro{
    background-image:url('/img/site/Hero-Faro-mobile.jpg');
    background-image:-webkit-image-set(url('/img/site/Hero-Faro-mobile.webp') type('image/webp'),url('/img/site/Hero-Faro-mobile.jpg') type('image/jpeg'));
    background-image:image-set(url('/img/site/Hero-Faro-mobile.webp') type('image/webp'),url('/img/site/Hero-Faro-mobile.jpg') type('image/jpeg'));
  }
  .hero-v1-lisboa{
    background-image:url('/img/site/Hero-Lisboa-mobile.jpg');
    background-image:-webkit-image-set(url('/img/site/Hero-Lisboa-mobile.webp') type('image/webp'),url('/img/site/Hero-Lisboa-mobile.jpg') type('image/jpeg'));
    background-image:image-set(url('/img/site/Hero-Lisboa-mobile.webp') type('image/webp'),url('/img/site/Hero-Lisboa-mobile.jpg') type('image/jpeg'));
  }
  .hero-v1-porto{
    background-image:url('/img/site/Hero-Porto-mobile.jpg');
    background-image:-webkit-image-set(url('/img/site/Hero-Porto-mobile.webp') type('image/webp'),url('/img/site/Hero-Porto-mobile.jpg') type('image/jpeg'));
    background-image:image-set(url('/img/site/Hero-Porto-mobile.webp') type('image/webp'),url('/img/site/Hero-Porto-mobile.jpg') type('image/jpeg'));
  }
}

/* Vídeo de fundo (só na home Portugal) — cobre todo o hero, atrás do overlay */
.hero-v1-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
  pointer-events:none;
}
@media(max-width:1023px){
  .hero-v1{padding:130px 32px 0}
  .hero-v1-search-wrap{margin:auto auto -35px;padding:60px 24px 0}
}
@media(max-width:767px){
  .hero-v1{padding:110px 20px 0}
  .hero-v1-search-wrap{margin:auto auto -30px;padding:40px 16px 0}
}

/* Overlay escuro sobre a foto para dar contraste ao texto */
.hero-v1-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 50%);
  z-index:1;
}

/* Conteúdo do hero (texto à esquerda) */
.hero-v1-content{
  position:relative;
  z-index:2;
  max-width:560px;
  margin:0;
}

.hero-v1-eyebrow{
  margin:0 0 22px;
  font-family:'Inter',sans-serif;
  font-size:0.78rem;
  letter-spacing:3px;
  text-transform:uppercase;
  color:rgba(255,255,255,0.92);
  font-weight:500;
  text-shadow:0 2px 8px rgba(0,0,0,0.4);
}

.hero-v1-title{
  margin:0 0 22px;
  font-family:'DM Serif Display',serif;
  font-size:clamp(2.6rem, 4.5vw, 3.6rem);
  line-height:1.1;
  font-weight:400;
  color:#FFFFFF;
  letter-spacing:-0.5px;
  text-shadow:0 4px 20px rgba(0,0,0,0.55), 0 2px 6px rgba(0,0,0,0.45);
}
.hero-v1-title em{
  font-style:italic;
  color:#FFFFFF;
}

.hero-v1-desc{
  margin:0;
  font-family:'Inter',sans-serif;
  font-size:1rem;
  line-height:1.7;
  color:rgba(255,255,255,0.95);
  max-width:460px;
  text-shadow:0 2px 12px rgba(0,0,0,0.5), 0 1px 4px rgba(0,0,0,0.4);
}

/* Wrapper da search box: usa margin-top:auto (flex pushes to bottom of hero)
   + margin-bottom negativa para sair ligeiramente abaixo do hero. */
/* Wrapper search-wrap (FORA do hero) — pills + caixa.
   margin-top:-82px puxa para cima de modo que pills aparecem aos 450px viewport.
   Cálculo: top-bar 32 + hero 500 = 532. Pills a 450 → -82. */
/* CAIXA flutuante no TOPO do banner — posicionada absoluta dentro do hero-v1 */
/* Search-wrap dentro do hero, relative, com transbordo via margin-bottom negativo */
.hero-v1-search-wrap{
  position:relative;
  z-index:3;
  width:100%;
  max-width:1280px;
  margin:auto auto -40px;
  padding:60px 36px 0;
  display:flex;
  flex-direction:column;
}
/* Pills ACIMA da caixa */
.hero-v1-search-wrap .search-editorial-trust{order:1;margin:0 0 22px;padding:0 12px}
.hero-v1-search-wrap .search-editorial{order:2}
@media(max-width:1023px){
  .hero-v1-search-wrap{margin:auto auto -35px;padding-left:24px;padding-right:24px}
}
@media(max-width:767px){
  .hero-v1-search-wrap{margin:auto auto -30px;padding-left:16px;padding-right:16px;padding-top:100px}
}

/* Search box editorial: linha contínua com separadores verticais */
.search-editorial{
  display:grid;
  grid-template-columns:1.3fr 1.3fr 2fr 0.85fr 0.85fr 0.8fr auto;
  gap:0;
  align-items:stretch;
  background:rgba(255,255,255,0.6);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.4);
  box-shadow:0 16px 50px rgba(0,0,0,0.18);
  overflow:hidden;
}
@media(max-width:1199px){
  .search-editorial{grid-template-columns:1fr 1fr;}
  .search-editorial-btn{grid-column:1 / -1;border-radius:0!important;height:auto!important;min-height:60px!important}
}

/* Mobile (≤767px): 6 colunas implícitas para máxima flexibilidade */
@media(max-width:767px){
  .search-editorial{grid-template-columns:repeat(6,1fr)}
  /* Linha 1 — Pickup local (3 cols) + Return local (3 cols) — 50/50 */
  .search-editorial-field:nth-of-type(1){grid-column:1 / span 3}
  .search-editorial-field:nth-of-type(2){grid-column:4 / span 3}
  /* Linha 2 — Datas (linha inteira, 6 cols) */
  .se-field-dates{grid-column:1 / -1}
  /* Linha 3 — Horas + Idade (3 colunas iguais de 2 cols cada) */
  .se-field-time-pickup{grid-column:1 / span 2}
  .se-field-time-return{grid-column:3 / span 2}
  .se-field-age{grid-column:5 / span 2}
  /* Botão linha inteira */
  .search-editorial-btn{grid-column:1 / -1}
  /* Labels curtos com ícone para horas (esconde label original, usa ::before) */
  .se-field-time-pickup .se-label,
  .se-field-time-return .se-label{font-size:0;line-height:0}
  .se-field-time-pickup .se-label::before{content:"⏱ Pickup";font-size:0.7rem;line-height:1.2;letter-spacing:0.5px;white-space:nowrap;display:inline-block}
  .se-field-time-return .se-label::before{content:"⏱ Return";font-size:0.7rem;line-height:1.2;letter-spacing:0.5px;white-space:nowrap;display:inline-block}
  /* Padding mobile compacto + TUDO centrado horizontalmente */
  .search-editorial-field{padding:14px 10px;min-height:64px;border-right:1px solid rgba(255,255,255,0.5);border-bottom:1px solid rgba(255,255,255,0.5);text-align:center;align-items:center}
  .search-editorial-field .se-label{text-align:center}
  .search-editorial-field .se-input,
  .search-editorial-field .se-select{text-align:center;text-align-last:center}
  /* Remover borda direita da última coluna de cada linha */
  .search-editorial-field:nth-of-type(2),
  .se-field-dates,
  .se-field-age{border-right:none}
  /* Idade destacada visualmente */
  .se-field-age .se-select{font-weight:600;color:var(--cyan)}
}

.search-editorial-field{
  padding:22px;
  border-right:1px solid rgba(255,255,255,0.5);
  display:flex;
  flex-direction:column;
  justify-content:center;
  height:90px;
}
@media(max-width:1199px){
  .search-editorial-field{border-bottom:1px solid rgba(255,255,255,0.5)}
  .search-editorial-field:nth-child(2n){border-right:none}
}

.se-label{
  display:block;
  font-family:'DM Serif Display',serif;
  font-size:0.7rem;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:#06596a;
  font-weight:600;
  margin-bottom:8px;
  font-style:italic;
  white-space:nowrap;
}

.se-select,
.se-input{
  width:100%;
  border:none;
  background:transparent;
  outline:none;
  font-family:'Inter',sans-serif;
  font-size:0.95rem;
  font-weight:600;
  color:#0a0a0a;
  cursor:pointer;
  padding:0;
  appearance:none;
  -webkit-appearance:none;
  background-image:none;
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow:hidden;
  min-width:0;
}
.se-select:focus,
.se-input:focus{outline:none}
/* Placeholder visível (caso "Selecionar datas") — sem isto fica quase invisível em frosted */
.se-input::placeholder{color:#5a6770;opacity:1}
.se-input::-webkit-input-placeholder{color:#5a6770;opacity:1}
.se-input::-moz-placeholder{color:#5a6770;opacity:1}

/* Campo das datas — texto fica longo após selecionar (ex: 01/05/2026 to 02/05/2026) */
#searchDateRange{
  font-size:0.88rem;
}

/* Botão Pesquisar — escuro, editorial */
.search-editorial-btn{
  background:#151515;
  color:#FFFFFF;
  border:none;
  padding:18px 32px;
  font-family:'Inter',sans-serif;
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase;
  cursor:pointer;
  height:90px;
  transition:background .25s ease;
  border-radius:0;
}
.search-editorial-btn:hover{background:#0ec0e8}

/* Linha de garantias — 4 pills com ícones */
.search-editorial-trust{
  margin:0;
  padding:0 12px;
}
/* Track das pills: em desktop é flex transparente; em mobile vira carrossel.
   NÃO usar display:contents aqui — bugado em iOS Safari. */
.trust-track{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.trust-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 16px;
  border-radius:50px;
  background:#ffffff;
  border:1px solid rgba(255,255,255,0.6);
  font-family:'Inter',sans-serif;
  font-size:0.78rem;
  font-weight:500;
  color:#151515;
  letter-spacing:0.3px;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(0,0,0,0.15);
  transition:all .25s ease;
  animation:pulseTrust 3s ease-in-out infinite;
}
.trust-pill-clone{display:none !important}
.trust-pill:nth-child(1){animation-delay:0s}
.trust-pill:nth-child(2){animation-delay:0.6s}
.trust-pill:nth-child(3){animation-delay:1.2s}
.trust-pill:nth-child(4){animation-delay:1.8s}
@keyframes pulseTrust{
  0%,100%{transform:scale(1);box-shadow:0 4px 12px rgba(0,0,0,0.15)}
  50%{transform:scale(1.04);box-shadow:0 6px 18px rgba(14,192,232,0.4)}
}
.trust-pill:hover{
  animation-play-state:paused;
  transform:scale(1.06);
  box-shadow:0 6px 20px rgba(14,192,232,0.5);
}
.trust-pill svg{
  flex-shrink:0;
  color:var(--cyan);
  stroke-width:2.5;
}
@media(prefers-reduced-motion:reduce){
  .trust-pill{animation:none}
}

/* Espaço entre fim do hero e secção seguinte (acomoda transbordo da caixa de pesquisa) */
.hero-v1 + section,
.hero-v1 ~ section:first-of-type{
  padding-top:100px !important;
}
@media(max-width:1023px){
  .hero-v1 + section,
  .hero-v1 ~ section:first-of-type{padding-top:80px !important}
}
@media(max-width:767px){
  .hero-v1 + section,
  .hero-v1 ~ section:first-of-type{padding-top:70px !important}
}

/* ===========================================================
   FLATPICKR — Modo light (default Onda Drive)
   Corrige sobreposição dos dias selecionados/range
   =========================================================== */
.flatpickr-calendar{
  border-radius:12px !important;
  box-shadow:0 12px 40px rgba(0,0,0,0.15) !important;
  border:1px solid #e7e7e7 !important;
}

.flatpickr-day{
  border-radius:8px !important;
  border:1px solid transparent !important;
  margin:1px !important;
  max-width:38px !important;
  height:38px !important;
  line-height:36px !important;
}

.flatpickr-day:hover{
  background:rgba(14,192,232,0.1) !important;
  border-color:rgba(14,192,232,0.2) !important;
  color:var(--cyan) !important;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover{
  background:var(--cyan) !important;
  border-color:var(--cyan) !important;
  color:#fff !important;
  font-weight:700 !important;
  box-shadow:none !important;
}

.flatpickr-day.inRange,
.flatpickr-day.inRange:hover{
  background:rgba(14,192,232,0.12) !important;
  border-color:transparent !important;
  color:var(--title) !important;
  box-shadow:none !important;
}

.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange + .flatpickr-day.endRange:not(:nth-child(7n+1)){
  box-shadow:none !important;
}

.flatpickr-day.today{
  border-color:var(--cyan) !important;
  color:var(--cyan) !important;
}

.flatpickr-day.today.selected{
  color:#fff !important;
}

/* ===========================================================
   MODAL — Bloqueio de aluguer para idade 70+
   =========================================================== */
.age-block-modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.65);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  z-index:99999;
  align-items:center;
  justify-content:center;
  padding:20px;
  animation:fadeIn .2s ease;
}
.age-block-modal.open{display:flex}

.age-block-modal-box{
  background:#fff;
  border-radius:16px;
  max-width:480px;
  width:100%;
  padding:36px 32px;
  text-align:center;
  box-shadow:0 24px 80px rgba(0,0,0,0.3);
  animation:modalSlideUp .25s ease;
}

@keyframes modalSlideUp{
  from{opacity:0;transform:translateY(20px) scale(0.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.age-block-icon{
  width:72px;
  height:72px;
  margin:0 auto 20px;
  border-radius:50%;
  background:rgba(220,38,38,0.1);
  color:#dc2626;
  display:flex;
  align-items:center;
  justify-content:center;
}

.age-block-title{
  margin:0 0 14px;
  font-family:'DM Serif Display',serif;
  font-size:1.6rem;
  font-weight:400;
  color:var(--title);
  letter-spacing:-0.3px;
}

.age-block-desc{
  margin:0 0 12px;
  font-family:'Inter',sans-serif;
  font-size:0.95rem;
  line-height:1.6;
  color:var(--body);
}

.age-block-desc-small{
  margin:0 0 28px;
  font-family:'Inter',sans-serif;
  font-size:0.85rem;
  line-height:1.5;
  color:#888;
}

.age-block-actions{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
}

.age-block-btn-primary{
  padding:12px 26px;
  background:var(--cyan);
  color:#fff;
  border:none;
  border-radius:50px;
  font-family:'Inter',sans-serif;
  font-size:0.88rem;
  font-weight:600;
  text-decoration:none;
  cursor:pointer;
  transition:background .2s ease;
  display:inline-block;
}
.age-block-btn-primary:hover{background:var(--cyan-dark)}

.age-block-btn-secondary{
  padding:12px 26px;
  background:transparent;
  color:var(--body);
  border:1px solid #e7e7e7;
  border-radius:50px;
  font-family:'Inter',sans-serif;
  font-size:0.88rem;
  font-weight:500;
  cursor:pointer;
  transition:all .2s ease;
}
.age-block-btn-secondary:hover{
  background:#f8f8f8;
  border-color:#d0d0d0;
}

/* ===== TRUST PILLS — Lógica simples =====
   ≥1280px: 4 pills numa linha (flex natural)
   <1280px: 2 linhas de 2+2 (cada pill ocupa 50% - gap)
   Pills NUNCA aparecem em escada/3+1/4 separadas. */
@media(max-width:1279px){
  .trust-track{
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
  }
  .trust-pill{
    animation:none !important;
    box-sizing:border-box;
    flex:0 0 calc(50% - 4px);
    max-width:calc(50% - 4px);
    justify-content:center;
    min-width:0;
  }
}
/* Mobile (≤767px): pills mais compactas para caber em ecrãs estreitos */
@media(max-width:767px){
  .trust-pill{
    padding:7px 10px;
    font-size:0.7rem;
    gap:5px;
  }
  .trust-pill svg{width:12px;height:12px;flex-shrink:0}
}

/* ===== iOS ZOOM FIX ===== */
/* iOS zooms in any input/select/textarea with font-size < 16px when focused.
   Force 16px on mobile to prevent that, while keeping desktop design intact. */
@media(max-width:767px){
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="password"],
  input[type="search"],
  input[type="url"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  select,
  textarea{
    font-size:16px !important;
  }
}