/* Retouches réservées à l’aperçu : main.css reste la base et n’est pas modifié. */
.identity-preview {text-align:left;background:#fff;line-height:1.6}
.identity-preview * {box-sizing:border-box}
.identity-preview .ip-wrap {width:min(1160px,calc(100% - 64px));margin-inline:auto}
.identity-preview a {text-decoration:none}
.identity-preview a:hover {text-decoration:underline}
.identity-preview a:focus-visible,.identity-preview summary:focus-visible {outline:3px solid #AF0069;outline-offset:5px}
.identity-preview .ip-note {background:whitesmoke;text-align:center;padding:8px 20px;font-size:13px;color:#56686f}
.identity-preview .ip-note a {margin-left:20px;color:#404040}
.identity-preview .ip-header {background:#179B9B;color:#fff}
.identity-preview .ip-header-inner {display:flex;align-items:center;gap:36px;min-height:82px}
.identity-preview .ip-brand {font-size:30px;white-space:nowrap;color:inherit}
.identity-preview .ip-nav {display:flex;gap:26px;margin-left:auto}
.identity-preview .ip-header a {color:#fff}
.identity-preview .ip-login {border-left:1px solid #ffffff70;padding-left:26px;white-space:nowrap}
.identity-preview .ip-hero {display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center;padding-block:54px 68px}
.identity-preview .ip-logo {width:105px;height:105px;display:block;margin-bottom:22px}
.identity-preview .ip-kicker {font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:#137676;margin:0 0 15px}
.identity-preview h1 {text-align:left;font-size:clamp(40px,4.4vw,61px);line-height:1.12;margin:0 0 22px;padding:0;font-weight:400}
.identity-preview h2 {font-size:32px;line-height:1.25;padding-bottom:12px;margin-bottom:22px;color:#9e505e}
.identity-preview h3 {font-size:23px;line-height:1.25;font-weight:400;margin:12px 0}
.identity-preview p {margin-top:0}
.identity-preview .ip-lead {font-size:20px;line-height:1.65;max-width:510px}
.identity-preview .ip-actions {display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}
.identity-preview .ip-button {padding:12px 25px;color:#533039;font-size:18px;border-color:#EEA2A4}
.identity-preview .ip-button:hover {color:white}
.identity-preview .ip-example {color:#137676;border-bottom:1px solid #179B9B;padding-bottom:3px}
.identity-preview .ip-guest {margin-top:24px;font-size:15px;color:#646464}
.identity-preview .ip-guest a {color:#137676;text-decoration:underline}
.identity-preview .ip-story {padding:0 0 22px 22px;position:relative}
.identity-preview .ip-story-photo {width:100%;height:390px;object-fit:cover;display:block;border-radius:150px 150px 8px 8px}
.identity-preview .ip-story-card {position:relative;background:whitesmoke;border-top:5px solid #179B9B;padding:27px 30px;margin:-38px 25px 0 -22px;box-shadow:0 10px 25px #40404014}
.identity-preview .ip-story-card h2 {font-family:parisienneregular;font-size:35px;border:0;color:#404040;padding:0;margin:0 0 12px}
.identity-preview .ip-story-card p {margin-bottom:12px}
.identity-preview .ip-story-sign {font-style:italic;color:#137676}
.identity-preview .ip-benefits {background:#f3f3f3;border-block:1px solid #e5e5e5}
.identity-preview .ip-benefits .ip-wrap {display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:21px;color:#137676}
.identity-preview .ip-section {padding-block:75px}
.identity-preview .ip-section-head {display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:25px}
.identity-preview .ip-section-head>p {font-style:italic;color:#626262}
.identity-preview .ip-occasions {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.identity-preview .ip-occasion {color:#404040;background:whitesmoke;border-bottom:3px solid #EEA2A4;display:flex;flex-direction:column;transition:transform .2s}
.identity-preview .ip-occasion:hover {transform:translateY(-4px);text-decoration:none}
.identity-preview .ip-occasion img {width:100%;height:215px;object-fit:cover}
.identity-preview .ip-occasion>div {padding:24px;display:flex;flex-direction:column;flex:1}
.identity-preview .ip-occasion p {font-size:17px}
.identity-preview .ip-card-link {margin-top:auto;color:#137676;padding-top:8px}
.identity-preview .ip-freedom {background:whitesmoke;padding-block:65px}
.identity-preview .ip-two-columns {display:grid;grid-template-columns:1fr 1.15fr;gap:90px;align-items:center}
.identity-preview .ip-features>div {display:flex;gap:23px;padding:18px 0;border-bottom:1px solid #ddd}
.identity-preview .ip-features>div>span {color:#137676;padding-top:10px;font-size:20px}
.identity-preview .ip-features h3 {margin-top:5px}
.identity-preview .ip-features p {margin-bottom:8px}
.identity-preview .ip-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;margin-top:20px}
.identity-preview .ip-steps span {display:inline-flex;align-items:center;justify-content:center;border:1px solid #179B9B;border-radius:50%;width:43px;height:43px;color:#137676}
.identity-preview .ip-site {background:#56686f;color:white;padding:42px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.identity-preview .ip-site .ip-kicker {color:#fff}
.identity-preview .ip-site h2 {color:#EEA2A4;margin-bottom:0}
.identity-preview .ip-site a {color:white;border-color:#EEA2A4}
.identity-preview .ip-faq {display:grid;grid-template-columns:1fr 1.5fr;gap:65px}
.identity-preview details {padding:19px 0;border-bottom:1px solid #ddd}
.identity-preview summary {cursor:pointer;font-size:20px}
.identity-preview details p {margin:15px 0 0}
.identity-preview .ip-closing {background:#179B9B;color:#fff;text-align:center;padding:55px 20px}
.identity-preview .ip-closing .ip-kicker {color:#fff}
.identity-preview .ip-closing h2 {display:block;border:0;color:#fff;font-family:parisienneregular;font-size:45px;margin:0 0 25px}
.identity-preview .ip-closing p:last-child {margin-top:20px;margin-bottom:0}
.identity-preview .ip-footer {display:flex;justify-content:space-between;gap:30px;padding-block:40px;font-size:15px}
.identity-preview .ip-footer a {color:#137676}
.identity-preview .ip-footer [role=navigation] {display:flex;flex-direction:column;gap:8px}
.identity-preview .ip-skip {position:absolute;left:-9999px}
.identity-preview .ip-skip:focus {left:10px;top:10px;background:#fff;padding:12px;z-index:10}
@media(max-width:900px){.identity-preview .ip-header-inner{flex-wrap:wrap;gap:15px;padding-block:15px}.identity-preview .ip-nav{order:3;width:100%;justify-content:space-between;margin:0;gap:12px}.identity-preview .ip-login{margin-left:auto}.identity-preview .ip-hero{gap:30px}.identity-preview .ip-story-photo{height:330px}.identity-preview .ip-two-columns{gap:40px}.identity-preview .ip-section-head{display:block}}
@media(max-width:620px){.identity-preview .ip-wrap{width:calc(100% - 36px)}.identity-preview .ip-hero,.identity-preview .ip-occasions,.identity-preview .ip-two-columns,.identity-preview .ip-steps,.identity-preview .ip-site,.identity-preview .ip-faq{grid-template-columns:1fr}.identity-preview .ip-hero{padding-block:30px;gap:30px}.identity-preview .ip-logo{width:85px;height:85px}.identity-preview .ip-nav{font-size:14px;flex-wrap:wrap}.identity-preview .ip-login{font-size:15px;padding-left:12px}.identity-preview .ip-story{padding-left:15px}.identity-preview .ip-story-photo{height:300px}.identity-preview .ip-benefits .ip-wrap{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:14px}.identity-preview .ip-section{padding-block:45px}.identity-preview .ip-section h2{font-size:28px}.identity-preview .ip-site{padding:26px;gap:20px}.identity-preview .ip-faq{gap:5px}.identity-preview .ip-footer{flex-wrap:wrap}.identity-preview .ip-note a{display:block;margin:0}.identity-preview .ip-steps{gap:24px}}
@media(prefers-reduced-motion:reduce){.identity-preview .ip-occasion{transition:none}}

/* Nouvelle composition, dans la palette et les typographies historiques. */
.identity-preview .ip-header-inner{min-height:88px}
.identity-preview .ip-hero{padding-block:72px 82px;gap:64px}
.identity-preview .ip-logo{width:78px;height:78px;margin-bottom:26px}
.identity-preview h1{font-size:clamp(42px,4.7vw,65px);line-height:1.17}
.identity-preview h1 span{color:#a25360}
.identity-preview .ip-lead{font-size:19px;line-height:1.75}
.identity-preview .ip-button{display:inline-block;background:#EEA2A4;border:1px solid #EEA2A4;border-radius:6px;box-shadow:none;line-height:1.5;font-family:inherit}
.identity-preview .ip-button:hover{background:#e59598;color:#40282e;text-decoration:none}
.identity-preview .ip-story{padding:18px 0 0;min-width:0}
.identity-preview .ip-photo-pair{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;align-items:end}
.identity-preview .ip-story-photo{height:350px;border-radius:130px 130px 8px 8px;object-position:center}
.identity-preview .ip-wedding-photo{width:100%;height:270px;object-fit:cover;border-radius:90px 90px 8px 8px;margin-bottom:28px}
.identity-preview .ip-story-card{margin:-36px 20px 0;padding:25px 28px;background:#fff;box-shadow:0 12px 40px #40404013;border-top:3px solid #EEA2A4;border-radius:5px;text-align:center}
.identity-preview .ip-story-card h2{font-size:38px;line-height:1.2;color:#137676}
.identity-preview .ip-story-card .ip-kicker{font-size:11px}
.identity-preview .ip-wishes{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 15px;font-size:13px;color:#626262;margin-top:18px}
.identity-preview .ip-occasion{border-radius:10px;overflow:hidden;background:#fafafa}
.identity-preview .ip-occasion img{height:230px}
.identity-preview .ip-occasion h3{font-family:Cambria,Georgia,serif;font-size:24px}
.identity-preview .ip-steps{gap:32px}
.identity-preview .ip-steps>div{border-top:2px dotted #EEA2A4;padding-top:25px}
.identity-preview .ip-site{background:#f3f3f3;color:#404040;border-radius:10px;border-left:5px solid #179B9B}
.identity-preview .ip-site .ip-kicker{color:#137676}
.identity-preview .ip-site h2{color:#9e505e}
.identity-preview .ip-site a{color:#137676;border-color:#179B9B}
.identity-preview .ip-closing{padding-block:65px}
@media(max-width:900px){.identity-preview .ip-hero{gap:28px}.identity-preview .ip-story-photo{height:300px}.identity-preview .ip-wedding-photo{height:225px}.identity-preview .ip-story-card{margin-inline:8px;padding-inline:15px}}
@media(max-width:620px){.identity-preview .ip-hero{padding-block:35px 45px;gap:30px}.identity-preview .ip-hero-copy{text-align:center}.identity-preview h1{text-align:center;font-size:43px}.identity-preview .ip-logo{margin-inline:auto}.identity-preview .ip-actions{justify-content:center;gap:18px}.identity-preview .ip-kicker{font-size:12px}.identity-preview .ip-story{max-width:440px;margin-inline:auto;width:100%}.identity-preview .ip-story-photo{height:265px}.identity-preview .ip-wedding-photo{height:210px}.identity-preview .ip-story-card h2{font-size:34px}.identity-preview .ip-note{font-size:12px}.identity-preview .ip-closing h2{font-size:37px}}

/* Conserver les dimensions historiques du pied de page malgré le reset de l’aperçu. */
.identity-preview footer, .identity-preview footer * {box-sizing:content-box}
/* Navigation commune aux six aperçus. */
.identity-preview .ip-header-inner{gap:24px;flex-wrap:wrap;padding-block:18px}
.identity-preview .ip-nav{gap:18px;flex-wrap:wrap}
.identity-preview .ip-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
@media(min-width:901px) and (max-width:1150px){.identity-preview .ip-nav{order:3;width:100%;justify-content:center}.identity-preview .ip-login{margin-left:auto}}

/* Logo de navigation, distinct de l’illustration du bloc d’accueil. */
.identity-preview .ip-brand{display:inline-flex;align-items:center;flex:0 0 auto;line-height:1;border-radius:50%}
.identity-preview .ip-brand-logo{display:block;width:68px;height:68px;max-width:none;margin:0;background:#fff;border:2px solid #fff;border-radius:50%;box-sizing:border-box}
.identity-preview .ip-header-inner{padding-block:10px}
@media(max-width:900px){.identity-preview .ip-brand-logo{width:60px;height:60px}}
@media(max-width:620px){.identity-preview .ip-brand-logo{width:52px;height:52px}}

/* Connexion rapide commune aux pages publiques et aux aperçus. */
.identity-preview .ip-quick-login{position:relative;flex:0 0 auto;color:white}
.identity-preview .ip-quick-login>summary{cursor:pointer;list-style:none;color:white}
.identity-preview .ip-quick-login>summary::-webkit-details-marker{display:none}
.identity-preview .ip-login-panel{position:absolute;z-index:1000;right:0;top:calc(100% + 16px);box-sizing:border-box;width:min(340px,calc(100vw - 36px));max-height:calc(100dvh - 130px);overflow-y:auto;padding:22px;background:#fff;color:#404040;border:1px solid #d4e2e2;border-top:4px solid #137676;border-radius:9px;box-shadow:0 12px 35px #203e3e26;text-align:left;line-height:1.5}
.identity-preview .ip-login-panel label{display:block;font-size:16px;margin-bottom:6px}
.identity-preview .ip-login-panel input:not([type=checkbox]){box-sizing:border-box;display:block;width:100%;min-width:0;margin:0 0 16px;padding:10px;border:1px solid #b9ced1;border-radius:5px;font:inherit}
.identity-preview .ip-login-panel .ip-login-remember{display:flex;align-items:center;gap:8px;font-size:15px}
.identity-preview .ip-login-panel input[type=checkbox]{width:auto;min-width:0;margin:0;accent-color:#137676}
.identity-preview .ip-login-panel button{display:block;width:100%;margin:14px 0;padding:11px;border:0;border-radius:5px;background:#137676;color:white;font:inherit;cursor:pointer}
.identity-preview .ip-header .ip-login-panel a{display:block;color:#137676!important;font-size:15px;margin-top:10px}
.identity-preview .ip-login-panel :focus-visible{outline:2px solid #137676;outline-offset:3px}
@media(max-width:1150px){.identity-preview .ip-quick-login{margin-left:auto}}

/* Keep the signed-in profile photograph visible in the shared navigation. */
.identity-preview .ip-user-menu{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}
.identity-preview .ip-profile{display:flex;flex-shrink:0;border-radius:50%;padding:3px;border:1px solid #ffffff90}
.identity-preview .ip-profile img{display:block;width:44px;height:44px;object-fit:cover;border-radius:50%;background:white}
.identity-preview .ip-user-menu .ip-login{border-left:0;padding-left:0;margin:0}
.identity-preview .ip-profile:focus-visible{outline:2px solid white;outline-offset:4px}
@media(max-width:620px){.identity-preview .ip-user-menu{gap:8px}.identity-preview .ip-profile img{width:36px;height:36px}}

/* Homepage steps: let the numbered circles introduce each step. */
.identity-preview #comment .ip-steps>div{border-top:0;padding-top:0}

@media(max-width:800px){.identity-preview .ip-header .ip-nav .ip-home-link{display:none}}

/* Shared back-to-top control on modern pages; visibility is managed by the existing scroll handler. */
body .scrollToTop.ol-back-to-top{box-sizing:border-box;width:44px;height:44px;right:18px;bottom:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));margin:0;padding:10px;border:1px solid #bdd1d2;border-radius:12px;background:#fff;color:#137676;opacity:1;transform:none;line-height:22px;font-size:0;box-shadow:0 3px 12px #30484b18;text-decoration:none}
body .scrollToTop.ol-back-to-top svg{display:block;width:22px;height:22px}
body .scrollToTop.ol-back-to-top:hover{background:#137676;border-color:#137676;color:#fff;opacity:1;text-decoration:none}
body .scrollToTop.ol-back-to-top:focus-visible{outline:3px solid #137676;outline-offset:3px}
@media(max-width:620px){body .scrollToTop.ol-back-to-top{right:12px;bottom:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}}
