/* =====================================================================
   RAINBOW TRAVEL — VISANET SIGNATURE THEME
   Crimson / Warm Gold / Deep Navy • responsive-first overrides
   ===================================================================== */
:root{
  --visanet-crimson:#E11D48;
  --visanet-crimson-dark:#BE123C;
  --visanet-gold:#F59E0B;
  --visanet-navy:#0F172A;
  --visanet-emerald:#10B981;
}
.visanet-site{background:var(--color-light);color:#334155}
.visanet-topbar{background:var(--color-dark)!important;min-height:44px;border-bottom:1px solid rgba(255,255,255,.08)}
.visanet-ribbon{height:44px;display:inline-flex;align-items:center;gap:9px;padding:0 28px 0 18px;background:var(--color-primary);color:white;font-size:10px;font-weight:900;letter-spacing:.045em;clip-path:polygon(0 0,100% 0,91% 100%,0 100%);white-space:nowrap}
.visanet-top-social{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#cbd5e1;transition:all .2s}
.visanet-top-social:hover{background:var(--color-primary);color:white;transform:translateY(-2px)}
.visanet-header{box-shadow:0 5px 22px rgba(15,23,42,.035)}
.visanet-brand-icon{width:44px;height:44px;flex:0 0 44px;position:relative;overflow:hidden;border-radius:14px;background:var(--color-primary);color:white;display:grid;place-items:center;font-size:19px;box-shadow:0 8px 20px color-mix(in srgb,var(--color-primary) 22%,transparent)}
.visanet-brand-icon:after{content:"";position:absolute;width:27px;height:27px;border-radius:50%;right:-9px;bottom:-10px;background:var(--color-secondary);opacity:.65}
.visanet-brand-icon i,.visanet-brand-icon span{position:relative;z-index:1}
.visanet-nav-link{position:relative;padding:9px 0;color:#475569;transition:color .2s;white-space:nowrap}
.visanet-nav-link:after{content:"";position:absolute;left:0;bottom:2px;width:0;height:2px;border-radius:3px;background:var(--color-primary);transition:width .25s}
.visanet-nav-link:hover,.visanet-nav-link.is-current{color:var(--color-primary)}
.visanet-nav-link:hover:after,.visanet-nav-link.is-current:after{width:100%}
.visanet-hotline{display:flex;align-items:center;gap:10px}
.visanet-hotline-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 10%,white);color:var(--color-primary);transition:all .2s}
.visanet-hotline:hover .visanet-hotline-icon{background:var(--color-primary);color:white;transform:rotate(-8deg)}
.visanet-button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:13px 19px;border-radius:12px;background:var(--color-primary);color:#fff;font-size:10px;font-weight:900;letter-spacing:.09em;box-shadow:0 9px 22px color-mix(in srgb,var(--color-primary) 24%,transparent);transition:transform .25s,box-shadow .25s}
.visanet-button:before{content:"";position:absolute;z-index:-1;inset:0;transform:translateX(-115%) skewX(-18deg);background:var(--color-dark);transition:transform .42s cubic-bezier(.4,0,.2,1)}
.visanet-button:hover{transform:translateY(-2px);box-shadow:0 14px 26px color-mix(in srgb,var(--color-primary) 28%,transparent)}
.visanet-button:hover:before{transform:translateX(0) skewX(0)}
.visanet-mobile-trigger{width:43px;height:43px;border-radius:12px;background:var(--color-dark);color:white;display:grid;place-items:center;font-size:18px;box-shadow:0 6px 16px rgba(15,23,42,.13)}
.visanet-mobile-link{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-radius:13px;color:#e2e8f0;background:rgba(255,255,255,.035);transition:all .2s}
.visanet-mobile-link:hover{background:rgba(255,255,255,.1);color:white}

/* Hero: full-bleed signature panel with a strong navy overlay */
.rainbow-home>section#beranda{padding:0!important;margin:0!important}
.rainbow-hero-frame{width:100%;min-height:735px;border-radius:0!important;padding:9rem clamp(1rem,4vw,4rem) 1.6rem!important;background:var(--color-dark);box-shadow:0 20px 55px rgba(15,23,42,.2);position:relative;isolation:isolate}
.rainbow-hero-frame:before{content:"";position:absolute;z-index:0;top:9%;right:7%;width:170px;height:170px;border:1px solid rgba(225,29,72,.38);border-radius:28px;transform:rotate(18deg);pointer-events:none;animation:visanet-float 5s ease-in-out infinite}
.rainbow-hero-frame:after{content:"";position:absolute;z-index:0;right:12%;bottom:27%;width:90px;height:90px;border:1px solid rgba(245,158,11,.35);border-radius:22px;transform:rotate(-15deg);pointer-events:none;animation:visanet-float-x 6s ease-in-out infinite}
.rainbow-hero-frame>div{position:relative}
.rainbow-hero-frame .rainbow-booking-dock{position:relative;z-index:5}
.rainbow-hero-frame .bg-white\/10{box-shadow:0 22px 55px rgba(0,0,0,.18)}
.rainbow-booking-dock{border:1px solid #e2e8f0;border-radius:1.45rem;padding:1.1rem;background:rgba(255,255,255,.98);box-shadow:0 24px 65px rgba(2,6,23,.26)}
.rainbow-dock-field{border-radius:13px;background:#f8fafc;border-color:#e2e8f0;padding:.72rem .85rem}
.rainbow-dock-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent)}
.rainbow-dock-field label{color:#94a3b8;font-size:9px;letter-spacing:.13em}
.rainbow-dock-field input,.rainbow-dock-field select{font-size:12px;color:var(--color-dark)}

/* Visanet motion signature */
@keyframes visanet-float{0%,100%{transform:translateY(0) rotate(18deg)}50%{transform:translateY(-13px) rotate(18deg)}}
@keyframes visanet-float-x{0%,100%{transform:translateX(0) rotate(-15deg)}50%{transform:translateX(13px) rotate(-15deg)}}
@keyframes visanet-orbit{to{transform:rotate(360deg)}}
@keyframes visanet-marquee{to{transform:translateX(-50%)}}
@keyframes visanet-sweep{to{transform:translateX(120%) skewX(-18deg)}}
.btn-visanet,.rainbow-cta{position:relative;isolation:isolate;overflow:hidden}
.rainbow-cta{border-radius:12px;background:var(--color-primary);box-shadow:0 8px 20px color-mix(in srgb,var(--color-primary) 20%,transparent)}
.rainbow-cta:hover{background:var(--color-primary-hover)}
.rainbow-eyebrow{color:var(--color-primary);letter-spacing:.16em}
.rainbow-eyebrow:before{background:var(--color-primary)}
.rainbow-section-title{letter-spacing:-.04em}
.rainbow-bento-card{border-radius:1.7rem;box-shadow:0 14px 36px rgba(15,23,42,.08)}
.rainbow-bento-card:before{content:"";position:absolute;top:0;right:0;width:76px;height:76px;background:var(--color-primary);opacity:.95;clip-path:polygon(100% 0,0 0,100% 100%);z-index:0}
.rainbow-fleet-card,.rainbow-package-card,.rainbow-rich-card{border-radius:1.5rem;border-color:#e2e8f0}
.rainbow-fleet-card:hover,.rainbow-package-card:hover{border-color:color-mix(in srgb,var(--color-primary) 50%,white)}
.rainbow-ticket-divider{border-color:#cbd5e1}
.rainbow-dark-panel{background:var(--color-dark)}
.rainbow-dark-panel:before{background:var(--color-primary);opacity:.23}
.rainbow-footer{background:#0b1220;border-top:4px solid var(--color-primary)}
.rainbow-footer-heading{letter-spacing:.14em}
.rainbow-social:hover{background:var(--color-secondary);color:var(--color-dark)}
.visanet-footer .visanet-button{margin-top:18px}
.visanet-loader{position:fixed;inset:0;z-index:1000;background:var(--color-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;overflow:hidden}
.visanet-loader:before{content:"";position:absolute;inset:0;opacity:.17;background-image:radial-gradient(rgba(148,163,184,.35) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
.visanet-loader:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:var(--color-primary);opacity:.18;filter:blur(90px);pointer-events:none}
.visanet-loader>*{position:relative;z-index:1}
.visanet-loader-orbit{width:86px;height:86px;border-radius:50%;border:3px solid rgba(255,255,255,.1);border-top-color:var(--color-primary);border-right-color:var(--color-secondary);display:grid;place-items:center;margin-bottom:25px;animation:visanet-orbit 1.7s linear infinite}
.visanet-loader-orbit span{width:48px;height:48px;border-radius:15px;background:color-mix(in srgb,var(--color-primary) 25%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 60%,transparent);display:grid;place-items:center;color:white;font-size:20px}
.rainbow-floating-actions{right:1.15rem;bottom:1.15rem}
.rainbow-float-call{background:var(--color-dark);border:1px solid rgba(255,255,255,.12)}
.rainbow-float-wa{box-shadow:0 12px 30px rgba(0,0,0,.24)}

/* Tablet */
@media(max-width:1279px){
  .visanet-header .min-h-\[76px\]{min-height:70px}
  .rainbow-hero-frame{min-height:790px;padding-top:8rem!important}
}
@media(max-width:1023px){
  .rainbow-hero-frame{min-height:850px;padding-top:7.5rem!important}
  .rainbow-hero-frame:before{right:5%;width:110px;height:110px}
  .rainbow-hero-frame:after{right:8%;width:64px;height:64px}
}
@media(max-width:767px){
  .rainbow-hero-frame{min-height:0;padding:7.25rem 1rem 1.2rem!important}
  .rainbow-hero-frame:before{top:14%;right:4%;width:74px;height:74px;border-radius:18px}
  .rainbow-hero-frame:after{display:none}
  .rainbow-booking-dock{border-radius:1.15rem;padding:.8rem}
  .rainbow-section{padding:3.4rem 0}
  .rainbow-floating-actions{right:.75rem;bottom:.75rem}
  .rainbow-float-wa{height:48px;padding:0 14px;font-size:12px}
  .visanet-mobile-link{font-size:12px}
}
@media(max-width:380px){
  .visanet-brand-icon{width:38px;height:38px;flex-basis:38px}
  .rainbow-hero-frame{padding-left:.8rem!important;padding-right:.8rem!important}
  .rainbow-booking-dock{padding:.65rem}
  .rainbow-dock-field{padding:.58rem .65rem}
}
@media(prefers-reduced-motion:reduce){
  .visanet-loader-orbit,.rainbow-hero-frame:before,.rainbow-hero-frame:after{animation:none!important}
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
.visanet-marquee-strip{overflow:hidden;background:var(--color-dark);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:15px 0;margin:0;}
.visanet-marquee-track{display:flex;align-items:center;gap:2.7rem;width:max-content;animation:visanet-marquee 34s linear infinite;color:white;font-size:10px;font-weight:900;letter-spacing:.12em;white-space:nowrap;text-transform:uppercase}
.visanet-marquee-track span{display:inline-flex;align-items:center;gap:12px}
.visanet-marquee-track i{color:var(--color-secondary);font-size:11px}
.visanet-marquee-strip:hover .visanet-marquee-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.visanet-marquee-track{animation:none}}
