Reservar ahora
Réserver maintenant
Jetzt buchen
Prenota ora
Book Now
:root { –accent: #d4ff00; –accent-dark: #badd00; –accent-glow: rgba(212,255,0,0.2); –bg: #f4f4f4; –bg-alt: #eaeaec; –bg-warm: #111111; –card: #ffffff; –card-border: rgba(0,0,0,0.12); –text: #0a0a0a; –text-mid: #2a2a2a; –text-light: #444444; –dark-section: #0a0a0a; –font-display: ‘Bebas Neue’, sans-serif; –font-body: ‘DM Sans’, sans-serif; –radius: 4px; –radius-lg: 8px; –shadow: 4px 4px 0px rgba(0,0,0,0.9); –shadow-lg: 8px 8px 0px rgba(0,0,0,0.9); } * { margin:0; padding:0; box-sizing:border-box; } html { scroll-behavior:smooth; } body { font-family:var(–font-body); background:var(–bg); color:var(–text); font-weight:500; overflow-x:hidden; -webkit-font-smoothing:antialiased; } /* HEADER */ .header { position:fixed; top:0; left:0; right:0; z-index:1000; padding:16px 40px; display:flex; align-items:center; justify-content:space-between; background:rgba(244,244,244,0.95); backdrop-filter:blur(10px); border-bottom:2px solid var(–text); transition:all 0.3s ease; } .header.scrolled { box-shadow:0 4px 20px rgba(0,0,0,0.1); padding:12px 40px; background:#fff; } .header-logo { font-family:var(–font-display); font-size:24px; letter-spacing:2px; color:var(–text); text-decoration:none; display:flex; align-items:center; gap:12px; } .header-logo img { height:38px; width:auto; border-radius:2px; } .header-nav { display:flex; align-items:center; gap:32px; list-style:none; } .header-nav a { color:var(–text); text-decoration:none; font-size:14px; font-weight:700; letter-spacing:1px; text-transform:uppercase; transition:color 0.2s; } .header-nav a:hover { color:var(–accent-dark); } .header-nav .lang-switch { display:flex; gap:8px; border-left:2px solid var(–card-border); padding-left:24px; } .header-nav .lang-switch a { font-size:12px; padding:4px 8px; border-radius:var(–radius); border:2px solid transparent; color:var(–text-light); font-weight:700; } .header-nav .lang-switch a.active { background:var(–text); color:var(–accent); border-color:var(–text); } .btn-book-header { background:var(–accent); color:var(–text); font-weight:800; font-size:14px; padding:12px 28px; border-radius:var(–radius); text-decoration:none; text-transform:uppercase; letter-spacing:1px; border:2px solid var(–text); transition:all 0.2s; box-shadow:3px 3px 0px var(–text); } .btn-book-header:hover { background:var(–text); color:var(–accent); transform:translate(-2px,-2px); box-shadow:5px 5px 0px var(–text); } .mobile-menu-btn { display:none; background:none; border:none; color:var(–text); font-size:28px; cursor:pointer; padding:8px; } /* HERO */ .hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; border-bottom:4px solid var(–accent); } .hero-bg { position:absolute; inset:0; overflow:hidden; background:#000; } .hero-bg img { position:absolute; top:50%; left:50%; min-width:100%; min-height:100%; width:auto; height:auto; transform:translate(-50%,-50%); object-fit:cover; filter:brightness(0.35) contrast(1.3) saturate(1.1); } .hero-bg video { position:absolute; top:50%; left:50%; min-width:100%; min-height:100%; width:auto; height:auto; transform:translate(-50%,-50%); object-fit:cover; filter:brightness(0.35) contrast(1.3) saturate(1.1); } .hero-bg::after { content:”; position:absolute; inset:0; z-index:1; background:linear-gradient(135deg,rgba(10,10,10,0.85) 0%,rgba(10,10,10,0.35) 60%,transparent 100%); } .hero-content { position:relative; z-index:2; max-width:800px; padding:160px 60px 100px; color:#fff; } .hero-badge { display:inline-flex; align-items:center; gap:8px; background:var(–accent); border:2px solid var(–accent); color:var(–text); padding:8px 20px; border-radius:var(–radius); font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:2px; margin-bottom:32px; box-shadow:4px 4px 0px rgba(0,0,0,0.5); animation:fadeInLeft 0.6s cubic-bezier(0.2,0.8,0.2,1) both; } .hero h1 { font-family:var(–font-display); font-size:clamp(60px,8vw,120px); line-height:0.9; letter-spacing:-2px; margin-bottom:24px; color:#fff; text-shadow:4px 4px 0px rgba(0,0,0,0.8); animation:fadeInLeft 0.6s cubic-bezier(0.2,0.8,0.2,1) 0.1s both; } .hero h1 .accent { color:var(–accent); display:block; } .hero-sub { font-size:20px; line-height:1.6; color:#f0f0f0; font-weight:500; margin-bottom:24px; max-width:600px; animation:fadeInLeft 0.6s cubic-bezier(0.2,0.8,0.2,1) 0.2s both; } .hero-price { font-family:var(–font-display); font-size:42px; color:var(–accent); letter-spacing:1px; margin-bottom:40px; text-shadow:2px 2px 0px #000; animation:fadeInLeft 0.6s cubic-bezier(0.2,0.8,0.2,1) 0.3s both; } .hero-price span { font-family:var(–font-body); font-size:16px; color:#ccc; font-weight:600; letter-spacing:0; display:block; margin-top:4px; } .hero-ctas { display:flex; gap:20px; align-items:center; flex-wrap:wrap; animation:fadeInLeft 0.6s cubic-bezier(0.2,0.8,0.2,1) 0.4s both; } .btn-primary { background:var(–accent); color:var(–text); font-weight:800; font-size:16px; padding:18px 40px; border-radius:var(–radius); text-decoration:none; text-transform:uppercase; letter-spacing:2px; border:2px solid var(–text); display:inline-flex; align-items:center; gap:10px; cursor:pointer; box-shadow:4px 4px 0px var(–text); transition:all 0.2s; } .btn-primary:hover { background:var(–text); color:var(–accent); border-color:var(–accent); transform:translate(-2px,-2px); box-shadow:6px 6px 0px var(–accent); } .hero-reviews { position:relative; z-index:2; margin-top:32px; display:flex; align-items:center; gap:16px; animation:fadeInLeft 0.6s cubic-bezier(0.2,0.8,0.2,1) 0.5s both; } .hero-reviews .stars { color:var(–accent); font-size:20px; letter-spacing:2px; text-shadow:1px 1px 0 #000; } .hero-reviews span { color:#fff; font-size:15px; font-weight:600; } /* TRUST BAR */ .trust-bar { background:var(–text); border-bottom:4px solid var(–accent); color:#fff; padding:24px 40px; display:flex; justify-content:center; gap:60px; flex-wrap:wrap; } .trust-item { display:flex; align-items:center; gap:14px; font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:1px; } .trust-item .icon { width:40px; height:40px; background:var(–accent); display:flex; align-items:center; justify-content:center; font-size:18px; color:var(–text); flex-shrink:0; border:2px solid #fff; border-radius:2px; } /* GENERAL */ .section { padding:120px 40px; border-bottom:2px solid var(–card-border); } .section-label { font-size:15px; font-weight:800; text-transform:uppercase; letter-spacing:4px; color:var(–text-light); margin-bottom:16px; border-left:4px solid var(–accent); padding-left:12px; display:inline-block; } .section-title { font-family:var(–font-display); font-size:clamp(48px,6vw,80px); line-height:0.95; margin-bottom:24px; color:var(–text); text-transform:uppercase; } .section-desc { font-size:18px; color:var(–text-mid); max-width:600px; line-height:1.6; margin-bottom:40px; font-weight:500; } /* BOOKING SECTION */ .booking-section { padding:100px 40px; background:var(–bg); } .booking-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; } .booking-price-card { background:#0a0a0a; border-radius:20px; padding:40px; margin-bottom:32px; } .booking-price-main { font-family:var(–font-display); font-size:72px; color:var(–accent); letter-spacing:-2px; line-height:1; } .booking-price-main span { font-family:var(–font-body); font-size:24px; font-weight:700; color:#fff; letter-spacing:0; } .booking-price-sub { font-size:14px; color:rgba(255,255,255,0.5); font-weight:500; margin-bottom:16px; } .booking-price-alt { font-size:16px; color:rgba(255,255,255,0.8); font-weight:700; padding-top:16px; border-top:1px solid rgba(255,255,255,0.1); } .booking-includes { list-style:none; margin-bottom:32px; } .booking-includes li { display:flex; align-items:center; gap:14px; padding:12px 0; font-size:16px; color:var(–text-mid); border-bottom:1px solid rgba(0,0,0,0.07); font-weight:600; } .booking-includes li:last-child { border-bottom:none; } .booking-includes li .inc-icon { width:32px; height:32px; background:var(–accent); border-radius:var(–radius); display:flex; align-items:center; justify-content:center; font-size:14px; color:var(–text); flex-shrink:0; font-weight:800; } .btn-book-big { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; background:var(–accent); color:var(–text); font-weight:800; font-size:18px; padding:22px 40px; text-decoration:none; text-transform:uppercase; letter-spacing:1.5px; border-radius:14px; border:none; box-shadow:0 6px 24px rgba(212,255,0,0.35); transition:all 0.2s ease; margin-bottom:12px; } .btn-book-big:hover { background:#c8f200; box-shadow:0 10px 36px rgba(212,255,0,0.5); transform:translateY(-3px); color:var(–text); } .booking-note { text-align:center; font-size:13px; color:#888; font-weight:600; } .booking-calendar { background:#fff; border-radius:20px; border:1px solid rgba(0,0,0,0.08); box-shadow:0 8px 40px rgba(0,0,0,0.08); overflow:hidden; } .booking-calendar-header { background:#0a0a0a; padding:24px 28px; } .booking-calendar-header h3 { font-family:var(–font-display); font-size:28px; color:var(–accent); letter-spacing:1px; } .booking-calendar-header p { font-size:14px; color:rgba(255,255,255,0.6); font-weight:500; margin-top:4px; } .booking-calendar-body { padding:32px; } .booking-detail-row { display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid rgba(0,0,0,0.06); } .booking-detail-row:last-child { border-bottom:none; } .booking-detail-icon { width:40px; height:40px; background:var(–bg); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; } .booking-detail-label { font-size:12px; color:#888; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; } .booking-detail-value { font-size:15px; color:var(–text); font-weight:700; } .btn-book-calendar { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; background:var(–accent); color:var(–text); font-weight:800; font-size:16px; padding:20px; text-decoration:none; text-transform:uppercase; letter-spacing:1px; border-radius:12px; box-shadow:0 4px 20px rgba(212,255,0,0.3); transition:all 0.2s ease; margin-top:28px; } .btn-book-calendar:hover { background:#c8f200; transform:translateY(-2px); box-shadow:0 8px 32px rgba(212,255,0,0.45); color:var(–text); } /* ROUTE SECTION */ .route-section { padding:100px 40px; background:var(–dark-section); } .route-section .section-label { color:var(–accent); border-color:var(–accent); } .route-section .section-title { color:#fff; } .route-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; max-width:1100px; margin:0 auto; } .route-stop { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-bottom:4px solid var(–accent); border-radius:var(–radius-lg); overflow:hidden; transition:transform 0.3s; } .route-stop:hover { transform:translateY(-8px); } .route-stop-img { height:200px; overflow:hidden; } .route-stop-img img { width:100%; height:100%; object-fit:cover; filter:brightness(0.85); transition:transform 0.5s; } .route-stop:hover .route-stop-img img { transform:scale(1.05); } .route-stop-body { padding:24px 20px; } .route-stop-num { font-family:var(–font-display); font-size:48px; color:var(–accent); line-height:1; margin-bottom:8px; } .route-stop-body h3 { font-family:var(–font-display); font-size:22px; color:#fff; letter-spacing:1px; margin-bottom:8px; } .route-stop-body p { font-size:14px; color:rgba(255,255,255,0.6); line-height:1.6; font-weight:500; } /* FEATURES */ .features-section { padding:100px 40px; background:var(–bg); } .features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; max-width:1100px; margin:0 auto; } .feature-card { background:var(–card); padding:40px 32px; border:2px solid var(–card-border); border-radius:var(–radius-lg); transition:all 0.3s; } .feature-card:hover { border-color:var(–text); box-shadow:6px 6px 0 var(–accent); transform:translateY(-4px); } .feature-icon { width:56px; height:56px; background:var(–text); border:2px solid var(–accent); display:flex; align-items:center; justify-content:center; font-size:24px; color:var(–accent); margin-bottom:20px; border-radius:var(–radius); } .feature-card h3 { font-family:var(–font-display); font-size:24px; margin-bottom:12px; color:var(–text); letter-spacing:1px; } .feature-card p { font-size:15px; color:var(–text-mid); line-height:1.6; font-weight:500; } /* GALLERY */ .gallery-section { padding:0; } .gallery-grid { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:320px 320px; gap:4px; } .gallery-item { overflow:hidden; position:relative; } .gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; } .gallery-item:hover img { transform:scale(1.05); } .gallery-item:first-child { grid-row:1 / span 2; } .gallery-item-overlay { position:absolute; inset:0; background:rgba(0,0,0,0); transition:background 0.3s; display:flex; align-items:center; justify-content:center; } .gallery-item:hover .gallery-item-overlay { background:rgba(0,0,0,0.2); } /* REVIEWS */ .reviews-section { background:var(–bg-warm); padding:120px 40px; color:#fff; } .reviews-header { text-align:center; max-width:600px; margin:0 auto 60px; } .reviews-header .section-label { color:var(–accent); } .reviews-header .section-title { color:#fff; } .reviews-score { display:flex; align-items:center; justify-content:center; gap:24px; margin-bottom:40px; background:rgba(255,255,255,0.05); padding:20px; border:1px solid rgba(255,255,255,0.1); border-radius:var(–radius); } .reviews-score .big-number { font-family:var(–font-display); font-size:80px; color:var(–accent); line-height:1; text-shadow:4px 4px 0 #000; } .reviews-score .score-detail { text-align:left; } .reviews-score .stars { color:var(–accent); font-size:24px; letter-spacing:2px; margin-bottom:8px; } .reviews-score .count { font-size:15px; color:#ccc; font-weight:600; } .reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; max-width:1200px; margin:0 auto; } .review-card { background:var(–text); border:2px solid var(–accent); padding:32px; box-shadow:6px 6px 0px rgba(0,0,0,0.5); transition:all 0.3s; border-radius:var(–radius-lg); } .review-card:hover { transform:translate(-4px,-4px); box-shadow:10px 10px 0px var(–accent); } .review-card-top { display:flex; align-items:center; gap:16px; margin-bottom:20px; } .review-avatar { width:50px; height:50px; background:var(–accent); display:flex; align-items:center; justify-content:center; font-weight:800; color:var(–text); font-size:18px; border:2px solid #fff; border-radius:var(–radius); } .review-name { font-weight:800; font-size:16px; color:#fff; text-transform:uppercase; letter-spacing:1px; } .review-origin { font-size:13px; color:#999; font-weight:600; } .review-stars { color:var(–accent); font-size:16px; letter-spacing:2px; margin-bottom:16px; } .review-text { font-size:16px; line-height:1.6; color:#ddd; font-style:italic; font-weight:500; } .review-source { margin-top:24px; font-size:13px; color:var(–accent); font-weight:800; text-transform:uppercase; letter-spacing:1px; border-top:1px solid rgba(255,255,255,0.1); padding-top:16px; } /* HOW IT WORKS */ .how-section { padding:100px 40px; background:var(–bg-alt); } .how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; max-width:1100px; margin:0 auto; } .how-step { text-align:center; position:relative; padding:40px 24px; border:2px solid var(–card-border); background:var(–card); transition:all 0.3s; } .how-step:hover { border-color:var(–text); box-shadow:6px 6px 0 var(–accent); transform:translateY(-4px); } .how-step::after { content:’»’; position:absolute; right:-36px; top:50%; transform:translateY(-50%); font-size:40px; color:var(–text); font-family:var(–font-display); } .how-step:last-child::after { display:none; } .how-number { width:72px; height:72px; background:var(–text); border:2px solid var(–accent); display:flex; align-items:center; justify-content:center; font-family:var(–font-display); font-size:36px; color:var(–accent); margin:0 auto 24px; box-shadow:4px 4px 0px var(–accent); } .how-step h3 { font-family:var(–font-display); font-size:30px; margin-bottom:16px; letter-spacing:1.5px; color:var(–text); } .how-step p { font-size:15px; color:var(–text-mid); line-height:1.6; max-width:280px; margin:0 auto; font-weight:600; } /* DIRECT SECTION */ .direct-section { padding:100px 40px; background:var(–dark-section); border-top:4px solid var(–text); border-bottom:4px solid var(–text); } .direct-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; } .direct-title { font-family:var(–font-display); font-size:clamp(48px,5vw,64px); line-height:0.95; margin-bottom:24px; color:#fff; } .direct-title .accent { color:var(–accent); } .direct-section .section-label { color:var(–accent); border-color:var(–accent); } .direct-desc { font-size:18px; color:rgba(255,255,255,0.75); line-height:1.6; margin-bottom:32px; font-weight:500; } .direct-benefits { list-style:none; display:grid; gap:20px; } .direct-benefits li { display:flex; align-items:flex-start; gap:16px; font-size:16px; color:rgba(255,255,255,0.75); line-height:1.5; font-weight:500; } .direct-benefits li strong { color:#fff; font-weight:800; } .direct-benefits li .check { width:32px; height:32px; background:var(–accent); color:var(–text); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:16px; font-weight:800; border:2px solid #fff; } .direct-comparison { background:#1a1a1a; border:2px solid rgba(255,255,255,0.15); box-shadow:0 24px 48px rgba(0,0,0,0.4); border-radius:var(–radius-lg); overflow:hidden; } .direct-comparison-header { display:grid; grid-template-columns:1fr 1fr 1fr; text-align:center; font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:1px; border-bottom:1px solid rgba(255,255,255,0.1); background:#111; } .direct-comparison-header > div { padding:20px 12px; } .direct-comparison-header > div:first-child { color:rgba(255,255,255,0.4); } .direct-comparison-header .ours { background:var(–accent); color:var(–text); } .direct-comparison-header .theirs { color:rgba(255,255,255,0.4); } .comp-row { display:grid; grid-template-columns:1fr 1fr 1fr; text-align:center; font-size:15px; border-bottom:1px solid rgba(255,255,255,0.07); font-weight:600; } .comp-row:last-child { border-bottom:none; } .comp-row > div { padding:16px 12px; display:flex; align-items:center; justify-content:center; } .comp-row > div:first-child { color:rgba(255,255,255,0.7); font-size:14px; text-align:left; justify-content:flex-start; font-weight:600; padding-left:20px; } .comp-row > div:nth-child(2) { background:rgba(212,255,0,0.07); } .comp-yes { color:var(–accent); font-weight:800; } .comp-no { color:rgba(255,255,255,0.3); font-size:13px; font-weight:600; } /* FAQ */ .faq-section { padding:100px 40px; max-width:900px; margin:0 auto; } .faq-item { border-bottom:2px solid var(–card-border); transition:all 0.3s; } .faq-item:hover { border-color:var(–text); } .faq-q { width:100%; background:none; border:none; color:var(–text); font-size:18px; font-weight:700; font-family:var(–font-body); padding:28px 0; text-align:left; cursor:pointer; display:flex; justify-content:space-between; align-items:center; transition:all 0.3s; gap:20px; text-transform:uppercase; letter-spacing:0.5px; } .faq-q:hover { color:var(–accent-dark); padding-left:10px; } .faq-q .faq-icon { font-size:28px; transition:transform 0.3s ease; color:var(–text); flex-shrink:0; font-weight:800; } .faq-a { max-height:0; overflow:hidden; transition:max-height 0.4s ease; font-size:16px; color:var(–text-mid); line-height:1.6; font-weight:500; } .faq-item.open { border-color:var(–accent-dark); } .faq-item.open .faq-a { max-height:500px; padding-bottom:28px; } .faq-item.open .faq-icon { transform:rotate(45deg); color:var(–accent-dark); } /* CTA FINAL */ .cta-section { padding:140px 40px; text-align:center; position:relative; overflow:hidden; background:var(–dark-section); color:#fff; border-top:4px solid var(–accent); } .cta-section::before { content:”; position:absolute; inset:0; background:url(‘data:image/svg+xml;utf8,’); background-size:40px 40px; pointer-events:none; } .cta-section .section-label { color:var(–text); background:var(–accent); padding:8px 16px; border:none; } .cta-section .section-title { font-size:clamp(52px,8vw,90px); margin-bottom:24px; color:#fff; text-shadow:4px 4px 0 #000; position:relative; z-index:2; } .cta-section .section-desc { margin:0 auto 48px; text-align:center; color:#ddd; font-size:20px; font-weight:500; position:relative; z-index:2; max-width:700px; } /* FOOTER */ .footer { background:#050505; border-top:4px solid var(–text); padding:80px 40px 30px; color:#fff; } .footer-grid { display:grid; grid-template-columns:2fr 1.2fr 1fr 1fr 1fr; gap:40px; max-width:1300px; margin:0 auto 60px; } .footer-brand p { font-size:15px; color:#aaa; line-height:1.6; max-width:320px; margin-top:16px; font-weight:500; } .footer h4 { font-family:var(–font-display); font-size:22px; letter-spacing:1.5px; margin-bottom:24px; color:var(–accent); text-transform:uppercase; } .footer ul { list-style:none; } .footer ul li { margin-bottom:12px; } .footer ul a { color:#bbb; text-decoration:none; font-size:15px; transition:color 0.2s; font-weight:600; } .footer ul a:hover { color:var(–accent); padding-left:4px; } .footer-social { display:flex; gap:16px; margin-top:24px; } .footer-social a { width:44px; height:44px; background:rgba(255,255,255,0.05); border:2px solid rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; color:#fff; text-decoration:none; font-size:18px; transition:all 0.2s; } .footer-social a:hover { background:var(–accent); color:var(–text); border-color:var(–accent); transform:translateY(-4px); } .footer-bottom { border-top:2px solid rgba(255,255,255,0.1); padding-top:32px; text-align:center; font-size:13px; color:#666; max-width:1200px; margin:0 auto; font-weight:600; letter-spacing:1px; } .footer-bottom a { color:var(–accent); text-decoration:none; } /* MAP */ .map-section { padding:0; border-bottom:4px solid var(–accent); } .map-section iframe { width:100%; height:400px; border:none; filter:grayscale(0.8) contrast(1.2); } /* STICKY BAR */ .sticky-bar { display:none; position:fixed; bottom:0; left:0; right:0; z-index:999; background:var(–text); border-top:4px solid var(–accent); padding:16px 20px; align-items:center; justify-content:space-between; box-shadow:0 -8px 30px rgba(0,0,0,0.3); } .sticky-bar .sticky-price { font-family:var(–font-display); font-size:32px; color:var(–accent); line-height:1; } .sticky-bar .sticky-price small { font-family:var(–font-body); font-size:12px; color:#fff; display:block; font-weight:700; text-transform:uppercase; letter-spacing:1px; } .sticky-bar .sticky-btns { display:flex; gap:12px; } .sticky-bar .btn-sticky-book { background:var(–accent); color:var(–text); font-weight:800; font-size:14px; padding:14px 28px; border:2px solid var(–text); text-decoration:none; text-transform:uppercase; letter-spacing:1px; display:flex; align-items:center; box-shadow:3px 3px 0px var(–text); } /* WA FLOAT */ .wa-float { position:fixed; bottom:32px; right:32px; z-index:998; width:64px; height:64px; background:#25D366; border:2px solid #fff; display:flex; align-items:center; justify-content:center; font-size:32px; color:#fff; text-decoration:none; box-shadow:4px 4px 0px rgba(0,0,0,0.3); transition:all 0.2s; border-radius:50%; } .wa-float:hover { transform:translate(-2px,-2px); box-shadow:6px 6px 0px rgba(0,0,0,0.4); } /* ANIMATIONS */ @keyframes fadeInLeft { from { opacity:0; transform:translateX(-40px); } to { opacity:1; transform:translateX(0); } } .animate-on-scroll { opacity:0; transform:translateY(30px); transition:all 0.6s cubic-bezier(0.2,0.8,0.2,1); } .animate-on-scroll.visible { opacity:1; transform:translateY(0); } .animate-on-scroll.from-left { transform:translateX(-40px); } .animate-on-scroll.from-left.visible { transform:translateX(0); } .animate-on-scroll.from-right { transform:translateX(40px); } .animate-on-scroll.from-right.visible { transform:translateX(0); } .stagger-children > .animate-on-scroll:nth-child(1) { transition-delay:0s; } .stagger-children > .animate-on-scroll:nth-child(2) { transition-delay:0.1s; } .stagger-children > .animate-on-scroll:nth-child(3) { transition-delay:0.2s; } .stagger-children > .animate-on-scroll:nth-child(4) { transition-delay:0.3s; } /* BOOKING HERO */ .booking-hero { background:var(–dark-section); padding:100px 40px 80px; border-bottom:4px solid var(–accent); } .booking-hero-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1.5fr; gap:64px; align-items:start; } .bh-info { color:#fff; } .bh-badge { display:inline-block; background:var(–accent); color:var(–text); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:2px; padding:8px 16px; margin-bottom:28px; border-radius:var(–radius); } .bh-title { font-family:var(–font-display); font-size:clamp(44px,5.5vw,76px); line-height:0.92; text-transform:uppercase; color:#fff; margin-bottom:20px; letter-spacing:-1px; } .bh-title .accent { color:var(–accent); display:block; } .bh-sub { font-size:16px; color:rgba(255,255,255,0.65); line-height:1.65; margin-bottom:24px; font-weight:500; } .bh-price { font-family:var(–font-display); font-size:56px; color:var(–accent); line-height:1; margin-bottom:4px; letter-spacing:-1px; } .bh-price span { font-family:var(–font-body); font-size:13px; color:rgba(255,255,255,0.45); font-weight:600; display:block; margin-bottom:24px; } .bh-includes { list-style:none; margin-bottom:28px; } .bh-includes li { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; color:rgba(255,255,255,0.8); padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.06); } .bh-includes li:last-child { border-bottom:none; } .bh-includes li i { color:var(–accent); font-size:11px; width:14px; } .bh-trust { display:flex; gap:20px; flex-wrap:wrap; padding-top:4px; } .bh-trust-item { font-size:11px; font-weight:800; color:rgba(255,255,255,0.4); text-transform:uppercase; letter-spacing:1px; display:flex; align-items:center; gap:6px; } .bh-trust-item i { color:var(–accent); } .bh-calendar { background:#fff; border-radius:var(–radius-lg); overflow:hidden; box-shadow:0 24px 80px rgba(0,0,0,0.6); position:sticky; top:100px; } .bh-cal-header { background:var(–accent); padding:22px 28px; } .bh-cal-header h2 { font-family:var(–font-display); font-size:30px; color:var(–text); letter-spacing:1px; } .bh-cal-header p { font-size:13px; color:rgba(0,0,0,0.55); font-weight:600; margin-top:4px; } .bh-cal-body { padding:20px 24px 24px; } .bh-cal-note { background:rgba(0,0,0,0.04); padding:14px 24px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:1px; color:#999; text-align:center; border-top:1px solid rgba(0,0,0,0.06); } .bh-quad-link { padding:12px 24px; font-size:12px; font-weight:600; color:#aaa; text-align:center; border-top:1px solid rgba(0,0,0,0.06); } .bh-quad-link a { color:#555; font-weight:800; text-decoration:none; border-bottom:1px solid #ccc; } .bh-quad-link a:hover { color:#222; } .bh-photo { position:relative; border-radius:var(–radius-lg); overflow:hidden; margin-bottom:24px; border:2px solid rgba(255,255,255,0.1); flex-shrink:0; } .bh-photo img { width:100%; height:210px; object-fit:cover; display:block; } .bh-photo-tag { position:absolute; bottom:12px; left:12px; background:var(–accent); color:var(–text); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:2px; padding:6px 14px; border-radius:var(–radius); } /* ROUTE WITH MAP */ .route-layout { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:280px 1fr; gap:48px; align-items:start; } .route-map-col { position:sticky; top:100px; } .route-map-col img { width:100%; border-radius:var(–radius-lg); border:2px solid rgba(255,255,255,0.12); box-shadow:0 16px 48px rgba(0,0,0,0.5); } .route-map-label { font-family:var(–font-display); font-size:13px; color:var(–accent); letter-spacing:2px; text-align:center; margin-top:14px; text-transform:uppercase; opacity:0.7; } .route-stops-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; } /* URGENCY BANNER */ .urgency-banner { background:var(–accent); padding:12px 40px; text-align:center; font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:2px; color:var(–text); position:relative; z-index:999; } /* NEW BADGE */ .badge-new { display:inline-flex; align-items:center; background:#ff3d00; color:#fff; padding:4px 12px; border-radius:var(–radius); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:2px; margin-left:10px; vertical-align:middle; box-shadow:2px 2px 0px rgba(0,0,0,0.4); } /* RESPONSIVE */ @media (max-width:1024px) { .header-nav { display:none; } .mobile-menu-btn { display:block; } .booking-inner { grid-template-columns:1fr; } .booking-hero-inner { grid-template-columns:1fr; gap:40px; } .bh-calendar { position:static; } .route-layout { grid-template-columns:1fr; } .route-map-col { position:static; max-width:280px; margin:0 auto; } .route-stops-grid { grid-template-columns:1fr 1fr; } .route-grid { grid-template-columns:repeat(2,1fr); } .features-grid { grid-template-columns:repeat(2,1fr); } .direct-inner { grid-template-columns:1fr; gap:40px; } .how-grid { grid-template-columns:repeat(3,1fr); gap:16px; } .how-step::after { display:none; } .how-step { padding:24px 16px; } .how-number { width:44px; height:44px; font-size:22px; margin-bottom:12px; } .how-step h3 { font-size:20px; } .footer-grid { grid-template-columns:1fr 1fr 1fr; gap:32px; } .reviews-grid { grid-template-columns:1fr; max-width:600px; margin:0 auto; } } @media (max-width:768px) { .hero-content { padding:140px 24px 80px; } .hero h1 { font-size:clamp(48px,12vw,70px); } .hero-price { font-size:32px; } .booking-hero { padding:80px 20px 60px; } .bh-title { font-size:clamp(40px,10vw,60px); } .bh-price { font-size:44px; } .route-stops-grid { grid-template-columns:1fr; } .section { padding:80px 24px; } .trust-bar { gap:20px; padding:20px; } .trust-item { font-size:13px; gap:10px; flex:1 1 45%; min-width:0; } .booking-section { padding:60px 24px; } .booking-price-main { font-size:56px; } .route-grid { grid-template-columns:1fr 1fr; gap:16px; } .route-stop-img { height:140px; } .features-grid { grid-template-columns:1fr; gap:20px; } .gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:200px 200px 200px; } .gallery-item:first-child { grid-row:auto; } .faq-section { padding:60px 24px; } .faq-q { font-size:16px; padding:20px 0; } .cta-section { padding:100px 24px; } .how-section { padding:60px 20px; } .how-grid { gap:12px; } .how-step { padding:20px 12px; } .how-step h3 { font-size:18px; } .how-step p { font-size:13px; } .footer { padding:60px 24px 30px; } .footer-grid { grid-template-columns:1fr; gap:40px; } .sticky-bar { display:flex; } .wa-float { bottom:90px; right:20px; width:52px; height:52px; font-size:26px; } .header { padding:16px; } .header-logo { font-size:18px; } .header-logo img { height:30px; } .direct-section { padding:60px 24px; } .route-section { padding:60px 24px; } } @media (max-width:480px) { .route-grid { grid-template-columns:1fr; } .hero-ctas { flex-direction:column; align-items:stretch; } .btn-primary { text-align:center; justify-content:center; font-size:15px; padding:16px; } .trust-item { flex:1 1 100%; } .comp-row > div { padding:10px 6px; font-size:12px; } .direct-comparison-header { font-size:11px; } .footer-grid { grid-template-columns:1fr; } .btn-book-header { display:none; } }
🔥 NEW EXPERIENCE · Limited quads per tour · Summer slots fill up fast · Book your date now
Free cancellation 24h before
Up 2 riders per quad
4.9/5 — 240+ reviews
Helmet & goggles included
★ New Experience · Solo Ride · 4.9/5

RIDE YOUR OWNQUAD THROUGHIBIZA

Quad Tour Ibiza — 1 rider per quad
Quad Tour · 1 Rider Per Quad

2.5-hour solo guided adventure through hidden trails, coastal cliffs & breathtaking viewpoints. Up 2 riders per quad. Helmet & goggles provided. Pure freedom.

€90 / 1 Pax2 riders sharing 1 quad · €130
  • Your own Exclusive quad — Up 2 riders per Quad
  • Full-face helmet & goggles included
  • Professional local guide throughout
  • Fuel & basic insurance included
  • Only 20% deposit to secure your date
  • Free cancellation 24h before
4.9/5 · 240+ verified reviews
Free cancel 24h
Instant confirmation

BOOK QUAD TOUR

Select a date and book instantly — limited spots per departure

Only 20% deposit now · Rest paid on the day · Free cancel 24h before

YOUR ROUTE

Four iconic stops across Ibiza’s untamed west coast. Accessible only off-road — the way it should be.

Ibiza Quad Tour Route Map
Tour Route Map
Cala Comte Ibiza
01

CALA COMTE

Turquoise water, wild pine cliffs. One of Ibiza’s most spectacular beaches — reached by quad, not by bus.

Sa Figuera cave Ibiza
02

SA FIGUERA

Ancient rock shelter carved into the landscape. Off the map, off the tourist trail.

Cala Llentia Ibiza sculpture
03

CALA LLENTIA

The “Time & Space” sculpture by Andrew Rogers and jaw-dropping coastal panoramas. A must-see spot.

Off-road quad trails Ibiza
04

DIRT TRAILS

Pine forests, rocky passes, dust clouds. This is what the quad was made for — raw, wild, unforgettable.

SOLO. FAST.
UNTAMED.

YOUR OWN QUAD

No sharing. One quad per rider. You set the pace, you feel the trail — this is the most personal way to experience Ibiza’s wild side.

EXCLUSIVE TRAILS

Off-road paths that no car, no bus, no tourist van can reach. We take you through the island’s rawest, most spectacular terrain.

FULL SAFETY KIT

Full-face helmet and protective goggles provided for every rider. Safety briefing before departure. No experience needed — just a driving licence.

SMALL GROUPS

Capped group sizes mean a personal, flexible ride — not a long convoy. Real connection with the route and a guide who actually has time for you.

LOCAL GUIDES

Born and raised in Ibiza. Every hidden beach, every forgotten path, every story — our guides bring the island to life in a way no app ever could.

UNFORGETTABLE VIEWS

Coastal cliffs, pine forest tracks, turquoise coves. Every stop is a photo opportunity. Bring your camera — you’ll want proof this was real.

240+ VERIFIED REVIEWS

4.9
★★★★★
Based on 240+ verified reviews
TripAdvisor & Google
JL
James L.
Australia
★★★★★
“Absolutely insane experience. Having your own quad on trails like that, with those views — I’ve never felt more alive. Our guide was brilliant and really knew the island. 100% recommend.”
📍 TripAdvisor · Jul 2025
SM
Sofia M.
Germany
★★★★★
“Never ridden a quad before and I was a bit nervous — but after 5 minutes I was flying through the trails with a massive smile. The views at Cala Comte were stunning. Best day in Ibiza.”
📍 Google Reviews · Aug 2025
TC
Tom C.
United Kingdom
★★★★★
“Came as a couple and we each got our own quad — that’s the best part. The independence, the dust, the adrenaline. We went through spots tourists never see. Absolutely worth every euro.”
📍 TripAdvisor · Sep 2025

HOW IT WORKS

1

BOOK ONLINE

Pick your date and complete your booking in under 2 minutes. Only 20% deposit required. Free cancellation up to 24h before.

2

MEET & GEAR UP

Arrive at Av. Doctor Fleming 15, San Antonio — 20 min early for safety briefing, helmet fitting and quad introduction. Easy to ride — we’ll show you everything.

3

RIDE!

Throttle up. 2.5 hours of raw terrain, hidden beaches and coastal trails. Your quad, your pace, the real Ibiza beneath your wheels.

WHY BOOK DIRECT?

Skip the middleman. Book through our website and get the best price guaranteed — no commissions, no hidden fees.

  • Best price guaranteed — we never charge more than any OTA
  • Direct WhatsApp support — before, during & after your tour
  • Flexible date changes — just message us, no hassle
  • Priority availability — first access to new time slots
BOOK DIRECT
MARKETPLACES
Best price
✗ +15-25% fees
WhatsApp support
✓ Direct
✗ Via platform
Free date changes
✓ Instant
✗ Limited
Priority slots
✓ First access
✗ Leftovers
Supports local business
✓ 100%
✗ 75%

FAQ

€90 for one rider on your own quad. If you prefer to share the quad with a companion, the price is €130 per quad (maximum 2 people per quad). Only a 20% deposit is required at booking — the rest is paid on the day of the tour.
Yes — a valid category B (car) driving licence is required. You must be at least 25 years old to drive. If your licence was issued outside the EU, a small deposit may be required.
No experience needed. Our quads are straightforward to operate — our guides give you a full briefing and a short practice before the tour begins. If you can drive a car, you can ride a quad.
Yes — full-face helmets are mandatory for all riders. We provide them on-site, fully sanitized, in all sizes. Protective goggles are also provided. Closed-toe shoes are compulsory (no flip-flops).
Yes — quads can hold up to 2 people. If you book with a companion (1 driver + 1 passenger sharing one quad), the price is €130 per quad. For the true solo experience, book your own quad at €90.
MANDATORY: Closed-toe shoes — trainers or sneakers. Flip-flops are strictly not allowed. RECOMMENDED: Clothes that can get dusty, sunglasses, sunscreen. Bring a swimsuit — you may get the chance for a swim!
If weather conditions make it unsafe to run the tour, we will offer a free date change or a full refund. Ibiza gets over 300 sunny days a year, so it’s rarely an issue — but your safety always comes first.
Free cancellation up to 24 hours before the tour. Only a 20% deposit is charged at booking — the remaining balance is collected on the day of the tour.
Our base is at Av. del Doctor Fleming 15, Sant Antoni de Portmany, Ibiza. Please arrive at least 20 minutes before your scheduled departure for safety briefing and helmet fitting.

YOUR QUAD
AWAITS

Join 5,000+ adventurers who rode the wild side of Ibiza. Limited quads per tour — summer slots fill up fast.

Check Availability & Book Now →

From €90/rider · Free cancellation 24h · Instant confirmation

document.querySelectorAll(‘.faq-q’).forEach(btn => { btn.addEventListener(‘click’, () => { const item = btn.parentElement; const wasOpen = item.classList.contains(‘open’); document.querySelectorAll(‘.faq-item’).forEach(i => i.classList.remove(‘open’)); if (!wasOpen) item.classList.add(‘open’); }); }); const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) entry.target.classList.add(‘visible’); }); }, { threshold: 0.08, rootMargin: ‘0px 0px -40px 0px’ }); document.querySelectorAll(‘.animate-on-scroll’).forEach(el => observer.observe(el)); window.addEventListener(‘scroll’, () => { document.querySelector(‘.header’).classList.toggle(‘scrolled’, window.scrollY > 60); const bar = document.querySelector(‘.sticky-bar’); if (window.innerWidth 600 ? ‘flex’ : ‘none’; }); const mobileBtn = document.querySelector(‘.mobile-menu-btn’); const headerNav = document.querySelector(‘.header-nav’); if (mobileBtn) { mobileBtn.addEventListener(‘click’, () => { if (headerNav.style.display === ‘flex’) { headerNav.style.display = ‘none’; } else { Object.assign(headerNav.style, { display:’flex’, flexDirection:’column’, position:’absolute’, top:’100%’, left:’0′, right:’0′, background:’rgba(244,244,244,0.97)’, padding:’20px’, gap:’16px’, backdropFilter:’blur(20px)’, boxShadow:’0 8px 30px rgba(0,0,0,0.08)’, borderBottom:’1px solid rgba(0,0,0,0.06)’ }); } }); }