/* Site-wide design, based on the assurance obsèques page. */
body.apr-theme {
    --apr-ink:#283b45; --apr-heading:#214c5b; --apr-teal:#126b7e;
    --apr-accent:#1595aa; --apr-panel:#f3f8fa; --apr-border:#cfdee4;
    --apr-muted:#52646e; --apr-orange:#b95313;
    margin:0!important; background:#fff; color:var(--apr-ink);
    font-family:'Source Sans Pro',Arial,sans-serif!important; font-size:17px; line-height:1.55;
}
.apr-theme *, .apr-theme *::before, .apr-theme *::after { box-sizing:border-box; }
.apr-theme img { max-width:100%; }
.apr-theme h1, .apr-theme h2, .apr-theme h3, .apr-theme h4,
.apr-theme .block-title { font-family:'Source Sans Pro',Arial,sans-serif!important; color:var(--apr-heading); }
.apr-theme h1 { font-size:44px; line-height:1.12; font-weight:700; }
.apr-theme h2 { font-size:28px; line-height:1.25; font-weight:700; }
.apr-theme h3 { font-size:21px; line-height:1.3; font-weight:700; }
.apr-theme p { line-height:1.55; }
.apr-theme a { color:var(--apr-teal); }
.apr-theme a:focus-visible, .apr-theme button:focus-visible,
.apr-theme input:focus-visible, .apr-theme select:focus-visible, .apr-theme textarea:focus-visible { outline:3px solid #167f95; outline-offset:3px; }
/* Shared branding, including legacy pages with nested sticky wrappers. */
.apr-theme #section-header { width:100%; background:#fff; }
.apr-theme #section-header .sticky-wrapper { height:auto!important; min-height:0; }
.apr-theme #zone-branding-wrapper { position:relative!important; top:auto!important; width:100%!important; background:#fff; }
.apr-theme #zone-branding { display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; max-width:1160px; height:auto!important; min-height:122px; padding:20px 24px; margin:0 auto; }
.apr-theme #zone-branding>.region { width:auto; float:none; margin:0; padding:0; }
.apr-theme #zone-branding>.region-branding-second { text-align:right; }
.apr-theme #zone-branding .logo-img { margin:0; }
.apr-theme #zone-branding #logo { display:block; width:190px; height:auto; }
.apr-theme #zone-branding .baseline-block p { font-size:20px; line-height:1.25; margin:0 0 8px; }
.apr-theme #zone-branding .tel-wrapper { margin:0; max-width:100%; }
.apr-theme #zone-branding .tel { width:auto; font-size:26px; line-height:1.2; margin:0; padding:4px 10px; border-radius:5px; }
.apr-theme #zone-branding .tel-mention { font-size:12px; margin:3px 0 0; line-height:1.3; }
.apr-theme #zone-menu-wrapper { position:relative; z-index:20; border-top:1px solid #e5edf0; border-bottom:1px solid #dce6eb; background:#fff; }
.apr-theme #zone-menu { width:100%; max-width:1160px; margin:0 auto; padding:0 24px; }
.apr-theme #region-menu { width:100%; margin:0; }
.apr-theme .sm-gl { background:transparent; box-shadow:none; }
.apr-theme .sm-gl a { font-family:inherit; font-size:15px; color:var(--apr-heading); }
.apr-theme .sm-gl ul { border-color:var(--apr-border); border-radius:5px; background:#fff; box-shadow:0 10px 25px #214c5b14; }
.apr-theme .sm-gl a:hover, .apr-theme .sm-gl a:focus { background:var(--apr-panel); color:var(--apr-teal); }
/* Matching introduction and quote panel, without replacing product forms. */
.apr-theme .apr-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; max-width:1160px; padding:36px 24px 48px; margin:0 auto; }
.apr-theme .apr-intro { min-width:0; }
.apr-theme .apr-eyebrow { color:#12798d; font-size:15px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin:8px 0 16px; }
.apr-theme .apr-intro h1 { margin:0 0 22px!important; padding:0!important; background:none!important; border:0!important; text-align:left!important; color:var(--apr-heading)!important; font-size:44px!important; line-height:1.12!important; }
.apr-theme .apr-lead { margin:0 0 24px; color:var(--apr-ink); font-size:21px; line-height:1.5; text-align:left!important; }
.apr-theme .apr-hero-photo { display:block; position:static!important; width:100%!important; height:230px!important; object-fit:cover; border-radius:10px; margin:24px 0 0; }
.apr-theme .apr-quote { width:100%!important; min-width:0; float:none!important; margin:0!important; padding:26px!important; border:1px solid var(--apr-border); border-top:5px solid var(--apr-accent); border-radius:10px; background:var(--apr-panel)!important; box-shadow:none!important; }
.apr-theme .apr-quote>.form { padding:0!important; margin:0!important; width:100%!important; background:transparent!important; border:0!important; box-shadow:none!important; }
.apr-theme .apr-quote .form>.text-center { color:var(--apr-heading)!important; font-family:inherit; font-size:23px!important; font-weight:700; line-height:1.3!important; margin:0 0 20px; text-align:left!important; }
.apr-theme .apr-quote .row-fluid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; width:100%; margin:0 0 14px; }
.apr-theme .apr-quote .row-fluid::before, .apr-theme .apr-quote .row-fluid::after { display:none; }
.apr-theme .apr-quote .row-fluid>[class*=span] { float:none; min-width:0; width:auto!important; margin:0!important; padding:0; }
.apr-theme .apr-quote .row-fluid>.span12 { grid-column:1/-1; }
.apr-theme .apr-quote .row-fluid>.span6:only-child { grid-column:1/-1; }
.apr-theme .apr-quote .row-fluid p { color:var(--apr-ink); font-size:15px; margin:0 0 5px; }
.apr-theme .apr-quote form { margin:0; padding:0; width:100%; }
.apr-theme form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=image]):not([type=button]),
.apr-theme form select, .apr-theme form textarea { width:100%!important; min-width:0; max-width:100%; min-height:44px; height:auto; padding:9px 10px; margin-bottom:8px; border:1px solid #809aa7!important; border-radius:4px!important; background:#fff; color:#253b46; font:400 16px/1.3 'Source Sans Pro',Arial,sans-serif!important; box-shadow:none; }
.apr-theme form textarea { min-height:110px; resize:vertical; }
.apr-theme form label { font-family:inherit; font-size:15px; line-height:1.35; color:var(--apr-ink); }
.apr-theme form input[type=checkbox], .apr-theme form input[type=radio] { accent-color:var(--apr-teal); }
.apr-theme form input[type=submit], .apr-theme form button[type=submit], .apr-theme form .nextBtn,
.apr-theme .guide-cta, .apr-theme form .btn-success, .apr-theme form .btn-primary { min-height:46px; height:auto; padding:12px 18px; border:1px solid var(--apr-orange)!important; border-radius:5px!important; background:var(--apr-orange)!important; color:white!important; font:700 17px/1.3 'Source Sans Pro',Arial,sans-serif!important; white-space:normal; box-shadow:none!important; cursor:pointer; }
.apr-theme form input[type=submit]:hover, .apr-theme form button[type=submit]:hover { background:#97410b!important; }
.apr-theme form input:disabled, .apr-theme form button:disabled { cursor:wait; opacity:.65; }
.apr-theme .rgpd-information, .apr-theme .rgpd-consent { color:var(--apr-muted); font-size:13px; line-height:1.5; }
.apr-theme .form-error, .apr-theme .has-error { color:#a62620; }
.apr-theme .apr-contact-form { background:var(--apr-panel); border:1px solid var(--apr-border); border-top:5px solid var(--apr-accent); border-radius:10px; padding:26px; }
/* Article pages use the same readable measure and rhythm as obsèques. */
.apr-theme #zone-content, .apr-theme #zone-preface, .apr-theme #zone-postscript { width:100%!important; max-width:1160px; margin:0 auto!important; padding:24px; }
.apr-theme #region-content { width:100%; margin:0; }
.apr-theme #zone-content>.grid-24 { float:none; width:100%; margin:0; }
.apr-theme #zone-content #breadcrumb { width:100%; margin:0 0 24px; padding:0; font-size:14px; }
.apr-theme .breadcrumb { background:transparent; margin:0; padding:0; color:var(--apr-muted); }
.apr-theme .taxonomy-term-description, .apr-theme .field-name-body { max-width:900px; margin:0 auto 36px; font-size:17px; line-height:1.6; }
.apr-theme .taxonomy-term-description h2, .apr-theme .field-name-body h2 { padding:28px 0 0; margin:30px 0 16px; border-top:1px solid #dce6eb; text-align:left!important; }
.apr-theme .taxonomy-term-description p, .apr-theme .field-name-body p { margin:0 0 18px; text-align:left!important; }
.apr-theme .taxonomy-term-description ul, .apr-theme .field-name-body ul,
.apr-theme .taxonomy-term-description ol, .apr-theme .field-name-body ol { padding-left:24px; margin:0 0 20px; }
.apr-theme .taxonomy-term-description li, .apr-theme .field-name-body li { display:list-item; list-style:disc outside; margin:0 0 10px; }
.apr-theme .taxonomy-term-description ol>li, .apr-theme .field-name-body ol>li { list-style-type:decimal; }
.apr-theme .taxonomy-term-description table, .apr-theme .field-name-body table { display:block; max-width:100%; overflow:auto; }
.apr-theme .field-name-field-images { max-width:900px; margin:0 auto 24px; }
.apr-theme .field-name-field-images img { border-radius:10px; height:auto; }
.apr-theme .social-sharing { max-width:900px; margin:20px auto; }
.apr-theme #zone-preface { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.apr-theme #zone-preface>.region { float:none; width:auto; margin:0; padding:22px; border:1px solid var(--apr-border); border-radius:10px; background:var(--apr-panel); }
.apr-theme #zone-preface .block-title { font-size:23px; line-height:1.25; margin-bottom:14px; }
.apr-theme #zone-preface .more-link a { color:var(--apr-teal); }
/* Footer panels and independent campaign pages share the same palette. */
.apr-theme #section-footer, .apr-theme #zone-footer-wrapper { background:var(--apr-panel)!important; color:var(--apr-ink)!important; border-color:var(--apr-border); }
.apr-theme #zone-footer { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; width:100%; max-width:1160px; margin:0 auto; padding:36px 24px; }
.apr-theme #zone-footer>.region { float:none; width:auto; margin:0; }
.apr-theme #zone-footer .block-title { font-size:23px; margin-bottom:16px; color:var(--apr-heading)!important; }
.apr-theme #zone-footer a, .apr-theme #zone-bottom a { color:var(--apr-teal)!important; font-size:15px; }
.apr-theme #zone-bottom { width:100%; max-width:1160px; margin:0 auto; padding:20px 24px; border-top:1px solid var(--apr-border); }
.apr-theme #zone-bottom .region { width:100%; margin:0; }
.apr-theme #zone-bottom ul { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 24px; }
.apr-theme #zone-bottom ul li { margin:0; padding:0; }
.apr-theme .apr-landing-header { max-width:1160px; min-height:110px; margin:0 auto; padding:20px 24px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.apr-theme .apr-landing-header img { width:190px; height:auto; }
.apr-theme .apr-phone { color:var(--apr-teal); font-size:26px; font-weight:700; text-align:right; }
.apr-theme .apr-phone span { display:block; font-size:12px; font-weight:400; color:var(--apr-muted); }
.apr-theme .ksc_lpmaker, .apr-theme .form-section { background:var(--apr-panel)!important; border:1px solid var(--apr-border)!important; border-top:5px solid var(--apr-accent)!important; border-radius:10px!important; box-shadow:none!important; }
.apr-theme .ksc_lpmaker>header { padding:22px; font:700 27px/1.25 'Source Sans Pro',Arial,sans-serif!important; color:var(--apr-heading)!important; background:transparent!important; border:0!important; }
.apr-theme .ksc_lpmaker form { padding:0 24px 24px; }
.apr-theme .site-content.LP { background:white; }
.apr-theme .site-content.LP .wrap-resp-1000 { max-width:1160px; }
.apr-theme .site-content.LP [style*="color: #4c19a1"], .apr-theme .site-content.LP .texte-light { color:var(--apr-heading)!important; }
.apr-theme .site-content.LP .vc_custom_1490963268082 { background:var(--apr-teal)!important; border-radius:10px; }
.apr-theme .site-content.LP .texte-blanc h3, .apr-theme .site-content.LP .texte-blanc h6,
.apr-theme .site-content.LP .texte-blanc a { color:white!important; }
.apr-theme .fixed-button-bar { background:var(--apr-teal)!important; }
.apr-theme .fixed-button-bar .call-button { background:var(--apr-orange)!important; color:white!important; border-radius:5px; }
.apr-theme.landing-LCA .blocFormulaire, .apr-theme.landing-LCA .blocForm { border-radius:10px; }
.apr-theme.landing-LCA .form-section { padding:24px; }
.apr-theme.landing-LCA .zoneButton input { background:var(--apr-orange)!important; border-radius:5px; }
@media(max-width:1000px) {
 .apr-theme .apr-hero { gap:28px; }
 .apr-theme .apr-intro h1 { font-size:36px!important; }
 .apr-theme #zone-preface { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 body.apr-theme { font-size:17px; }
 .apr-theme #zone-branding { padding:18px; gap:18px; flex-wrap:wrap; }
 .apr-theme #zone-branding #logo { width:170px; }
 .apr-theme #zone-branding>.region-branding-second { flex:1 1 180px; }
 .apr-theme #zone-branding .baseline-block p { font-size:17px; }
 .apr-theme #zone-branding .tel { font-size:23px; display:inline-block; }
 .apr-theme #zone-menu { padding:0 18px; }
 .apr-theme .rmm-toggled-controls { background:var(--apr-teal); color:white; border-radius:4px; }
 .apr-theme .apr-hero { grid-template-columns:1fr; gap:28px; padding:28px 18px; }
 .apr-theme .apr-intro h1, .apr-theme h1 { font-size:34px!important; }
 .apr-theme .apr-lead { font-size:19px; }
 .apr-theme .apr-hero-photo { height:190px!important; }
 .apr-theme .apr-quote { padding:20px!important; }
 .apr-theme h2 { font-size:25px; }
 .apr-theme #zone-content, .apr-theme #zone-preface, .apr-theme #zone-postscript { padding:20px 18px; }
 .apr-theme #zone-footer { grid-template-columns:1fr; gap:28px; padding:28px 18px; }
 .apr-theme .apr-landing-header { padding:18px; gap:18px; flex-wrap:wrap; }
 .apr-theme .apr-landing-header img { width:160px; }
 .apr-theme .apr-phone { font-size:22px; }
 .apr-theme .ksc_lpmaker form { padding:0 18px 18px; }
 .apr-theme .apr-contact-form { padding:18px; }
}
@media(max-width:380px) {
 .apr-theme .apr-intro h1, .apr-theme h1 { font-size:30px!important; }
 .apr-theme .apr-quote .row-fluid { grid-template-columns:1fr; }
 .apr-theme #zone-preface { grid-template-columns:1fr; }
 .apr-theme .apr-quote { padding:18px!important; }
}
/* Legacy clearfix pseudo-elements must not occupy cells in the new grids. */
.apr-theme #zone-preface::before, .apr-theme #zone-preface::after,
.apr-theme #zone-footer::before, .apr-theme #zone-footer::after { display:none; }
.apr-theme h1, .apr-theme h2, .apr-theme h3, .apr-theme .apr-intro h1 { text-transform:none!important; letter-spacing:normal; }
.apr-theme #zone-preface>.region { min-width:0; }
.apr-theme #zone-preface img { display:block; width:100%; height:150px; object-fit:cover; border-radius:6px; margin:12px 0; }
.apr-theme #zone-preface .more-link a { display:inline-block; padding:10px 16px; border-radius:5px; background:var(--apr-teal); color:white; }
.apr-theme .open-button { z-index:1000; bottom:calc(90px + env(safe-area-inset-bottom, 0px))!important; right:16px!important; border-radius:24px!important; padding:8px 14px!important; width:auto!important; min-height:44px; font-family:inherit; box-shadow:0 4px 18px #214c5b26; }
@media(max-width:700px) { .apr-theme #zone-preface { grid-template-columns:1fr; } .apr-theme #zone-preface img { height:170px; } }
.apr-theme .apr-message { max-width:800px; margin:64px auto; padding:32px; border:1px solid var(--apr-border); border-top:5px solid var(--apr-accent); border-radius:10px; background:var(--apr-panel); }
@media(max-width:700px) { .apr-theme .apr-message { margin:28px 18px; padding:22px; } }
/* Some old forms nest rows; nested rows and consent copy need the full measure. */
.apr-theme .apr-quote .row-fluid>div:not([class*=span]) { grid-column:1/-1; min-width:0; }
.apr-theme .apr-quote .row-fluid>.row-fluid { grid-column:1/-1; }
.apr-theme.landing-LCA .totalWrapper, .apr-theme.landing-LCA .mainWrapper,
.apr-theme.landing-LCA .corps { width:100%!important; max-width:none; background:#fff; }
.apr-theme.landing-LCA.apr-has-hero .container-bandeau-auto { display:none; }
.apr-theme.landing-LCA .blocContenu { float:none!important; width:100%!important; max-width:900px; margin:0 auto 48px!important; padding:24px; }
.apr-theme.landing-LCA .blocContenu .contenu { padding:0; background:white; }
.apr-theme.landing-LCA .blocContenu h2 { padding-top:28px; margin:30px 0 16px; border-top:1px solid #dce6eb; }
.apr-theme.landing-LCA .blocContenu p { font-size:17px; margin:0 0 18px; }
.apr-theme .apr-quote .formulaire, .apr-theme .apr-quote .page-wrapper { width:100%!important; float:none; margin:0!important; padding:0!important; }
.apr-theme .apr-quote .form-section { background:transparent!important; border:0!important; padding:0!important; }
.apr-theme .apr-quote .form-section .zoneTheme { border:0; background:transparent; padding:0; }
.apr-theme .apr-quote .form-section .zoneTitreTheme { border:0; background:transparent; margin-bottom:16px; }
.apr-theme .apr-quote .form-section .titreTheme { color:var(--apr-heading); font-size:23px; }
.apr-theme .apr-quote .form-section .form-group { margin:0 0 14px; }
.apr-theme .apr-quote .form-section .control-label,
.apr-theme .apr-quote .form-section .select { float:none; width:100%; padding:0; text-align:left; }
.apr-theme .apr-quote .form-section .control-label { display:block; margin-bottom:5px; }
.apr-theme .apr-quote .form-section .row { margin:0; }
.apr-theme .apr-quote .form-section .zoneBloc { padding:0; }
.apr-theme .apr-quote .form-section .zoneButton { width:100%; padding:0; margin:16px 0 0; }
/* Banner headings in the oldest landing pages were absolutely positioned. */
.apr-theme .apr-intro h1 { position:static!important; float:none!important; width:auto!important; max-width:100%; height:auto!important; transform:none!important; white-space:normal!important; }
.apr-theme .apr-intro h1 span { font-size:inherit!important; color:inherit!important; }
.apr-theme #zone-branding::before, .apr-theme #zone-branding::after { display:none; }
.apr-theme #zone-menu-wrapper { padding:0!important; }
@media(max-width:700px) {
 .apr-theme #zone-branding { gap:12px; }
 .apr-theme #zone-branding>.region-branding { flex:1 1 140px; }
 .apr-theme #zone-branding>.region-branding-second { flex:1 1 160px; }
 .apr-theme #zone-branding #logo { width:150px; }
 .apr-theme #zone-branding .baseline-block p { font-size:15px; }
 .apr-theme #zone-branding .tel { font-size:21px; }
 .apr-theme #zone-menu-wrapper { padding:8px 0!important; }
 .apr-theme .rmm-toggled-controls { min-height:44px; }
 .apr-theme .rmm-toggled-title { padding-top:10px; }
}
@media(max-width:380px) {
 .apr-theme #zone-branding { flex-direction:column; align-items:center; }
 .apr-theme #zone-branding>.region-branding, .apr-theme #zone-branding>.region-branding-second { flex:0 0 auto; text-align:center; }
}
.apr-theme #zone-preface .block .content { width:100%!important; max-width:100%; margin:0!important; padding:170px 0 0!important; background-size:100% 150px!important; background-position:top center!important; background-repeat:no-repeat; }
.apr-theme #zone-preface .block-title { min-height:56px; margin:0 0 16px; padding:0; color:var(--apr-heading)!important; font-size:21px; }
.apr-theme #zone-preface .more-link { width:100%; margin:18px 0 0!important; padding:0!important; text-align:left!important; }
.apr-theme #zone-preface .more-link a { position:static!important; float:none!important; max-width:100%; margin:0!important; }

/* Keep legacy editorial sections and breadcrumbs within their readable column. */
.apr-theme #zone-content .region-content-inner,
.apr-theme #zone-content .taxonomy-term,
.apr-theme #zone-content .term-listing-heading { min-width:0; max-width:100%; }
.apr-theme #zone-content .taxonomy-term-description,
.apr-theme #zone-content .field-name-body { width:100%; max-width:900px; min-width:0; }
.apr-theme #zone-content .taxonomy-term-description :is(h2,h3,p,a),
.apr-theme #zone-content .field-name-body :is(h2,h3,p,a) { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.apr-theme #zone-content #breadcrumb { float:none; width:100%; max-width:900px; margin:0 auto 28px; padding:0; text-transform:none; }
.apr-theme #zone-content #breadcrumb .breadcrumb { font:400 14px/1.6 'Source Sans Pro',Arial,sans-serif; color:var(--apr-muted); white-space:normal; overflow-wrap:anywhere; }
.apr-theme #zone-content #breadcrumb a { color:var(--apr-teal); }
.apr-theme #zone-content>br { display:none; }
.apr-theme .taxonomy-term-description>h2:first-child,
.apr-theme .field-name-body .field-item>h2:first-child { margin-top:0; padding-top:0; border-top:0; }

/* The old desktop wrapper must shrink when text or the page is magnified. */
.apr-theme #page { width:100%!important; max-width:100%; min-width:0; margin-left:auto; margin-right:auto; }
.apr-theme .container, .apr-theme .container-24 { max-width:100%; }

/* Override the old desktop body minimum, including magnified layouts. */
body.apr-theme { min-width:0!important; width:auto!important; max-width:100%; }

/* Keep the callback controls above the visible reCAPTCHA badge. */
.apr-theme .form-popup {
 z-index:1001;
 bottom:calc(90px + env(safe-area-inset-bottom, 0px))!important;
 right:16px!important;
 max-width:calc(100% - 32px);
 max-height:calc(100% - 114px - env(safe-area-inset-bottom, 0px));
 overflow-y:auto;
 overscroll-behavior:contain;
}
