/* Alignement sur la DA du Bateau Phare (#155, docs/da/charte-bateau-phare.md) : pictos VF2 en SVG (inc/pictos.php),
   angles vifs, blocs séparés par un filet crème horizontal, photos sans coins arrondis, plaques marine sur les photos.
   Chargé après btp-buttons et btp-forms ; « html:not(#btp-d1):not(#btp-d2) body » passe devant les styles de page. */
:root { --btp-vf2-beige: #D9C5BD; --btp-rule: rgba(245, 230, 211, 0.28); --btp-rule-soft: rgba(245, 230, 211, 0.12); --btp-rule-strong: rgba(245, 230, 211, 0.45); --btp-plaque: rgba(0, 10, 51, 0.82); }

/* ---------- Commandes : police du thème au lieu de la police système (Arial) ---------- */
:where(button, input, select, textarea) { font-family: inherit; }
html:not(#btp-d1):not(#btp-d2) body .btp-btn-resa-fixed { font-family: var(--btp-fd) !important; border-radius: 0 !important; }
html:not(#btp-d1):not(#btp-d2) body :is(.btp-lang-btn, .btp-pdf-close, .btp-sg-close) { font-family: var(--btp-fb) !important; }

/* ---------- Pictogrammes ---------- */
.btp-picto { display: inline-block; flex: none; width: 1em; height: 1em; vertical-align: -0.15em; overflow: visible; }
.btp-vf2 { display: block; color: var(--btp-vf2-beige); }
html:not(#btp-d1):not(#btp-d2) body .btp-picto-inline { width: 0.85em; height: 0.85em; margin: 0 0 0 0.3em; vertical-align: -0.05em; }
html:not(#btp-d1):not(#btp-d2) body .btp-pdf-btn .btp-picto-inline { margin: 0 0.4em 0 0; }
/* Liens externes et fermeture : flèche oblique et croix VF2 en masque, couleur du lien. */
html:not(#btp-d1):not(#btp-d2) body :is(.btp-pm-book, .btp-home-event-cta, .btp-sg-external)::after {
    content: '' !important; display: inline-block; width: 0.8em; height: 0.8em; margin-left: 0.3em !important; vertical-align: -0.02em; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18 17.5 6.5M8 6.5h9.5V16' fill='none' stroke='%23000' stroke-width='2.25'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18 17.5 6.5M8 6.5h9.5V16' fill='none' stroke='%23000' stroke-width='2.25'/%3E%3C/svg%3E") center / contain no-repeat;
}
html:not(#btp-d1):not(#btp-d2) body :is(.btp-pm-book, .btp-home-event-cta):hover::after { transform: translate(3px, -3px); }
html:not(#btp-d1):not(#btp-d2) body :is(.btp-pm-close, .btp-lb-close, .btp-pdf-close)::after {
    content: '' !important; display: inline-block; width: 0.75em; height: 0.75em; font-size: var(--btp-t6); background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5l14 14M19 5 5 19' fill='none' stroke='%23000' stroke-width='2.25'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5l14 14M19 5 5 19' fill='none' stroke='%23000' stroke-width='2.25'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Accueil, « Les nuits du Bateau » : motif VF2 des ondes, trois repères en colonnes sous un filet (texte au niveau 4, #97) ---------- */
html:not(#btp-d1):not(#btp-d2) body .btp-night-wave { width: auto; height: 64px; opacity: 1; margin: 0 0 24px; color: var(--btp-vf2-beige); }
html:not(#btp-d1):not(#btp-d2) body .btp-night-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; margin: 32px 0 0; padding: 0; border-top: 1px solid var(--btp-rule); list-style: none; }
html:not(#btp-d1):not(#btp-d2) body .btp-night-points li {
    display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px 0 0; margin: 0;
    font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--btp-white, #EDF0F7); overflow-wrap: normal; word-break: normal; hyphens: manual;
}
html:not(#btp-d1):not(#btp-d2) body .btp-night-points .btp-night-ico { width: 32px; height: 32px; font-size: 32px; color: var(--btp-vf2-beige); }
@media (max-width: 600px) {
    html:not(#btp-d1):not(#btp-d2) body .btp-night-points { grid-template-columns: minmax(0, 1fr); margin-top: 24px; }
    html:not(#btp-d1):not(#btp-d2) body .btp-night-points li { flex-direction: row; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--btp-rule-soft); }
    html:not(#btp-d1):not(#btp-d2) body .btp-night-points .btp-night-ico { width: 24px; height: 24px; font-size: 24px; }
}

/* ---------- Accueil, « Venir à bord » : liste d'accès en lignes, picto 24 px dans sa colonne ---------- */
html:not(#btp-d1):not(#btp-d2) body .btp-venir-transit { display: block; margin: 0; padding: 0; border-top: 1px solid var(--btp-rule-soft); }
html:not(#btp-d1):not(#btp-d2) body .btp-venir-transit li { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 16px; align-items: start; padding: 12px 0; border-bottom: 1px solid var(--btp-rule-soft); }
html:not(#btp-d1):not(#btp-d2) body .btp-venir-transit .btp-venir-ico { width: 24px; height: 24px; font-size: 24px; margin-top: -1px; margin-top: calc((1lh - 24px) / 2); color: var(--btp-vf2-beige); }

/* ---------- Programmation, Coupe du monde ---------- */
html:not(#btp-d1):not(#btp-d2) body .btp-wc-ico { width: 1.1em; height: 1.1em; margin: 0 0.4em 0 0; vertical-align: -0.2em; color: var(--btp-vf2-beige); }

/* ---------- Blocs et cartes : angles vifs, sans cadre, filet crème en tête (charte 6.3) ---------- */
html:not(#btp-d1):not(#btp-d2) body :is(.btp-priv-card, .btp-social-block-card, .btp-bar-card, .btp-contact-item, .btp-social-card, .btp-visite-meta-item, .btpv-fact, .btp-resa-split-col) {
    background: transparent !important; border: 0 !important; border-top: 1px solid var(--btp-rule) !important; border-radius: 0 !important;
    box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; padding-left: 0 !important; padding-right: 0 !important;
}
html:not(#btp-d1):not(#btp-d2) body :is(.btp-priv-card, .btp-social-block-card, .btp-bar-card, .btp-contact-item, .btp-social-card, .btp-visite-meta-item, .btpv-fact, .btp-resa-split-col):hover { transform: none !important; box-shadow: none !important; border-color: var(--btp-rule) !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-priv-card-feature { border-top-color: var(--btp-rule-strong) !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-priv-card { padding-top: 28px !important; padding-bottom: 0 !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-priv-card ul li { border-bottom-color: var(--btp-rule-soft); }
html:not(#btp-d1):not(#btp-d2) body .btp-priv-grid { column-gap: 40px; }
/* Cartes à photo (événements, espaces, liens de visite) : angles vifs, filet au lieu du cadre, fond conservé. */
html:not(#btp-d1):not(#btp-d2) body :is(.btp-home-event-card, .btp-prog-card, .btp-priv-espace, .btpv-card, .btp-pdf-card) {
    border-radius: 0 !important; border: 0 !important; border-top: 1px solid var(--btp-rule-soft) !important; box-shadow: none !important;
}
html:not(#btp-d1):not(#btp-d2) body :is(.btp-pdf-thumb, .btp-pdf-thumb-svg) { border-radius: 0 !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-pdf-thumb-svg { color: var(--btp-vf2-beige); }

/* ---------- Accueil, contact et réseaux : blocs ouverts, picto VF2 de 32 px sans tuile ---------- */
html:not(#btp-d1):not(#btp-d2) body .btp-social-block-card { justify-content: flex-start !important; padding-top: 28px !important; padding-bottom: 0 !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-social-icon-wrap { display: block !important; width: auto !important; height: auto !important; background: none !important; border-radius: 0 !important; margin: 0 0 16px !important; color: var(--btp-vf2-beige) !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-social-icon-wrap svg { display: block; width: 32px !important; height: 32px !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-contact-title { text-transform: uppercase; letter-spacing: -0.01em; }
html:not(#btp-d1):not(#btp-d2) body .btp-social-section-modern .btp-social-col-right { gap: 40px !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-social-block-card .btp-social-google-cta { align-self: flex-start !important; text-align: left; }
/* Une colonne (tablette, mobile) : contact et réseaux sur la même largeur, alignés à gauche du conteneur. */
@media (max-width: 1200px) {
    html:not(#btp-d1):not(#btp-d2) body .btp-social-section-modern .btp-social-grid { align-items: stretch !important; }
    html:not(#btp-d1):not(#btp-d2) body .btp-social-section-modern :is(.btp-social-block-contact, .btp-social-col-right) { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
}

/* ---------- Bandeaux et panneaux : fond marine, angles vifs, filet crème à 28 % (charte 6.6) ---------- */
html:not(#btp-d1):not(#btp-d2) body :is(.btp-ck-card, .btpv-bk) { border-radius: 0 !important; border-color: var(--btp-rule) !important; }

/* ---------- Photos et vidéos : plein cadre, sans coins arrondis (charte 7) ---------- */
html:not(#btp-d1):not(#btp-d2) body :is(.btp-home-tuiles, .btp-story-video, .btp-terr-card, .btp-gallery-cell, .btp-menu-group-sep--photo, .btp-pdf-container, .btp-priv-matterport-frame, .btp-embed-gate, .btp-contact-map, .btp-night-photo, .btp-bf-page img, .btpv-gallery figure, .btp-privat-page figure) {
    border-radius: 0 !important;
}
html:not(#btp-d1):not(#btp-d2) body .btp-story-video { border: 0 !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-partners-logos { border-radius: 0 !important; border: 0 !important; border-top: 1px solid var(--btp-rule-soft) !important; background: transparent !important; }

/* ---------- Commandes posées sur une photo : plaque marine carrée, sans cadre (charte 6.1) ---------- */
html:not(#btp-d1):not(#btp-d2) body :is(.btp-lb-prev, .btp-lb-next, .btp-gallery-zoom, .btp-story-hint) {
    border-radius: 0 !important; border: 0 !important; background: var(--btp-plaque) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; color: var(--btp-red-light, #F5E6D3) !important;
}
html:not(#btp-d1):not(#btp-d2) body :is(.btp-lb-prev, .btp-lb-next):hover { background: rgba(0, 10, 51, 0.95) !important; color: var(--btp-white) !important; }
/* Étiquette de capacité sur les photos des terrasses : plaque marine, filet bordeaux, Anton. */
html:not(#btp-d1):not(#btp-d2) body .btp-terr-badge {
    border-radius: 0 !important; background: var(--btp-plaque) !important; color: var(--btp-red-light, #F5E6D3) !important; box-shadow: none !important;
    border-bottom: 2px solid var(--btp-red, #C43A3A); padding: 8px 12px !important; gap: 8px !important;
}
html:not(#btp-d1):not(#btp-d2) body .btp-terr-badge svg { width: 20px !important; height: 20px !important; color: var(--btp-vf2-beige); }

/* ---------- Icônes des barres et des menus : picto seul, sans pastille ni cadre gris ---------- */
html:not(#btp-d1):not(#btp-d2) body :is(.btp-nav-newsletter, .btp-nav-social:not(.btp-lang-btn), .btp-menu-socials-row > a, .btp-menu-socials-row > button, .btp-mobile-call) {
    border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
}


/* ---------- Revue DA (#170) ---------- */
/* Note Google : « /5 » lisible et détaché du chiffre à toutes les largeurs. */
html:not(#btp-d1):not(#btp-d2) body .btp-social-block-google .btp-social-score small { font-family: var(--btp-fb) !important; font-size: max(0.4em, 15px) !important; color: rgba(237, 240, 247, 0.62) !important; margin-left: 0.2em !important; letter-spacing: 0.04em; }
/* Formules de privatisation (sans photo) et encart By Kadrance : blocs ouverts sous un filet crème, sans tuile ni cadre (charte 6.3). */
html:not(#btp-d1):not(#btp-d2) body .btp-priv-espace:not(:has(.btp-priv-espace-img)) { background: transparent !important; padding: 24px 0 8px !important; border-top: 1px solid var(--btp-rule) !important; }
html:not(#btp-d1):not(#btp-d2) body .btpv-bk { border: 0 !important; border-top: 1px solid var(--btp-rule) !important; padding: 28px 0 0 !important; }
/* Cartes PDF et raccourcis (programme, billetterie, carte) : sans fond, sans dégradé, sans ombre ; picto VF2 aligné à gauche sur le libellé. */
html:not(#btp-d1):not(#btp-d2) body .btp-pdf-card { background: transparent !important; box-shadow: none !important; padding-left: 0 !important; padding-right: 0 !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-pdf-thumb { box-shadow: none !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-pdf-card-icon .btp-pdf-thumb-svg { background: none !important; aspect-ratio: auto !important; height: auto !important; max-height: none !important; justify-content: flex-start !important; padding: 0 !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-pdf-card-icon .btp-pdf-thumb-svg svg { width: 32px !important; height: 32px !important; }
/* Pied de page : un lien coupé par une césure protégée garde son espace (liens en inline-flex, #132). */
html:not(#btp-d1):not(#btp-d2) body footer.btp-footer a:has(> span[style*="nowrap"]) { column-gap: 0.28em; flex-wrap: wrap; }
/* Carte, formulaire de groupe : bouton « ENVOYER [MA] DEMANDE » identique aux pages Contact et Privatisation (#119), sans pilule. */
html:not(#btp-d1):not(#btp-d2) body #btp-group-form button[type="submit"].btp-btn-logo-submit {
    display: flex !important; width: 100% !important; justify-content: center; background: transparent !important; color: var(--btp-white) !important;
    border: 0 !important; border-bottom: 2px solid var(--btp-red-light) !important; border-radius: 0 !important; padding: 14px 32px !important;
    font-size: 26px !important; letter-spacing: 0 !important; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none !important;
}
html:not(#btp-d1):not(#btp-d2) body #btp-group-form button[type="submit"].btp-btn-logo-submit:hover { background: transparent !important; color: var(--btp-red-light) !important; box-shadow: none !important; }
/* Photos-titres de la carte : sans ombre portée (charte 7). */
html:not(#btp-d1):not(#btp-d2) body .btp-menu-group-sep--photo { box-shadow: none !important; }
/* Menu plein écran : un seul filet crème au-dessus des réseaux (le second faisait doublon). */
html:not(#btp-d1):not(#btp-d2) body .btp-menu-footer { border-top-color: var(--btp-rule-soft) !important; }
html:not(#btp-d1):not(#btp-d2) body .btp-menu-footer .btp-menu-socials-row { border-top: 0 !important; }
/* Mobile : le sous-titre d'une rubrique passe sous le titre, il ne commence plus en bout de ligne. */
@media (max-width: 600px) {
    html:not(#btp-d1):not(#btp-d2) body .btp-menu-sec-head :is(h2, h3) > small { display: block; margin: 8px 0 0 !important; }
}
/* Rubrique suivie de blocs à filet (contact, réseaux, espaces, formules, avis, cartes) : le filet du titre faisait doublon à 24 px. */
html:not(#btp-d1):not(#btp-d2) body .btp-menu-sec-head:has(+ * > :is(.btp-contact-item, .btp-social-card, .btp-priv-espace, .btpv-fact, .btpv-card):first-child) { border-bottom-color: transparent !important; }
