/* O'Mariage Mariés — style magazine, mobile d'abord. */
@font-face { font-family: "OMM Playfair"; src: url("../fonts/playfair-display.woff2") format("woff2"); font-weight: 400 900; font-style: normal; font-display: swap; }
@font-face { font-family: "OMM Playfair"; src: url("../fonts/playfair-display-italic.woff2") format("woff2"); font-weight: 400 900; font-style: italic; font-display: swap; }
@font-face { font-family: "OMM Sans"; src: url("../fonts/dm-sans.woff2") format("woff2"); font-weight: 100 1000; font-style: normal; font-display: swap; }

.omm {
	--omm-bordeaux: #930A2D;
	--omm-plum: #6B1F3A;
	--omm-plum-dark: #4E1329;
	--omm-gold: #C9A04E;
	--omm-gold-dark: #9C7A2E;
	--omm-cream: #F7F0E8;
	--omm-cream-2: #FBF7F2;
	--omm-beige: #F0DBD6;
	--omm-rose: #FDD2D8;
	--omm-ink: #2A1A20;
	--omm-muted: #7D6870;
	--omm-line: #E9DDD3;
	--omm-green: #2F7A55;
	--omm-serif: "OMM Playfair", "Playfair Display", Georgia, "Times New Roman", serif;
	--omm-sans: "OMM Sans", "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--omm-radius: 4px;
	--omm-shadow: 0 10px 30px rgba(78, 19, 41, .08);
	font-family: var(--omm-sans);
	color: var(--omm-ink);
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
.omm *, .omm *::before, .omm *::after { box-sizing: border-box; }
.omm a { color: var(--omm-bordeaux); }
.omm a, body .entry-content .omm a, .ast-single-post .entry-content .omm a { text-decoration: none; }
/* Pleine largeur : le tableau de bord et la connexion sortent du conteneur Astra. */
body.omm-page .omm-dash, body.omm-page .omm-auth { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
body.omm-page { overflow-x: clip; }
.omm ul, .omm ol { margin: 0; padding: 0; list-style: none; }
body.omm-page .site-content > .ast-container { padding-top: 0; }
body.omm-page .entry-content > .omm:last-child { margin-bottom: 0; }
.omm p { margin: 0 0 .8em; }
.omm h1, .omm h2, .omm h3 { color: var(--omm-plum); margin: 0; }
.omm .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.omm-icon { width: 20px; height: 20px; flex: 0 0 auto; vertical-align: middle; }
.omm-hp { position: absolute; left: -9999px; }

/* Typographie magazine */
.omm-display { font-family: var(--omm-serif) !important; font-weight: 600; letter-spacing: -.01em; line-height: 1.12; color: var(--omm-plum); }
.omm-display em { font-style: italic; color: var(--omm-gold); font-weight: 500; }
.omm-kicker { display: block; font-family: var(--omm-sans); font-size: 10.5px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--omm-gold-dark); margin-bottom: 8px; }
.omm-lead { color: var(--omm-muted); font-size: 15px; max-width: 60ch; }
.omm-muted { color: var(--omm-muted); }
.omm-small { font-size: 13px; }
.omm-hint { color: var(--omm-muted); font-size: 12.5px; margin: 6px 0 0 !important; }
.omm-center { text-align: center; }
.omm-rule { display: flex; align-items: center; gap: 18px; font-size: 26px; text-align: center; margin: 0 0 22px !important; }
.omm-rule::before, .omm-rule::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--omm-gold) 70%); opacity: .55; }
.omm-rule::after { background: linear-gradient(90deg, var(--omm-gold) 30%, transparent); }

/* Boutons */
.omm .omm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 12px 22px; border-radius: var(--omm-radius); border: 1px solid transparent; font-family: var(--omm-sans); font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; line-height: 1.2; cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .15s; box-shadow: none; }
.omm .omm-btn .omm-icon { width: 16px; height: 16px; }
.omm .omm-btn:focus-visible, .omm a:focus-visible, .omm button:focus-visible, .omm summary:focus-visible { outline: 2px solid var(--omm-gold); outline-offset: 2px; }
.omm .omm-btn--primary { background: var(--omm-plum); color: #fff; border-color: var(--omm-plum); }
.omm .omm-btn--primary:hover { background: var(--omm-bordeaux); border-color: var(--omm-bordeaux); color: #fff; }
.omm .omm-btn--outline { background: transparent; color: var(--omm-plum); border-color: var(--omm-plum); }
.omm .omm-btn--outline:hover { background: var(--omm-plum); color: #fff; }
.omm .omm-btn--gold { background: var(--omm-gold); color: #fff; border-color: var(--omm-gold); }
.omm .omm-btn--ghost { background: transparent; color: var(--omm-plum); border-color: var(--omm-line); }
.omm .omm-btn--ghostlight { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
.omm .omm-btn--ghostlight.is-soon { cursor: default; color: var(--omm-gold); border-color: var(--omm-gold); }
.omm .omm-btn--small { min-height: 36px; padding: 8px 14px; font-size: 10.5px; }
.omm .omm-btn--block { width: 100%; }
.omm .omm-btn[disabled] { opacity: .5; cursor: not-allowed; }
.omm .omm-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border-radius: 50%; background: transparent; border: 1px solid var(--omm-line); color: var(--omm-muted); cursor: pointer; list-style: none; }
.omm .omm-iconbtn::-webkit-details-marker { display: none; }
.omm .omm-iconbtn:hover { color: var(--omm-bordeaux); border-color: var(--omm-bordeaux); background: #fff; }
.omm .omm-iconbtn .omm-icon { width: 16px; height: 16px; }
.omm .omm-linkbtn { background: none; border: 0; padding: 0; color: var(--omm-muted); font-size: 12px; text-decoration: underline; cursor: pointer; }

/* Formulaires */
.omm-form { display: grid; gap: 14px; }
.omm-field { display: grid; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.omm-field > label, .omm-field > legend, .omm-field label { font-size: 12px; font-weight: 600; letter-spacing: .04em; color: var(--omm-plum); }
.omm-field legend { padding: 0; margin-bottom: 8px; }
.omm .omm-field input[type="text"], .omm .omm-field input[type="email"], .omm .omm-field input[type="tel"], .omm .omm-field input[type="password"], .omm .omm-field input[type="date"], .omm .omm-field input[type="time"], .omm .omm-field input[type="number"], .omm .omm-field input[type="search"], .omm .omm-field input[type="url"], .omm .omm-field select, .omm .omm-filters input, .omm .omm-filters select, .omm .omm-inline input, .omm .omm-addtask input, .omm .omm-rsvp select {
	width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid var(--omm-line); border-radius: var(--omm-radius); background: #fff; color: var(--omm-ink); font-family: var(--omm-sans); font-size: 15px; box-shadow: none; margin: 0;
}
.omm .omm-field input:focus, .omm .omm-field select:focus, .omm-filters input:focus, .omm-filters select:focus, .omm-addtask input:focus { outline: none; border-color: var(--omm-gold); box-shadow: 0 0 0 3px rgba(201,160,78,.18); }
.omm .omm-field input:disabled { background: var(--omm-cream); color: var(--omm-muted); }
.omm-req { color: var(--omm-bordeaux); }
.omm-opt { font-weight: 400; color: var(--omm-muted); letter-spacing: 0; }
.omm-grid2 { display: grid; gap: 14px; }
.omm-phone { display: grid; grid-template-columns: 96px 1fr; gap: 8px; }
.omm-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; color: var(--omm-ink); cursor: pointer; font-weight: 400 !important; letter-spacing: 0 !important; }
.omm-check input { margin-top: 3px; accent-color: var(--omm-plum); width: 16px; height: 16px; }
.omm-check--small { font-size: 13px; color: var(--omm-muted) !important; }
.omm-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.omm-chip { position: relative; cursor: pointer; }
.omm-chip input { position: absolute; opacity: 0; inset: 0; }
.omm-chip span { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 18px; border: 1px solid var(--omm-line); border-radius: 999px; background: #fff; font-size: 13.5px; font-weight: 500; color: var(--omm-plum); letter-spacing: 0; }
.omm-chip input:checked + span { background: var(--omm-plum); border-color: var(--omm-plum); color: #fff; }
.omm-chip input:checked + span::before { content: "✓"; margin-right: 6px; color: var(--omm-gold); }
.omm-chip input:focus-visible + span { outline: 2px solid var(--omm-gold); outline-offset: 2px; }
.omm-chip--small span { min-height: 34px; padding: 6px 12px; font-size: 12.5px; }
.omm-row-between { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }

/* Alertes */
.omm-alert { padding: 12px 16px; border-radius: var(--omm-radius); margin: 0 0 16px; font-size: 14px; border-left: 3px solid; }
.omm-alert ul { margin: 0; padding-left: 1.1em; }
.omm-alert--error { background: #FCEBEE; color: #7D0A26; border-color: var(--omm-bordeaux); }
.omm-alert--success { background: #EEF6F0; color: #1F5C3E; border-color: var(--omm-green); }
.omm-alert--info { background: var(--omm-cream); color: var(--omm-plum); border-color: var(--omm-gold); }
.omm-toast { position: fixed; left: 50%; bottom: 24px; z-index: 99999; transform: translate(-50%, 20px); max-width: calc(100% - 32px); padding: 12px 18px; background: var(--omm-plum); color: #fff; border-radius: var(--omm-radius); font-family: var(--omm-sans, sans-serif); font-size: 14px; box-shadow: var(--omm-shadow); opacity: 0; transition: opacity .25s, transform .25s; }
.omm-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* Cartes */
.omm-card { background: #fff; border: 1px solid var(--omm-line); border-radius: var(--omm-radius); padding: 20px; margin: 0 0 18px; }
.omm-card__title { font-family: var(--omm-serif) !important; font-size: 20px; font-weight: 600; color: var(--omm-plum); margin: 0 0 14px !important; display: flex; align-items: center; gap: 8px; }
.omm-card--center { text-align: center; max-width: 560px; margin: 32px auto; padding: 36px 24px; }
.omm-card--center > .omm-icon { width: 40px; height: 40px; color: var(--omm-gold); margin-bottom: 10px; }
.omm-gate h2 { font-size: 26px; margin-bottom: 10px !important; }
.omm-empty { text-align: center; padding: 36px 16px; border: 1px dashed var(--omm-line); border-radius: var(--omm-radius); background: var(--omm-cream-2); color: var(--omm-muted); }
.omm-empty > .omm-icon { width: 34px; height: 34px; color: var(--omm-gold); margin-bottom: 8px; }
.omm-tag { display: inline-block; padding: 2px 9px; border-radius: 999px; background: var(--omm-cream); color: var(--omm-gold-dark); font-size: 11px; font-weight: 600; font-style: normal; letter-spacing: .03em; }
.omm-tag--green { background: #E6F2EA; color: var(--omm-green); }
.omm-status { display: inline-block; white-space: nowrap; padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.omm-status--plum { background: var(--omm-rose); color: var(--omm-plum); }
.omm-status--gold { background: #F6ECD6; color: var(--omm-gold-dark); }
.omm-status--green { background: #E6F2EA; color: var(--omm-green); }
.omm-bar { display: block; height: 4px; background: var(--omm-line); border-radius: 4px; overflow: hidden; }
.omm-bar > span { display: block; height: 100%; background: linear-gradient(90deg, var(--omm-gold), var(--omm-gold-dark)); transition: width .4s; }
.omm-bar--green > span { background: var(--omm-green); }

/* ---------- Tableau de bord : barre + navigation ---------- */
.omm-dash { background: var(--omm-cream-2); min-height: 60vh; overflow-x: clip; }
.omm-topbar { position: sticky; top: 0; z-index: 50; background: rgba(251,247,242,.96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--omm-line); }
.admin-bar .omm-topbar { top: 46px; }
.omm-topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 1180px; margin: 0 auto; padding: 10px 16px 0; }
.omm .omm-topbar__brand { text-decoration: none; display: grid; }
.omm-topbar__brand .omm-kicker { margin: 0; font-size: 9.5px; }
.omm-topbar__names { font-family: var(--omm-serif); font-size: 19px; font-weight: 600; color: var(--omm-plum); line-height: 1.2; }
.omm .omm-topbar__out { display: inline-flex; align-items: center; gap: 6px; color: var(--omm-muted); text-decoration: none; font-size: 12px; }
.omm-topbar__out span { display: none; }
.omm-nav { max-width: 1180px; margin: 0 auto; }
.omm-nav ul { display: flex; gap: 4px; margin: 0; padding: 6px 12px 0; list-style: none; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.omm-nav ul::-webkit-scrollbar { display: none; }
.omm-nav li { margin: 0; flex: 0 0 auto; }
.omm .omm-nav a { display: inline-flex; align-items: center; gap: 7px; padding: 10px 12px 12px; color: var(--omm-muted); text-decoration: none; font-size: 13px; font-weight: 600; border-bottom: 2px solid transparent; white-space: nowrap; }
.omm-nav a .omm-icon { width: 17px; height: 17px; color: var(--omm-gold); }
.omm .omm-nav a[aria-current="page"] { color: var(--omm-plum); border-bottom-color: var(--omm-gold); }
.omm .omm-nav a:hover { color: var(--omm-plum); }
.omm-main { max-width: 1180px; margin: 0 auto; padding: 22px 16px 56px; }
.omm-sechead { margin: 6px 0 22px; }
.omm-sechead .omm-display { font-size: 32px; margin-bottom: 8px !important; }

/* ---------- Accueil : héros ---------- */
.omm-hero { position: relative; background: var(--omm-plum) var(--omm-hero) 62% center / cover no-repeat; }
.omm-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(107,31,58,.10) 0%, rgba(107,31,58,.45) 100%); }
.omm-hero__in { position: relative; max-width: 1180px; margin: 0 auto; padding: 150px 14px 64px; }
.omm-hero__card { background: rgba(251,247,242,.94); border: 1px solid rgba(201,160,78,.35); outline: 1px solid rgba(255,255,255,.6); outline-offset: -8px; padding: 26px 22px 24px; max-width: 560px; box-shadow: 0 18px 50px rgba(42,26,32,.18); }
.omm-hero__title { font-size: 34px; margin: 0 0 10px !important; }
.omm-hero__title em { display: block; }
.omm-hero__date { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; color: var(--omm-ink); margin: 0 0 14px !important; }
.omm-hero__date .omm-icon { color: var(--omm-gold); width: 18px; height: 18px; margin-top: 2px; }
.omm-hero__tagline { font-family: var(--omm-serif); font-style: italic; font-weight: 600; color: var(--omm-plum); font-size: 15px; margin: 14px 0 16px !important; }
.omm-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
.omm-countdown { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.omm-countdown__cell { background: #fff; border: 1px solid var(--omm-line); text-align: center; padding: 10px 4px 8px; }
.omm-countdown__cell strong { display: block; font-family: var(--omm-serif); font-size: 30px; font-weight: 600; color: var(--omm-bordeaux); line-height: 1.05; font-variant-numeric: tabular-nums; }
.omm-countdown__cell span { display: block; font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--omm-muted); }
.omm-countdown__done { grid-column: 1 / -1; font-family: var(--omm-serif); font-style: italic; font-size: 18px; color: var(--omm-bordeaux); margin: 0 !important; }
.omm-countdown--none { display: block; font-size: 14px; color: var(--omm-muted); background: #fff; border: 1px dashed var(--omm-line); padding: 10px 12px; }
.omm-countdown--none p { margin: 0 !important; }
.omm-datepop { position: relative; }
.omm-datepop > summary { list-style: none; }
.omm-datepop > summary::-webkit-details-marker { display: none; }
.omm-datepop__form { margin-top: 10px; background: #fff; border: 1px solid var(--omm-line); padding: 14px; width: min(100%, 420px); }

/* Recherche */
.omm-searchwrap { position: relative; z-index: 2; max-width: 1080px; margin: -34px auto 0; padding: 0 14px; }
.omm-search { display: grid; grid-template-columns: 1fr 1fr; gap: 0; background: #fff; border: 1px solid var(--omm-line); box-shadow: var(--omm-shadow); }
.omm-search__f { display: flex; align-items: center; gap: 8px; padding: 0 12px; min-height: 52px; border-bottom: 1px solid var(--omm-line); min-width: 0; }
.omm-search__f--q { grid-column: 1 / -1; }
.omm-search__f:nth-child(3) { border-right: 1px solid var(--omm-line); }
.omm-search__f .omm-icon { color: var(--omm-gold); width: 18px; height: 18px; }
.omm .omm-search input, .omm .omm-search select { flex: 1; min-width: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 12px 0 !important; min-height: 50px; font-family: var(--omm-sans); font-size: 14.5px; color: var(--omm-ink); outline: none; appearance: none; -webkit-appearance: none; }
.omm .omm-search select { background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237D6870' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right center no-repeat !important; padding-right: 18px !important; }
.omm .omm-search__btn { grid-column: 1 / -1; border-radius: 0; min-height: 52px; }

/* Bande de résumé */
.omm-main--home { padding-top: 26px; }
.omm-strip { display: grid; grid-template-columns: 1fr 1fr; background: #fff; border: 1px solid var(--omm-line); margin: 0 0 18px; }
.omm .omm-strip__item { display: flex; gap: 10px; align-items: flex-start; padding: 16px 14px; text-decoration: none; color: var(--omm-ink); border-bottom: 1px solid var(--omm-line); min-width: 0; }
.omm-strip__item:nth-child(odd) { border-right: 1px solid var(--omm-line); }
.omm-strip__item:nth-last-child(-n+2) { border-bottom: 0; }
.omm-strip__item .omm-icon { color: var(--omm-gold); width: 22px; height: 22px; margin-top: 2px; }
.omm-strip__item span { font-size: 12.5px; color: var(--omm-muted); line-height: 1.35; min-width: 0; }
.omm-strip__item strong { font-family: var(--omm-serif); font-size: clamp(15px, 4.4vw, 19px); white-space: nowrap; font-weight: 600; color: var(--omm-plum); display: inline; }
.omm-strip__item small { display: block; font-size: 11.5px; margin-top: 3px; }
.omm .omm-next { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 14px; padding: 16px 18px; background: var(--omm-cream); border-left: 3px solid var(--omm-gold); text-decoration: none; color: var(--omm-plum); margin: 0 0 34px; }
.omm-next .omm-kicker { margin: 0; grid-column: 1; }
.omm-next strong { font-family: var(--omm-serif); font-size: 17px; font-weight: 600; grid-column: 1; }
.omm-next .omm-icon { grid-row: 1 / 3; grid-column: 2; color: var(--omm-gold); }

/* Catégories */
.omm-cats { margin: 0 0 36px; }
.omm-cats__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.omm .omm-cat { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 6px 14px; background: #fff; border: 1px solid var(--omm-line); text-decoration: none; color: var(--omm-ink); transition: border-color .2s, transform .2s, box-shadow .2s; }
.omm .omm-cat:hover { border-color: var(--omm-gold); transform: translateY(-2px); box-shadow: var(--omm-shadow); }
.omm-cat__icon { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; background: var(--omm-cream); color: var(--omm-gold); }
.omm-cat__icon .omm-icon { width: 26px; height: 26px; stroke-width: 1.3; }
.omm-cat__name { font-size: 12.5px; font-weight: 600; text-align: center; line-height: 1.25; }

/* Bandeau application */
.omm-app { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; background: linear-gradient(110deg, var(--omm-plum-dark), var(--omm-plum) 55%, #7C2445); color: #fff; padding: 20px 18px; margin: 0 0 40px; }
.omm-app__icon { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid rgba(201,160,78,.6); border-radius: 50%; color: var(--omm-gold); }
.omm-app strong { font-family: var(--omm-serif); font-size: 18px; font-weight: 600; display: block; }
.omm-app p { margin: 2px 0 0 !important; font-size: 13px; color: rgba(255,255,255,.78); }
.omm-app .omm-btn { grid-column: 1 / -1; }

/* Votre parcours */
.omm-journey { margin: 0 0 40px; }
.omm-journey__head { display: grid; gap: 8px; margin-bottom: 18px; }
.omm-journey__head .omm-display { font-size: 28px; }
.omm-journey__head p { font-size: 13.5px; margin: 0 !important; max-width: 34ch; }
.omm-journey__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.omm .omm-jcard { display: flex; flex-direction: column; gap: 6px; padding: 16px 14px; background: #fff; border: 1px solid var(--omm-line); border-top: 2px solid var(--omm-gold); text-decoration: none; color: var(--omm-ink); transition: box-shadow .2s, transform .2s; }
.omm .omm-jcard:hover { box-shadow: var(--omm-shadow); transform: translateY(-2px); }
.omm-jcard__num { font-family: var(--omm-serif); font-style: italic; color: var(--omm-gold); font-size: 15px; }
.omm-jcard h3 { font-size: 18px; }
.omm-jcard p { font-size: 12.5px; color: var(--omm-muted); margin: 0 !important; flex: 1; }
.omm-jcard__meta { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--omm-plum); padding-top: 8px; border-top: 1px solid var(--omm-line); }
.omm-jcard__meta .omm-icon { width: 14px; height: 14px; color: var(--omm-gold); }

/* Bientôt disponible */
.omm-soon__grid { display: grid; gap: 10px; }
.omm .omm-soon__card { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; align-items: center; padding: 16px; background: var(--omm-cream); border: 1px solid var(--omm-line); text-decoration: none; color: var(--omm-ink); }
.omm-soon__card .omm-cat__icon { grid-row: 1 / 4; background: #fff; width: 48px; height: 48px; }
.omm-soon__card strong { font-family: var(--omm-serif); font-size: 17px; color: var(--omm-plum); }
.omm-soon__card .omm-muted { font-size: 12.5px; }
.omm-soon__card .omm-tag { justify-self: start; background: #fff; }
.omm-soonpage > .omm-icon { width: 46px; height: 46px; }
.omm-soonpage h2 { font-size: 30px; margin-bottom: 10px !important; }

/* ---------- Mon parcours ---------- */
.omm-progress-card { display: flex; gap: 16px; align-items: center; background: #fff; border: 1px solid var(--omm-line); padding: 16px; margin: 0 0 22px; }
.omm-progress-card p { margin: 4px 0 0 !important; font-size: 12.5px; }
.omm-progress-card strong { font-family: var(--omm-serif); font-size: 18px; color: var(--omm-plum); font-weight: 600; }
.omm-ring { --p: 0; flex: 0 0 auto; width: 74px; height: 74px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--omm-gold) calc(var(--p) * 1%), var(--omm-line) 0); position: relative; transition: background .4s; }
.omm-ring::before { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: #fff; }
.omm-ring span { position: relative; font-family: var(--omm-serif); font-weight: 600; font-size: 18px; color: var(--omm-plum); }
.omm-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.omm-timeline::before { content: ""; position: absolute; left: 25px; top: 20px; bottom: 20px; width: 1px; background: linear-gradient(var(--omm-gold), var(--omm-line)); }
.omm-step { position: relative; margin: 0 0 12px; padding: 0; }
.omm-step__card { background: #fff; border: 1px solid var(--omm-line); }
.omm-step__card[open] { box-shadow: var(--omm-shadow); border-color: rgba(201,160,78,.5); }
.omm-step__head { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; align-items: center; padding: 14px; cursor: pointer; list-style: none; }
.omm-step__head::-webkit-details-marker { display: none; }
.omm-step__icon { position: relative; z-index: 1; width: 24px; height: 24px; margin-left: -2px; display: inline-flex; align-items: center; justify-content: center; }
.omm-step__icon { width: 40px; height: 40px; border-radius: 50%; background: var(--omm-cream); color: var(--omm-gold); border: 1px solid rgba(201,160,78,.45); margin: 0; }
.omm-step.is-complete .omm-step__icon { background: var(--omm-plum); color: var(--omm-gold); }
.omm-step__titles { display: grid; min-width: 0; }
.omm-step__num { font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--omm-gold-dark); }
.omm-step__title { font-family: var(--omm-serif); font-size: 20px; font-weight: 600; color: var(--omm-plum); line-height: 1.2; }
.omm-step__intro { font-size: 12.5px; color: var(--omm-muted); }
.omm-step__meta { grid-column: 2; display: flex; align-items: center; gap: 10px; }
.omm-step__meta .omm-bar { flex: 1; }
.omm-step__count { font-size: 12px; font-weight: 700; color: var(--omm-plum); font-variant-numeric: tabular-nums; }
.omm-step.is-unplanned .omm-step__card { opacity: .72; }
.omm-step__body { padding: 0 14px 14px; border-top: 1px solid var(--omm-line); }
.omm-tasks { list-style: none; margin: 0; padding: 4px 0; }
.omm-task { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px dashed var(--omm-line); margin: 0; }
.omm-task form { margin: 0; }
.omm .omm-task__box { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; border: 1.5px solid var(--omm-gold); border-radius: 50%; background: #fff; color: transparent; cursor: pointer; }
.omm .omm-task__box .omm-icon { width: 15px; height: 15px; stroke-width: 2.4; }
.omm .omm-task.is-done .omm-task__box { background: var(--omm-plum); border-color: var(--omm-plum); color: var(--omm-gold); }
.omm-task__label { font-size: 14px; line-height: 1.4; }
.omm-task.is-done .omm-task__label { color: var(--omm-muted); text-decoration: line-through; text-decoration-color: rgba(201,160,78,.7); }
.omm-task .omm-iconbtn { width: 32px; height: 32px; border-color: transparent; opacity: .6; }
.omm-task:hover .omm-iconbtn, .omm-task .omm-iconbtn:focus-visible { opacity: 1; }
.omm-addtask { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 12px; }
.omm-addtask .omm-btn span { display: none; }
.omm-reset { margin-top: 10px; text-align: right; }

/* ---------- Budget & Invités : indicateurs ---------- */
.omm-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 18px; }
.omm-kpi { background: #fff; border: 1px solid var(--omm-line); padding: 14px; display: grid; gap: 6px; align-content: start; min-width: 0; }
.omm-kpi__label { font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--omm-gold-dark); }
.omm-kpi strong { font-family: var(--omm-serif); font-size: clamp(16px, 4.6vw, 21px); font-weight: 600; color: var(--omm-plum); line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.omm-kpi--dark ~ .omm-kpi:last-child:nth-child(even) { grid-column: 1 / -1; }
.omm-kpi small { font-size: 11.5px; color: var(--omm-muted); }
.omm-kpi--dark { grid-column: 1 / -1; background: var(--omm-plum); border-color: var(--omm-plum); color: #fff; }
.omm-kpi--dark strong { color: #fff; font-size: 26px; }
.omm-kpi--dark .omm-kpi__label { color: var(--omm-gold); }
.omm-kpi--dark small { color: rgba(255,255,255,.75); }
.omm-inline { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin: 6px 0 0; }
.omm .omm-inline input { min-height: 38px; padding: 6px 12px; background: rgba(255,255,255,.95); }
.omm-neg { color: var(--omm-bordeaux) !important; font-weight: 600; }
.omm-pos { color: var(--omm-green) !important; }
.omm-budget-add { grid-template-columns: 1fr 1fr; }
.omm-budget-add .omm-field:nth-child(-n+4) { grid-column: 1 / -1; }
.omm-field--end { align-self: end; grid-column: 1 / -1; }
.omm-suggest { margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--omm-line); }
.omm-budget__head { display: none; }
.omm-budget__group { border-top: 1px solid var(--omm-line); padding: 10px 0 4px; }
.omm-budget__cat { display: grid; grid-template-columns: 1fr auto; gap: 4px; font-family: var(--omm-serif); font-weight: 600; color: var(--omm-plum); font-size: 16px; padding: 4px 0 8px; }
.omm-budget__cat span:nth-child(n+3) { display: none; }
.omm-budget__row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 4px 10px; padding: 10px 12px; margin: 0 0 8px; background: var(--omm-cream-2); border: 1px solid var(--omm-line); font-size: 13.5px; }
.omm-budget__label { grid-column: 1 / -1; font-weight: 600; }
.omm-budget__row span[data-label]::before { content: attr(data-label); display: block; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--omm-muted); }
.omm-budget__actions { grid-column: 1 / -1; display: flex; gap: 6px; justify-content: flex-end; }
.omm-budget__actions form { margin: 0; }
.omm-budget__row.is-paid { background: #F3F8F4; }
.omm-budget__total { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 4px 10px; padding: 14px 12px; background: var(--omm-plum); color: #fff; font-weight: 700; margin-top: 8px; }
.omm-budget__total span:first-child { grid-column: 1 / -1; font-family: var(--omm-serif); font-size: 17px; }
.omm-budget__total span:last-child { display: none; }
.omm-pop { position: relative; }
.omm-pop > summary { list-style: none; }
.omm-pop[open] > summary { background: var(--omm-plum); color: #fff; border-color: var(--omm-plum); }
.omm-pop__body { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; width: min(92vw, 380px); background: #fff; border: 1px solid var(--omm-line); box-shadow: var(--omm-shadow); padding: 14px; text-align: left; }

/* Invités */
.omm-sides { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--omm-muted); margin: -6px 0 16px !important; }
.omm-sides span { display: inline-flex; align-items: center; gap: 6px; }
.omm-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto; }
.omm-dot--mariee { background: var(--omm-rose); border: 1px solid #E79AA8; }
.omm-dot--marie { background: var(--omm-plum); }
.omm-dot--commun { background: var(--omm-gold); }
.omm-addguest > summary { cursor: pointer; list-style: none; margin: 0 !important; }
.omm-addguest > summary::-webkit-details-marker { display: none; }
.omm-addguest > summary .omm-icon { color: var(--omm-gold); }
.omm-addguest[open] > summary { margin-bottom: 14px !important; }
.omm-guest-form { grid-template-columns: 1fr 1fr; }
.omm-guest-form .omm-field--wide { grid-column: 1 / -1; }
.omm-guest-form .omm-field:nth-of-type(2) { grid-column: 1 / -1; }
.omm-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 14px; align-items: center; }
.omm-filters input[type="search"] { grid-column: 1 / -1; }
.omm .omm-filters input, .omm .omm-filters select { min-height: 40px; font-size: 13.5px; padding: 6px 10px; }
.omm-filters__export { grid-column: 1 / -1; }
.omm-guests { list-style: none; margin: 0; padding: 0; background: #fff; border: 1px solid var(--omm-line); }
.omm-guest { display: grid; grid-template-columns: auto 1fr auto; gap: 6px 12px; align-items: center; padding: 12px 14px; border-bottom: 1px solid var(--omm-line); margin: 0; }
.omm-guest:last-child { border-bottom: 0; }
.omm-guest__main { min-width: 0; display: grid; gap: 2px; }
.omm-guest__main strong { font-size: 15px; }
.omm-guest__meta { font-size: 12.5px; color: var(--omm-muted); }
.omm-guest__tags { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.omm-guest__note { font-size: 12px; color: var(--omm-muted); font-style: italic; }
.omm-rsvp { margin: 0; grid-column: 2; }
.omm .omm-rsvp select { min-height: 34px; padding: 4px 28px 4px 10px; font-size: 12.5px; font-weight: 600; width: auto; border-radius: 999px; }
.omm-guest--oui .omm-rsvp select { background-color: #E6F2EA; color: var(--omm-green); border-color: #BCD9C6; }
.omm-guest--non .omm-rsvp select { background-color: #F6E5E8; color: var(--omm-bordeaux); border-color: #EBC2CA; }
.omm-guest__actions { grid-column: 3; grid-row: 1 / 3; display: flex; gap: 4px; }
.omm-guest__actions form { margin: 0; }
.omm-pager { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 16px 0; }
.omm-pager a, .omm-pager span { min-width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--omm-line); background: #fff; text-decoration: none; font-weight: 600; }
.omm-pager span { background: var(--omm-plum); color: #fff; border-color: var(--omm-plum); }

/* Favoris */
.omm-favs { display: grid; gap: 14px; }
.omm-favcard { display: grid; grid-template-columns: 110px 1fr; background: #fff; border: 1px solid var(--omm-line); overflow: hidden; }
.omm-favcard__media { display: block; background: var(--omm-cream); min-height: 110px; }
.omm-favcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.omm-favcard__noimg { display: flex; height: 100%; align-items: center; justify-content: center; color: var(--omm-gold); }
.omm-favcard__body { padding: 12px 14px; min-width: 0; }
.omm-favcard__body .omm-kicker { margin-bottom: 2px; }
.omm-favcard__title { font-family: var(--omm-serif) !important; font-size: 17px; font-weight: 600; margin: 0 0 4px !important; }
.omm-favcard__title a { color: var(--omm-plum); text-decoration: none; }
.omm-favcard__body .omm-muted { font-size: 12.5px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.omm-favcard__body .omm-muted .omm-icon { width: 14px; height: 14px; color: var(--omm-gold); }
.omm-favcard__actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* Cœur favori (aussi sur les annonces HivePress, hors .omm) */
.omm-fav-form { display: inline-block; margin: 0; }
.omm-fav { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px; border: 1px solid #E9DDD3; border-radius: 999px; background: #fff; color: #6B1F3A; font: 600 13px/1.2 "OMM Sans", "DM Sans", system-ui, sans-serif; text-decoration: none; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.omm-fav svg { width: 18px; height: 18px; color: #930A2D; transition: transform .2s; }
.omm-fav:hover { border-color: #930A2D; color: #930A2D; }
.omm-fav.is-on { background: #FDD2D8; border-color: #FDD2D8; color: #930A2D; }
.omm-fav.is-on svg { fill: #930A2D; }
.omm-fav:active svg { transform: scale(1.2); }
.omm-fav--block { min-height: 36px; padding: 6px; width: 36px; justify-content: center; }
.omm-fav--block .omm-fav__txt, .omm-fav--icon .omm-fav__txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.omm-fav--icon { width: 36px; padding: 6px; justify-content: center; position: relative; }
.hp-listing__actions--primary .omm-fav-form, .hp-listing__actions--primary > .omm-fav { margin-right: 8px; }
.hp-listing__actions--primary .omm-fav--page { width: 100%; justify-content: center; margin-bottom: 10px; }
.hp-listing__actions--primary .omm-fav-form:has(.omm-fav--page) { display: block; }

/* Devis */
.omm-devis { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.omm-devis__item { background: #fff; border: 1px solid var(--omm-line); padding: 16px; margin: 0; }
.omm-devis__head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.omm-devis__title { font-family: var(--omm-serif) !important; font-size: 18px; font-weight: 600; margin: 0 !important; }
.omm-devis__title a { color: var(--omm-plum); text-decoration: none; }
.omm-devis__head .omm-muted { margin: 2px 0 0 !important; font-size: 13px; }
.omm-devis__meta { font-size: 12.5px; font-weight: 600; color: var(--omm-gold-dark); margin: 8px 0 4px !important; }
.omm-devis__msg { font-size: 13.5px; color: var(--omm-muted); margin: 0 !important; }

/* ---------- Connexion / inscription ---------- */
.omm-auth { display: grid; background: var(--omm-cream-2); }
.omm-auth__visual { min-height: 220px; background-size: cover; background-position: 64% center; position: relative; display: flex; align-items: flex-end; }
.omm-auth__visual::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(107,31,58,0) 15%, rgba(78,19,41,.88)); }
.omm-auth__quote { position: relative; padding: 18px 20px; }
.omm-auth__quote .omm-kicker { color: #E6C98A; text-shadow: 0 1px 6px rgba(0,0,0,.35); }
.omm-auth__quote .omm-display { color: #fff; font-size: 26px; margin: 0 !important; }
.omm-auth__panel { padding: 28px 18px 40px; width: 100%; max-width: 560px; margin: 0 auto; }
.omm-auth__title { font-size: 30px; margin-bottom: 10px !important; }
.omm-tabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--omm-line); margin: 18px 0 20px; }
.omm .omm-tab { background: none; border: 0; border-bottom: 2px solid transparent; padding: 12px 6px; font-family: var(--omm-sans); font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--omm-muted); cursor: pointer; margin-bottom: -1px; border-radius: 0; }
.omm .omm-tab[aria-selected="true"] { color: var(--omm-plum); border-bottom-color: var(--omm-gold); }
.omm .omm-tab:hover { background: none; color: var(--omm-plum); }
.omm-pane .omm-small { margin-top: 16px !important; text-align: center; color: var(--omm-muted); }
.omm-auth-done { max-width: 560px; margin: 40px auto; text-align: center; }

/* ---------- Tablette ---------- */
@media (min-width: 600px) {
	.omm-grid2 { grid-template-columns: 1fr 1fr; }
	.omm-search { grid-template-columns: 1.6fr 1fr 1fr auto; }
	.omm-search__f { border-bottom: 0; border-right: 1px solid var(--omm-line); }
	.omm-search__f--q { grid-column: auto; }
	.omm .omm-search__btn { grid-column: auto; padding: 0 26px; }
	.omm-strip { grid-template-columns: repeat(4, 1fr); }
	.omm .omm-strip__item { border-bottom: 0; border-right: 1px solid var(--omm-line); }
	.omm-strip__item:last-child { border-right: 0; }
	.omm-cats__grid { grid-template-columns: repeat(4, 1fr); }
	.omm-app { grid-template-columns: auto 1fr auto; padding: 22px 26px; }
	.omm-app .omm-btn { grid-column: auto; }
	.omm-soon__grid { grid-template-columns: repeat(3, 1fr); }
	.omm .omm-soon__card { grid-template-columns: 1fr; text-align: left; align-content: start; }
	.omm-soon__card .omm-cat__icon { grid-row: auto; }
	.omm-kpis { grid-template-columns: repeat(4, 1fr); }
	.omm-kpi--dark { grid-column: auto; }
	.omm-kpi--dark ~ .omm-kpi:last-child:nth-child(even) { grid-column: auto; }
	.omm-budget-add { grid-template-columns: 1.2fr 1.5fr 1fr 1fr auto; align-items: end; }
	.omm-budget-add .omm-field:nth-child(-n+4) { grid-column: auto; }
	.omm-field--end { grid-column: auto; }
	.omm-budget__head, .omm-budget__cat, .omm-budget__row, .omm-budget__total { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 84px; gap: 10px; align-items: center; }
	.omm-budget__head { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--omm-muted); font-weight: 600; padding: 0 12px 8px; }
	.omm-budget__head span:not(:first-child), .omm-budget__cat span:not(:first-child), .omm-budget__row > span:not(:first-child), .omm-budget__total span:not(:first-child) { text-align: right; }
	.omm-budget__cat { padding: 6px 12px; }
	.omm-budget__cat span:nth-child(n+3) { display: block; font-family: var(--omm-sans); font-size: 13px; }
	.omm-budget__cat span:nth-child(2) { font-family: var(--omm-sans); font-size: 13px; }
	.omm-budget__row { margin: 0; background: transparent; border: 0; border-top: 1px dashed var(--omm-line); padding: 8px 12px; }
	.omm-budget__label { grid-column: auto; font-weight: 500; }
	.omm-budget__row span[data-label]::before { display: none; }
	.omm-budget__actions { grid-column: auto; }
	.omm-budget__total span:first-child { grid-column: auto; }
	.omm-budget__total span:last-child { display: block; }
	.omm-guest-form { grid-template-columns: 2fr 1fr 1fr 90px; }
	.omm-guest-form .omm-field:nth-of-type(2) { grid-column: auto; }
	.omm-filters { grid-template-columns: 2fr 1fr 1fr 1fr auto auto; }
	.omm-filters input[type="search"], .omm-filters__export { grid-column: auto; }
	.omm-guest { grid-template-columns: auto 1fr auto auto; }
	.omm-rsvp { grid-column: auto; }
	.omm-guest__actions { grid-column: auto; grid-row: auto; }
	.omm-favs { grid-template-columns: 1fr 1fr; }
	.omm-favcard { grid-template-columns: 1fr; }
	.omm-favcard__media { aspect-ratio: 4 / 3; }
	.omm-addtask .omm-btn span { display: inline; }
	.omm-topbar__out span { display: inline; }
	.omm-step__head { grid-template-columns: auto 1fr 200px; padding: 16px 18px; }
	.omm-step__meta { grid-column: auto; }
	.omm-step__body { padding: 0 18px 16px 70px; }
	.omm-timeline::before { left: 38px; }
}

/* ---------- Bureau ---------- */
@media (min-width: 960px) {
	.omm { font-size: 16px; }
	.admin-bar .omm-topbar { top: 32px; }
	.omm-topbar__in { padding: 14px 24px 0; }
	.omm-nav ul { padding: 6px 18px 0; justify-content: center; gap: 10px; }
	.omm-main { padding: 34px 24px 72px; }
	.omm-sechead .omm-display { font-size: 42px; }
	.omm-hero { background-position: 75% 30%; }
	.omm-hero__in { padding: 90px 24px 110px; min-height: 560px; display: flex; align-items: center; }
	.omm-hero__card { padding: 40px 40px 36px; max-width: 540px; }
	.omm-hero__title { font-size: 50px; }
	.omm-countdown__cell strong { font-size: 38px; }
	.omm-searchwrap { margin-top: -38px; padding: 0 24px; }
	.omm-search__f { min-height: 64px; padding: 0 18px; }
	.omm .omm-search__btn { min-height: 64px; padding: 0 34px; }
	.omm-main--home { padding-top: 40px; }
	.omm-strip__item { padding: 22px 20px; }
	.omm-strip__item strong { font-size: 22px; }
	.omm-cats__grid { grid-template-columns: repeat(8, 1fr); gap: 12px; }
	.omm-cat__icon { width: 62px; height: 62px; }
	.omm-rule { font-size: 32px; }
	.omm-journey__head { grid-template-columns: 1fr auto; align-items: end; }
	.omm-journey__head .omm-display { font-size: 38px; }
	.omm-journey__grid { grid-template-columns: repeat(4, 1fr); gap: 14px; }
	.omm .omm-jcard { padding: 22px 20px; }
	.omm-jcard h3 { font-size: 22px; }
	.omm-favs { grid-template-columns: repeat(3, 1fr); }
	.omm-auth { grid-template-columns: 1.05fr 1fr; min-height: 760px; }
	.omm-auth__visual { min-height: 100%; }
	.omm-auth__quote { padding: 40px; }
	.omm-auth__quote .omm-display { font-size: 42px; }
	.omm-auth__panel { padding: 56px 48px 64px; max-width: 600px; }
	.omm-auth__title { font-size: 40px; }
}

@media (prefers-reduced-motion: reduce) {
	.omm *, .omm-fav, .omm-fav svg { transition: none !important; }
	.omm .omm-cat:hover, .omm .omm-jcard:hover { transform: none; }
}

/* =========================================================================
 * Cartes prestataires (v1.1.0) : résultats, catégories, favoris, fiche
 * ====================================================================== */
.omm-lc-grid, .omm-cards-page .omm-grid > .hp-row { display: grid; grid-template-columns: 1fr; gap: 18px; margin: 0; }
.omm-cards-page .omm-grid > .hp-row > .hp-grid__item { width: auto; max-width: none; flex: none; padding: 0; margin: 0; }
.omm-cards-page .omm-grid > .hp-row::before, .omm-cards-page .omm-grid > .hp-row::after { display: none; }

.omm-lc { position: relative; display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 1px 2px rgba(78,19,41,.06), 0 6px 22px rgba(78,19,41,.07); border: 1px solid #EFE4DA; transition: box-shadow .2s, transform .2s; }
.omm-lc:hover { box-shadow: 0 2px 4px rgba(78,19,41,.08), 0 14px 34px rgba(78,19,41,.12); }
.omm-lc:focus-within { outline: 2px solid var(--omm-gold); outline-offset: 2px; }
.omm-lc__media { position: relative; z-index: 2; }
.omm-carousel { position: relative; background: var(--omm-cream); aspect-ratio: 3 / 2; overflow: hidden; }
.omm-carousel__track { display: flex; height: 100%; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.omm-carousel__track::-webkit-scrollbar { display: none; }
.omm-carousel__slide { flex: 0 0 100%; height: 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.omm-carousel__slide a { display: block; height: 100%; }
.omm .omm-carousel__slide img { width: 100%; height: 100%; object-fit: cover; display: block; max-width: none; border-radius: 0; }
.omm-carousel__slide--empty { display: flex; align-items: center; justify-content: center; color: var(--omm-gold); }
.omm-carousel__slide--empty .omm-icon { width: 40px; height: 40px; }
.omm .omm-carousel__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: var(--omm-plum); display: none; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.15); opacity: 0; transition: opacity .2s; z-index: 3; }
.omm-carousel__nav .omm-icon { width: 18px; height: 18px; }
.omm-carousel__nav--prev { left: 10px; }
.omm-carousel__nav--next { right: 10px; }
.omm-carousel__nav[disabled] { visibility: hidden; }
.omm-carousel__dots { position: absolute; left: 0; right: 0; bottom: 10px; display: flex; justify-content: center; gap: 6px; pointer-events: none; z-index: 3; }
.omm-carousel__dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.6); box-shadow: 0 0 2px rgba(0,0,0,.35); transition: background .2s, transform .2s; }
.omm-carousel__dot.is-active { background: #fff; transform: scale(1.25); }
@media (hover: hover) and (pointer: fine) {
	.omm .omm-carousel__nav { display: inline-flex; }
	.omm-carousel:hover .omm-carousel__nav, .omm-carousel__nav:focus-visible { opacity: 1; }
}

.omm-lc__badges { position: absolute; left: 10px; top: 10px; display: flex; flex-wrap: wrap; gap: 6px; z-index: 3; pointer-events: none; }
.omm-lc__badge { display: inline-flex; align-items: center; gap: 4px; padding: 4px 9px 4px 7px; border-radius: 999px; font: 700 10.5px/1.2 var(--omm-sans, "DM Sans", sans-serif); letter-spacing: .06em; text-transform: uppercase; background: rgba(255,255,255,.94); color: var(--omm-plum, #6B1F3A); box-shadow: 0 1px 6px rgba(0,0,0,.14); }
.omm-lc__badge .omm-icon { width: 13px; height: 13px; }
.omm-lc__badge--or { background: linear-gradient(135deg, #E9CF8F, #C9A04E); color: #3E2A07; }
.omm-lc__badge--emeraude { background: linear-gradient(135deg, #2F8F6B, #1B5E47); color: #fff; }
.omm-lc__badge--verified .omm-icon { color: #C9A04E; }
.omm-lc__fav { position: absolute; right: 10px; top: 10px; z-index: 3; }
.omm-fav--card { width: 40px; height: 40px; min-height: 40px; padding: 0; justify-content: center; border: 0; background: rgba(255,255,255,.92); box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.omm-fav--card .omm-fav__txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.omm-fav--card svg { width: 20px; height: 20px; }
.omm-fav--card.is-on { background: #fff; }

.omm-lc__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 14px; flex: 1; }
.omm .omm-lc__title { font-family: var(--omm-serif) !important; font-size: 21px !important; font-weight: 700 !important; line-height: 1.2 !important; color: var(--omm-plum); margin: 0 !important; letter-spacing: 0; }
.omm .omm-lc__link { color: inherit; text-decoration: none; }
.omm-lc__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.omm .omm-lc__loc { margin: 0; color: var(--omm-muted); font-size: 14px; display: flex; align-items: center; gap: 5px; }
.omm-lc__loc .omm-icon { width: 15px; height: 15px; color: var(--omm-gold); flex: none; }
.omm .omm-lc__facts { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; padding: 0; list-style: none; font-size: 13.5px; color: var(--omm-ink); }
.omm-lc__facts li { display: inline-flex; align-items: center; gap: 5px; margin: 0; }
.omm-lc__facts .omm-icon { width: 15px; height: 15px; color: var(--omm-gold); }
.omm-lc__price strong { color: var(--omm-bordeaux); font-weight: 700; }
.omm .omm-lc__excerpt { margin: 0; font-size: 14.5px; line-height: 1.55; color: #3A2A30; display: -webkit-box; -webkit-line-clamp: 4; line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.omm .omm-lc__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 0; padding: 0; list-style: none; }
.omm-lc__chips li { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; margin: 0; padding: 5px 10px; border-radius: 999px; background: var(--omm-cream); color: var(--omm-plum); font-size: 12px; font-weight: 600; line-height: 1.25; }
.omm-lc__chips li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.omm-lc__chips .omm-icon { width: 14px; height: 14px; color: var(--omm-gold); flex: none; }
.omm-lc__foot { margin-top: auto; padding-top: 6px; display: grid; gap: 8px; }
.omm .omm-lc__btn { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 16px; border-radius: 8px; background: var(--omm-bordeaux); color: #fff; font-weight: 700; font-size: 15px; text-decoration: none; transition: background .2s; }
.omm-lc:hover .omm-lc__btn, .omm .omm-lc__btn:hover { background: #7A0824; color: #fff; }
.omm .omm-lc__resp { margin: 0; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13.5px; color: var(--omm-ink); }
.omm-lc__resp .omm-icon { width: 16px; height: 16px; color: var(--omm-gold); fill: var(--omm-gold); }

/* Barre des résultats */
.omm-resbar { margin: 0 0 16px; }
.omm-resbar__btns { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--omm-line); border-radius: 10px; background: #fff; overflow: hidden; }
.omm .omm-resbar__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 10px; border: 0; background: #fff; color: var(--omm-ink); font: 600 16px/1.2 var(--omm-sans); text-decoration: none; cursor: pointer; border-radius: 0; box-shadow: none; }
.omm .omm-resbar__btn + .omm-resbar__btn { border-left: 1px solid var(--omm-line); }
.omm .omm-resbar__btn:hover { background: var(--omm-cream-2); color: var(--omm-plum); }
.omm-resbar__btn .omm-icon { width: 20px; height: 20px; color: var(--omm-plum); }
.omm-resbar__n { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--omm-bordeaux); color: #fff; font-size: 12px; font-weight: 700; }
.omm .omm-resbar__count { margin: 14px 2px 0; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--omm-muted); }

/* Panneau des filtres (coulissant) */
body.omm-cards-page .hp-page__content.omm-results { width: 100%; max-width: 100%; flex: 0 0 100%; }
.omm-panel { position: fixed !important; top: 0; bottom: 0; left: 0; z-index: 100000; width: min(92vw, 400px); max-width: none !important; margin: 0 !important; padding: 0 20px 24px !important; background: #fff; overflow-y: auto; transform: translateX(-104%); visibility: hidden; transition: transform .28s ease, visibility 0s .28s; box-shadow: 8px 0 40px rgba(42,26,32,.18); }
.omm-panel.is-open { transform: none; visibility: visible; transition: transform .28s ease; }
.admin-bar .omm-panel { top: 46px; }
@media (min-width: 783px) { .admin-bar .omm-panel { top: 32px; } }
.omm-panel__head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; margin: 0 -20px 14px; padding: 14px 20px; background: #fff; border-bottom: 1px solid var(--omm-line); }
.omm .omm-panel__title { font-family: var(--omm-serif) !important; font-size: 22px !important; margin: 0 !important; color: var(--omm-plum); }
.omm .omm-panel__close { width: 40px; height: 40px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: var(--omm-cream); color: var(--omm-plum); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.omm-panel .hp-widget, .omm-panel .widget { margin: 0 0 18px; padding: 0; background: none; border: 0; box-shadow: none; }
.omm-panel .hp-form--pivot { margin: 0 0 18px; }
.omm-panel .hp-form .button, .omm-panel .hp-form button[type=submit] { width: 100%; background: var(--omm-bordeaux); border-color: var(--omm-bordeaux); color: #fff; border-radius: 8px; }
.omm-panel-backdrop { position: fixed; inset: 0; z-index: 99999; background: rgba(42,26,32,.45); opacity: 0; transition: opacity .25s; }
.omm-panel-backdrop.is-visible { opacity: 1; }
body.omm-panel-open { overflow: hidden; }

/* Page de résultats sur Astra : fond crème */
body.omm-cards-page, body.omm-listing-page { background: #FBF7F2; }
body.omm-cards-page .hp-page__title, body.omm-listing-page .hp-listing__title { font-family: "OMM Playfair", "Playfair Display", Georgia, serif; color: #6B1F3A; }

/* Fiche : carrousel + informations clés */
.omm-lp-media { margin: 0 0 18px; position: relative; }
.omm-carousel--page { border-radius: 14px; aspect-ratio: 16 / 10; }
.omm-lp-facts { margin: 0 0 22px; padding: 16px 18px; background: #fff; border: 1px solid var(--omm-line); border-radius: 12px; display: grid; gap: 12px; }
.omm .omm-lp-facts__list { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0; padding: 0; list-style: none; }
.omm-lp-facts__list li { margin: 0; display: grid; gap: 2px; }
.omm-lp-facts__list span { font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--omm-gold-dark); }
.omm-lp-facts__list strong { display: inline-flex; align-items: center; gap: 6px; font-family: var(--omm-serif); font-size: 18px; color: var(--omm-plum); }
.omm-lp-facts__list .omm-icon { width: 16px; height: 16px; color: var(--omm-gold); fill: var(--omm-gold); }
.omm-lp-facts .omm-lc__chips li span { white-space: normal; }
.omm .omm-lp-facts__faq { font-size: 13px; font-weight: 600; color: var(--omm-bordeaux); text-decoration: underline; text-underline-offset: 3px; }
.omm-faq-public { scroll-margin-top: 90px; }

@media (min-width: 700px) {
	.omm-lc-grid, .omm-cards-page .omm-grid > .hp-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
	.omm-resbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
	.omm-resbar__btns { width: 340px; }
	.omm .omm-resbar__count { margin: 0; }
	.omm .omm-lp-facts__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
	.omm-cards-page .omm-grid > .hp-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.omm-dash .omm-lc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
	.omm-carousel__track { scroll-behavior: auto; }
	.omm-panel, .omm-panel-backdrop { transition: none; }
}
.omm-results-search { margin: 6px 0 18px; }
.omm-results-search .omm-search { margin: 0; box-shadow: 0 6px 22px rgba(78,19,41,.07); }
/* HivePress masque le filtre sous 768 px (fenêtre modale) : dans notre panneau, il reste visible. */
.omm-panel .hp-widget--listing-filter, .omm-panel .hp-widget--desktop { display: block !important; }
/* Une seule colonne pleine largeur : pas de gouttières négatives (débordement horizontal sur mobile). */
body.omm-cards-page .omm-results-row { margin-left: 0; margin-right: 0; }
body.omm-cards-page .omm-results-row > .omm-results { padding-left: 0; padding-right: 0; }

/* =========================================================================
 * v1.2.0 : portail d'entrée (page « Bienvenue », [om_portail])
 * Photo plein écran + voile sombre, sans carte ; inscription en feuille (bottom sheet).
 * ====================================================================== */
body.omp-body { margin: 0; background: #1c1210; min-height: 100vh; min-height: 100dvh; }
body.omp-body.omp-sheet-open { overflow: hidden; }
body.omp-body .skip-link:focus { position: fixed !important; top: 8px; left: 8px; width: auto; height: auto; clip: auto; z-index: 100; background: #fff; color: #930A2D; padding: 8px 14px; border-radius: 6px; }
.omp { position: relative; min-height: 100vh; min-height: 100dvh; color: #fff; display: flex; flex-direction: column; isolation: isolate; }
.omp__bg { position: fixed; inset: 0; z-index: -1; background: #2a1a14 var(--omp-bg-m) center 30% / cover no-repeat; }
.omp__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 10, 8, .55) 0%, rgba(20, 10, 8, .62) 45%, rgba(20, 10, 8, .78) 100%); }
@media (min-width: 768px) { .omp__bg { background-image: var(--omp-bg); background-position: 62% center; } }
.omp__stage { flex: 1; width: 100%; max-width: 400px; margin: 0 auto; padding: max(48px, env(safe-area-inset-top)) 22px max(32px, env(safe-area-inset-bottom)); display: flex; flex-direction: column; justify-content: center; }
.omp__brand { text-align: center; margin-bottom: 26px; }
.omp .omp__logo { display: block; width: min(240px, 66vw); height: auto; margin: 0 auto; filter: drop-shadow(0 2px 14px rgba(0, 0, 0, .35)); }
.omp .omp__tagline { margin: 14px 0 0; font-family: var(--omm-serif); font-style: italic; font-size: 19px; letter-spacing: .01em; color: #fff; text-shadow: 0 1px 10px rgba(0, 0, 0, .45); }
.omp .omp-view[hidden], .omp .omp-sheet[hidden], .omp [hidden] { display: none !important; }
.omp a { color: #fff; }

/* Groupe blanc (connexion) */
.omp-group { background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 8px 30px rgba(0, 0, 0, .25); }
.omp-group__row { display: flex; align-items: center; min-height: 54px; padding: 0 12px 0 14px; color: #5a4a4f; }
.omp-group__row + .omp-group__row { border-top: 1px solid #E8E1DC; }
.omp-group__icon { display: inline-flex; color: #6b5a60; margin-right: 10px; }
.omp-group__icon .omm-icon { width: 20px; height: 20px; stroke-width: 1.6; }
.omp .omp-group input { flex: 1; min-width: 0; border: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; padding: 14px 0 !important; margin: 0; font: 400 16px/1.3 var(--omm-sans); color: #2A1A20; height: auto; }
.omp .omp-group input::placeholder { color: #8a7b80; opacity: 1; }
.omp-group__row:focus-within { box-shadow: inset 3px 0 0 #C9A04E; }
.omp-group__eye, .omp-f__eye { background: none !important; border: 0; padding: 6px; margin: 0; color: #7D6870; cursor: pointer; display: inline-flex; border-radius: 6px; min-height: 0; box-shadow: none !important; }
.omp-group__eye[aria-pressed="true"], .omp-f__eye[aria-pressed="true"] { color: #930A2D; }

/* Boutons */
.omp .omp-btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px; margin: 0; padding: 12px 18px; border-radius: 8px; border: 1.5px solid transparent; font: 600 16px/1.2 var(--omm-sans); letter-spacing: .01em; text-transform: none; text-decoration: none; cursor: pointer; transition: background .2s, border-color .2s, transform .1s; box-shadow: none; }
.omp .omp-btn:active { transform: translateY(1px); }
.omp .omp-btn--primary { background: #930A2D; color: #fff; margin-top: 16px; }
.omp .omp-btn--primary:hover, .omp .omp-btn--primary:focus-visible { background: #7a0825; color: #fff; }
.omp .omp-btn--outline { background: rgba(255, 255, 255, .04); color: #fff; border-color: rgba(255, 255, 255, .92); }
.omp .omp-btn--outline:hover, .omp .omp-btn--outline:focus-visible { background: rgba(255, 255, 255, .14); color: #fff; }
.omp .omp-btn:focus-visible, .omp a:focus-visible, .omp button:focus-visible { outline: 3px solid #C9A04E; outline-offset: 2px; }
.omp .omp-center { text-align: center; margin: 22px 0 0; }
.omp .omp-link { color: #fff; font-size: 15.5px; text-decoration: none; }
.omp .omp-link:hover { text-decoration: underline; }
.omp .omp-link--strong { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.omp .omp-login__signup { margin-top: 44px; }
.omp .omp-muted-light { color: rgba(255, 255, 255, .85); font-size: 15px; }
.omp-view > .omm-alert { border-radius: 8px; border-left-width: 4px; }

/* Choix */
.omp .omp-choice__title { font-family: var(--omm-serif); font-weight: 600; font-size: 28px; color: #fff; text-align: center; margin: 0 0 20px; outline: 0; }
.omp-choice { display: grid; gap: 14px; }
.omp .omp-btn--choice { justify-content: flex-start; text-align: left; min-height: 76px; padding: 14px 18px; gap: 16px; }
.omp .omp-btn--choice .omm-icon { width: 26px; height: 26px; color: #E3C27A; }
.omp .omp-btn--choice span { display: flex; flex-direction: column; gap: 3px; font-size: 17px; }
.omp .omp-btn--choice small { font-weight: 400; font-size: 13px; color: rgba(255, 255, 255, .78); }

/* Feuille (bottom sheet) */
.omp-sheet { position: fixed; inset: 0; z-index: 50; display: flex; align-items: flex-end; justify-content: center; background: rgba(15, 8, 6, .45); animation: omp-fade .2s ease-out; }
.omp-sheet__panel { width: 100%; max-height: 94vh; max-height: 94dvh; background: #fff; color: #2A1A20; border-radius: 18px 18px 0 0; display: flex; flex-direction: column; box-shadow: 0 -10px 40px rgba(0, 0, 0, .3); animation: omp-up .28s cubic-bezier(.2, .8, .2, 1); }
@media (min-width: 640px) {
	.omp-sheet { align-items: center; padding: 24px; }
	.omp-sheet__panel { max-width: 480px; border-radius: 16px; max-height: 92vh; }
}
@keyframes omp-up { from { transform: translateY(40px); opacity: .4; } to { transform: none; opacity: 1; } }
@keyframes omp-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .omp-sheet, .omp-sheet__panel { animation: none; } }
.omp-sheet__head { position: relative; display: flex; align-items: center; justify-content: center; min-height: 64px; padding: 14px 56px; border-bottom: 1px solid #F0E9E4; flex: 0 0 auto; }
.omp .omp-sheet__title { font-family: var(--omm-serif); font-weight: 600; font-size: 22px; color: #2A1A20; margin: 0; outline: 0; }
.omp .omp-sheet__close { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: #4a3a40; border-radius: 50%; }
.omp .omp-sheet__close:hover { background: #F6F1EE; }
.omp-sheet__close .omm-icon { width: 24px; height: 24px; stroke-width: 1.4; }
.omp-sheet__body { overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 18px 20px max(22px, env(safe-area-inset-bottom)); }
.omp .omp-sheet__lead { color: #7D6870; font-size: 14px; text-align: center; margin: 0 0 14px; }
.omp .omp-sheet__foot { color: #4a3a40; font-size: 15.5px; margin: 16px 0 4px; }
.omp .omp-link--accent { color: #930A2D; font-weight: 700; }
.omp-sheet .omm-alert { margin-bottom: 14px; }
.omp-social { display: grid; gap: 12px; }
.omp .omp-sep { display: flex; align-items: center; gap: 12px; margin: 18px 0; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #2A1A20; }
.omp-sep::before, .omp-sep::after { content: ""; flex: 1; height: 1px; background: #E8E1DC; }

/* Champs de feuille : libellé flottant, icône à droite */
.omp-form { display: grid; gap: 14px; }
.omp-f { position: relative; }
.omp .omp-f input, .omp .omp-f select { display: block; width: 100%; height: 62px; margin: 0; padding: 22px 48px 6px 14px !important; border: 1px solid #CFC6C1 !important; border-radius: 6px !important; background: #fff !important; box-shadow: none !important; font: 400 16px/1.3 var(--omm-sans); color: #2A1A20; -webkit-appearance: none; appearance: none; }
.omp .omp-f input:focus, .omp .omp-f select:focus { border-color: #930A2D !important; outline: 0; box-shadow: 0 0 0 3px rgba(147, 10, 45, .12) !important; }
.omp .omp-f input[aria-invalid="true"] { border-color: #B3261E !important; }
.omp-f label { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); font-size: 16px; color: #7D6870; pointer-events: none; transition: top .15s, font-size .15s, transform .15s; margin: 0; font-weight: 400; }
.omp-f input:focus + label, .omp-f input:not(:placeholder-shown) + label, .omp-f--fixed label { top: 10px; transform: none; font-size: 12px; font-weight: 600; color: #4a3a40; }
.omp .omp-opt { font-weight: 400; color: #9a8a90; }
.omp-f__icon { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: #6b5a60; display: inline-flex; pointer-events: none; }
.omp-f__eye { pointer-events: auto; }
.omp-f__icon .omm-icon { width: 21px; height: 21px; stroke-width: 1.5; }
.omp .omp-f input[type="date"]::-webkit-calendar-picker-indicator { opacity: 0; position: absolute; right: 0; width: 48px; height: 100%; cursor: pointer; }
.omp .omp-f input[type="date"] { min-height: 62px; }
.omp .omp-hint { color: #7D6870; font-size: 13px; margin: -8px 2px 0 !important; }
.omp .omp-seg { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #CFC6C1; border-radius: 6px; overflow: hidden; margin: 0; padding: 0; min-width: 0; }
.omp-seg__opt { position: relative; margin: 0; cursor: pointer; }
.omp-seg__opt + .omp-seg__opt { border-left: 1px solid #CFC6C1; }
.omp-seg__opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.omp-seg__opt span { display: flex; align-items: center; justify-content: center; min-height: 52px; font-weight: 700; font-size: 16px; color: #2A1A20; transition: background .15s, color .15s; }
.omp-seg__opt input:checked + span { background: #930A2D; color: #fff; }
.omp-seg__opt input:focus-visible + span { outline: 3px solid #C9A04E; outline-offset: -3px; }
.omp .omp-seg__hint { margin-top: -6px !important; }
.omp-legal { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 14px; }
.omp .omp-legal legend { font-size: 14px; font-weight: 600; color: #2A1A20; margin: 0 0 8px; padding: 0; }
.omp-legal__row { display: grid; grid-template-columns: 104px 1fr; gap: 8px; }
.omp .omp-legal__type select { padding-right: 30px !important; }
.omp-legal__type .omp-f__icon { right: 6px; }
.omp-check { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; color: #4a3a40; cursor: pointer; margin: 2px 0 0; }
.omp .omp-check input { width: 22px; height: 22px; margin: 1px 0 0; flex: 0 0 auto; accent-color: #930A2D; }
.omp .omp-check a { color: #4a3a40; text-decoration: underline; text-underline-offset: 2px; }
.omp-form .omp-btn--primary { margin-top: 4px; }

/* Bandeau « Parlez-nous de votre mariage » (Mon mariage) */
.omm-onboard { display: grid; gap: 14px; grid-template-columns: auto 1fr; align-items: start; background: #fff; border: 1px solid var(--omm-line); border-left: 4px solid var(--omm-gold); border-radius: var(--omm-radius); padding: 18px; margin: 0 0 22px; box-shadow: var(--omm-shadow); }
.omm-onboard > .omm-icon { color: var(--omm-gold); width: 26px; height: 26px; margin-top: 2px; }
.omm-onboard h2 { font-size: 21px; margin: 0 0 6px; }
.omm-onboard p { margin: 0; color: var(--omm-muted); }
.omm-onboard__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.omm-onboard__actions form { margin: 0; }
@media (min-width: 768px) { .omm-onboard { grid-template-columns: auto 1fr auto; align-items: center; } .omm-onboard__actions { grid-column: auto; } }
.omp .omp-f input[list]::-webkit-calendar-picker-indicator { display: none !important; opacity: 0; }
@media (min-width: 768px) { .omp__bg::after { background: linear-gradient(180deg, rgba(20, 10, 8, .62) 0%, rgba(20, 10, 8, .66) 50%, rgba(20, 10, 8, .8) 100%); } }

/* 1.2.1 — Mobile : logo en haut, visages du couple dégagés au centre, formulaire en bas. */
@media (max-width: 767px) {
	.omp__bg { background-position: center top; }
	.omp__bg::after { background: linear-gradient(180deg, rgba(20, 10, 8, .82) 0%, rgba(20, 10, 8, .6) 20%, rgba(20, 10, 8, .18) 34%, rgba(20, 10, 8, .2) 50%, rgba(20, 10, 8, .72) 62%, rgba(20, 10, 8, .86) 100%); }
	.omp__stage { justify-content: flex-start; padding-top: max(22px, env(safe-area-inset-top)); }
	.omp__brand { margin-bottom: 16px; }
	.omp .omp__logo { width: min(210px, 56vw); }
	.omp .omp__tagline { margin-top: 8px; font-size: 17px; }
	.omp__stage > .omp-view--login, .omp__stage > .omp-view--choice { margin-top: auto; }
	.omp .omp-login__signup { margin-top: 28px; }
}
@media (max-width: 767px) and (max-height: 760px) {
	.omp .omp__logo { width: min(170px, 46vw); }
	.omp .omp__tagline { display: none; }
	.omp .omp-login__signup { margin-top: 18px; }
	.omp .omp-center { margin-top: 14px; }
}

/* ==========================================================================
   v1.3.0 : Ma cérémonie (dot selon la coutume, civil, religieux, voyage)
   ========================================================================== */
.omm .omm-cer-dd { position: relative; margin: 0 0 18px; background: #fff; border: 1px solid var(--omm-line); border-radius: var(--omm-radius); }
.omm .omm-cer-dd > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; cursor: pointer; list-style: none; min-height: 56px; }
.omm .omm-cer-dd > summary::-webkit-details-marker { display: none; }
.omm .omm-cer-dd > summary .omm-icon { width: 18px; height: 18px; color: var(--omm-gold-dark); transition: transform .2s; flex: none; }
.omm .omm-cer-dd[open] > summary .omm-icon { transform: rotate(180deg); }
.omm .omm-cer-dd__label { display: grid; gap: 2px; min-width: 0; }
.omm .omm-cer-dd__label .omm-kicker { margin: 0; }
.omm .omm-cer-dd__value { font-family: var(--omm-serif); font-size: 18px; color: var(--omm-plum); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.omm .omm-cer-dd__panel { padding: 4px 16px 16px; border-top: 1px solid var(--omm-line); margin: 0; }
.omm .omm-cer-dd__panel fieldset { border: 0; padding: 0; margin: 0 0 14px; }
.omm .omm-cer-dd__panel legend { font-size: 13px; color: var(--omm-muted); padding: 10px 0 6px; }
.omm .omm-cer-dd__opt { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 6px 4px; border-bottom: 1px dashed var(--omm-line); cursor: pointer; font-size: 15px; color: var(--omm-ink); }
.omm .omm-cer-dd__opt:last-child { border-bottom: 0; }
.omm .omm-cer-dd__opt input { width: 20px; height: 20px; accent-color: var(--omm-plum); margin: 0; flex: none; }
.omm .omm-cer-dd__ico { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--omm-cream); color: var(--omm-bordeaux); flex: none; }
.omm .omm-cer-dd__ico .omm-icon { width: 17px; height: 17px; }
.omm .omm-cer-dd__panel .omm-btn { width: 100%; }

.omm .omm-cer-tabs { margin: 0 -16px 18px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
.omm .omm-cer-tabs::-webkit-scrollbar { display: none; }
.omm .omm-cer-tabs ul { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; }
.omm .omm-cer-tabs a { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 14px; border: 1px solid var(--omm-line); border-radius: 999px; background: #fff; color: var(--omm-plum); font-size: 13.5px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.omm .omm-cer-tabs a .omm-icon { width: 16px; height: 16px; color: var(--omm-gold-dark); }
.omm .omm-cer-tabs a small { font-size: 11px; color: var(--omm-muted); }
.omm .omm-cer-tabs a[aria-current] { background: var(--omm-plum); border-color: var(--omm-plum); color: #fff; }
.omm .omm-cer-tabs a[aria-current] .omm-icon, .omm .omm-cer-tabs a[aria-current] small { color: var(--omm-gold); }

.omm .omm-cer-head { display: flex; gap: 14px; align-items: flex-start; margin: 0 0 16px; }
.omm .omm-cer-head__ico { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: var(--omm-bordeaux); color: var(--omm-gold); flex: none; }
.omm .omm-cer-head__ico .omm-icon { width: 22px; height: 22px; }
.omm .omm-cer-head h3 { font-size: 24px; margin: 0 0 4px !important; }
.omm .omm-cer-head p { margin: 0; font-size: 14px; }

.omm .omm-cer-people { background: var(--omm-cream-2); border: 1px solid var(--omm-line); border-left: 3px solid var(--omm-gold); border-radius: var(--omm-radius); padding: 16px; margin: 0 0 14px; }
.omm .omm-cer-people__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.omm .omm-cer-people__head .omm-kicker { margin: 0 0 2px; display: block; }
.omm .omm-cer-people__name { display: block; font-family: var(--omm-serif); font-size: 24px; font-weight: 600; color: var(--omm-plum); line-height: 1.2; }
.omm .omm-cer-people > p { font-size: 14px; color: var(--omm-ink); margin: 10px 0; }
.omm .omm-tag--admin { background: #FDECEF; color: var(--omm-bordeaux); border: 1px dashed var(--omm-bordeaux); white-space: nowrap; }
.omm .omm-cer-change { margin-top: 8px; }
.omm .omm-cer-change > summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--omm-bordeaux); min-height: 32px; display: inline-flex; align-items: center; }
.omm .omm-cer-change[open] > summary { margin-bottom: 10px; }
.omm .omm-cer-origin { display: grid; gap: 12px; }
.omm .omm-cer-origin .omm-field { margin: 0; }
.omm .omm-cer-origin .omm-btn { width: 100%; }
.omm .omm-cer-origin-card h4 { font-family: var(--omm-serif); font-size: 20px; color: var(--omm-plum); margin: 0 0 6px; }
.omm .omm-cer-empty .omm-icon { width: 30px; height: 30px; color: var(--omm-gold); }
.omm .omm-cer-caution { font-size: 12.5px; font-style: italic; color: var(--omm-muted); margin: 0 0 16px; }

.omm .omm-cer-progress { margin: 0 0 16px; }
.omm .omm-cer-progress__txt { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 6px; font-size: 13px; color: var(--omm-muted); }
.omm .omm-cer-progress__txt strong { color: var(--omm-plum); font-weight: 600; }
.omm .omm-cer-progress__txt span { font-family: var(--omm-serif); font-size: 20px; color: var(--omm-gold-dark); }
.omm .omm-bar--lg { height: 8px; border-radius: 8px; }

.omm .omm-cer-steps { list-style: none; margin: 0 0 18px; padding: 0; counter-reset: none; }
.omm .omm-cer-step { position: relative; display: grid; grid-template-columns: 34px 1fr; gap: 10px; margin: 0 0 10px; padding: 0; }
.omm .omm-cer-step::before { content: ""; position: absolute; left: 16px; top: 40px; bottom: -14px; width: 1px; background: var(--omm-line); }
.omm .omm-cer-step:last-child::before { display: none; }
.omm .omm-cer-check { margin: 0; padding-top: 14px; }
.omm .omm-cer-check--step .omm-task__box { width: 32px; height: 32px; }
.omm .omm-cer-step.is-done > .omm-cer-check .omm-task__box,
.omm .omm-cer-present.is-done .omm-task__box { background: var(--omm-plum); border-color: var(--omm-plum); color: var(--omm-gold); }
.omm .omm-cer-acc { background: #fff; border: 1px solid var(--omm-line); border-radius: var(--omm-radius); min-width: 0; transition: border-color .2s, box-shadow .2s; }
.omm .omm-cer-acc[open] { border-color: var(--omm-gold); box-shadow: var(--omm-shadow); }
.omm .omm-cer-acc > summary { display: flex; align-items: flex-start; gap: 10px; padding: 14px; cursor: pointer; list-style: none; min-height: 56px; }
.omm .omm-cer-acc > summary::-webkit-details-marker { display: none; }
.omm .omm-cer-acc__num { font-family: var(--omm-serif); font-size: 20px; color: var(--omm-bordeaux); line-height: 1.2; min-width: 22px; }
.omm .omm-cer-acc__txt { flex: 1; min-width: 0; display: grid; gap: 2px; }
.omm .omm-cer-acc__title { font-family: var(--omm-serif); font-size: 17px; font-weight: 600; color: var(--omm-plum); line-height: 1.3; }
.omm .omm-cer-acc__local { font-size: 12.5px; font-style: italic; color: var(--omm-gold-dark); }
.omm .omm-cer-acc__state { display: none; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--omm-green); }
.omm .omm-cer-acc__state .omm-icon { width: 13px; height: 13px; }
.omm .omm-cer-step.is-done .omm-cer-acc__state { display: inline-flex; }
.omm .omm-cer-step.is-done .omm-cer-acc__title { color: var(--omm-muted); }
.omm .omm-cer-acc__chev { width: 18px; height: 18px; color: var(--omm-gold-dark); flex: none; margin-top: 3px; transition: transform .2s; }
.omm .omm-cer-acc[open] .omm-cer-acc__chev { transform: rotate(180deg); }
.omm .omm-cer-acc__body { padding: 0 14px 16px; font-size: 14.5px; line-height: 1.6; color: var(--omm-ink); }
.omm .omm-cer-acc__body > p { margin: 0 0 12px; }
.omm .omm-cer-who { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; color: var(--omm-muted); }
.omm .omm-cer-who .omm-icon, .omm .omm-cer-tip .omm-icon { width: 17px; height: 17px; flex: none; margin-top: 2px; color: var(--omm-gold-dark); }
.omm .omm-cer-who strong { color: var(--omm-plum); }
.omm .omm-cer-presents { background: var(--omm-cream-2); border: 1px solid var(--omm-line); border-radius: var(--omm-radius); padding: 12px 14px; margin: 0 0 12px; }
.omm .omm-cer-presents h4 { font-family: var(--omm-sans); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--omm-bordeaux); margin: 0 0 6px; }
.omm .omm-cer-presents ul { list-style: none; margin: 0; padding: 0; }
.omm .omm-cer-present { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; padding: 6px 0; border-bottom: 1px dashed var(--omm-line); font-size: 14px; }
.omm .omm-cer-present:last-child { border-bottom: 0; }
.omm .omm-cer-present.is-done > span { color: var(--omm-muted); text-decoration: line-through; text-decoration-color: rgba(201,160,78,.7); }
.omm .omm-cer-check--small { padding: 0; }
.omm .omm-cer-check--small .omm-task__box { width: 24px; height: 24px; }
.omm .omm-cer-note { font-size: 12px; font-style: italic; color: var(--omm-muted); margin: 8px 0 0; }
.omm .omm-cer-tip { display: flex; gap: 8px; align-items: flex-start; background: #FBF3E2; border-left: 3px solid var(--omm-gold); border-radius: var(--omm-radius); padding: 10px 12px; font-size: 13.5px; margin: 0 0 12px; }
.omm .omm-cer-tip strong { color: var(--omm-gold-dark); }
.omm .omm-cer-tip--mixte { margin-bottom: 12px; }
.omm .omm-cer-links .omm-kicker { display: block; margin: 0 0 6px; }
.omm .omm-cer-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.omm a.omm-cer-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 6px 12px; border: 1px solid var(--omm-line); border-radius: 999px; background: #fff; color: var(--omm-plum); font-size: 12.5px; font-weight: 500; text-decoration: none; }
.omm a.omm-cer-chip .omm-icon { width: 13px; height: 13px; color: var(--omm-gold-dark); }
.omm a.omm-cer-chip:hover { border-color: var(--omm-gold); background: var(--omm-cream-2); }
.omm .omm-cer-back a, .omm a.omm-cer-link { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; color: var(--omm-bordeaux); text-decoration: none; }
.omm a.omm-cer-link { margin: 10px 0; padding: 10px 12px; border: 1px dashed var(--omm-gold); border-radius: var(--omm-radius); background: var(--omm-cream-2); width: 100%; box-sizing: border-box; }
.omm a.omm-cer-link span { flex: 1; }
.omm .omm-cer-back .omm-icon, .omm a.omm-cer-link .omm-icon { width: 16px; height: 16px; color: var(--omm-gold-dark); flex: none; }

@media (min-width: 720px) {
	.omm .omm-cer-dd { max-width: 520px; }
	.omm .omm-cer-dd[open] .omm-cer-dd__panel { position: absolute; left: -1px; right: -1px; top: 100%; z-index: 20; background: #fff; border: 1px solid var(--omm-line); box-shadow: var(--omm-shadow); }
	.omm .omm-cer-tabs { margin: 0 0 18px; padding: 0; }
	.omm .omm-cer-origin .omm-btn { width: auto; justify-self: start; }
	.omm .omm-cer-step { grid-template-columns: 40px 1fr; gap: 14px; }
	.omm .omm-cer-acc__body { padding: 0 20px 20px 46px; }
	.omm .omm-cer-head h3 { font-size: 30px; }
}

/* -------------------------------------------------------------------------
 * v1.5.0 : Mon budget (cérémonies, qui paie, réel, dons) + raccourcis guide
 * ---------------------------------------------------------------------- */
.omm-kpis--budget .omm-kpi--dark ~ .omm-kpi:last-child:nth-child(even) { grid-column: auto; }
.omm-bud-split__grid { display: grid; gap: 10px; }
.omm-bud-split__item { display: grid; gap: 5px; padding: 12px 14px; background: var(--omm-cream-2); border: 1px solid var(--omm-line); border-left: 3px solid var(--omm-gold); min-width: 0; }
.omm-bud-split__item--mariee { border-left-color: var(--omm-rose); }
.omm-bud-split__item--marie { border-left-color: var(--omm-bordeaux); }
.omm-bud-split__item strong { font-family: var(--omm-serif); font-size: 19px; color: var(--omm-plum); font-weight: 600; }
.omm-bud-split__item small { font-size: 12px; color: var(--omm-muted); }
.omm-bud-add, .omm-gift-add { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.omm-bud-add .omm-bud-add__poste, .omm-bud-add .omm-bud-add__label, .omm-gift-add .omm-field:first-of-type { grid-column: 1 / -1; }
.omm-bud-add .omm-field--end, .omm-gift-add .omm-field--end { grid-column: 1 / -1; }
.omm-bud-add .omm-field--end .omm-btn, .omm-gift-add .omm-field--end .omm-btn { width: 100%; justify-content: center; }
.omm-bud-guide { display: flex; align-items: center; gap: 8px; font-size: 13.5px; margin: 14px 0 0; }
.omm-bud-guide .omm-icon { color: var(--omm-gold-dark); width: 18px; height: 18px; flex: none; }
.omm-bud-guide a { color: var(--omm-bordeaux); font-weight: 600; }
.omm-bud__title { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.omm-bud__title .omm-icon { color: var(--omm-gold); width: 22px; height: 22px; }
.omm-bud__title small { flex-basis: 100%; font-family: var(--omm-sans); font-size: 12.5px; font-weight: 400; color: var(--omm-muted); }
.omm-bud__head { display: none; }
.omm-bud__row { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; padding: 12px; margin: 0 0 8px; background: var(--omm-cream-2); border: 1px solid var(--omm-line); font-size: 13.5px; }
.omm-bud__row.is-paid { background: #F3F8F4; }
.omm-bud__label { grid-column: 1 / -1; display: grid; gap: 2px; }
.omm-bud__label strong { font-size: 14.5px; color: var(--omm-ink); }
.omm-bud__label small { font-size: 12px; color: var(--omm-muted); }
.omm-bud__row span[data-label]::before, .omm-bud__total span[data-label]::before { content: attr(data-label); display: block; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--omm-muted); }
.omm-bud__total span[data-label]::before { color: rgba(255,255,255,.7); }
.omm-bud__payer { grid-column: 1 / -1; }
.omm-bud__payer--mariee { color: #A0405A; }
.omm-bud__payer--marie { color: var(--omm-bordeaux); }
.omm-bud__actions { grid-column: 1 / -1; display: flex; gap: 6px; justify-content: flex-end; }
.omm-bud__actions form { margin: 0; }
.omm-bud__total { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; padding: 14px 12px; background: var(--omm-plum); color: #fff; font-weight: 700; margin-top: 8px; }
.omm-bud__total span:first-child { grid-column: 1 / -1; font-family: var(--omm-serif); font-size: 17px; }
.omm-bud__total span:empty { display: none; }
.omm-bud--grand { padding: 0 !important; border: 0 !important; background: none !important; }
.omm-bud__total--grand { margin: 0; background: var(--omm-plum-dark); }
.omm-gifts__list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 8px; }
.omm-gift { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; align-items: center; padding: 12px; background: var(--omm-cream-2); border: 1px solid var(--omm-line); }
.omm-gift__main { display: grid; gap: 2px; min-width: 0; }
.omm-gift__main small { font-size: 12px; color: var(--omm-muted); }
.omm-gift__amount { font-family: var(--omm-serif); font-weight: 600; color: var(--omm-green); white-space: nowrap; }
.omm-gift .omm-bud__actions { grid-column: 1 / -1; }
.omm-gifts__total { display: flex; justify-content: space-between; align-items: baseline; margin: 12px 0 0; padding: 12px; background: #E8F3EC; color: var(--omm-green); }
.omm-gifts__total strong { font-family: var(--omm-serif); font-size: 19px; }
.omm-bud-recap dl { margin: 0; display: grid; gap: 0; }
.omm-bud-recap dl > div { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--omm-line); font-size: 14px; }
.omm-bud-recap dt { color: var(--omm-muted); }
.omm-bud-recap dd { margin: 0; font-weight: 700; color: var(--omm-plum); white-space: nowrap; }
.omm-bud-recap__net dt, .omm-bud-recap__net dd { color: var(--omm-bordeaux) !important; font-size: 16px; }
.omm-bud-recap .omm-muted { font-size: 12px; margin: 10px 0 0; }
.omm-tools2 { display: grid; gap: 10px; margin: 0 0 18px; }
.omm .omm-tool2 { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: #fff; border: 1px solid var(--omm-line); border-left: 3px solid var(--omm-gold); text-decoration: none; color: var(--omm-ink); }
.omm-tool2 > .omm-icon:first-child { color: var(--omm-gold); width: 26px; height: 26px; flex: none; }
.omm-tool2 > .omm-icon:last-child { color: var(--omm-gold-dark); margin-left: auto; flex: none; }
.omm-tool2 span { display: grid; gap: 2px; min-width: 0; }
.omm-tool2 strong { font-family: var(--omm-serif); color: var(--omm-plum); font-size: 16px; }
.omm-tool2 small { font-size: 12.5px; color: var(--omm-muted); }
.omm-cer-guide { margin: 8px 0; font-size: 13.5px; }
.omm-cer-guide a { display: inline-flex; gap: 8px; align-items: flex-start; color: var(--omm-bordeaux); font-weight: 600; }
.omm-cer-guide .omm-icon { width: 18px; height: 18px; color: var(--omm-gold-dark); flex: none; }
@media (min-width: 720px) {
	.omm-bud-split__grid { grid-template-columns: repeat(3, 1fr); }
	.omm-tools2 { grid-template-columns: 1fr 1fr; }
	.omm-bud-add { grid-template-columns: 2fr 2fr 1fr 1fr 1fr 1.3fr auto; align-items: end; }
	.omm-bud-add .omm-bud-add__poste, .omm-bud-add .omm-bud-add__label { grid-column: auto; }
	.omm-bud-add .omm-field--end { grid-column: auto; }
	.omm-bud-add .omm-bud-add__poste { grid-column: 1 / 3; }
	.omm-bud-add .omm-bud-add__label { grid-column: 3 / -1; }
	.omm-gift-add { grid-template-columns: 2fr 1fr 1.3fr 1.3fr 1fr; align-items: end; }
	.omm-gift-add .omm-field:first-of-type { grid-column: auto; }
	.omm-gift-add .omm-field:nth-of-type(6) { grid-column: 1 / 5; }
	.omm-gift-add .omm-field--end { grid-column: 5; }
}
@media (min-width: 1000px) {
	.omm-bud__head, .omm-bud__row, .omm-bud__total { grid-template-columns: minmax(0, 2.2fr) 1.3fr repeat(4, 1fr) 84px; align-items: center; }
	.omm-bud__head { display: grid; gap: 12px; padding: 0 12px 8px; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--omm-muted); }
	.omm-bud__row { margin: 0; border-width: 0 0 1px; background: transparent; }
	.omm-bud__label, .omm-bud__payer, .omm-bud__actions { grid-column: auto; }
	.omm-bud__row span[data-label]::before, .omm-bud__total span[data-label]::before { display: none; }
	.omm-bud__total span:first-child { grid-column: auto; }
	.omm-bud__total span:empty { display: block; }
	.omm-kpis--budget { grid-template-columns: repeat(3, 1fr); }
	.omm-kpis--budget .omm-kpi--dark { grid-column: auto; }
}

/* -------------------------------------------------------------------------
 * v1.6.0 : Mon calendrier (dates, comptes à rebours, checklists, frise)
 * ---------------------------------------------------------------------- */
.omc-hero-next { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--omm-muted); margin: 0 0 8px !important; }
.omc-hero-next .omm-icon { width: 18px; height: 18px; color: var(--omm-gold); flex: none; }
.omc-hero-next strong { color: var(--omm-plum); }
.omc-cds { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: 1fr; gap: 8px; }
.omm-hero .omc-cds { margin: 10px 0 0; }
.omc-cds--compact { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.omc-cd { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; background: #fff; border: 1px solid var(--omm-line); border-left: 3px solid var(--omm-gold); min-width: 0; }
.omc-cds--compact .omc-cd { padding: 8px 10px; gap: 8px; }
.omc-cd.is-next { border-color: var(--omm-plum); border-left-color: var(--omm-bordeaux); background: #FFF8F6; box-shadow: 0 6px 18px rgba(107,31,58,.08); }
.omc-cd.is-past { opacity: .6; }
.omc-cd.is-undated { border-left-color: var(--omm-line); border-style: dashed; }
.omc-cd__ico { flex: none; display: inline-flex; width: 36px; height: 36px; border-radius: 50%; align-items: center; justify-content: center; background: var(--omm-cream-2); color: var(--omm-gold-dark); }
.omc-cds--compact .omc-cd__ico { width: 26px; height: 26px; }
.omc-cd__ico .omm-icon { width: 18px; height: 18px; }
.omc-cds--compact .omc-cd__ico .omm-icon { width: 14px; height: 14px; }
.omc-cd__txt { display: grid; gap: 2px; min-width: 0; }
.omc-cd__name { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--omm-muted); }
.omc-cd__name em { font-style: normal; text-transform: none; letter-spacing: 0; font-size: 11px; background: var(--omm-bordeaux); color: #fff; padding: 1px 7px; border-radius: 999px; margin-left: 4px; }
.omc-cd__days { font-family: var(--omm-serif); font-weight: 600; font-size: 19px; color: var(--omm-plum); line-height: 1.15; }
.omc-cd__days b { color: var(--omm-bordeaux); font-size: 24px; }
.omc-cds--compact .omc-cd__days { font-size: 14px; }
.omc-cds--compact .omc-cd__days b { font-size: 17px; }
.omc-cds--compact .omc-cd__name em { display: none; }
.omc-cd small { font-size: 12px; color: var(--omm-muted); }
.omc-cds--compact .omc-cd small { font-size: 11px; }
.omc-cd.is-undated .omc-cd__days { font-family: var(--omm-sans); font-size: 13px; font-weight: 500; color: var(--omm-muted); }

.omc-dates { padding: 0 !important; }
.omc-dates__sum { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 16px 18px; cursor: pointer; list-style: none; }
.omc-dates__sum::-webkit-details-marker { display: none; }
.omc-dates__sum > span { display: grid; gap: 2px; }
.omc-dates__sum strong { font-size: 20px; color: var(--omm-plum); }
.omc-dates__sum .omm-icon { color: var(--omm-gold-dark); transition: transform .2s; }
.omc-dates[open] .omc-dates__sum .omm-icon { transform: rotate(180deg); }
.omc-dates__form { padding: 0 18px 18px; }
.omc-dates > .omm-errors, .omc-dates > .omm-alert { margin: 0 18px 12px; }
.omc-row { border: 1px solid var(--omm-line); background: var(--omm-cream-2); padding: 10px 12px; margin: 0 0 10px; min-width: 0; }
.omc-row__on span { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--omm-plum); }
.omc-row__on .omm-icon { width: 18px; height: 18px; color: var(--omm-gold-dark); }
.omc-row__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; margin-top: 8px; }
.omc-row__fields .omm-field { margin: 0; }
.omc-row__lieu { grid-column: 1 / -1; }
.omc-row:not(.is-on) { background: #fff; }
.omc-row:not(.is-on) .omc-row__fields { opacity: .45; }

.omc-views { display: flex; gap: 0; margin: 0 0 14px; border: 1px solid var(--omm-line); background: #fff; }
.omm .omc-views a { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 11px 8px; font-size: 13.5px; color: var(--omm-plum); text-decoration: none; }
.omc-views a .omm-icon { width: 16px; height: 16px; color: var(--omm-gold-dark); }
.omm .omc-views a[aria-current] { background: var(--omm-plum); color: #fff; }
.omc-views a[aria-current] .omm-icon { color: var(--omm-gold); }

.omc-cer__head { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 12px; }
.omc-cer__head .omm-cer__icon { flex: none; display: inline-flex; width: 44px; height: 44px; border-radius: 50%; align-items: center; justify-content: center; background: var(--omm-bordeaux); color: #fff; }
.omc-cer__head h3 { margin: 0 0 4px; font-size: 22px; color: var(--omm-plum); }
.omc-cer__head p { margin: 0; font-size: 13.5px; }
.omc-prog { display: flex; gap: 14px; align-items: center; padding: 12px; background: var(--omm-cream-2); border: 1px solid var(--omm-line); margin: 0 0 12px; }
.omc-ring { width: 62px; height: 62px; }
.omc-ring span { font-size: 16px; }
.omc-prog strong { color: var(--omm-plum); }
.omc-prog__late { display: flex; align-items: center; gap: 4px; margin: 4px 0 0 !important; font-size: 13px; color: var(--omm-bordeaux); font-weight: 600; }
.omc-prog__late .omm-icon { width: 15px; height: 15px; }
.omc-prog__late.is-zero { color: var(--omm-green); font-weight: 500; }
.omc-prog__late.is-zero .omm-icon { display: none; }
.omc-guide { margin: 0 0 12px; }
.omc-frames { list-style: none; margin: 0; padding: 0; }
.omc-frame { position: relative; padding: 0 0 6px 18px; border-left: 2px solid var(--omm-line); margin-left: 6px; scroll-margin-top: 80px; }
.omc-frame::before { content: ""; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid var(--omm-gold); }
.omc-frame.is-now { border-left-color: var(--omm-gold); }
.omc-frame.is-now::before { background: var(--omm-gold); }
.omc-frame__t { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-family: var(--omm-serif); font-size: 18px; color: var(--omm-plum); margin: 0 0 4px; font-weight: 600; }
.omc-frame__t small { font-family: var(--omm-sans); font-size: 12px; font-weight: 400; color: var(--omm-muted); }
.omc-now { font-family: var(--omm-sans); font-style: normal; font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; background: var(--omm-gold); color: #fff; padding: 2px 8px; border-radius: 999px; }
.omc-tasks { margin: 0 0 12px !important; }
.omc-task { grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; }
.omc-task .omm-task__box { margin-top: 1px; }
.omc-task__main { display: grid; gap: 4px; min-width: 0; }
.omc-task__meta { display: flex; flex-wrap: wrap; gap: 4px 8px; font-size: 11.5px; color: var(--omm-muted); align-items: center; }
.omc-task__meta:empty { display: none; }
.omc-task__meta .omm-icon { width: 13px; height: 13px; margin-right: 3px; vertical-align: -2px; }
.omc-late { color: #fff; background: var(--omm-bordeaux); padding: 1px 7px; border-radius: 999px; font-weight: 600; }
.omc-late .omm-icon { color: #fff; }
.omc-task.is-late { background: #FFF6F6; box-shadow: inset 3px 0 0 var(--omm-bordeaux); padding-left: 8px; }
.omc-who { color: var(--omm-plum); font-weight: 600; }
.omc-who--mariee, .omc-who--famille_mariee { color: #A0405A; }
.omc-who--marie, .omc-who--famille_marie { color: var(--omm-bordeaux); }
.omm .omc-link { color: var(--omm-gold-dark); font-weight: 600; text-decoration: none; }
.omc-link:hover { text-decoration: underline; }
.omc-task__actions { display: inline-flex; align-items: center; gap: 2px; }
.omc-task__actions form { margin: 0; }
.omc-task .omm-pop__body { width: min(88vw, 360px); }
.omc-tag { font-weight: 700; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; padding: 1px 7px; border-radius: 999px; background: var(--omm-beige); color: var(--omm-plum); }
.omc-tag--dot { background: #F6E7C9; color: #7A5A12; }
.omc-tag--civil { background: #E5EEF5; color: #2D4A63; }
.omc-tag--religieux { background: #EFE6F3; color: #5A2D6B; }
.omc-tag--reception { background: var(--omm-rose); color: var(--omm-bordeaux); }
.omc-tag--voyage { background: #E3F1EC; color: #1F5E4B; }
.omc-add { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--omm-line); }
.omc-add__t { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px; margin: 0; font-family: var(--omm-serif); font-size: 17px; color: var(--omm-plum); }
.omc-add__t .omm-icon { width: 16px; height: 16px; color: var(--omm-gold-dark); }
.omc-add .omm-field { margin: 0; }
.omc-add__label, .omc-add .omm-field--end { grid-column: 1 / -1; }
.omc-add .omm-field--end .omm-btn { width: 100%; justify-content: center; }
.omc-note { font-size: 12px; color: var(--omm-muted); font-style: italic; margin: 12px 0 0 !important; }

.omc-frise__done { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.omc-frise__done .omm-icon { color: var(--omm-green); width: 16px; height: 16px; }
.omc-month { background: #fff; border: 1px solid var(--omm-line); padding: 12px 14px 4px; margin: 0 0 12px; }
.omc-month__t { display: flex; align-items: baseline; gap: 8px; font-family: var(--omm-serif); font-size: 19px; color: var(--omm-plum); margin: 0 0 6px; font-weight: 600; }
.omc-month__t small { font-family: var(--omm-sans); font-size: 12px; color: var(--omm-muted); font-weight: 400; }
.omc-month--late { border-color: var(--omm-bordeaux); background: #FFF8F8; }
.omc-month--late .omc-month__t { color: var(--omm-bordeaux); }
.omc-month--late .omc-month__t .omm-icon { width: 18px; height: 18px; }
.omc-month--nodate { border-style: dashed; }
.omc-event { display: flex; gap: 10px; align-items: center; padding: 10px 12px; margin: 6px 0; background: var(--omm-plum); color: #fff; list-style: none; }
.omc-event__ico { flex: none; display: inline-flex; width: 34px; height: 34px; border-radius: 50%; align-items: center; justify-content: center; background: rgba(255,255,255,.12); color: var(--omm-gold); }
.omc-event__ico .omm-icon { width: 18px; height: 18px; }
.omc-event strong { display: block; font-family: var(--omm-serif); font-size: 17px; }
.omc-event small { display: block; font-size: 12px; color: rgba(255,255,255,.8); }
@media (min-width: 720px) {
	.omc-cds:not(.omc-cds--compact) { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
	.omc-row { display: grid; grid-template-columns: 240px 1fr; gap: 12px; align-items: center; }
	.omc-row__fields { grid-template-columns: 160px 120px 1fr; margin: 0; }
	.omc-row__lieu { grid-column: auto; }
	.omc-add { grid-template-columns: 2fr 1fr 1fr auto; align-items: end; }
	.omc-add__label { grid-column: auto; }
	.omc-add .omm-field--end { grid-column: auto; }
}
@media (min-width: 1000px) {
	.omm-tools2 { grid-template-columns: repeat(3, 1fr); }
}

/* -------------------------------------------------------------------------
 * v1.7.0 : Mes invités (WhatsApp, réponses par cérémonie) et page publique de réponse
 * ---------------------------------------------------------------------- */
.omi-kpis { grid-template-columns: 1fr 1fr; }
.omi-kpis .omm-kpi--dark { grid-column: 1 / -1; }
.omi-kpi--oui strong { color: var(--omm-green); }
.omi-kpi--non strong { color: var(--omm-bordeaux); }
.omi-kpi--peut strong { color: var(--omm-gold-dark); }
.omi-summary > summary, .omi-msg > summary, .omi-add > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px; margin: 0 !important; }
.omi-summary > summary::-webkit-details-marker, .omi-msg > summary::-webkit-details-marker { display: none; }
.omi-summary > summary .omm-icon, .omi-msg > summary .omm-icon { color: var(--omm-gold); }
.omi-summary[open] > summary, .omi-msg[open] > summary { margin-bottom: 10px !important; }
.omi-table { width: 100%; border-collapse: collapse; margin: 6px 0 14px; font-size: 13px; }
.omi-table caption { text-align: left; font-family: var(--omm-serif); font-size: 16px; font-weight: 600; color: var(--omm-plum); padding: 6px 0; }
.omi-table thead { display: none; }
.omi-table tr { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px 6px; padding: 10px 0; border-top: 1px solid var(--omm-line); }
.omi-table th[scope="row"] { grid-column: 1 / -1; text-align: left; display: flex; align-items: center; gap: 6px; font-weight: 600; color: var(--omm-ink); }
.omi-table th[scope="row"] .omm-icon { width: 16px; height: 16px; color: var(--omm-gold-dark); }
.omi-table td { padding: 0; font-weight: 700; color: var(--omm-plum); }
.omi-table td[data-label]::before { content: attr(data-label); display: block; font-size: 9.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--omm-muted); }
.omi-table td[colspan] { grid-column: 1 / -1; font-weight: 400; }
.omi-c--oui { color: var(--omm-green) !important; }
.omi-c--non { color: var(--omm-bordeaux) !important; }
.omi-bar-cell { grid-column: 1 / -1; }
.omi-bar { display: flex; height: 6px; border-radius: 999px; overflow: hidden; background: var(--omm-line); margin-top: 4px; }
.omi-bar i { display: block; height: 100%; }
.omi-bar--oui { background: var(--omm-green); }
.omi-bar--peut { background: var(--omm-gold); }
.omi-bar--non { background: var(--omm-bordeaux); }
.omi-form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.omi-form .omm-field { margin: 0; min-width: 0; }
.omi-f--wide { grid-column: 1 / -1; }
.omi-form legend { font-size: 13px; font-weight: 600; color: var(--omm-ink); margin-bottom: 6px; }
.omi-answers__row { display: grid; grid-template-columns: 1fr 120px 64px; gap: 8px; align-items: center; padding: 4px 0; font-size: 13px; }
.omm .omi-answers__row select, .omm .omi-answers__row input { min-height: 36px; padding: 4px 8px; font-size: 13px; }
.omi-msg textarea { width: 100%; min-height: 180px; font-family: var(--omm-sans); font-size: 14px; line-height: 1.5; padding: 10px; border: 1px solid var(--omm-line); border-radius: 6px; background: #fff; }
.omi-msg code { background: var(--omm-cream-2); padding: 1px 5px; border-radius: 4px; font-size: 12px; color: var(--omm-bordeaux); }
.omi-msg__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.omi-wa__t { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--omm-gold-dark); margin: 14px 0 6px !important; }
.omi-bubble { position: relative; background: #DCF8C6; color: #111B21; font-size: 14px; line-height: 1.45; padding: 10px 12px; border-radius: 10px 0 10px 10px; box-shadow: 0 1px 1px rgba(0,0,0,.12); max-width: 520px; margin-left: auto; word-break: break-word; }
.omi-filters { grid-template-columns: 1fr 1fr; }
.omi-guests { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.omi-guest { background: #fff; border: 1px solid var(--omm-line); border-left: 3px solid var(--omm-line); padding: 12px 14px; display: grid; gap: 8px; }
.omi-guest--oui { border-left-color: var(--omm-green); }
.omi-guest--non { border-left-color: var(--omm-bordeaux); }
.omi-guest--peut { border-left-color: var(--omm-gold); }
.omi-guest__head { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: start; }
.omi-guest__head .omm-dot { margin-top: 6px; }
.omi-guest__id { display: grid; gap: 2px; min-width: 0; }
.omi-guest__id strong { font-size: 15.5px; color: var(--omm-ink); }
.omi-plus { font-weight: 600; color: var(--omm-gold-dark); font-size: 13px; }
.omi-guest__meta { font-size: 12.5px; color: var(--omm-muted); }
.omi-st { font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px; white-space: nowrap; background: var(--omm-cream-2); color: var(--omm-muted); border: 1px solid var(--omm-line); }
.omi-st--oui { background: #E6F2EA; color: var(--omm-green); border-color: #BCD9C6; }
.omi-st--non { background: #F6E5E8; color: var(--omm-bordeaux); border-color: #EBC2CA; }
.omi-st--peut { background: #FBF0DA; color: var(--omm-gold-dark); border-color: #EBD6A8; }
.omi-guest__cers { display: flex; flex-wrap: wrap; gap: 6px; }
.omi-cer { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; padding: 4px 9px; border-radius: 999px; border: 1px solid var(--omm-line); background: var(--omm-cream-2); color: var(--omm-ink); }
.omi-cer .omm-icon { width: 14px; height: 14px; color: var(--omm-gold-dark); }
.omi-cer b { font-weight: 600; color: var(--omm-muted); }
.omi-cer--oui b { color: var(--omm-green); }
.omi-cer--non b { color: var(--omm-bordeaux); }
.omi-cer--peut b { color: var(--omm-gold-dark); }
.omi-guest__msg { display: flex; gap: 6px; font-size: 13px; font-style: italic; color: var(--omm-plum); margin: 0 !important; background: #FFF8F6; padding: 8px 10px; }
.omi-guest__msg .omm-icon { width: 16px; height: 16px; color: var(--omm-gold-dark); flex: none; margin-top: 1px; }
.omi-guest__note { font-size: 12.5px; color: var(--omm-muted); margin: 0 !important; }
.omi-guest__status { display: flex; align-items: center; gap: 4px; font-size: 11.5px; color: var(--omm-muted); margin: 0 !important; }
.omi-guest__status .omm-icon { width: 14px; height: 14px; color: var(--omm-green); }
.omi-guest__actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.omi-guest__actions form { margin: 0; }
.omm .omi-btn-wa { background: #25D366; border-color: #25D366; color: #fff; list-style: none; }
.omi-btn-wa::-webkit-details-marker { display: none; }
.omi-btn-wa .omm-icon { width: 16px; height: 16px; }
.omi-wa .omm-pop__body, .omi-guest .omm-pop__body { left: 0; right: auto; width: min(92vw, 420px); }
.omi-guest__actions > details:not(.omi-wa) .omm-pop__body { left: auto; right: 0; }
.omi-wa__body .omi-bubble { margin: 0 0 12px; font-size: 13px; }
.omm .omi-wa__go { width: 100%; justify-content: center; background: #25D366; border-color: #25D366; }
.omi-wa__link { display: grid; gap: 4px; margin-top: 10px; font-size: 12px; color: var(--omm-muted); }
.omm .omi-wa__link input { font-size: 12px; padding: 6px 8px; border: 1px solid var(--omm-line); border-radius: 6px; background: var(--omm-cream-2); width: 100%; }

/* Page publique de réponse */
.omi-rsvp-page { background: var(--omm-cream-2, #FBF7F2); margin: 0; }
.omi-rsvp { min-height: 100vh; background: linear-gradient(180deg, #F7F0E8 0%, #FBF7F2 40%); }
.omi-rsvp__top { display: flex; justify-content: center; padding: 14px; background: #fff; border-bottom: 1px solid var(--omm-line); }
.omi-rsvp__logo img { max-height: 46px; width: auto; display: block; }
.omi-rsvp__main { max-width: 620px; margin: 0 auto; padding: 18px 16px 40px; }
.omi-rsvp__hero { text-align: center; padding: 22px 6px 14px; }
.omi-rsvp__hero h1 { font-size: clamp(30px, 9vw, 44px); color: var(--omm-plum); margin: 4px 0 10px; line-height: 1.1; }
.omi-rsvp__hero p { font-size: 15px; color: var(--omm-ink); margin: 0; }
.omi-rsvp__plus { color: var(--omm-muted); font-size: 13.5px; }
.omi-rsvp__thanks { display: flex; gap: 8px; align-items: flex-start; }
.omi-rsvp__thanks .omm-icon { flex: none; color: var(--omm-bordeaux); }
.omi-rsvp__form { display: grid; gap: 12px; }
.omi-rsvp__cer { border: 1px solid var(--omm-line); border-top: 3px solid var(--omm-gold); margin: 0; padding: 14px; background: #fff; }
.omi-rsvp__cert { display: flex; gap: 10px; align-items: flex-start; padding: 0; margin: 0 0 12px; float: left; width: 100%; }
.omi-rsvp__cert + * { clear: both; }
.omi-rsvp__ico { flex: none; display: inline-flex; width: 40px; height: 40px; border-radius: 50%; align-items: center; justify-content: center; background: var(--omm-bordeaux); color: var(--omm-gold); }
.omi-rsvp__ico .omm-icon { width: 20px; height: 20px; }
.omi-rsvp__cert > span:last-child { display: grid; gap: 2px; }
.omi-rsvp__cert strong { font-family: var(--omm-serif); font-size: 19px; color: var(--omm-plum); }
.omi-rsvp__cert small { display: flex; align-items: center; gap: 4px; font-size: 13px; color: var(--omm-muted); }
.omi-rsvp__cert small .omm-icon { width: 14px; height: 14px; color: var(--omm-gold-dark); }
.omi-rsvp__choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.omi-choice { position: relative; }
.omi-choice input { position: absolute; opacity: 0; inset: 0; }
.omi-choice span { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 8px 6px; border: 1.5px solid var(--omm-line); border-radius: 10px; background: #fff; font-weight: 600; font-size: 14px; color: var(--omm-plum); text-align: center; cursor: pointer; }
.omi-choice input:focus-visible + span { outline: 2px solid var(--omm-gold); outline-offset: 2px; }
.omi-choice--oui input:checked + span { background: #E6F2EA; border-color: var(--omm-green); color: var(--omm-green); }
.omi-choice--peut input:checked + span { background: #FBF0DA; border-color: var(--omm-gold); color: var(--omm-gold-dark); }
.omi-choice--non input:checked + span { background: #F6E5E8; border-color: var(--omm-bordeaux); color: var(--omm-bordeaux); }
.omi-choice input:checked + span::before { content: "✓"; margin-right: 6px; }
.omi-rsvp__n { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; font-size: 14px; }
.omm .omi-rsvp__n select { width: 90px; min-height: 42px; border: 1px solid var(--omm-line); border-radius: 6px; padding: 4px 8px; background: #fff; }
.omi-rsvp__card { margin: 0; }
.omi-rsvp textarea { width: 100%; font-family: var(--omm-sans); font-size: 15px; padding: 10px; border: 1px solid var(--omm-line); border-radius: 6px; }
.omm .omi-rsvp__send { width: 100%; justify-content: center; min-height: 50px; }
.omi-rsvp__foot { text-align: center; font-size: 12px; color: var(--omm-muted); margin-top: 18px !important; }
.omi-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media (min-width: 720px) {
	.omi-kpis { grid-template-columns: 2fr repeat(4, 1fr); }
	.omi-kpis .omm-kpi--dark { grid-column: auto; }
	.omi-form { grid-template-columns: repeat(4, 1fr); }
	.omi-f--wide { grid-column: 1 / -1; }
	.omi-form .omm-field:nth-of-type(1), .omi-form .omm-field:nth-of-type(2) { grid-column: span 2; }
	.omi-filters { grid-template-columns: 2fr repeat(4, 1fr) auto auto auto; }
	.omi-guest { grid-template-columns: 1fr auto; align-items: start; }
	.omi-guest > *:not(.omi-guest__actions) { grid-column: 1; }
	.omi-guest__actions { grid-column: 2; grid-row: 1 / span 4; justify-content: flex-end; }
}
@media (min-width: 1000px) {
	.omi-table thead { display: table-header-group; }
	.omi-table thead th { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--omm-muted); text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--omm-line); }
	.omi-table tr { display: table-row; }
	.omi-table th[scope="row"], .omi-table td { display: table-cell; padding: 8px; border-bottom: 1px solid var(--omm-line); vertical-align: middle; }
	.omi-table th[scope="row"] { display: table-cell; }
	.omi-table td[data-label]::before { display: none; }
	.omi-bar-cell { width: 28%; }
}
/* Fenêtres « Inviter » / « Modifier » : ouvertes dans la fiche (pas de débordement sur mobile). */
.omi-guest__meta a { white-space: nowrap; }
.omi-guest__actions > details[open] { order: 10; flex: 1 0 100%; }
.omi-guest .omi-guest__actions .omm-pop__body { position: static; width: auto; max-width: none; margin-top: 10px; left: auto; right: auto; box-shadow: none; transform: none; }
.omi-guest__actions > details[open] > summary { display: inline-flex; }
@media (min-width: 720px) {
	.omi-guest:has(details[open]) .omi-guest__actions { grid-column: 1 / -1; grid-row: auto; justify-content: flex-start; }
	.omi-filters select { min-width: 0; }
}
.omi-rsvp__cer:has(.omi-choice--non input:checked) .omi-rsvp__n { display: none; }
.omm .omi-table, .omm .omi-table th, .omm .omi-table td, .omm .omi-table tr { border-left: 0; border-right: 0; background: transparent; }
.omm .omi-table th[scope="row"], .omm .omi-table td { border-top: 0; border-bottom: 0; padding-left: 0; }
.omm .omi-table { border: 0; }
@media (min-width: 1000px) {
	.omm .omi-table th[scope="row"], .omm .omi-table td, .omm .omi-table thead th { border-bottom: 1px solid var(--omm-line); padding: 8px; }
}

/* v1.7.1 : note moyenne des avis sur les cartes prestataires */
.omm-lc__rating { display: flex; align-items: center; gap: 4px; margin: 2px 0 4px !important; font-size: 13.5px; color: var(--omm-muted); }
.omm-lc__rating strong { color: var(--omm-bordeaux); }
.omm-lc__star { color: var(--omm-gold); font-size: 15px; }
