@import "tailwindcss";

:root {
  --ink: #0c2238;
  --navy: #071a2e;
  --teal: #155b91;
  --sea: #2d78ad;
  --mint: #eef5fb;
  --coral: #ff6b57;
  --sand: #f4f7fb;
  --line: #dbe4ee;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--sand); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
button, input { font: inherit; }
a { color: inherit; text-decoration: none; }

.site-header {
  height: 78px; padding: 0 clamp(24px, 6vw, 96px); display: flex; align-items: center;
  justify-content: space-between; gap: 32px; background: rgba(255,255,255,.96); position: relative; z-index: 20;
  border-bottom: 1px solid rgba(7,72,83,.08);
}
.brand { display: flex; align-items: center; gap: 11px; font-size: 20px; letter-spacing: -.4px; color: #0a485b; white-space: nowrap; }
.brand strong { font-weight: 800; }
.brand-mark { position: relative; display: inline-block; width: 43px; height: 38px; overflow: hidden; }
.mark-sun { position: absolute; width: 13px; height: 13px; background: var(--coral); border-radius: 50%; left: 16px; top: 2px; }
.mark-island { position: absolute; width: 34px; height: 20px; background: #087d76; border-radius: 80% 20% 30% 10%; transform: rotate(-7deg); left: 4px; top: 13px; clip-path: polygon(0 100%, 42% 8%, 54% 43%, 67% 26%, 100% 100%); }
.mark-wave { position: absolute; width: 44px; height: 9px; border-top: 3px solid var(--coral); border-radius: 50%; left: 0; }
.wave-one { top: 28px; }.wave-two { top: 34px; left: 7px; }
.site-header nav { display: flex; gap: 34px; font-size: 14px; font-weight: 700; }
.site-header nav a { padding: 10px 0; border-bottom: 2px solid transparent; }
.site-header nav a:hover { color: var(--teal); border-color: var(--coral); }
.header-action { border: 1px solid #b9d5d4; padding: 11px 17px; border-radius: 10px; font-size: 13px; font-weight: 800; }

.hero {
  min-height: 454px; position: relative; overflow: hidden; background: linear-gradient(112deg, #07384e 0%, #075a67 52%, #11959a 100%);
  color: white; padding: 70px clamp(24px, 8vw, 128px) 150px;
}
.hero::after { content:""; position:absolute; inset:auto 0 0; height:115px; background:linear-gradient(180deg, transparent, rgba(2,51,65,.3)); z-index:3; }
.hero-glow { position:absolute; border-radius:50%; filter:blur(4px); opacity:.35; }
.glow-one { width:420px; height:420px; background:#11c0b1; right:9%; top:-150px; }.glow-two { width:360px; height:360px; background:#03435d; left:30%; bottom:-260px; }
.hero-copy { position: relative; z-index: 5; max-width: 620px; }
.eyebrow { display:flex; align-items:center; gap:10px; color:#b9ede3; font-weight:800; letter-spacing:1.8px; font-size:12px; text-transform:uppercase; }
.eyebrow span { width:23px; height:2px; background:var(--coral); }
.hero h1 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(46px, 5.5vw, 75px); line-height: .99; font-weight: 500; letter-spacing:-2.7px; margin:21px 0 22px; }
.hero h1 em { font-style: italic; color:#74ddd1; font-weight:400; }
.hero-copy > p { max-width: 610px; color:#d7eeec; font-size:17px; line-height:1.65; margin:0; }
.hero-trust { margin-top:33px; display:flex; align-items:center; gap:23px; }
.hero-trust div { display:flex; flex-direction:column; gap:5px; }.hero-trust b {font-size:13px}.hero-trust span {font-size:11px;color:#9bd0cd}.hero-trust i {height:30px;width:1px;background:rgba(255,255,255,.18)}

.hero-photo { position:absolute; inset:0 0 0 auto; width:55%; height:100%; margin:0; z-index:2; overflow:hidden; }
.hero-photo::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#07384e 0%,rgba(7,56,78,.76) 18%,rgba(7,56,78,.12) 58%,rgba(7,56,78,.05) 100%); }
.hero-photo::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(2,30,42,.05) 45%,rgba(2,30,42,.7) 100%); }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:56% center; filter:saturate(.92) contrast(1.03); }
.hero-photo figcaption { position:absolute; right:clamp(24px,5vw,72px); bottom:92px; z-index:2; display:flex; flex-direction:column; gap:5px; padding:12px 15px; border:1px solid rgba(255,255,255,.25); border-radius:10px; background:rgba(3,42,57,.68); backdrop-filter:blur(10px); }
.hero-photo figcaption span { font-size:8px; letter-spacing:1.5px; color:#9fe1d8; font-weight:900; text-transform:uppercase; }
.hero-photo figcaption b { font-family:Georgia,'Times New Roman',serif; font-size:15px; font-weight:500; color:white; }

.booking-shell { position:relative; z-index:10; width:min(1160px, calc(100% - 48px)); margin:-94px auto 70px; background:white; border-radius:19px; box-shadow:0 25px 70px rgba(2,47,63,.17); padding:29px 34px 0; }
.booking-head {display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:21px;border-bottom:1px solid var(--line)}
.step-kicker {font-size:10px;font-weight:900;letter-spacing:1.7px;color:var(--teal)}
.booking-head h2 {font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:26px;margin:6px 0 0;letter-spacing:-.5px}
.steps {display:flex;align-items:center;margin-top:8px}.steps .step-piece{display:flex;align-items:center}.steps b{width:26px;height:26px;border-radius:50%;background:#edf3f3;color:#7c999d;display:grid;place-items:center;font-size:11px;font-weight:800}.steps b.active{background:var(--teal);color:white}.steps i{display:block;width:35px;height:2px;background:#dce8e8}.steps i.active{background:var(--teal)}
.trip-toggle {display:inline-flex;background:#edf6f4;padding:4px;border-radius:10px;margin:23px 0 19px}.trip-toggle button{border:0;background:transparent;color:#4c6a70;border-radius:7px;padding:10px 20px;font-size:12px;font-weight:800;cursor:pointer}.trip-toggle button.active{background:white;color:var(--teal);box-shadow:0 2px 7px rgba(0,67,73,.1)}.trip-toggle span{color:var(--coral);font-size:9px;margin-left:4px}
.route-grid {display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;position:relative}.field{border:1px solid #d6e3e4;border-radius:11px;padding:14px 17px;display:flex;flex-direction:column;min-width:0}.field>span{font-size:9px;letter-spacing:1.2px;font-weight:900;color:#7a9699}.field strong{font-size:17px;margin:6px 0 3px}.field small{font-size:10px;color:#7b9598}.date-field input{border:0;outline:0;color:var(--ink);font-weight:800;font-size:15px;margin:4px 0 1px;padding:0;background:transparent}.swap{position:absolute;left:calc(33.333% - 6px);top:26px;transform:translateX(-50%);z-index:2;width:31px;height:31px;border-radius:50%;border:1px solid #d2e2e2;background:white;color:var(--teal);font-weight:800;cursor:pointer;box-shadow:0 3px 10px rgba(6,61,70,.12)}
.schedule-title{display:flex;justify-content:space-between;align-items:center;margin:23px 0 12px}.schedule-title div{display:flex;align-items:center;gap:8px}.schedule-title strong{font-size:13px}.schedule-title small{color:#80979a;font-size:10px}.clock-dot{color:var(--coral);font-size:20px}
.times{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.times button{border:1px solid #d8e5e5;border-radius:10px;background:white;padding:12px 6px;text-align:center;cursor:pointer;color:var(--ink)}.times button strong{display:block;font-size:12px}.times button span{font-size:8px;color:#6c8d90;display:block;margin-top:5px}.times button:hover,.times button.active{border-color:var(--teal);background:#ecf9f6;box-shadow:inset 0 0 0 1px var(--teal)}.times button.active strong{color:var(--teal)}
.booking-footer {margin:25px -34px 0;padding:19px 34px;display:flex;align-items:center;justify-content:space-between;background:#f7fbfa;border-radius:0 0 19px 19px}.booking-footer p{font-size:10px;color:#728b8e}.booking-footer p span{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#ddf4ed;color:#078a76;margin-right:6px}.booking-footer button{display:flex;align-items:center;gap:20px;border:0;background:var(--coral);color:white;padding:13px 20px;border-radius:9px;font-size:12px;font-weight:900;box-shadow:0 8px 20px rgba(255,107,74,.24);cursor:pointer}.booking-footer button:hover{background:#ed5c3c;transform:translateY(-1px)}

.booking-expanded{padding-bottom:32px}.detail-layout,.payment-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:34px;padding:25px 0 0}.detail-main,.payment-main{min-width:0}.counter-card{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:13px;padding:17px 19px}.counter-card>div:first-child{display:flex;flex-direction:column;gap:4px}.counter-card span,.vehicle-heading span,.input-kicker{font-size:9px;font-weight:900;letter-spacing:1.25px;color:#7b9699}.counter-card strong,.vehicle-heading strong{font-size:15px}.counter-card small{font-size:10px;color:#789093}.counter{display:flex;align-items:center;gap:15px}.counter button{width:33px;height:33px;border-radius:50%;border:1px solid #cddede;background:white;color:var(--teal);font-size:19px;cursor:pointer}.counter b{min-width:18px;text-align:center}.vehicle-heading{display:flex;flex-direction:column;gap:5px;margin:20px 0 11px}.vehicle-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vehicle-grid>button{display:grid;grid-template-columns:38px 1fr auto;align-items:center;text-align:left;gap:10px;border:1px solid var(--line);background:white;border-radius:11px;padding:11px;cursor:pointer;color:var(--ink)}.vehicle-grid>button.active{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#f1fbf8}.vehicle-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#edf6f4;color:var(--teal);font-weight:900;font-size:12px}.vehicle-grid button>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.vehicle-grid button b,.vehicle-grid button>strong{font-size:11px}.vehicle-grid button small{font-size:9px;color:#7c9598}.vehicle-grid button>strong{color:var(--teal)}.rate-note{font-size:9px;color:#7c9194;margin:8px 2px 17px;line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-row label,.phone-field,.card-fields>label{display:flex;flex-direction:column;gap:7px}.form-row label span,.phone-field span,.card-fields label span{font-size:8px;letter-spacing:1px;font-weight:900;color:#718d90}.form-row input,.phone-field input,.card-fields input{border:1px solid var(--line);border-radius:10px;padding:12px 13px;outline:0;color:var(--ink);background:white}.form-row input:focus,.phone-field input:focus,.card-fields input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,124,131,.1)}
.summary-card{background:#073c4f;color:white;border-radius:14px;padding:21px 20px;align-self:start;box-shadow:0 14px 32px rgba(4,51,66,.16)}.summary-kicker{font-size:8px;letter-spacing:1.4px;color:#7bc8c2;font-weight:900}.summary-card h3{font-family:Georgia,'Times New Roman',serif;font-size:20px;margin:11px 0 5px;font-weight:500}.summary-card h3 b{color:var(--coral);margin:0 4px}.summary-card>p{font-size:10px;color:#a9cfce}.summary-card hr{border:0;border-top:1px solid rgba(255,255,255,.14);margin:18px 0}.summary-card>div{display:flex;justify-content:space-between;gap:14px;margin:11px 0;font-size:11px;color:#c5dddd}.summary-card>div b{color:white}.summary-card .summary-total{align-items:end;margin-bottom:2px}.summary-total span{font-weight:800;color:white}.summary-total strong{font-family:Georgia,'Times New Roman',serif;font-size:25px;color:#8ce0d4}.summary-card>small{font-size:8px;color:#83aaa9}.summary-card .roundtrip-note{display:block;color:#78ddd0;margin:9px 0}.summary-card>button:not(.back-link){width:100%;margin-top:18px;border:0;border-radius:9px;padding:13px 12px;background:var(--coral);color:white;font-weight:900;font-size:11px;cursor:pointer}.summary-card .back-link{display:block;width:100%;border:0;background:transparent;color:#a9cccc;font-size:9px;margin-top:11px;cursor:pointer}
.secure-badge{display:flex;align-items:center;gap:11px;background:#edf9f5;border:1px solid #d3eee5;border-radius:11px;padding:12px 14px;margin-bottom:22px}.secure-badge>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#cbeee2;color:#078a76;font-weight:900}.secure-badge div{display:flex;flex-direction:column;gap:3px}.secure-badge b{font-size:11px}.secure-badge small{font-size:9px;color:#6f8c8d}.phone-field{margin-top:11px}.pay-title{display:block;margin:23px 0 10px}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:9px}.payment-methods button{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:7px;border:1px solid var(--line);background:white;border-radius:10px;padding:12px;color:var(--ink);cursor:pointer}.payment-methods button.active{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#f1fbf8}.payment-methods button>span{grid-row:1/3;display:grid;place-items:center;color:var(--teal);font-size:20px}.payment-methods b{font-size:11px}.payment-methods small{font-size:8px;color:#799092}.card-fields{display:grid;gap:11px;margin-top:13px}.transfer-box{border:1px dashed #a9cfcc;border-radius:10px;background:#f6fbfa;padding:14px;margin-top:13px}.transfer-box b{font-size:11px}.transfer-box p{font-size:9px;color:#70898c;line-height:1.5;margin:5px 0 0}.payment-summary .terms{font-size:8px;line-height:1.45;text-align:center;color:#82aaa9;margin-top:10px}.pay-button{box-shadow:0 8px 20px rgba(255,107,74,.22)}
.success-state{text-align:center;padding:23px 20px 35px}.success-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#ddf6ed;color:#008775;font-size:26px;font-weight:900}.success-state>span{font-size:9px;letter-spacing:1.4px;color:var(--teal);font-weight:900}.success-state h2{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:500;margin:8px 0}.success-state>p{font-size:12px;color:#6f898c}.ticket-preview{max-width:650px;margin:22px auto;display:grid;grid-template-columns:1.6fr 1fr 90px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:13px;padding:16px;background:#f8fbfa}.ticket-preview>div:first-child{display:flex;align-items:center;gap:10px}.ticket-preview>div>span{display:flex;flex-direction:column}.ticket-preview small{font-size:8px;color:#789396;letter-spacing:1px}.ticket-preview strong{font-size:12px;margin-top:4px}.qr-demo{height:70px;position:relative;background:repeating-linear-gradient(45deg,#073c4f 0 5px,white 5px 9px);border:7px solid white;box-shadow:0 0 0 1px #dce6e6}.qr-demo i{position:absolute;width:15px;height:15px;border:4px solid #073c4f;background:white}.qr-demo i:nth-child(1){left:2px;top:2px}.qr-demo i:nth-child(2){right:2px;top:2px}.qr-demo i:nth-child(3){left:2px;bottom:2px}.success-state>button{border:0;border-radius:9px;background:var(--coral);color:white;padding:13px 20px;font-size:11px;font-weight:900;cursor:pointer}

.travel-services{padding:88px clamp(24px,8vw,120px) 76px;background:linear-gradient(180deg,#f7f3ea 0%,#fbfaf6 100%);scroll-margin-top:30px}
.services-intro{width:min(1160px,100%);margin:0 auto 34px;display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:70px}
.services-intro>div>span{font-size:9px;letter-spacing:1.8px;color:var(--teal);font-weight:900}
.services-intro h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,4.2vw,56px);font-weight:500;line-height:1.02;letter-spacing:-1.7px;margin:11px 0 0}
.services-intro h2 em{font-weight:400;color:var(--teal)}
.services-intro>p{font-size:13px;line-height:1.7;color:#5f7b7d;margin:0 0 5px;max-width:440px}
.service-grid{width:min(1160px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.service-card{background:white;border:1px solid rgba(13,99,101,.12);border-radius:20px;overflow:hidden;box-shadow:0 18px 55px rgba(4,54,66,.08)}
.service-media{position:relative;height:290px;overflow:hidden;background:#dcebe7}
.service-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,39,49,.02) 38%,rgba(3,39,49,.7) 100%)}
.service-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}
.service-stay .service-media img,.service-rental .service-media img{object-position:center 48%}
.service-card:hover .service-media img{transform:scale(1.025)}
.service-badge{position:absolute;z-index:2;left:18px;top:18px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.92);color:#075466;font-size:8px;font-weight:900;letter-spacing:1px;text-transform:uppercase;box-shadow:0 4px 18px rgba(4,41,50,.12)}
.rental-chips{position:absolute;z-index:2;left:18px;bottom:17px;display:flex;gap:7px}
.rental-chips b{padding:7px 9px;border:1px solid rgba(255,255,255,.35);border-radius:6px;background:rgba(3,45,57,.7);backdrop-filter:blur(8px);color:white;font-size:8px;letter-spacing:1px}
.service-body{padding:24px 25px 25px}
.service-title-row{display:flex;align-items:center;gap:13px}
.service-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:#e8f6f3;color:var(--teal);font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:700}
.service-title-row>div{display:flex;flex-direction:column;gap:3px}
.service-title-row small{font-size:8px;color:#789293;font-weight:900;letter-spacing:1.15px}
.service-title-row h3{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:500;margin:0;letter-spacing:-.35px}
.service-body>p{font-size:11px;line-height:1.7;color:#677f82;margin:16px 0 17px}
.service-body details{border-top:1px solid var(--line);padding-top:15px}
.service-body summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:var(--teal);font-size:10px;font-weight:900}
.service-body summary::-webkit-details-marker{display:none}
.service-body summary b{font-size:16px;color:var(--coral)}
.service-body details[open] summary b{transform:rotate(45deg)}
.service-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.service-options span{padding:7px 9px;border-radius:7px;background:#f0f7f5;color:#456e70;font-size:9px;font-weight:800}
.service-note{width:min(1160px,100%);margin:19px auto 0;display:flex;align-items:center;gap:8px;color:#73898b;font-size:9px;line-height:1.5}
.service-note>span{width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center;border:1px solid #a9c5c2;border-radius:50%;color:var(--teal);font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:700}

.quick-benefits{width:min(1060px,calc(100% - 48px));margin:0 auto 90px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dce6e4;border-bottom:1px solid #dce6e4}.quick-benefits>div{display:flex;align-items:center;gap:16px;padding:23px 28px;border-right:1px solid #dce6e4}.quick-benefits>div:last-child{border:0}.quick-benefits>div>span{font-family:Georgia,'Times New Roman',serif;color:var(--coral);font-size:22px;font-style:italic}.quick-benefits p{display:flex;flex-direction:column;gap:4px;margin:0}.quick-benefits b{font-size:12px}.quick-benefits small{font-size:9px;color:#738d90}
.how-section{padding:84px clamp(24px,8vw,120px);background:#ecf7f4}.section-heading{text-align:center;max-width:600px;margin:0 auto 43px}.section-heading>span,.schedule-copy>span{font-size:9px;letter-spacing:1.8px;color:var(--teal);font-weight:900}.section-heading h2,.schedule-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,4vw,50px);font-weight:500;line-height:1.05;letter-spacing:-1.4px;margin:11px 0 15px}.section-heading p{font-size:12px;color:#6c898b;line-height:1.6}.how-grid{width:min(1030px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.how-grid article{position:relative;background:white;border:1px solid #d8e8e4;border-radius:15px;padding:22px}.how-grid article>b{position:absolute;right:17px;top:14px;font-family:Georgia,'Times New Roman',serif;font-size:35px;color:#e4efeb;font-style:italic}.how-grid h3{font-family:Georgia,'Times New Roman',serif;font-size:19px;font-weight:500;margin:16px 0 8px}.how-grid p{font-size:10px;line-height:1.6;color:#708b8d;margin:0}.mini-art{height:80px;position:relative;background:#f2f9f7;border-radius:10px;overflow:hidden}.route-art::before{content:"";position:absolute;width:170px;height:60px;border:2px dashed #72b9b3;border-radius:50%;left:34px;top:20px}.route-art i{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--coral);top:42px}.route-art i:nth-child(1){left:34px}.route-art i:nth-child(2){right:35px;background:var(--teal)}.route-art i:nth-child(3){width:36px;height:15px;left:43%;top:34px;background:#0d6f78;border-radius:2px 8px 3px 3px}.car-art i:first-child{position:absolute;width:105px;height:32px;background:var(--teal);left:calc(50% - 52px);top:29px;border-radius:18px 25px 5px 5px}.car-art i:last-child{position:absolute;width:130px;height:7px;background:repeating-linear-gradient(90deg,var(--coral) 0 14px,transparent 14px 23px);left:calc(50% - 65px);bottom:10px}.ticket-art::before{content:"";position:absolute;width:132px;height:52px;background:white;border:1px solid #b7d9d3;border-radius:8px;left:calc(50% - 66px);top:14px;box-shadow:0 7px 16px rgba(5,90,89,.08)}.ticket-art i{position:absolute;z-index:2;background:var(--teal);height:5px;left:calc(50% - 47px)}.ticket-art i:nth-child(1){width:58px;top:29px}.ticket-art i:nth-child(2){width:38px;top:41px;background:#b7d9d3}.ticket-art i:nth-child(3){width:30px;height:30px;left:calc(50% + 22px);top:25px;background:repeating-linear-gradient(45deg,#073c4f 0 3px,white 3px 5px)}
.schedule-section{padding:95px clamp(24px,8vw,120px);display:grid;grid-template-columns:.75fr 1.4fr;align-items:center;gap:70px;background:#073c4f;color:white}.schedule-copy h2{color:white}.schedule-copy p{color:#a9c8c7;font-size:12px;line-height:1.7}.schedule-copy a{display:inline-block;margin-top:15px;color:#83dcd2;font-size:11px;font-weight:900;border-bottom:1px solid #2e8986;padding-bottom:5px}.schedule-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.schedule-cards article{background:#0b4a5b;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:21px}.schedule-cards article>span{font-size:8px;color:#76d6cb;font-weight:900;letter-spacing:1px}.schedule-cards h3{font-family:Georgia,'Times New Roman',serif;font-size:19px;font-weight:500;margin:9px 0 18px}.schedule-cards article>div{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.schedule-cards b{border:1px solid rgba(255,255,255,.12);border-radius:7px;padding:8px;text-align:center;font-size:9px;color:#d6ebea}.schedule-cards article>small{display:block;margin-top:13px;color:#739fa1;font-size:8px}
.faq-section{padding:88px 24px;background:white}.faq-section .section-heading{margin-bottom:28px}.faq-list{max-width:800px;margin:auto;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0 4px}.faq-list summary{list-style:none;cursor:pointer;padding:19px 0;font-size:12px;font-weight:800;display:flex;justify-content:space-between}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary b{color:var(--coral);font-size:17px}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list p{font-size:10px;color:#6c878a;line-height:1.6;max-width:650px;margin:-3px 0 18px}
.final-cta{background:#0a7d80;color:white;padding:35px clamp(24px,8vw,120px);display:flex;align-items:center;gap:23px}.final-cta .brand-mark{filter:brightness(0) invert(1);transform:scale(1.2)}.final-cta>div{flex:1}.final-cta>div>span{font-size:8px;letter-spacing:1.5px;color:#a1e5dc;font-weight:900}.final-cta h2{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:500;margin:3px 0}.final-cta p{font-size:10px;color:#bbe2df;margin:0}.final-cta>a{background:var(--coral);padding:13px 18px;border-radius:9px;font-size:11px;font-weight:900}.final-cta>a b{margin-left:18px}
footer{background:#052e3e;color:#9fc2c1;padding:40px clamp(24px,8vw,120px);display:grid;grid-template-columns:1fr 1.3fr 1.2fr;align-items:center;gap:25px}footer .brand{color:white}footer>p{font-size:9px;line-height:1.6}footer>div{display:flex;justify-content:flex-end;gap:20px;font-size:9px;color:#d1e4e3}footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;font-size:8px}.photo-credits{border-top:0;padding-top:0;color:#719597;line-height:1.6}.photo-credits a{color:#a5cac8;text-decoration:underline;text-decoration-color:rgba(165,202,200,.3);text-underline-offset:2px}

/* Legibilidad y jerarquía tipográfica */
body{font-family:Inter,"Segoe UI",Roboto,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}
.site-header nav{font-size:15px}.header-action{font-size:14px}.eyebrow{font-size:13px}.hero-trust b{font-size:14px}.hero-trust span{font-size:12px}.hero-photo figcaption span{font-size:11px}.hero-photo figcaption b{font-size:16px}
.step-kicker{font-size:12px}.steps b{font-size:12px}.trip-toggle button{font-size:14px}.trip-toggle span{font-size:11px}.field>span{font-size:11px}.field small{font-size:12px}.date-field input{font-size:16px}.schedule-title strong{font-size:14px}.schedule-title small{font-size:12px}.times button strong{font-size:14px}.times button span{font-size:11px;line-height:1.3}.booking-footer p{font-size:13px}.booking-footer button{font-size:14px}
.counter-card span,.vehicle-heading span,.input-kicker{font-size:11px}.counter-card strong,.vehicle-heading strong{font-size:16px}.counter-card small{font-size:12px}.vehicle-grid button b,.vehicle-grid button>strong{font-size:13px}.vehicle-grid button small{font-size:11px}.rate-note{font-size:12px}.form-row label span,.phone-field span,.card-fields label span{font-size:11px}.form-row input,.phone-field input,.card-fields input{font-size:14px}
.summary-kicker{font-size:11px}.summary-card>p{font-size:13px}.summary-card>div{font-size:14px}.summary-card>small{font-size:11px}.summary-card>button:not(.back-link){font-size:13px}.summary-card .back-link{font-size:12px}.secure-badge b{font-size:14px}.secure-badge small{font-size:12px}.payment-summary .terms{font-size:11px}
.services-intro>div>span,.section-heading>span,.schedule-copy>span{font-size:11px}.services-intro>p,.section-heading p,.schedule-copy p{font-size:14px}.service-badge,.rental-chips b,.service-title-row small{font-size:11px}.service-body>p{font-size:14px}.service-body summary{font-size:13px}.service-options span{font-size:12px}.service-note{font-size:11px}.quick-benefits b{font-size:14px}.quick-benefits small{font-size:12px}.how-grid p{font-size:14px}.schedule-copy a{font-size:13px}.schedule-cards article>span{font-size:11px}.schedule-cards b{font-size:12px}.schedule-cards article>small{font-size:11px}.faq-list summary{font-size:15px}.faq-list p{font-size:14px}.final-cta>div>span{font-size:11px}.final-cta p{font-size:13px}.final-cta>a{font-size:14px}footer>p,footer>div{font-size:12px}footer>small,.photo-credits{font-size:10px}

/* Métodos de pago */
.payment-methods{grid-template-columns:repeat(3,1fr);gap:10px}
.payment-methods button{grid-template-columns:36px 1fr;column-gap:10px;min-height:76px;padding:13px}
.payment-methods button b{font-size:14px}.payment-methods button small{font-size:11px;line-height:1.3}
.payment-methods .payment-logo{width:32px;height:32px;border-radius:9px;color:white;font-size:16px;font-weight:900}
.stripe-logo{background:#635bff}.paypal-logo{background:#0070ba}.transfer-logo{background:var(--teal)}
.payment-methods button.active.stripe-option{border-color:#635bff;background:#f4f2ff;box-shadow:inset 0 0 0 1px #635bff}
.payment-methods button.active.paypal-option{border-color:#0070ba;background:#f1f7ff;box-shadow:inset 0 0 0 1px #0070ba}
.payment-methods button.active.transfer-option{border-color:var(--teal);background:#f1fbf8;box-shadow:inset 0 0 0 1px var(--teal)}
.gateway-note{margin:10px 1px 0;color:#6f8588;font-size:12px;line-height:1.45}
.paypal-box{display:flex;align-items:center;gap:17px;border:1px solid #bed7ee;border-radius:10px;background:#f3f8fd;padding:16px;margin-top:13px}
.paypal-wordmark{flex:0 0 auto;color:#0070ba;font-size:19px;font-weight:800;letter-spacing:-.7px}.paypal-wordmark b{color:#003087}
.paypal-box>div{display:flex;flex-direction:column;gap:4px}.paypal-box>div>b,.transfer-box b{font-size:14px}.paypal-box p,.transfer-box p{font-size:12px;line-height:1.5;margin:0;color:#607b84}
.summary-card .pay-stripe{background:#635bff}.summary-card .pay-paypal{background:#0070ba}.summary-card .pay-transfer{background:var(--teal)}

@media (max-width: 900px) {
  .site-header nav {display:none}.hero-photo{width:62%}.hero-photo::before{background:linear-gradient(90deg,#07384e 0%,rgba(7,56,78,.82) 26%,rgba(7,56,78,.18) 75%)}.hero{padding-bottom:160px}.hero-copy{max-width:600px}.times{grid-template-columns:repeat(4,1fr)}.detail-layout,.payment-layout{grid-template-columns:1fr}.summary-card{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.summary-card hr,.summary-card>button,.summary-card>.terms,.summary-card>.back-link{grid-column:1/-1}.services-intro{grid-template-columns:1fr;gap:18px}.service-media{height:250px}.quick-benefits{grid-template-columns:1fr}.quick-benefits>div{border-right:0;border-bottom:1px solid #dce6e4}.how-grid{grid-template-columns:1fr}.schedule-section{grid-template-columns:1fr;gap:40px}
}
@media (max-width: 640px) {
  .site-header{height:68px;padding:0 18px}.brand{font-size:17px}.brand-mark{transform:scale(.85);margin-left:-3px}.header-action{font-size:0;padding:10px 12px}.header-action::after{content:"Mis viajes";font-size:13px}
  .hero{min-height:645px;padding:51px 22px 305px}.hero h1{font-size:47px;letter-spacing:-2px}.hero-copy>p{font-size:15px}.hero-trust{gap:12px;flex-wrap:wrap}.hero-trust div:last-child,.hero-trust i:last-of-type{display:none}.hero-photo{width:100%;height:315px;top:auto;bottom:0}.hero-photo::before{background:linear-gradient(180deg,#07384e 0%,rgba(7,56,78,.55) 22%,rgba(7,56,78,.05) 60%)}.hero-photo::after{background:linear-gradient(180deg,transparent 45%,rgba(2,30,42,.62) 100%)}.hero-photo img{object-position:57% center}.hero-photo figcaption{right:15px;bottom:90px;padding:10px 12px}
  .booking-shell{width:calc(100% - 24px);margin:-111px auto 44px;padding:23px 18px 0;border-radius:16px}.booking-expanded{padding-bottom:20px}.booking-head{display:block}.steps{margin-top:15px}.booking-head h2{font-size:22px}.steps i{width:28px}.trip-toggle{display:flex}.trip-toggle button{flex:1;padding:10px 8px}.route-grid{grid-template-columns:1fr 1fr}.date-field{grid-column:1/-1}.swap{left:50%;top:28px}.field{padding:13px}.times{grid-template-columns:repeat(3,1fr)}.booking-footer{margin:22px -18px 0;padding:17px 18px;display:block}.booking-footer p{text-align:center;margin:0 0 12px}.booking-footer button{justify-content:center;width:100%}.vehicle-grid,.form-row,.payment-methods{grid-template-columns:1fr}.counter-card{align-items:flex-end}.summary-card{display:block}.ticket-preview{grid-template-columns:1fr 75px;gap:15px}.ticket-preview>div:nth-child(2){grid-column:1}.qr-demo{grid-column:2;grid-row:1/3}.travel-services{padding:62px 18px 54px}.services-intro{margin-bottom:25px}.services-intro h2{font-size:39px}.services-intro>p{font-size:14px}.service-grid{grid-template-columns:1fr;gap:14px}.service-media{height:235px}.service-body{padding:21px}.service-title-row h3{font-size:20px}.service-note{align-items:flex-start}.quick-benefits{width:calc(100% - 32px);margin-bottom:55px}.how-section,.schedule-section,.faq-section{padding:62px 18px}.how-grid{gap:12px}.schedule-cards{grid-template-columns:1fr}.final-cta{display:grid;grid-template-columns:45px 1fr}.final-cta>a{grid-column:1/-1;text-align:center}footer{grid-template-columns:1fr}footer>div{justify-content:flex-start;flex-wrap:wrap}footer>small{grid-column:1}.section-heading{text-align:left}
}
@media (prefers-reduced-motion: no-preference) {
  .booking-footer button,.times button,.vehicle-grid button{transition:.2s ease}
}

/* Rediseño premium: azul marino, blanco y coral */
::selection{background:rgba(255,107,87,.28);color:var(--navy)}
body{background:#fff;color:var(--ink);font-family:Inter,"Avenir Next","Segoe UI",Roboto,Arial,sans-serif}
button,a,input,summary{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid rgba(255,107,87,.5);outline-offset:3px}

.site-header{height:82px;background:rgba(255,255,255,.97);border-bottom:1px solid #e4ebf2;box-shadow:0 8px 28px rgba(7,26,46,.05)}
.brand{color:var(--navy);font-weight:650;letter-spacing:-.25px}
.mark-island{background:#155b91}
.site-header nav a:hover{color:#155b91;border-color:var(--coral)}
.header-action{border-color:#cbd8e5;color:var(--navy);background:#fff;border-radius:999px;padding:11px 18px}
.header-action:hover{background:rgb(255,107,87);border-color:rgb(255,107,87);color:#fff;transform:translateY(-1px)}

.hero{min-height:540px;background:linear-gradient(118deg,#071a2e 0%,#0b2947 54%,#134f7e 100%);padding:82px clamp(24px,8vw,128px) 176px}
.hero::after{height:140px;background:linear-gradient(180deg,transparent,rgba(4,17,31,.46))}
.glow-one{background:#2e78ac;opacity:.24}.glow-two{background:#ff6b57;opacity:.12}
.hero-copy{max-width:660px}
.eyebrow{color:#b8d4ea;letter-spacing:1.65px}
.hero h1{font-family:inherit;font-size:clamp(50px,5.2vw,78px);font-weight:780;line-height:1.02;letter-spacing:-3.2px;margin:22px 0 24px}
.hero h1 em{font-style:normal;font-weight:780;color:#ff806e}
.hero-copy>p{max-width:630px;color:#d8e4ef;font-size:18px;line-height:1.65}
.hero-trust{margin-top:35px}.hero-trust span{color:#aebfd0}.hero-trust i{background:rgba(255,255,255,.22)}
.hero-photo{width:58%}
.hero-photo::before{background:linear-gradient(90deg,#071a2e 0%,rgba(7,26,46,.88) 24%,rgba(7,26,46,.22) 64%,rgba(7,26,46,.08) 100%)}
.hero-photo::after{background:linear-gradient(180deg,rgba(7,26,46,.05) 42%,rgba(7,26,46,.8) 100%)}
.hero-photo img{filter:saturate(.88) contrast(1.06)}
.hero-photo figcaption{background:rgba(7,26,46,.75);border-color:rgba(255,255,255,.28);border-radius:12px}
.hero-photo figcaption span{color:#c6dbec}.hero-photo figcaption b{font-family:inherit;font-weight:700}

.booking-shell{width:min(1280px,calc(100% - 48px));margin:-118px auto 80px;border:1px solid rgba(188,204,219,.7);border-radius:24px;box-shadow:0 28px 80px rgba(7,26,46,.19);padding:32px 36px 0}
.booking-head{border-color:var(--line);padding-bottom:24px}
.booking-head h2{font-family:inherit;font-size:28px;font-weight:750;letter-spacing:-.75px}
.step-kicker{color:#155b91}
.steps b{background:#edf3f8;color:#71859a}.steps b.active{background:#155b91;color:#fff}.steps i{background:#dbe5ee}.steps i.active{background:#155b91}
.trip-toggle{background:#edf3f8;border:1px solid #dfe8f0;border-radius:12px}
.trip-toggle button{color:#536a80;border-radius:8px}.trip-toggle button.active{color:#104f80;box-shadow:0 3px 10px rgba(7,26,46,.1)}
.route-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.field{min-height:94px;border-color:#cfdae6;border-radius:14px;padding:15px 17px;background:#fff}
.field:hover{border-color:#8aa9c3;box-shadow:0 8px 22px rgba(7,26,46,.07);transform:translateY(-1px)}
.field>span{color:#60778e}.field strong{color:var(--navy)}.field small{color:#6d8297}
.date-field input{color:var(--navy);min-height:27px}
.swap{left:calc(25% - 3px);top:30px;width:34px;height:34px;border-color:#c7d5e2;color:#155b91;box-shadow:0 5px 14px rgba(7,26,46,.14)}
.swap:hover{background:#155b91;color:#fff;border-color:#155b91;transform:translateX(-50%) rotate(180deg)}
.passenger-field{justify-content:space-between}
.search-passenger-control{display:flex;align-items:center;gap:11px;margin:2px 0 0}
.search-passenger-control button{width:27px;height:27px;border:1px solid #cbd8e5;border-radius:50%;background:#f7f9fc;color:#155b91;font-size:18px;line-height:1;cursor:pointer}
.search-passenger-control button:hover{background:#155b91;color:#fff;border-color:#155b91}
.search-passenger-control strong{min-width:18px;margin:0;text-align:center;font-size:18px}
.schedule-title{color:var(--navy)}.clock-dot{background:#eaf2f9;color:#155b91}
.times button{border-color:#d5e0ea;border-radius:12px;min-height:65px}
.times button:hover,.times button.active{border-color:#155b91;background:#edf5fb;box-shadow:inset 0 0 0 1px #155b91,0 7px 18px rgba(21,91,145,.08)}
.times button.active strong{color:#104f80}.times button span{color:#60778d}
.booking-footer{background:#f3f7fb;border-radius:0 0 24px 24px}
.booking-footer p{color:#586f84}.booking-footer p span{background:#e7f0f8;color:#155b91}
.booking-footer button{background:var(--coral);border-radius:11px;box-shadow:0 10px 24px rgba(255,107,87,.28)}
.booking-footer button:hover{background:#ef5d4a;box-shadow:0 13px 30px rgba(255,107,87,.34)}

.counter-card,.vehicle-grid>button,.form-row input,.phone-field input,.card-fields input,.payment-methods button{border-color:#d3dee9}
.counter button{border-color:#cbd8e5;color:#155b91}.counter button:hover{background:#155b91;color:#fff}
.counter-card span,.vehicle-heading span,.input-kicker,.form-row label span,.phone-field span,.card-fields label span{color:#60778e}
.vehicle-grid>button.active{border-color:#155b91;box-shadow:inset 0 0 0 1px #155b91;background:#edf5fb}
.vehicle-symbol{background:#eaf2f9;color:#155b91}.vehicle-grid button>strong{color:#155b91}
.form-row input:focus,.phone-field input:focus,.card-fields input:focus{border-color:#155b91;box-shadow:0 0 0 3px rgba(21,91,145,.12)}
.summary-card{background:var(--navy);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 38px rgba(7,26,46,.2)}
.summary-kicker{color:#9dc6e6}.summary-card h3{font-family:inherit;font-weight:730}.summary-card>p,.summary-card .back-link{color:#b8c9d9}.summary-card>div{color:#d4e0ea}.summary-total strong{font-family:inherit;color:#fff;font-weight:780}.summary-card .roundtrip-note{color:#9dc6e6}
.secure-badge{background:#edf5fb;border-color:#d5e5f1}.secure-badge>span{background:#dbeaf6;color:#155b91}.secure-badge small{color:#60798f}
.payment-methods button.active.transfer-option{border-color:#155b91;background:#edf5fb;box-shadow:inset 0 0 0 1px #155b91}
.transfer-box{border-color:#aac3d8;background:#f2f7fb}.summary-card .pay-transfer{background:#155b91}
.success-icon{background:#e8f1f8;color:#155b91}.success-state>span{color:#155b91}.success-state h2{font-family:inherit;font-weight:760}.ticket-preview{background:#f5f8fb}.qr-demo,.qr-demo i{border-color:var(--navy)}

.travel-services{background:linear-gradient(180deg,#f4f7fb 0%,#fff 100%)}
.services-intro>div>span,.section-heading>span,.schedule-copy>span{color:#155b91}
.services-intro h2,.section-heading h2,.schedule-copy h2,.service-title-row h3,.how-grid h3,.schedule-cards h3,.final-cta h2{font-family:inherit;font-style:normal;font-weight:760}
.services-intro h2 em{color:#155b91;font-style:normal;font-weight:760}
.services-intro>p,.section-heading p,.how-grid p,.service-body>p{color:#536b81}
.service-card{border-color:#dbe4ee;border-radius:22px;box-shadow:0 18px 55px rgba(7,26,46,.09)}
.service-card:hover{box-shadow:0 24px 65px rgba(7,26,46,.14);transform:translateY(-3px)}
.service-media{background:#e7eef5}.service-media::after{background:linear-gradient(180deg,rgba(7,26,46,.01) 38%,rgba(7,26,46,.76) 100%)}
.service-badge{color:var(--navy)}.rental-chips b{background:rgba(7,26,46,.76)}
.service-icon{background:#eaf2f9;color:#155b91;font-family:inherit}.service-body summary{color:#155b91}.service-options span{background:#edf4fa;color:#355c7d}.service-note{color:#64798d}.service-note>span{border-color:#aabfd2;color:#155b91;font-family:inherit}
.quick-benefits{border-color:#dbe4ee}.quick-benefits>div{border-color:#dbe4ee}.quick-benefits>div>span{font-family:inherit;font-style:normal;font-weight:800}.quick-benefits small{color:#60758a}
.how-section{background:#eef4f9}.how-grid article{border-color:#d8e3ed;border-radius:18px}.how-grid article>b{font-family:inherit;color:#dce7f0;font-style:normal;font-weight:800}.mini-art{background:#f4f8fb}.route-art::before{border-color:#80a7c7}.route-art i:nth-child(3){background:#155b91}.ticket-art::before{border-color:#bdd1e1;box-shadow:0 7px 16px rgba(7,26,46,.07)}.ticket-art i:nth-child(2){background:#bdd1e1}.ticket-art i:nth-child(3){background:repeating-linear-gradient(45deg,#071a2e 0 3px,white 3px 5px)}
.schedule-section{background:var(--navy)}.schedule-copy p{color:#b9c9d8}.schedule-copy a{color:#f4a294;border-color:#ff806e}.schedule-cards article{background:#0d2945}.schedule-cards article>span{color:#9ec6e4}.schedule-cards b{color:#e3edf5}.schedule-cards article>small{color:#91a8bb}
.faq-list p{color:#526a80}
.final-cta{background:#0d4775}.final-cta>div>span{color:#b9d6ec}.final-cta p{color:#d6e4ef}.final-cta>a:hover{background:#ef5d4a;transform:translateY(-2px)}
footer{background:#061727;color:#aebfd0}footer>div{color:#dce7f0}.photo-credits{color:#8198ac}.photo-credits a{color:#b5cadb}

@media (max-width:900px){
  .hero-photo{width:64%}.hero-photo::before{background:linear-gradient(90deg,#071a2e 0%,rgba(7,26,46,.9) 30%,rgba(7,26,46,.2) 78%)}
  .route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.swap{left:50%}.date-field,.passenger-field{grid-column:auto}
}
@media (max-width:640px){
  .site-header{height:68px}
  .hero{min-height:665px;padding:52px 22px 315px}.hero h1{font-size:46px;line-height:1.04;letter-spacing:-2.2px}.hero-copy>p{font-size:16px}
  .hero-photo{width:100%}.hero-photo::before{background:linear-gradient(180deg,#071a2e 0%,rgba(7,26,46,.62) 23%,rgba(7,26,46,.04) 62%)}
  .booking-shell{width:calc(100% - 24px);margin:-116px auto 48px;padding:23px 18px 0;border-radius:18px}.booking-expanded{padding-bottom:20px}.booking-head h2{font-size:23px}.route-grid{grid-template-columns:1fr 1fr}.field{min-height:96px}.date-field,.passenger-field{grid-column:auto}.swap{left:50%;top:31px}
  .booking-footer{border-radius:0 0 18px 18px}.service-card:hover{transform:none}
}
@media (max-width:430px){
  .route-grid{grid-template-columns:1fr}.date-field,.passenger-field{grid-column:1}.swap{position:static;justify-self:center;margin:-18px 0;transform:rotate(90deg)}.swap:hover{transform:rotate(270deg)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}
}

/* Reserva de regreso y checkout */
.return-trip-panel{margin-top:22px;padding:19px;border:1px solid #d5e0ea;border-radius:16px;background:#f6f9fc}
.return-trip-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.return-trip-heading>div{display:flex;align-items:center;gap:9px}.return-trip-heading>div>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#dfeefa;color:#155b91;font-weight:900}.return-trip-heading strong{font-size:14px}.return-trip-heading small{color:#62788e;font-size:11px}
.return-trip-controls{display:grid;grid-template-columns:240px 1fr;gap:14px}.return-trip-controls .field{min-height:86px}.return-times{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;align-content:start}.return-times button{min-height:40px;border:1px solid #d1deea;border-radius:9px;background:#fff;color:#1d3954;font-size:11px;font-weight:800;cursor:pointer}.return-times button:hover,.return-times button.active{border-color:#155b91;background:#eaf3fa;color:#104f80;box-shadow:inset 0 0 0 1px #155b91}
.payment-methods.two-methods{grid-template-columns:1fr 1fr}.payment-methods button.active.tilopay-option{border-color:#155b91;background:#edf5fb;box-shadow:inset 0 0 0 1px #155b91}.payment-methods .tilopay-logo{background:#155b91}.gateway-note{margin:9px 2px 0;color:#60778d;font-size:10px;line-height:1.55}.tilopay-box{display:flex;gap:11px;align-items:flex-start;margin-top:13px;padding:14px;border:1px solid #c8dceb;border-radius:10px;background:#f1f7fb}.tilopay-box>span{width:25px;height:25px;display:grid;place-items:center;flex:0 0 25px;border-radius:50%;background:#155b91;color:#fff;font-size:11px;font-weight:900}.tilopay-box b{font-size:12px}.tilopay-box p{margin:4px 0 0;color:#60778d;font-size:10px;line-height:1.5}
.reservation-error{margin:13px 0 0!important;padding:10px 11px;border:1px solid rgba(255,107,87,.52);border-radius:8px;background:rgba(255,107,87,.12);color:#ffd8d2!important;font-size:10px!important;line-height:1.45}.pay-button:disabled{cursor:wait;opacity:.66;transform:none!important}
.reference-box{min-width:175px;padding-left:16px;border-left:1px solid #d4e0ea;display:grid!important;grid-template-columns:auto;gap:2px!important}.reference-box strong,.reference-box b{font-size:11px!important;word-break:break-all}.reference-box b{margin-bottom:6px}.success-state>.pending-note{max-width:650px;margin:-6px auto 20px;padding:10px;border-radius:8px;background:#fff2ef;color:#773e37;font-size:10px}.pending-note b{color:#a54538}

@media(max-width:900px){.return-trip-controls{grid-template-columns:1fr}.return-times{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.return-trip-panel{padding:15px}.return-trip-heading{align-items:flex-start;flex-direction:column}.return-times{grid-template-columns:repeat(3,1fr)}.payment-methods.two-methods{grid-template-columns:1fr}.ticket-preview{grid-template-columns:1fr}.reference-box{grid-column:1!important;grid-row:auto!important;padding:12px 0 0;border-left:0;border-top:1px solid #d4e0ea}}

/* Contacto directo y red social */
footer>div .social-link{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#fff;font-weight:800}
footer>div .social-link:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.32);transform:translateY(-1px)}
.facebook-link>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#1877f2;color:#fff;font-family:Arial,sans-serif;font-size:16px;font-weight:900;line-height:1}

.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;align-items:center;gap:10px;padding:9px 16px 9px 9px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:#25d366;color:#052e24;box-shadow:0 16px 38px rgba(7,26,46,.25);font-size:13px;font-weight:800}
.whatsapp-float::before{content:"";position:absolute;inset:-5px;border:1px solid rgba(37,211,102,.38);border-radius:inherit;pointer-events:none}
.whatsapp-float>span:last-child{display:flex;flex-direction:column;gap:1px}
.whatsapp-float b{color:#063b2a;font-size:14px}.whatsapp-float small{color:#0c5a40;font-size:10px;font-weight:750}
.whatsapp-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:50%;background:#fff;color:#149d4f;font-size:23px;font-weight:900;line-height:1}
.whatsapp-float:hover{background:#20c65e;box-shadow:0 20px 44px rgba(7,26,46,.3);transform:translateY(-3px)}

@media (max-width:640px){
  .whatsapp-float{right:16px;bottom:16px;width:58px;height:58px;padding:0;justify-content:center;box-shadow:0 12px 30px rgba(7,26,46,.3)}
  .whatsapp-float>span:last-child{display:none}.whatsapp-icon{width:42px;height:42px;flex-basis:42px;font-size:25px}
}

/* Panel administrativo */
.admin-dashboard{min-height:100vh;background:#f3f6fa;color:#10263c}
.admin-topbar{height:76px;padding:0 clamp(22px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#071a2e;color:#fff;border-bottom:1px solid rgba(255,255,255,.09)}
.admin-brand{display:grid;grid-template-columns:38px auto;grid-template-rows:auto auto;column-gap:10px;align-items:center}.admin-brand>span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#ff6b57;font-size:18px;font-weight:900}.admin-brand>b{font-size:15px}.admin-brand>small{color:#9fb4c8;font-size:10px;letter-spacing:.5px}
.admin-topbar>div{display:flex;align-items:center;gap:18px}.admin-topbar>div>span{display:flex;flex-direction:column;text-align:right}.admin-topbar>div b{font-size:12px}.admin-topbar>div small{color:#9fb4c8;font-size:10px}.admin-topbar>div>a{padding:9px 13px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:11px;font-weight:800}.admin-topbar>div>a:hover{background:#ff6b57;border-color:#ff6b57}
.admin-content{width:min(1380px,calc(100% - 44px));margin:auto;padding:44px 0 70px}.admin-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.admin-title>div>span,.admin-panel-head>div>span{font-size:10px;letter-spacing:1.6px;color:#155b91;font-weight:900}.admin-title h1{margin:8px 0 6px;font-size:clamp(30px,3.4vw,46px);letter-spacing:-1.6px;line-height:1.05}.admin-title p{margin:0;color:#657b90;font-size:14px}.admin-export{padding:11px 15px;border:1px solid #cbd8e5;border-radius:10px;background:#fff;color:#124c78;font-size:12px;font-weight:900;box-shadow:0 5px 14px rgba(7,26,46,.05)}.admin-export:hover{border-color:#155b91;transform:translateY(-1px)}
.admin-notice{padding:12px 15px;border:1px solid #f1c8c2;border-radius:10px;background:#fff1ee;color:#963e32;font-size:12px;font-weight:750}.admin-notice.success{border-color:#bdd8c8;background:#edf8f1;color:#1f6740}.capacity-warning{margin-bottom:18px;padding:16px 18px;border-left:4px solid #ff6b57;border-radius:0 12px 12px 0;background:#fff3f0;box-shadow:0 8px 22px rgba(7,26,46,.05)}.capacity-warning b{font-size:14px}.capacity-warning p{margin:4px 0 0;color:#7a554f;font-size:12px}
.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.admin-metrics article{padding:19px;border:1px solid #dbe4ee;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(7,26,46,.055)}.admin-metrics span{display:block;color:#657b90;font-size:11px;font-weight:800}.admin-metrics strong{display:block;margin:9px 0 4px;color:#071a2e;font-size:27px;letter-spacing:-1px}.admin-metrics small{color:#8395a7;font-size:10px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.admin-panel{border:1px solid #dbe4ee;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(7,26,46,.06)}.admin-panel-head{padding:19px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e4ebf2}.admin-panel-head h2{margin:4px 0 0;font-size:19px;letter-spacing:-.4px}.admin-panel-head>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#edf4fa;color:#155b91;font-style:normal}
.capacity-panel>form,.admins-panel>form{padding:18px 20px;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px}.admin-panel label{display:flex;flex-direction:column;gap:6px}.admin-panel label>span{color:#62788e;font-size:10px;font-weight:900;letter-spacing:.7px}.admin-panel input,.admin-panel select,.admin-panel textarea{width:100%;border:1px solid #ccd9e5;border-radius:9px;background:#fff;color:#10263c;padding:11px 12px;outline:0;font-size:13px}.admin-panel input:focus,.admin-panel select:focus,.admin-panel textarea:focus{border-color:#155b91;box-shadow:0 0 0 3px rgba(21,91,145,.1)}.admin-panel form>button,.reservation-tools form button{border:0;border-radius:9px;background:#155b91;color:#fff;padding:12px 15px;font-size:11px;font-weight:900;cursor:pointer}.admin-panel form>button:hover,.reservation-tools form button:hover{background:#104b79;transform:translateY(-1px)}.capacity-panel>p{padding:0 20px 18px;margin:0;color:#7b8e9f;font-size:10px}
.admin-list{border-top:1px solid #edf1f5}.admin-list>div{padding:11px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf1f5}.admin-list>div:last-child{border-bottom:0}.admin-list>div>span{display:flex;flex-direction:column;gap:3px}.admin-list b{font-size:12px}.admin-list small{color:#75899c;font-size:10px}.admin-list button{border:0;background:transparent;color:#c94e3e;font-size:10px;font-weight:900;cursor:pointer}
.reservations-panel{overflow:hidden}.reservation-tools{align-items:end}.reservation-tools>form{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto;gap:8px;min-width:min(600px,55%)}.reservation-tools form input,.reservation-tools form select{padding:10px 11px}.admin-empty{padding:38px;text-align:center;color:#72869a;font-size:13px}.reservation-admin-list{padding:10px}.reservation-admin-card{border:1px solid #dce5ed;border-radius:12px;margin-bottom:8px;overflow:hidden}.reservation-admin-card:last-child{margin-bottom:0}.reservation-admin-card>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(190px,1.4fr) 150px 90px 24px;align-items:center;gap:14px;padding:14px 15px}.reservation-admin-card>summary::-webkit-details-marker{display:none}.reservation-admin-card>summary>span:first-child{display:flex;flex-direction:column;gap:3px}.reservation-admin-card>summary b{font-size:12px}.reservation-admin-card>summary small{color:#6d8295;font-size:10px}.reservation-admin-card>summary>strong{text-align:right;font-size:14px}.reservation-admin-card>summary>i{color:#ff6b57;font-size:17px;font-style:normal}.reservation-admin-card[open]>summary>i{transform:rotate(45deg)}
.status-chip{justify-self:start;padding:6px 8px;border-radius:999px;font-size:9px!important;font-weight:900}.status-pending_payment{background:#fff1dd;color:#8c5d12}.status-confirmed{background:#e9f6ef;color:#27704a}.status-cancelled{background:#ffeded;color:#9a3d3d}.status-completed{background:#e9f1fb;color:#265f91}
.reservation-admin-detail{padding:17px;border-top:1px solid #e5ebf1;background:#f8fafc}.reservation-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.reservation-facts p{margin:0;padding:12px;border:1px solid #e0e8ef;border-radius:10px;background:#fff;display:flex;flex-direction:column;gap:4px}.reservation-facts span{color:#6d8295;font-size:9px;font-weight:900;letter-spacing:.7px}.reservation-facts b{font-size:11px}.reservation-facts small{color:#6a8094;font-size:10px;line-height:1.5}.reservation-admin-detail>form{display:grid;grid-template-columns:1fr 1fr 2fr auto;align-items:end;gap:10px}.admin-notes textarea{height:61px;resize:vertical}
.admin-access-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#071a2e,#124d7a);color:#fff}.admin-access-page>section{width:min(520px,100%);padding:40px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(7,26,46,.8);box-shadow:0 25px 70px rgba(0,0,0,.22)}.admin-access-page span{color:#ff8a79;font-size:10px;font-weight:900;letter-spacing:1.7px}.admin-access-page h1{font-size:32px;margin:10px 0}.admin-access-page p{color:#c6d3df;line-height:1.6}.admin-access-page a{display:inline-block;margin-top:10px;padding:11px 14px;border-radius:9px;background:#ff6b57;font-size:12px;font-weight:900}
@media(max-width:980px){.admin-metrics{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.reservation-tools{align-items:stretch;flex-direction:column}.reservation-tools>form{min-width:0;width:100%}.reservation-facts{grid-template-columns:1fr 1fr}.reservation-admin-detail>form{grid-template-columns:1fr 1fr}.admin-notes{grid-column:1/-1}.reservation-admin-detail>form>button{grid-column:1/-1}}
@media(max-width:640px){.admin-topbar{height:auto;padding:14px 16px}.admin-topbar>div>span{display:none}.admin-topbar>div>a{font-size:0}.admin-topbar>div>a::after{content:"Salir";font-size:11px}.admin-content{width:calc(100% - 24px);padding:30px 0 50px}.admin-title{align-items:flex-start;flex-direction:column}.admin-title h1{font-size:34px}.admin-metrics{grid-template-columns:1fr 1fr;gap:8px}.admin-metrics article{padding:14px}.admin-metrics strong{font-size:23px}.capacity-panel>form,.admins-panel>form{grid-template-columns:1fr}.reservation-tools>form{grid-template-columns:1fr}.reservation-admin-card>summary{grid-template-columns:1fr auto}.reservation-admin-card>summary>.status-chip{grid-column:1}.reservation-admin-card>summary>strong{grid-column:2;grid-row:1}.reservation-admin-card>summary>i{grid-column:2;grid-row:2}.reservation-facts,.reservation-admin-detail>form{grid-template-columns:1fr}.admin-notes,.reservation-admin-detail>form>button{grid-column:1}.admin-access-page>section{padding:28px}}

/* Adaptación cPanel */
[hidden]{display:none!important}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.booking-step{min-height:1px}.payment-methods button,.vehicle-grid button,.times button,.return-times button{font-family:inherit}.summary-card h3[data-summary-route]{color:#fff}.summary-card h3[data-summary-route]::first-letter{color:inherit}
.admin-logout{padding:9px 13px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.admin-logout:hover{background:#ff6b57;border-color:#ff6b57}.admin-topbar>div>form{margin:0}.admins-panel>.admin-create-form{grid-template-columns:1fr 1.2fr 1.2fr auto}.admin-list form{margin:0}.admin-list form button{padding:0;background:transparent;color:#c94e3e}.login-form{display:grid;gap:14px;margin-top:22px}.login-form label{display:flex;flex-direction:column;gap:7px}.login-form label span{font-size:11px;font-weight:900;letter-spacing:.7px;color:#c5d6e5}.login-form input{width:100%;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;padding:13px;outline:0;font-size:15px}.login-form input:focus{border-color:#ff8a79;box-shadow:0 0 0 3px rgba(255,107,87,.15)}.login-form button{border:0;border-radius:10px;background:#ff6b57;color:#fff;padding:13px;font-size:13px;font-weight:900;cursor:pointer}.admin-access-page .admin-notice{margin-top:16px}.admin-access-page .admin-home-link{padding:0;background:transparent;color:#b9cde0;font-size:11px}
.setup-page{min-height:100vh;margin:0;padding:40px 18px;background:linear-gradient(135deg,#071a2e,#124d7a);color:#10263c}.setup-card{width:min(820px,100%);margin:auto;padding:34px;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.25)}.setup-kicker{color:#155b91;font-size:10px;font-weight:900;letter-spacing:1.6px}.setup-card h1{margin:8px 0 8px;font-size:clamp(30px,4vw,44px);letter-spacing:-1.4px}.setup-card>p{color:#62788e;line-height:1.6}.setup-form{display:grid;gap:16px;margin-top:22px}.setup-form fieldset{margin:0;padding:18px;border:1px solid #dbe4ee;border-radius:14px}.setup-form legend{padding:0 8px;color:#155b91;font-size:12px;font-weight:900}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setup-form label{display:flex;flex-direction:column;gap:6px}.setup-form label span{color:#62788e;font-size:10px;font-weight:900;letter-spacing:.6px}.setup-form input{width:100%;border:1px solid #ccd9e5;border-radius:9px;padding:12px;outline:0;font-size:14px}.setup-form input:focus{border-color:#155b91;box-shadow:0 0 0 3px rgba(21,91,145,.1)}.setup-wide{grid-column:1/-1}.setup-primary{display:inline-block;border:0;border-radius:10px;background:#ff6b57;color:#fff!important;padding:13px 17px;font-size:13px;font-weight:900;cursor:pointer;text-align:center}.setup-message{margin:18px 0;padding:14px;border-radius:10px;font-size:13px}.setup-message p{margin:4px 0 0}.setup-message.error{border:1px solid #f1c8c2;background:#fff1ee;color:#963e32}.setup-message.success{border:1px solid #bdd8c8;background:#edf8f1;color:#1f6740}.setup-actions{display:flex;align-items:center;gap:15px}.setup-actions>a:not(.setup-primary){color:#155b91;font-weight:900}.setup-help{font-size:12px}.setup-help code{padding:2px 5px;border-radius:4px;background:#edf3f8}
@media(max-width:900px){.admins-panel>.admin-create-form{grid-template-columns:1fr 1fr}.admins-panel>.admin-create-form>button{grid-column:1/-1}}
@media(max-width:640px){.setup-page{padding:18px 10px}.setup-card{padding:24px 18px}.setup-grid,.admins-panel>.admin-create-form{grid-template-columns:1fr}.setup-wide,.admins-panel>.admin-create-form>button{grid-column:1}.setup-actions{align-items:stretch;flex-direction:column}.setup-actions>a{text-align:center}.admin-topbar>div>form .admin-logout{font-size:0}.admin-topbar>div>form .admin-logout::after{content:"Salir";font-size:11px}}
