:root{
  --silver-50:#F6F7F8;
  --silver-100:#E5E7EA;
  --silver-200:#D1D3D6;
  --silver-300:#B8BFC6;
  --silver-400:#A0A6AD;

  --blue-900:#02045C;
  --blue-800:#0710A8;
  --blue-700:#0810A8;
  --blue-600:#071BE8;
  --blue-500:#0D47A1;
  --blue-400:#1565C0;
  --blue-300:#1976D2;
  --blue-200:#1E88E5;
  --blue-100:#2196F3;

  --black-900:#000000;
  --black-800:#0A0A0A;
  --black-700:#111111;
  --black-600:#1A1A1A;
  --black-500:#222222;

  --fd-bg:var(--silver-50);
  --fd-border:rgba(0,0,0,.10);
  --fd-text:var(--black-900);
  --fd-muted:var(--black-700);
  --fd-accent:var(--blue-800);
  --fd-accent-light:var(--blue-600);
  --fd-accent-dark:var(--blue-900);
  --fd-error:#FF4162;
  --fd-success:#22C55E;
}

*{
  box-sizing:border-box;
}

html,body{
  margin:0;
  min-height:100%;
  font-family:Inter,Arial,Helvetica,sans-serif;
  color:var(--fd-text);
}

body{
  min-height:100vh;
  background:
    radial-gradient(circle at 10% 15%,rgba(7,16,168,.10),transparent 32%),
    radial-gradient(circle at 90% 80%,rgba(0,0,0,.07),transparent 30%),
    linear-gradient(145deg,#F6F7F8,#E5E7EA);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 16px;
}

.fd-shell{
  width:min(1040px,100%);
  display:grid;
  grid-template-columns:minmax(280px,.85fr) minmax(340px,1.15fr);
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.7);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.16);
  backdrop-filter:blur(18px);
}

.fd-side{
  position:relative;
  padding:48px 42px;
  background:
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.18),transparent 30%),
    linear-gradient(150deg,var(--blue-900),var(--blue-800) 55%,var(--blue-600));
  color:white;
  overflow:hidden;
}

.fd-side:after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  right:-110px;
  bottom:-110px;
}

.fd-brand{
  position:relative;
  z-index:1;
}

.fd-logo{
  width:86px;
  height:86px;
  object-fit:contain;
  display:block;
  margin-bottom:22px;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.22));
}

.fd-brand-name{
  font-size:31px;
  line-height:1;
  font-weight:900;
  letter-spacing:1.6px;
}

.fd-brand-sub{
  margin-top:8px;
  font-size:13px;
  opacity:.80;
  letter-spacing:.3px;
}

.fd-service{
  position:relative;
  z-index:1;
  margin-top:80px;
}

.fd-service-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  font-size:27px;
  margin-bottom:18px;
}

.fd-service h2{
  margin:0;
  font-size:28px;
  line-height:1.15;
}

.fd-service p{
  margin:12px 0 0;
  max-width:330px;
  color:rgba(255,255,255,.78);
  line-height:1.6;
  font-size:14px;
}

.fd-main{
  padding:44px 48px;
  background:rgba(255,255,255,.96);
}

.fd-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:30px;
}

.fd-title{
  margin:0;
  font-size:29px;
  line-height:1.15;
}

.fd-kicker{
  margin-top:8px;
  color:#555;
  font-size:14px;
}

.fd-lang{
  border:1px solid var(--fd-border);
  background:white;
  border-radius:12px;
  padding:9px 11px;
  color:var(--fd-accent);
  font-weight:700;
}

.fd-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.fd-field{
  margin-bottom:17px;
}

.fd-field.full{
  grid-column:1/-1;
}

label{
  display:block;
  margin:0 0 7px;
  font-size:13px;
  font-weight:750;
}

input,select{
  width:100%;
  height:48px;
  padding:0 14px;
  border-radius:13px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  color:#000;
  font-size:15px;
  outline:none;
  transition:.2s ease;
}

input:focus,select:focus{
  border-color:var(--fd-accent);
  box-shadow:0 0 0 3px rgba(7,16,168,.10);
}

.fd-btn{
  width:100%;
  min-height:50px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,var(--blue-800),var(--blue-600));
  color:#fff;
  font-size:15px;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 9px 20px rgba(7,16,168,.20);
}

.fd-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
}

.fd-msg{
  display:none;
  margin:16px 0 0;
  padding:12px 14px;
  border-radius:12px;
  font-size:13px;
  line-height:1.45;
}

.fd-msg.error{
  display:block;
  color:#B42318;
  background:#FFF1F1;
  border:1px solid #FFD1D1;
}

.fd-msg.success{
  display:block;
  color:#087A38;
  background:#EEFFF4;
  border:1px solid #BCEACC;
}

.fd-switch{
  text-align:center;
  margin-top:22px;
  font-size:14px;
  color:#555;
}

.fd-switch a{
  color:var(--fd-accent);
  text-decoration:none;
  font-weight:800;
}

.fd-note{
  margin-top:18px;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(7,16,168,.05);
  color:#444;
  font-size:12px;
  line-height:1.55;
}

@media(max-width:760px){
  body{
    padding:0;
    align-items:stretch;
  }

  .fd-shell{
    min-height:100vh;
    border-radius:0;
    grid-template-columns:1fr;
  }

  .fd-side{
    padding:28px 24px;
  }

  .fd-logo{
    width:66px;
    height:66px;
    margin-bottom:14px;
  }

  .fd-brand-name{
    font-size:25px;
  }

  .fd-service{
    margin-top:30px;
  }

  .fd-service-icon{
    display:none;
  }

  .fd-service h2{
    font-size:22px;
  }

  .fd-main{
    padding:30px 22px 38px;
  }

  .fd-grid{
    grid-template-columns:1fr;
    gap:0;
  }

  .fd-field.full{
    grid-column:auto;
  }

  .fd-title{
    font-size:25px;
  }
}

/* FD_AIR_MARINE_AUTH_FEATURES_V2 */

.fd-auth-tools{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:-4px 0 18px;
  font-size:13px;
}

.fd-remember{
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  color:#444;
}

.fd-remember input{
  width:16px;
  height:16px;
  margin:0;
  accent-color:var(--fd-accent);
}

.fd-link{
  color:var(--fd-accent);
  text-decoration:none;
  font-weight:800;
}

.fd-lang-wrap{
  position:relative;
  margin-left:auto;
}

.fd-lang-btn{
  border:1px solid var(--fd-border);
  background:#fff;
  color:var(--fd-accent);
  border-radius:12px;
  padding:9px 12px;
  font-weight:800;
  cursor:pointer;
  max-width:190px;
}

.fd-lang-menu{
  position:absolute;
  z-index:30;
  top:46px;
  right:0;
  width:250px;
  max-height:330px;
  overflow:auto;
  display:none;
  padding:8px;
  background:#fff;
  border:1px solid var(--fd-border);
  border-radius:15px;
  box-shadow:0 15px 40px rgba(0,0,0,.16);
}

.fd-lang-menu.show{
  display:block;
}

.fd-lang-item{
  display:block;
  width:100%;
  text-align:left;
  border:0;
  background:#fff;
  padding:9px 10px;
  border-radius:9px;
  cursor:pointer;
}

.fd-lang-item:hover{
  background:var(--silver-50);
}

[dir="rtl"] .fd-lang-menu{
  right:auto;
  left:0;
}

[dir="rtl"] .fd-lang-item{
  text-align:right;
}

.fd-reset-info{
  padding:13px 14px;
  background:rgba(7,16,168,.06);
  border-radius:13px;
  margin-bottom:18px;
  font-size:13px;
  line-height:1.5;
}

@media(max-width:520px){
  .fd-auth-tools{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
}


/* ==========================================================
   FD_AIR_MARINE_PRO_VISUAL_V1
   ========================================================== */

.fd-service{
  margin-top:48px;
}

.fd-service-visual{
  position:relative;
  width:100%;
  max-width:360px;
  height:230px;
  margin:0 0 24px;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.08);
  box-shadow:
    0 22px 45px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.fd-service-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      to top,
      rgba(2,4,92,.34),
      transparent 45%
    );
  pointer-events:none;
}

.fd-service-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.01);
}

.fd-service h2{
  font-size:30px;
  letter-spacing:-.4px;
}

.fd-service p{
  max-width:360px;
  font-size:14px;
  line-height:1.7;
}


/* Boat class visual selector */

.fd-boat-choice{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.fd-boat-card{
  position:relative;
  display:block;
  margin:0;
  overflow:hidden;
  border-radius:18px;
  border:2px solid rgba(0,0,0,.10);
  background:#fff;
  cursor:pointer;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.fd-boat-card:hover{
  transform:translateY(-2px);
  border-color:rgba(7,16,168,.30);
  box-shadow:0 12px 28px rgba(0,0,0,.10);
}

.fd-boat-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.fd-boat-card-media{
  display:block;
  height:132px;
  overflow:hidden;
  background:#eef1f8;
}

.fd-boat-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.fd-boat-card-body{
  display:block;
  padding:13px 14px 15px;
}

.fd-boat-card-body strong{
  display:block;
  color:#050505;
  font-size:15px;
  line-height:1.25;
}

.fd-boat-card-body small{
  display:block;
  margin-top:5px;
  color:#666;
  font-size:11px;
  line-height:1.35;
}

.fd-boat-check{
  position:absolute;
  top:10px;
  right:10px;
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#0710A8;
  font-weight:900;
  box-shadow:0 5px 14px rgba(0,0,0,.20);
  opacity:0;
  transform:scale(.75);
  transition:.18s ease;
}

.fd-boat-card:has(input:checked){
  border-color:#0710A8;
  box-shadow:
    0 0 0 3px rgba(7,16,168,.10),
    0 14px 30px rgba(7,16,168,.15);
}

.fd-boat-card:has(input:checked) .fd-boat-check{
  opacity:1;
  transform:scale(1);
}

@media(max-width:760px){

  .fd-service{
    margin-top:24px;
  }

  .fd-service-visual{
    max-width:none;
    height:180px;
    margin-bottom:18px;
    border-radius:20px;
  }

  .fd-boat-choice{
    grid-template-columns:1fr;
  }

  .fd-boat-card{
    display:grid;
    grid-template-columns:120px 1fr;
    min-height:105px;
  }

  .fd-boat-card-media{
    height:100%;
    min-height:105px;
  }

  .fd-boat-card-body{
    align-self:center;
  }

}


/* FD_AIR_MARINE_LIGHT_EMOJI_MEDIA_V2 */
.fd-service-visual{
  height:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  contain:layout paint;
}
.fd-service-visual .fd-service-emoji{
  display:block;
  font-size:92px;
  line-height:1;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  filter:none;
}
.fd-boat-card-media{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100px;
}
.fd-boat-card-media .fd-boat-emoji{
  font-size:62px;
  line-height:1;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
}
@media(max-width:700px){
  .fd-service{margin-top:26px}
  .fd-service-visual{height:128px;margin-bottom:14px}
  .fd-service-visual .fd-service-emoji{font-size:72px}
}


/* FD_AIR_MARINE_PREMIUM_3D_V1 */
.fd-service-visual{
  position:relative;
  overflow:hidden;
  height:190px;
  border-radius:26px;
  border:1px solid rgba(156,190,255,.34);
  background:
    radial-gradient(circle at 50% 42%,rgba(78,132,255,.34),transparent 47%),
    linear-gradient(145deg,rgba(22,43,174,.82),rgba(7,20,111,.88) 58%,rgba(3,9,56,.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.19),
    inset 0 -28px 48px rgba(0,4,37,.24),
    0 18px 38px rgba(0,6,58,.22);
  isolation:isolate;
}
.fd-service-visual::before{
  content:"";
  position:absolute;
  inset:-35% -15% auto;
  height:78%;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.16),transparent 66%);
  pointer-events:none;
  z-index:1;
}
.fd-service-visual::after{
  content:"";
  position:absolute;
  left:9%;right:9%;bottom:12px;height:22px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(75,151,255,.30),rgba(0,16,90,0) 70%);
  filter:blur(5px);
  pointer-events:none;
}
.fd-service-visual .fd-service-emoji{
  position:relative;
  z-index:2;
  display:block;
  width:96%;
  height:96%;
  font-size:0!important;
  line-height:0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  border-radius:18px;
  filter:drop-shadow(0 18px 20px rgba(0,4,35,.32));
  transform:none;
}
body[data-service="helicopter"] .fd-service-visual .fd-service-emoji{
  background-image:url('/assets/experiences/helicopter-card.webp?v=20260908-3d-v1');
}
body[data-service="small-boat"] .fd-service-visual .fd-service-emoji{
  background-image:url('/assets/experiences/boat-card.webp?v=20260908-3d-v1');
}
body[data-service="luxury-boat"] .fd-service-visual .fd-service-emoji{
  background-image:url('/assets/experiences/yacht-card.webp?v=20260908-3d-v1');
}
@media(max-width:700px){
  .fd-service-visual{
    height:154px;
    margin-bottom:14px;
    border-radius:22px;
  }
  .fd-service-visual .fd-service-emoji{
    width:98%;
    height:98%;
    font-size:0!important;
  }
}

/* FD_AIR_MARINE_RIDER_ASSET_RATIO_V3 */
@media(max-width:700px){
  .fd-service-visual{
    width:86%;
    max-width:520px;
    aspect-ratio:4/3;
    height:auto;
    margin:22px auto 16px;
    border-radius:22px;
  }
  .fd-service-visual .fd-service-emoji{
    width:100%;
    height:100%;
    background-size:cover;
    background-position:center;
    border-radius:inherit;
  }
}
