/* Jet Car in Dubai : blocs propres a ce site (image de fond du hero, extras, texte de presentation). Charge apres sea.css. */

.hero > img.hero-image-bg { display: block; width: 100%; height: 100%; border-radius: 20px; object-fit: cover; object-position: center 60%; }

.jc-extras { padding: 72px 0 24px; }
.jc-extras__wrap { width: min(1200px, 100% - 32px); margin-inline: auto; text-align: center; }
.jc-extras h2 { margin: 0 0 10px; font-size: clamp(1.7rem, 3.4vw, 2.4rem); line-height: 1.15; font-weight: 800; letter-spacing: -0.025em; color: var(--sea-ink); }
.jc-extras__sub { margin: 0 auto 34px; max-width: 620px; color: var(--sea-ink-2); }
.jc-extras__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; text-align: left; }
.jc-extra { background: var(--sea-surface); border: 1px solid var(--sea-line); border-radius: var(--sea-radius); box-shadow: var(--sea-shadow); padding: 26px 26px 24px; display: flex; flex-direction: column; gap: 10px; }
.jc-extra b { font-size: 1.15rem; color: var(--sea-ink); }
.jc-extra p { margin: 0; color: var(--sea-ink-2); flex: 1; }
.jc-extra strong { color: var(--sea-deep); font-size: 1.05rem; }

.jc-about { padding: 56px 0 84px; }
.jc-about__wrap { width: min(860px, 100% - 32px); margin-inline: auto; }
.jc-about h2 { margin: 0 0 18px; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; color: var(--sea-ink); }
.jc-about p { margin: 0 0 14px; line-height: 1.75; color: var(--sea-ink-2); }

/* logo : le pictogramme dore + le nom en texte (le logo complet est illisible a la hauteur de l'en-tete) */
html body header.fixed_header .logo_sticky { display: inline-flex !important; align-items: center; gap: 9px; width: auto !important; text-decoration: none; }
html body header.fixed_header .logo_sticky img { height: 34px !important; max-height: 34px !important; width: auto !important; margin: 0 !important; }
html body header.fixed_header .logo_sticky .logo-word { font-weight: 800; font-size: 12.5px; line-height: 1.12; letter-spacing: 0.02em; color: var(--sea-ink); text-transform: uppercase; white-space: nowrap; }
.logo_panel img { height: 64px; width: auto; }
.footer-logo img { height: 96px; width: auto; }

@media (max-width: 991px) {
    html body header.fixed_header .logo_sticky .logo-word { display: none; }
    html body header.fixed_header .logo_sticky img { height: 30px !important; max-height: 30px !important; }
}

@media (max-width: 820px) {
    .jc-extras__grid { grid-template-columns: 1fr; }
    .jc-extras { padding-top: 48px; }
}

/* ---------- reservation : elements choisis bien visibles (fond plein bleu mer, texte blanc, coche) ---------- */
.bk-cat.is-sel, .bk-chip.is-sel, .bk-boat.is-sel, .bk-act.is-sel, .bk-boat--extra.is-sel {
    background: linear-gradient(135deg, var(--sea-blue), var(--sea-deep)) !important;
    border-color: var(--sea-deep) !important; color: #fff !important;
    box-shadow: 0 10px 24px -10px rgba(10, 90, 140, 0.7) !important;
}
.bk-cat.is-sel b, .bk-cat.is-sel small, .bk-chip.is-sel b, .bk-chip.is-sel small,
.bk-boat.is-sel .bk-boat__t, .bk-boat.is-sel .bk-boat__m, .bk-boat.is-sel .bk-boat__p,
.bk-act.is-sel, .bk-act.is-sel * { color: #fff !important; }
.bk-chip.is-sel::before, .bk-cat.is-sel::before { content: "\2713"; font-weight: 800; margin-inline-end: 6px; }
.bk-chip.is-sel, .bk-cat.is-sel { display: inline-flex; }
.bk-cat.is-sel { display: flex; }
.bk-boat.is-sel::after { background: #fff; color: var(--sea-deep); }
.bk-input.is-filled { background: #e6f4fb; border-color: var(--sea-blue); color: var(--sea-ink); font-weight: 700; box-shadow: 0 0 0 3px rgba(15, 134, 196, 0.18); }
.bk-chip--sm.is-sel { color: #fff; }
.bk-recap-title { margin: 26px 0 10px; }
.bk-cta { display: grid; grid-template-columns: 1fr; }
.bk-cta .bk-btn { width: 100%; }

/* ---------- accueil : bandeau d'en-tete a mi-hauteur (pas de plein ecran) ---------- */
html body .hero.home-search.full-height { height: 52vh !important; min-height: 560px; max-height: 640px; }
html body .hero.home-search .wrapper { padding-top: 70px; padding-bottom: 48px; }
html body .hero.home-search .hero-features-list { position: static !important; margin: 18px 0 0 !important; transform: none !important; }
html body .hero.home-search .container > div:first-child { margin-bottom: 0; }
@media (max-width: 767px) {
    html body .hero.home-search.full-height { height: auto !important; min-height: 520px; }
}
html body .hero.home-search > img.hero-image-bg { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0; }

/* ---------- bouton d'appel rouge, au-dessus du bouton WhatsApp ---------- */
.call-float { position: fixed; z-index: 9000; bottom: 92px; inset-inline-end: 20px; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #e0201b; color: #fff; box-shadow: 0 12px 28px -8px rgba(224, 32, 27, 0.6); transition: transform .2s; }
.call-float:hover { color: #fff; transform: scale(1.06); background: #c81a15; }
body.bk-page .call-float { bottom: 166px; }

/* reservation, derniere etape : le recapitulatif et le total sont deja dans le panneau de droite */
.bk-step[data-step="3"] .bk-recap-title, .bk-step[data-step="3"] #bkRecap, .bk-step[data-step="3"] #bkTotals { display: none; }

/* ---------- reservation : plusieurs choix, resume a droite avec les photos ---------- */
.bk-side__items { list-style: none; margin: 10px 0 6px; padding: 0; display: grid; gap: 8px; }
.bk-side__items li { display: flex; align-items: center; gap: 10px; padding: 6px; border: 1.5px solid var(--sea-line); border-radius: 14px; background: #fff; cursor: pointer; }
.bk-side__items li.is-last { border-color: var(--sea-blue); box-shadow: 0 0 0 3px rgba(15, 134, 196, 0.15); }
.bk-side__items img { width: 58px; height: 44px; object-fit: cover; border-radius: 10px; flex: none; }
.bk-side__items span { flex: 1; min-width: 0; display: grid; }
.bk-side__items b { font-size: 14px; color: var(--sea-ink); }
.bk-side__items small { color: var(--sea-ink-2); font-size: 12.5px; }
.bk-side__x { flex: none; width: 26px; height: 26px; border-radius: 50%; border: 0; background: #e8f3f9; color: var(--sea-deep); font-size: 17px; line-height: 1; cursor: pointer; }
.bk-side__x:hover { background: #e0201b; color: #fff; }
.bk-side__img img { transition: opacity .25s; }
.bk-grp { margin: 18px 0 8px; font-size: 15px; font-weight: 800; color: var(--sea-deep); text-transform: uppercase; letter-spacing: .06em; }
.bk-boat--extra.is-sel::after { content: none !important; display: none; }

/* page yacht : banniere avec la photo du yacht ; une seule carte : centree et jamais collee au bord */
html body .hero.fleet-search.yacht-hero { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.05) 60%), url("../images/pages/yacht-banner.jpg") !important; background-size: cover; background-position: center; }
.yacht-grid { padding-inline: 4px; }
.yacht-grid:has(> :only-child) { grid-template-columns: minmax(0, 440px) !important; justify-content: center; }
@media (max-width: 820px) { .flet-container { padding-inline: 16px; } }

/* fiche produit sur mobile : les boutons flottants montent au-dessus de la barre « Book Now » collee en bas */
@media (max-width: 991px) {
    body[data-page-type="product"] .wa-float { bottom: 96px; }
    body[data-page-type="product"] .call-float { bottom: 166px; }
}

/* cartes : tous les creneaux et prix, puis le bouton */
.gw-card__tiers { display: grid; gap: 6px; margin: 12px 0 4px; }
.gw-card__tier { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 7px 12px; border-radius: 12px; background: rgba(15, 134, 196, 0.08); font-size: 14px; }
.gw-card__tier em { font-style: normal; font-weight: 600; color: var(--sea-ink-2); }
.gw-card__tier b { font-size: 16px; color: var(--sea-ink); font-weight: 800; }
.gw-card__tier s { font-size: 12px; color: var(--sea-ink-3); margin-inline-end: 4px; }
.gw-card__foot { display: block !important; margin-top: 8px; }
.gw-card__foot .gw-card__cta { width: 100%; justify-content: center; }

/* ---------- boutons Appel et WhatsApp : plus grands, au milieu de l'ecran (bord droit) ---------- */
html body .call-float, html body .wa-float, body.bk-page .call-float, body.bk-page .wa-float,
body[data-page-type="product"] .call-float, body[data-page-type="product"] .wa-float {
    width: 78px; height: 78px; bottom: auto; inset-inline-end: 14px; z-index: 9500;
}
html body .call-float { top: calc(50% - 88px); }
html body .wa-float { top: calc(50% + 10px); }
html body .call-float svg, html body .wa-float svg { width: 40px; height: 40px; }
html body .call-float { box-shadow: 0 14px 30px -8px rgba(224, 32, 27, 0.65), 0 0 0 6px rgba(224, 32, 27, 0.15); }
html body .wa-float { box-shadow: 0 14px 30px -8px rgba(37, 211, 102, 0.6), 0 0 0 6px rgba(37, 211, 102, 0.15); }
@media (max-width: 767px) {
    html body .call-float, html body .wa-float, body.bk-page .call-float, body.bk-page .wa-float,
    body[data-page-type="product"] .call-float, body[data-page-type="product"] .wa-float { width: 66px; height: 66px; inset-inline-end: 8px; }
    html body .call-float { top: calc(50% - 74px); }
    html body .wa-float { top: calc(50% + 8px); }
    html body .call-float svg, html body .wa-float svg { width: 34px; height: 34px; }
}

/* mots-cles en liens dans les textes */
.jc-about a, .jc-extra a, .flet-description a, .activity-description a, .hiw-content a, .faq2-content a, .pdp-text a, .service-text a, .activity-page a:not(.btn):not(.explore-btn), main p > a:not([class]) {
    color: var(--sea-blue); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(15, 134, 196, 0.4); text-underline-offset: 3px;
}
.jc-about a:hover, .jc-extra a:hover, .faq2-content a:hover, .pdp-text a:hover, main p > a:not([class]):hover { color: var(--sea-deep); text-decoration-color: currentColor; }

/* deux cartes (jet ski + yacht) : centrees */
.yacht-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 420px)) !important; justify-content: center; }
@media (max-width: 820px) { .yacht-grid:has(> :nth-child(2):last-child) { grid-template-columns: minmax(0, 420px) !important; } }
