.belisa-mar { background:#F4F4F1; color:#221516; }
.belisa-mar * { box-sizing:border-box; }

/* ===== Galerie parallax (remplace l'ancien hero) =====
   Reconstruction du composant React "ParallaxScrollSecond" (Framer Motion) en CSS/JS pur : 4
   colonnes qui alternent de sens au scroll (cf. mariage.js), décalage vertical léger en quinconce
   entre colonnes paires/impaires pour un effet de profondeur/masonry sans dépendance JS externe. */
.belisa-mar-parallax { padding:140px 24px 60px !important; max-width:1320px !important; margin:0 auto !important; overflow:hidden !important; box-sizing:border-box; }
.belisa-mar-parallax-head { text-align:center !important; max-width:620px; margin:0 auto 56px !important; display:flex !important; flex-direction:column !important; align-items:center !important; gap:16px; }
.belisa-mar-parallax-head h1 {
	font-family:'Bodoni Moda','Playfair Display',Georgia,serif !important; font-weight:500 !important; font-size:clamp(32px,4.5vw,54px) !important; line-height:1.12 !important; color:#221516 !important; margin:0 !important;
}
.belisa-mar-parallax-head h1 em { font-style:italic; color:#3B0510; }
.belisa-mar-cta-dark { margin-top:6px; }
/* Titre gardé dans le DOM pour le SEO/l'accessibilité (une page a besoin d'un H1) mais invisible
   à l'écran — demande explicite de ne plus afficher de texte au-dessus de la galerie. */
.belisa-mar-sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.belisa-mar-parallax-grid { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:18px !important; align-items:start !important; width:100%; }
.belisa-mar-parallax-col { display:flex !important; flex-direction:column !important; gap:18px !important; will-change:transform; width:100%; min-width:0; }
.belisa-mar-parallax-col .belisa-mar-gallery-item { aspect-ratio:auto !important; width:100% !important; height:auto !important; }
.belisa-mar-parallax-col:nth-child(2n) { margin-top:56px !important; }

.belisa-mar-parallax-grid-mobile { display:none !important; }

.belisa-mar-gallery-item {
	position:relative; border-radius:16px; overflow:hidden; border:none; padding:0; margin:0;
	cursor:pointer; display:block; background:#221516;
}
.belisa-mar-gallery-item img, .belisa-mar-gallery-item video { width:100%; height:auto; display:block; transition:transform .5s ease; }
.belisa-mar-gallery-item::after {
	content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(34,21,22,.35), transparent 45%);
	opacity:0; transition:opacity .35s ease;
}
.belisa-mar-gallery-item:hover img { transform:scale(1.06); }
.belisa-mar-gallery-item:hover::after { opacity:1; }

@media (max-width:1024px) {
	.belisa-mar-parallax-grid { grid-template-columns:repeat(3,1fr) !important; }
	.belisa-mar-parallax-col:nth-child(4) { display:none !important; }
}
@media (max-width:900px) {
	.belisa-mar-parallax { padding:100px 20px 40px !important; }
	.belisa-mar-parallax-grid { grid-template-columns:repeat(2,1fr) !important; }
	.belisa-mar-parallax-col:nth-child(3) { display:none !important; }
	.belisa-mar-parallax-col:nth-child(2n) { margin-top:0 !important; }
}
@media (max-width:560px) {
	.belisa-mar-parallax { padding:90px 14px 32px !important; }
	.belisa-mar-parallax-grid { display:none !important; }
	.belisa-mar-parallax-grid-mobile {
		display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:12px !important; width:100%;
	}
	.belisa-mar-parallax-grid-mobile .belisa-mar-gallery-item { aspect-ratio:auto !important; width:100% !important; height:auto !important; }
}

.belisa-mar-lightbox {
	display:none; position:fixed; inset:0; z-index:9999; background:rgba(20,12,11,.92); backdrop-filter:blur(6px);
	align-items:center; justify-content:center; padding:40px;
}
.belisa-mar-lightbox.belisa-mar-lightbox-open { display:flex; }
.belisa-mar-lightbox img, .belisa-mar-lightbox video { max-width:100%; max-height:88vh; border-radius:8px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.belisa-mar-lightbox-close {
	position:absolute; top:24px; right:24px; width:42px; height:42px; border-radius:50%;
	background:rgba(244,244,241,.12); border:1px solid rgba(244,244,241,.3); color:#F4F4F1;
	display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s;
}
.belisa-mar-lightbox-close:hover { background:rgba(244,244,241,.22); }
/* ===== Pricing ===== */
.belisa-mar-pricing { padding:40px 24px 90px; max-width:1160px; margin:0 auto; }
.belisa-mar-head { max-width:620px; margin:0 auto 56px; text-align:center; }
.belisa-mar-eyebrow-dark { display:block; font-family:'Jost',system-ui,sans-serif; font-size:13px; letter-spacing:.25em; text-transform:uppercase; color:#3B0510; margin-bottom:14px; }
.belisa-mar-head h2 { font-family:'Bodoni Moda','Playfair Display',Georgia,serif; font-weight:500; font-size:clamp(28px,4vw,40px); margin:0; color:#221516; }
.belisa-mar-head p { font-family:'Jost',system-ui,sans-serif; font-size:15px; line-height:1.6; color:#5A4C48; max-width:540px; margin:16px auto 0; }

.belisa-mar-tier-block { margin-bottom:48px; }
.belisa-mar-tier-title { font-family:'Bodoni Moda','Playfair Display',Georgia,serif; font-weight:500; font-size:22px; color:#3B0510; margin:0 0 22px; }
.belisa-mar-tier-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.belisa-mar-tier-grid-extras { grid-template-columns:repeat(2,1fr); max-width:640px; }
.belisa-mar-tier-card {
	position:relative; background:#fff; border:1px solid rgba(34,21,22,.08); border-radius:18px; padding:36px 30px;
	display:flex; flex-direction:column; gap:6px; box-shadow:0 8px 20px rgba(34,21,22,.05); transition:all .3s ease;
}
.belisa-mar-tier-card:hover { transform:translateY(-4px); border-color:rgba(34,21,22,.18); box-shadow:0 18px 36px rgba(34,21,22,.12); }
.belisa-mar-tier-card-accent { background:linear-gradient(180deg, #221516, #1a1110); border-color:#221516; }
.belisa-mar-tier-card-accent .belisa-mar-tier-label { color:#C9A96A; }
.belisa-mar-tier-card-accent .belisa-mar-tier-amount { color:#F4F4F1; }
.belisa-mar-tier-card-accent p { color:#D8D0CB; border-bottom-color:rgba(244,244,241,.18); }
.belisa-mar-tier-card-accent .belisa-mar-tier-amount .cur { color:#B9AFA8; }
.belisa-mar-tier-card-accent .belisa-mar-tier-cta { background:#F4F4F1 !important; color:#221516 !important; }
.belisa-mar-tier-card-accent .belisa-mar-tier-cta:hover { background:#E1DBD7 !important; }
.belisa-mar-tier-label { font-family:'Jost',system-ui,sans-serif; font-weight:600; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#7A7268; }
.belisa-mar-tier-amount { font-family:'Bodoni Moda','Playfair Display',Georgia,serif; font-weight:400; font-size:32px; color:#221516; margin-top:6px; }
.belisa-mar-tier-amount .cur { font-family:'Jost',system-ui,sans-serif; font-weight:400; font-size:12.5px; color:#9A8C88; vertical-align:middle; }
.belisa-mar-tier-card p {
	font-family:'Jost',system-ui,sans-serif; font-size:12.5px; line-height:1.55; color:#7A7268; margin:14px 0 0;
	padding-bottom:22px; border-bottom:1px solid rgba(34,21,22,.08); flex:1;
}
.belisa-mar-tier-cta {
	margin-top:20px; display:flex; align-items:center; justify-content:center; gap:8px;
	background:#221516; color:#F4F4F1 !important; border-radius:2px; padding:13px 18px;
	font-family:'Jost',system-ui,sans-serif; font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; font-weight:600;
	text-decoration:none !important; transition:background .2s;
}
.belisa-mar-tier-cta svg { transition:transform .25s ease; }
.belisa-mar-tier-cta:hover { background:#3B0510; }
.belisa-mar-tier-cta:hover svg { transform:translateX(3px); }
.belisa-mar-tier-price { font-family:'Jost',system-ui,sans-serif; font-size:12.5px; color:#7A7268; border-top:1px solid rgba(34,21,22,.08); padding-top:12px; margin-top:2px; }
.belisa-mar-tier-price b { font-size:19px; color:#3B0510; font-weight:700; }
.belisa-mar-tier-card-extra { background:#F9F6F1; box-shadow:none; padding:28px 26px; }
@media (max-width:980px) {
	.belisa-mar-tier-grid { grid-template-columns:repeat(2,1fr); }
	.belisa-mar-tier-grid-extras { grid-template-columns:1fr; max-width:none; }
}
@media (max-width:560px) { .belisa-mar-tier-grid { grid-template-columns:1fr; } }

/* ===== Conditions ===== */
.belisa-mar-conditions { padding:0 24px 90px; max-width:820px; margin:0 auto; }
.belisa-mar-conditions-card { background:#fff; border-radius:20px; padding:40px; box-shadow:0 8px 24px rgba(34,21,22,.05); }
.belisa-mar-conditions-card h3 { font-family:'Bodoni Moda','Playfair Display',Georgia,serif; font-weight:500; font-size:24px; margin:0 0 20px; color:#221516; }
.belisa-mar-conditions-card ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px; }
.belisa-mar-conditions-card li { font-family:'Jost',system-ui,sans-serif; font-size:14px; line-height:1.6; color:#5A4C48; padding-left:22px; position:relative; }
.belisa-mar-conditions-card li::before { content:'—'; position:absolute; left:0; color:#3B0510; }

/* ===== Devis ===== */
.belisa-mar-devis { background:#221516; padding:80px 24px 100px; }
.belisa-mar-devis-inner { max-width:640px; margin:0 auto; text-align:center; }
.belisa-mar-devis .belisa-mar-eyebrow-dark { color:#E1DBD7; }
.belisa-mar-devis-inner h2 { font-family:'Bodoni Moda','Playfair Display',Georgia,serif !important; font-weight:500 !important; font-size:clamp(28px,4vw,40px) !important; margin:0 !important; color:#F4F4F1 !important; }
.belisa-mar-devis-inner p { font-family:'Jost',system-ui,sans-serif; font-size:15px; line-height:1.6; color:rgba(244,244,241,.7); margin:16px auto 40px; max-width:460px; }
.belisa-mar-devis-form { background:#F4F4F1; border-radius:20px; padding:36px; text-align:left; }

/* Réhabillage minimal du formulaire Contact Form 7 pour matcher la charte, sans toucher à sa
   logique (validation, envoi AJAX) — uniquement des sélecteurs génériques de sa sortie HTML. */
.belisa-mar-devis-form .wpcf7-form p { margin:0 0 16px; }
.belisa-mar-devis-form .wpcf7-form label { display:block; font-family:'Jost',system-ui,sans-serif; font-size:13px; color:#5A4C48; margin-bottom:6px; }
.belisa-mar-devis-form .wpcf7-form input[type="text"],
.belisa-mar-devis-form .wpcf7-form input[type="email"],
.belisa-mar-devis-form .wpcf7-form input[type="tel"],
.belisa-mar-devis-form .wpcf7-form input[type="date"],
.belisa-mar-devis-form .wpcf7-form select,
.belisa-mar-devis-form .wpcf7-form textarea {
	width:100% !important; padding:13px 16px !important; border:1px solid rgba(34,21,22,.18) !important; border-radius:10px !important; background:#fff !important;
	font-family:'Jost',system-ui,sans-serif !important; font-size:14.5px !important; color:#221516 !important; outline:none;
}
.belisa-mar-devis-form .wpcf7-form textarea { min-height:110px; resize:vertical; }
/* Le thème (ou le navigateur) ajoute un chevron en background-image sur les <select> sans
   background-repeat:no-repeat — sur un select width:100%, l'icône se répète en mosaïque sur
   toute la largeur au lieu d'apparaître une seule fois à droite. On reprend le contrôle complet
   du chevron avec un SVG inline propre. */
.belisa-mar-devis-form .wpcf7-form select {
	appearance:none !important; -webkit-appearance:none !important; -moz-appearance:none !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23221516' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important; background-position:right 14px center !important; background-size:16px !important;
	padding-right:40px !important; cursor:pointer;
}
/* Formule(s) souhaitée(s) — cases à cocher (multi-sélection) au lieu d'un <select> unique,
   restylées en liste de lignes cliquables plutôt que des cases natives isolées. */
.belisa-mar-devis-form .wpcf7-checkbox { display:flex !important; flex-direction:column; gap:8px; }
.belisa-mar-devis-form .wpcf7-list-item { margin:0 !important; }
.belisa-mar-devis-form .wpcf7-list-item label {
	display:flex !important; align-items:center; gap:10px; margin:0 !important;
	padding:11px 14px; border:1px solid rgba(34,21,22,.18); border-radius:10px; background:#fff;
	font-family:'Jost',system-ui,sans-serif; font-size:14px; color:#221516; cursor:pointer; transition:border-color .2s, background .2s;
}
.belisa-mar-devis-form .wpcf7-list-item label:has(input:checked) { border-color:#221516; background:#F4EFE9; }
.belisa-mar-devis-form .wpcf7-list-item input[type="checkbox"] { width:16px; height:16px; accent-color:#221516; flex-shrink:0; margin:0; }

.belisa-mar-devis-form .wpcf7-form input[type="submit"] {
	background:#221516; color:#F4F4F1; border:none; border-radius:2px; padding:15px 30px;
	font-family:'Jost',system-ui,sans-serif; font-size:12px; letter-spacing:.08em; text-transform:uppercase; font-weight:600;
	cursor:pointer; transition:background .2s;
}
.belisa-mar-devis-form .wpcf7-form input[type="submit"]:hover { background:#3B0510; }
.belisa-mar-devis-form .wpcf7-spinner { margin-left:10px; }

@media (max-width:640px) {
	.belisa-mar-hero { height:76vh; }
	.belisa-mar-gallery { padding:44px 16px; }
	.belisa-mar-pricing { padding:20px 16px 60px; }
	.belisa-mar-conditions { padding:0 16px 60px; }
	.belisa-mar-conditions-card { padding:28px; }
	.belisa-mar-devis { padding:60px 16px 70px; }
	.belisa-mar-devis-form { padding:24px; }
}
