
:root{--ink:#f7f7f7;--red:#ff1515;--red2:#ff3b3b;--paper:#111317;--muted:#aeb4bf;--line:#2b2f36;--green:#25d366;--danger:#ff3131}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#090a0d;line-height:1.55}
a{color:inherit}.container{width:min(1180px,92%);margin:auto}.top{background:#000;color:white;border-bottom:1px solid #262626;padding:9px 0;font-size:14px}.top .container{display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap}
header{position:sticky;top:0;z-index:100;background:#0c0e12;border-bottom:1px solid var(--line);box-shadow:0 2px 15px #0000000a}.nav{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:18px}.brand{font-weight:900;font-size:21px;text-decoration:none}.brand b{color:var(--red)}.menu{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.menu a{text-decoration:none;font-weight:800;font-size:14px}.menu a.cta{background:var(--red);color:white;box-shadow:0 0 24px #ff151544;padding:12px 16px;border-radius:12px}
.hero{background:radial-gradient(circle at 85% 20%,#410000 0,#150709 24%,#08090c 58%,#000 100%);color:white;padding:55px 0 68px}.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:34px;align-items:center}.eyebrow{color:#ff5757;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-size:clamp(38px,5.5vw,72px);line-height:1.01;margin:10px 0 18px}.hero p{font-size:20px;color:#e7eaf0}.trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.pill{background:#ffffff12;border:1px solid #ffffff2b;padding:8px 12px;border-radius:999px;font-weight:800}.stars{color:#f4bd24;font-size:25px;letter-spacing:2px}.booking{background:#121419;color:#fff;border:1px solid #2b2e34;border-radius:24px;padding:26px;box-shadow:0 25px 70px #0008}.booking h2{font-size:32px;margin:0 0 7px}.booking .lead{font-size:18px;color:#aeb4bf;margin:0 0 18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{margin-bottom:14px}.field label{display:block;font-size:20px;font-weight:900;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;min-height:58px;padding:14px 15px;border:2px solid #343840;border-radius:13px;font-size:18px;background:#fff;color:#111}.field input:focus,.field select:focus{outline:3px solid #ff15153d;border-color:var(--red)}.full{grid-column:1/-1}
.vehicle-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 18px}.veh{border:2px solid #343840;border-radius:14px;padding:14px;cursor:pointer;font-size:18px;font-weight:900;background:#191c22;color:#fff}.veh.active{border-color:var(--red);background:#2a0b0b;box-shadow:0 0 18px #ff151526}.bigbtn{border:0;border-radius:14px;padding:17px 20px;font-weight:900;font-size:21px;cursor:pointer}.calc{background:linear-gradient(180deg,#ff3535,#e70000);color:white;width:100%;box-shadow:0 8px 28px #ff15153b}.reserve{background:linear-gradient(180deg,#ff3535,#d90000);color:#fff;width:100%;margin-top:10px}.geo{background:#242831;color:#fff;border:0;padding:10px 12px;border-radius:10px;font-weight:800;cursor:pointer;margin-top:6px}.pricebox{display:none;background:#20090a;border:2px solid var(--red);border-radius:15px;padding:15px;margin:14px 0}.pricebox strong{display:block;font-size:42px;color:#ff3636;text-shadow:0 0 18px #ff151540}.small{font-size:14px;color:var(--muted)}
section{padding:58px 0}.section-title{font-size:clamp(30px,4vw,48px);margin:0 0 10px}.section-lead{color:var(--muted);font-size:19px;max-width:820px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.card{background:#121419;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 30px #1111}.card h3{font-size:23px;margin:5px 0}.card a.more{font-weight:900;color:#ff4c4c}.dark{background:#030405;color:#fff}.dark .section-lead{color:#cdd3dc}.route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.route{background:#121419;border:1px solid var(--line);border-radius:14px;padding:15px;text-decoration:none;font-weight:800}.dark .route{background:#ffffff0d;border-color:#ffffff25}.alphabet{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.alphabet a{background:#1d2026;color:#fff;padding:7px 10px;border-radius:8px;text-decoration:none;font-weight:900}.event{border-left:5px solid var(--red);}.event time{font-weight:900;color:#ff5555}.notice{background:#251011;border:1px solid #7a2326;color:#fff;border-radius:12px;padding:14px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.photo-grid img{width:100%;border-radius:18px;aspect-ratio:16/9;object-fit:cover}
footer{background:#090c11;color:#ddd;padding:42px 0 95px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:25px}.float{position:fixed;bottom:18px;z-index:140;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:white;text-decoration:none;font-size:28px;box-shadow:0 8px 25px #0005}.phone{left:18px;background:#111}.wa{right:18px;background:#25d366}.cookie{position:fixed;left:18px;right:18px;bottom:18px;z-index:300;background:#111;color:white;border:1px solid #444;border-radius:18px;padding:18px;display:none;box-shadow:0 15px 50px #0008}.cookie .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.cookie button{padding:11px 15px;border-radius:10px;border:0;font-weight:900;cursor:pointer}.cookie .ok{background:var(--gold)}.cookie .no{background:#333;color:#fff}.breadcrumb{font-size:14px;color:#667085;margin:18px 0}.hero-mini{background:radial-gradient(circle at 80% 0,#4e0000 0,#170607 28%,#08090c 68%);color:#fff;padding:48px 0}.hero-mini h1{font-size:clamp(34px,5vw,58px);margin:5px 0}.local-copy{font-size:18px}.local-copy h2{font-size:32px;margin-top:32px}.badge{display:inline-block;background:#2b0c0d;border:1px solid #992a2d;color:#fff;padding:6px 10px;border-radius:999px;font-weight:900;margin:4px}
@media(max-width:900px){.hero-grid,.cards,.footer-grid,.photo-grid{grid-template-columns:1fr}.route-grid{grid-template-columns:1fr 1fr}.menu{display:none}.hero{padding-top:35px}.booking{padding:20px}.grid2{grid-template-columns:1fr}.field label{font-size:19px}.field input,.field select{font-size:18px;min-height:61px}}
@media(max-width:520px){.route-grid{grid-template-columns:1fr}.vehicle-tabs{grid-template-columns:1fr}.hero h1{font-size:42px}.booking h2{font-size:29px}}

.booking-simple{max-width:820px;margin-left:auto}
.route-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.loc-wrap{display:flex;gap:8px;align-items:stretch}.loc-wrap input{flex:1}.loc-wrap .geo{margin:0;min-width:58px;font-size:22px}
.calcline{margin:12px 0 18px}.vehicle-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 18px}
.vehicle-choice button{text-align:left;min-height:86px;padding:15px;border-radius:15px;background:#181b20;color:#fff;border:2px solid #333941;font-size:17px;font-weight:800}
.vehicle-choice button.active{border-color:#ff1515;background:#2c0a0b;box-shadow:0 0 24px #ff151528}
.vehicle-choice b{display:block;font-size:20px;margin-bottom:4px}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pay{background:#fff;color:#111;width:100%}
.booking-note{font-size:14px;color:#9da4ae;margin-top:11px;text-align:center}
.red-stars{font-size:25px;letter-spacing:3px;color:#ff2424;text-shadow:0 0 12px #ff151555}
@media(max-width:700px){.route-row,.vehicle-choice,.action-grid{grid-template-columns:1fr}.booking-simple{max-width:none}}

.step{border:1px solid #2b2f36;border-radius:16px;padding:16px;margin:14px 0;background:#0f1115}
.step-title{display:flex;align-items:center;gap:10px;font-weight:900;font-size:19px;margin-bottom:12px}
.step-num{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ff1515;color:#fff;font-size:15px}
.hidden-step{display:none}
.route-actions{display:grid;grid-template-columns:1fr;gap:10px}
.vehicle-choice{margin-top:12px}
.vehicle-choice button{cursor:pointer}
.booking-summary{background:#0b0c0f;border:1px dashed #494f58;border-radius:13px;padding:12px 14px;margin-top:12px}
.booking-summary strong{color:#ff3b3b}
.security-note{font-size:13px;color:#8f96a2;margin-top:10px}
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:700px){.step{padding:14px}}

.grid3 img{width:100%;height:260px;object-fit:cover;border-radius:18px;border:1px solid #30343b;box-shadow:0 14px 34px #0008}

.powered{border-top:1px solid #25282e;margin-top:28px;padding:18px 16px;text-align:center;color:#949aa4;font-size:14px}
.powered a{color:#fff;font-weight:900;text-decoration:none}.powered a:hover{color:#ff2a2a}.powered span{color:#6f7580}
.float-bubble{position:fixed;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;z-index:9999;text-decoration:none;font-size:25px;box-shadow:0 12px 30px #0009;border:1px solid #34373e;transition:.18s transform,.18s box-shadow}
.float-bubble:hover{transform:translateY(-3px) scale(1.03)}
.float-phone{left:20px;background:#050607;color:#fff}
.float-message{right:20px;background:linear-gradient(145deg,#ff3838,#e00000);color:#fff;border-color:#ff5050;box-shadow:0 10px 34px #ff151548}
@media(max-width:700px){.float-bubble{width:54px;height:54px;bottom:16px}.float-phone{left:14px}.float-message{right:14px}}

/* V6 professional polish */
.top-phone,.nav-phone-pro,.side-phone-pro{font-weight:900;letter-spacing:.2px}
.side-phone-pro,.nav-phone-pro{
  display:block;margin:18px 0 0;padding:14px 16px;border-radius:12px;
  background:#ff1515;color:#fff!important;text-decoration:none;text-align:center;
  box-shadow:0 8px 24px #ff15153d
}
.float-phone{background:#050607!important;color:#fff!important;border:1px solid #30343b!important}
.float-message{background:linear-gradient(145deg,#ff4141,#e00000)!important;color:#fff!important;border:1px solid #ff5555!important}
.real-fleet{background:#0b0c0f}
.real-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.real-photo-grid figure{margin:0;background:#121419;border:1px solid #2d3138;border-radius:18px;overflow:hidden}
.real-photo-grid img{display:block;width:100%;height:280px;object-fit:cover}
.real-photo-grid figcaption{padding:14px 16px;font-weight:800;color:#fff}
@media(max-width:820px){.real-photo-grid{grid-template-columns:1fr}.real-photo-grid img{height:240px}}

/* V13 footer readability */
footer{font-size:18px!important;line-height:1.7!important;padding-top:60px!important;padding-bottom:110px!important}footer h3{font-size:24px!important}footer a,footer p{font-size:18px!important}.powered{font-size:16px!important;padding-top:24px!important}

/* AJUSTES V14 */
.float.phone, .floating-phone, a[href^="tel:+34911745296"].float, a[href^="tel:911745296"].float{
  background:#e30613 !important;
  color:#fff !important;
  border-color:#e30613 !important;
}
.float.phone svg, .floating-phone svg{fill:#fff !important;color:#fff !important;}
.menu-phone-v14{
  display:block;
  margin:18px 0 8px;
  padding:14px 16px;
  background:#e30613;
  color:#fff !important;
  font-size:27px;
  font-weight:900;
  line-height:1.1;
  text-align:center;
  border-radius:12px;
  text-decoration:none !important;
  letter-spacing:.4px;
}
.menu-phone-v14 small{
  display:block;
  font-size:13px;
  font-weight:700;
  margin-bottom:5px;
  opacity:.95;
}

/* V15: botones flotantes definitivos */
.float-bubble.float-phone{
    background:#e30613!important;
    color:#fff!important;
    border-color:#e30613!important;
}
.float-bubble.float-phone:hover{background:#c9000b!important;color:#fff!important}
