/* Approved city carnet; native local photos and independent illustrated accents. */
.v-city-carnet { background:#fffaf1; }
.v-city-carnet #contenu { background:#fffaf1 url('../arc-en-ciel/images/grain-papier.png') repeat; color:#113d37; }
.v-city-carnet .v-carnet { max-width:none; overflow:hidden; font-family:'LFC Inter',sans-serif; }
.v-city-carnet .v-carnet h1,.v-city-carnet .v-carnet h2,.v-city-carnet .v-carnet h3 { font-family:'LFC Baloo',sans-serif; color:#113d37; }
.v-city-carnet .v-hero { position:relative; max-width:1440px; height:700px; padding:38px 26px 0; margin:auto; }
.v-city-carnet .v-triptych { display:flex; height:530px; overflow:hidden; border-radius:24px; }
.v-city-carnet .v-triptych figure { margin:0; flex:1; min-width:0; overflow:hidden; }
.v-city-carnet .v-triptych figure:nth-child(2) { margin-left:-30px; flex:1.06; clip-path:polygon(8% 0,100% 0,92% 100%,0 100%); }
.v-city-carnet .v-triptych figure:nth-child(3) { margin-left:-35px; }
.v-city-carnet .v-triptych img,.v-city-carnet .v-card-photo img { display:block; width:100%; height:100%; object-fit:cover!important; }
.v-city-carnet .v-hero-copy { position:absolute; left:26px; top:165px; padding:26px 38px 28px; width:530px; background:#fffdf7f7; border-radius:34px; box-shadow:0 5px 14px #58432715; z-index:2; }
.v-city-carnet .v-hero h1 { font-size:65px; line-height:.99; letter-spacing:-.045em; margin:0 0 20px; font-weight:600; }
.v-city-carnet .v-hero-copy>p { font-size:30px; line-height:1.2; color:#153d50; margin:0 0 25px; }
.v-city-carnet .v-actions { display:grid; gap:13px; width:380px; max-width:100%; }
.v-city-carnet .v-carnet .m-button { min-height:60px; font-size:23px; padding:10px 20px; color:#102f24!important; }
.v-city-carnet .v-secondary { display:flex; justify-content:center; align-items:center; min-height:60px; border:2px solid #184b49; border-radius:99px; color:#163b4e; text-decoration:none; font-size:23px; font-weight:600; }
.v-city-carnet .v-mascots { position:absolute; display:flex; align-items:flex-end; justify-content:center; gap:16px; width:570px; height:230px; left:38%; top:440px; z-index:3; pointer-events:none; }
.v-city-carnet .v-mascots img { width:31%; height:230px; object-fit:contain!important; object-position:center bottom; }
.v-city-carnet .v-rainbow { position:absolute; right:6%; bottom:0; width:210px; height:auto; object-fit:contain!important; }
.v-city-carnet .v-heart { position:absolute; left:32%; bottom:130px; color:#eea0aa; font-size:57px; transform:rotate(-12deg); z-index:4; }
.v-city-carnet .v-star { position:absolute; left:4%; bottom:18px; color:#f6ce68; font-size:40px; transform:rotate(-10deg); }
.v-city-carnet .v-places,.v-city-carnet .v-practical { max-width:1440px; margin:auto; padding:34px 40px 28px; }
.v-city-carnet .v-carnet .v-places h2,.v-city-carnet .v-carnet .v-practical h2 { position:relative; margin:0 0 57px; font-size:58px; line-height:1.08; letter-spacing:-.035em; font-weight:600; padding-left:44px; }
.v-city-carnet .v-places h2::before,.v-city-carnet .v-practical h2::before { content:'♡'; position:absolute; left:0; top:0; color:#95b974; font-family:'LFC Inter',sans-serif; font-weight:400; font-size:55px; transform:rotate(-15deg); }
.v-city-carnet .v-practical h2::before { content:'★'; color:#f6ce68; font-size:40px; }
.v-city-carnet .v-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.v-city-carnet .v-card-grid[data-count='2'] { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1050px; margin:auto; }
.v-city-carnet .v-nursery-card { position:relative; min-width:0; padding:16px 14px 22px; border-radius:32px; background:#fffdf8; box-shadow:0 5px 20px #644c2310; text-align:center; }
.v-city-carnet .v-nursery-card::before { content:''; position:absolute; top:-48px; left:4%; right:4%; height:130px; border-radius:50% 50% 0 0; background:var(--m-paper); z-index:0; }
.v-city-carnet .v-card-photo { position:relative; height:270px; border-radius:19px; overflow:hidden; }
.v-city-carnet .v-card-copy { position:relative; }
.v-city-carnet .v-carnet .v-card-copy h3 { font-weight:600; font-size:36px; line-height:1.1; margin:18px 0 4px; letter-spacing:-.025em; }
.v-city-carnet .v-card-copy p { font-size:25px; line-height:1.35; margin:0 0 10px; color:#153d50; }
.v-city-carnet .v-card-copy .m-button { width:76%; margin:18px auto 0; }
.v-city-carnet .v-practical { padding-top:58px; padding-bottom:75px; }
.v-city-carnet .v-carnet .v-practical h2 { margin-bottom:25px; }
.v-city-carnet .v-practical-grid { display:grid; grid-template-columns:52% 1fr; gap:22px; }
.v-city-carnet .v-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.v-city-carnet .v-fact { display:flex; align-items:center; min-width:0; height:210px; padding:12px 8px; border-radius:26px; box-shadow:0 5px 12px #5843270a; background:#def3fa; }
.v-city-carnet .v-fact-teddy { background:#fff3d9; }
.v-city-carnet .v-fact-calendar { background:#eaf3df; }
.v-city-carnet .v-fact-meal { background:#fce6e8; }
.v-city-carnet .v-fact img { width:48%; height:175px; object-fit:contain!important; flex:none; }
.v-city-carnet .v-fact-clock img,.v-city-carnet .v-fact-teddy img,.v-city-carnet .v-fact-calendar img { transform:scale(1.3); }
.v-city-carnet .v-fact div { position:relative; flex:1; min-width:0; }
.v-city-carnet .v-carnet .v-fact h3 { font:400 22px/1.25 'LFC Inter',sans-serif; margin:0 0 4px; color:#163c4b; }
.v-city-carnet .v-fact p { font-size:27px; font-weight:650; line-height:1.1; margin:0; color:#172623; }
.v-city-carnet .v-location { min-width:0; border:5px solid #fffdf7; border-radius:28px; overflow:hidden; display:flex; flex-direction:column; background:#fffdf7; box-shadow:0 5px 15px #58432713; }
.v-city-carnet .v-map { flex:1; min-height:340px; }
.v-city-carnet .v-map iframe { display:block; width:100%; height:100%; min-height:340px; border:0; }
.v-city-carnet .v-map-footer { display:flex; flex-wrap:wrap; gap:8px 16px; justify-content:space-between; align-items:center; padding:8px 12px; font-size:14px; }
.v-city-carnet .v-map-footer a { min-height:44px; display:inline-flex; align-items:center; gap:12px; text-decoration:none; color:#153d50; }
.v-city-carnet .v-intro { max-width:1280px; margin:0 auto; padding:60px 40px; display:grid; grid-template-columns:42% 1fr; gap:60px; align-items:center; }
.v-city-carnet .v-intro figure { margin:0; padding:12px; background:#fffdf7; border-radius:28px; transform:rotate(-2deg); }
.v-city-carnet .v-intro img { width:100%; height:390px; object-fit:cover!important; border-radius:22px; }
.v-city-carnet .v-intro h2 { font-size:43px; line-height:1.1; margin:10px 0 20px; }
.v-city-carnet .v-intro p { font-size:18px; line-height:1.7; margin:0 0 18px; }
.v-city-carnet .v-eyebrow { font-size:12px!important; color:#507442; text-transform:uppercase; letter-spacing:.14em; }
.v-city-carnet .v-carnet .lfc-home-page,.v-city-carnet .v-carnet .mock-flow { display:block!important; width:100%!important; min-height:0!important; overflow:visible!important; margin:0!important; background:#fffaf1!important; }
.v-city-carnet .mock-flow>.lfc-values { background:#fffaf1!important; }
.v-city-carnet .mock-flow>.lfc-rituals { width:100%!important; margin:0!important; background:#fbf8f2!important; }
.v-city-carnet .v-carnet .v-faq { display:block!important; max-width:1200px; margin:auto!important; padding:70px 40px!important; background:transparent!important; }
.v-city-carnet .v-faq h2 { font-size:46px; line-height:1.1; margin:0 0 35px; letter-spacing:-.03em; text-align:center; }
.v-city-carnet .v-faq .lfc-faq-more { display:flex; flex-direction:column; gap:22px; width:100%; max-width:1100px; margin:auto; }
.v-city-carnet .v-nearby { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:14px 28px; padding:25px 20px 60px; }
.v-city-carnet .v-nearby p { width:100%; text-align:center; margin:0; }
.v-city-carnet .v-nearby a { min-height:44px; display:inline-flex; align-items:center; color:#507442; }
@media(min-width:601px) and (max-width:1099px) {
 .v-city-carnet .v-hero { height:650px; }
 .v-city-carnet .v-triptych { height:460px; }
 .v-city-carnet .v-hero-copy { width:390px; top:110px; padding:25px; }
 .v-city-carnet .v-hero h1 { font-size:45px; }
 .v-city-carnet .v-hero-copy>p { font-size:22px; }
 .v-city-carnet .v-carnet .m-button,.v-city-carnet .v-secondary { font-size:18px; }
 .v-city-carnet .v-mascots { left:43%; width:53%; height:170px; top:435px; gap:8px; }
 .v-city-carnet .v-mascots img { height:170px; }
 .v-city-carnet .v-heart { display:none; }
 .v-city-carnet .v-carnet .v-places h2,.v-city-carnet .v-carnet .v-practical h2 { font-size:44px; }
 .v-city-carnet .v-places,.v-city-carnet .v-practical { padding-inline:25px; }
 .v-city-carnet .v-card-grid { gap:16px; }
 .v-city-carnet .v-card-photo { height:180px; }
 .v-city-carnet .v-carnet .v-card-copy h3 { font-size:26px; }
 .v-city-carnet .v-card-copy p { font-size:17px; }
 .v-city-carnet .v-card-copy .m-button { width:100%; }
 .v-city-carnet .v-practical-grid { grid-template-columns:1fr; }
 .v-city-carnet .v-fact { justify-content:center; }
 .v-city-carnet .v-fact img { width:35%; }
 .v-city-carnet .v-map { height:340px; flex:none; }
 .v-city-carnet .v-intro { gap:30px; padding-inline:25px; }
}
@media(max-width:600px) {
 .v-city-carnet .v-hero { height:auto; padding:20px 16px 49px; display:flex; flex-direction:column; }
 .v-city-carnet .v-hero-copy { position:relative; order:-1; top:auto; left:auto; width:100%; background:transparent; padding:0 10px; box-shadow:none; text-align:center; border-radius:0; }
 .v-city-carnet .v-hero h1 { font-size:clamp(22px,6.2vw,30px); line-height:1.02; letter-spacing:-.035em; margin:0 0 9px; }
 .v-city-carnet .v-hero-copy>p { font-size:14px; line-height:1.3; margin:0 auto 12px; max-width:290px; }
 .v-city-carnet .v-actions { width:100%; max-width:330px; margin:0 auto 10px; gap:8px; }
 .v-city-carnet .v-carnet .m-button,.v-city-carnet .v-secondary { min-height:40px; font-size:15px; padding:3px 10px; line-height:1.3; }
 .v-city-carnet .v-secondary { min-height:40px; border-width:1px; }
 .v-city-carnet .v-actions .m-button,.v-city-carnet .v-actions .v-secondary { min-height:40px; }
 .v-city-carnet .v-triptych { height:128px; width:100%; border-radius:12px; }
 .v-city-carnet .v-triptych figure:nth-child(2) { margin-left:-6px; }
 .v-city-carnet .v-triptych figure:nth-child(3) { margin-left:-8px; }
 .v-city-carnet .v-mascots { position:absolute; top:auto; bottom:30px; left:25%; width:50%; height:70px; gap:3px; }
 .v-city-carnet .v-mascots img { height:70px; width:32%; }
 .v-city-carnet .v-rainbow { width:80px; right:3%; top:38px; bottom:auto; opacity:.8; }
 .v-city-carnet .v-heart { font-size:34px; left:8%; top:65px; bottom:auto; }
 .v-city-carnet .v-star { font-size:25px; left:8%; top:15px; bottom:auto; }
 .v-city-carnet .v-places,.v-city-carnet .v-practical { padding:22px 16px 20px; }
 .v-city-carnet .v-carnet .v-places h2,.v-city-carnet .v-carnet .v-practical h2 { font-size:24px; line-height:1.03; margin:0 0 18px; padding:0 25px; letter-spacing:-.025em; }
 .v-city-carnet .v-places h2::before,.v-city-carnet .v-practical h2::before { content:'★'; font-size:24px; color:#f6ce68; left:0; top:0; }
 .v-city-carnet .v-card-grid,.v-city-carnet .v-card-grid[data-count='2'] { display:grid; grid-template-columns:1fr; gap:17px; }
 .v-city-carnet .v-nursery-card { display:grid; grid-template-columns:48% minmax(0,1fr); gap:14px; padding:8px; border-radius:17px; text-align:left; align-items:center; }
 .v-city-carnet .v-nursery-card::before { display:none; }
 .v-city-carnet .v-card-photo { height:72px; border-radius:10px; }
 .v-city-carnet .v-carnet .v-card-copy h3 { font-size:18px; line-height:1; margin:0 0 3px; white-space:nowrap; }
 .v-city-carnet .v-card-copy p { font-size:13px; line-height:1.25; margin:0 0 3px; }
 .v-city-carnet .v-card-copy .m-button { width:90%; margin:5px 0 0; min-height:40px; font-size:14px; }
 .v-city-carnet .v-practical { padding-top:30px; padding-bottom:35px; }
 .v-city-carnet .v-carnet .v-practical h2 { max-width:320px; margin-bottom:10px; }
 .v-city-carnet .v-practical-grid { display:block; }
 .v-city-carnet .v-facts { gap:9px; }
 .v-city-carnet .v-fact { height:105px; flex-direction:column; justify-content:flex-end; padding:4px 5px 9px; border-radius:15px; text-align:center; }
 .v-city-carnet .v-fact img { width:110px; max-width:100%; height:55px; flex:none; margin-bottom:3px; }
 .v-city-carnet .v-fact-clock img,.v-city-carnet .v-fact-teddy img,.v-city-carnet .v-fact-calendar img { transform:scale(1.25); }
 .v-city-carnet .v-fact div { flex:none; width:100%; }
 .v-city-carnet .v-carnet .v-fact h3 { font-size:12px; line-height:1.2; margin:0 0 2px; }
 .v-city-carnet .v-fact p { font-size:16px; line-height:1.1; }
 .v-city-carnet .v-location { margin-top:15px; border-radius:18px; border-width:3px; }
 .v-city-carnet .v-map { height:300px; min-height:300px; flex:none; }
 .v-city-carnet .v-map iframe { min-height:300px; }
 .v-city-carnet .v-map-footer { font-size:12px; padding:5px 9px; gap:0 12px; }
 .v-city-carnet .v-map-footer a { min-height:44px; }
 .v-city-carnet .v-intro { display:flex; flex-direction:column; gap:28px; padding:35px 20px; }
 .v-city-carnet .v-intro figure { width:100%; }
 .v-city-carnet .v-intro img { height:240px; }
 .v-city-carnet .v-intro h2 { font-size:31px; }
 .v-city-carnet .v-intro p { font-size:16px; line-height:1.65; }
 .v-city-carnet .v-carnet .v-faq { padding:45px 20px!important; }
 .v-city-carnet .v-faq h2 { font-size:32px; }
}
@media(max-width:350px) {
 .v-city-carnet .v-hero-copy { padding-inline:0; }
 .v-city-carnet .v-rainbow,.v-city-carnet .v-heart { display:none; }
 .v-city-carnet .v-carnet .v-card-copy h3 { font-size:18px; }
 .v-city-carnet .v-card-copy p { font-size:11px; }
 .v-city-carnet .v-card-copy .m-button { font-size:13px; }
 .v-city-carnet .v-fact p { font-size:16px; }
}
/* Match the two-line cartouche and compact card buttons with the real fonts. */
@media(min-width:1100px) {
 .v-city-carnet .v-hero h1 { font-size:56px; }
 .v-city-carnet .v-hero-copy>p { font-size:26px; }
}
@media(max-width:600px) {
 .v-city-carnet .v-card-copy p { font-size:12px; line-height:1.2; margin-bottom:1px; }
 .v-city-carnet .v-card-copy .m-button { min-height:40px; font-size:13px; }
 .v-city-carnet .v-card-copy .m-button span { font-size:16px; line-height:1; }
}
.v-city-carnet .v-local-links { display:grid; gap:4px; margin-top:12px; }
.v-city-carnet .v-local-links a { display:inline-flex; align-items:center; min-height:44px; color:#507442; text-underline-offset:4px; }
@media(max-width:600px) {
 .v-city-carnet .v-hero-copy>p { font-size:13px; line-height:1.25; max-width:280px; }
 .v-city-carnet .v-actions { max-width:242px; }
 .v-city-carnet .v-actions .m-button,.v-city-carnet .v-actions .v-secondary { min-height:40px; font-size:13px; }
 .v-city-carnet .v-actions .m-button span { font-size:17px; line-height:1; }
 .v-city-carnet .v-card-copy .m-button { width:110px; max-width:100%; }
}
/* Final reference accents: faint paper grain and opaque hero cartouche. */
.v-city-carnet #contenu { background-image:linear-gradient(#fffaf1ed,#fffaf1ed),url('../arc-en-ciel/images/grain-papier.png'); }
.v-city-carnet .v-hero-copy { background:#fffdf7; }
@media(min-width:1100px) {
 .v-city-carnet .v-card-copy .m-button { width:58%; }
 .v-city-carnet .v-fact-meal img { width:40%; }
 .v-city-carnet .v-fact-meal p { font-size:24px; white-space:nowrap; }
}
@media(max-width:600px) {
 .v-city-carnet .v-hero-copy { background:transparent; }
}
@media(min-width:601px) and (max-width:1099px) {
 .v-city-carnet .v-rainbow { display:none; }
}
/* Local two-house and Saint-Pierre variations. */
.v-city-carnet .v-card-grid[data-count='2'] { max-width:1160px; }
.v-city-carnet[data-city-theme='rose-sage'] .v-nursery-card::before { background:#fbe3e5; }
.v-city-carnet[data-city-theme='butter-rose'] .v-nursery-card::before { background:#fff0c7; }
.v-city-carnet[data-city-theme='butter-rose'] .v-nursery-card:nth-child(2)::before { background:#fbe1e7; }
.v-city-carnet[data-city-theme='rose-sage'] .v-hero { height:740px; }
.v-city-carnet[data-city-theme='butter-rose'] .v-mascots { height:170px; top:460px; }
.v-city-carnet[data-city-theme='butter-rose'] .v-mascots img { height:170px; }
@media(min-width:601px) and (max-width:1099px) {
 .v-city-carnet[data-city-theme='rose-sage'] .v-hero { height:690px; }
 .v-city-carnet[data-city-theme='butter-rose'] .v-mascots { top:435px; height:150px; }
 .v-city-carnet[data-city-theme='butter-rose'] .v-mascots img { height:150px; }
}
@media(max-width:600px) {
 .v-city-carnet[data-city-theme='rose-sage'] .v-hero { height:auto; }
 .v-city-carnet .v-triptych[data-count='2'] { height:156px; }
 .v-city-carnet[data-city-theme='rose-sage'] .v-hero h1 { font-size:clamp(19px,5.7vw,28px); }
 .v-city-carnet[data-city-theme='butter-rose'] .v-mascots { top:auto; height:65px; }
 .v-city-carnet[data-city-theme='butter-rose'] .v-mascots img { height:65px; }
}
@media(min-width:1100px) {
 .v-city-carnet[data-city-theme='butter-rose'] .v-mascots { width:650px; left:36%; gap:8px; }
 .v-city-carnet[data-city-theme='butter-rose'] .v-mascots img { width:27%; flex:none; }
 .v-city-carnet[data-city-theme='butter-rose'] .v-mascots img:nth-child(2) { width:42%; }
}
@media(max-width:600px) {
 .v-city-carnet[data-city-theme='butter-rose'] .v-mascots { width:65%; left:17.5%; gap:2px; }
 .v-city-carnet[data-city-theme='butter-rose'] .v-mascots img { width:27%; flex:none; }
 .v-city-carnet[data-city-theme='butter-rose'] .v-mascots img:nth-child(2) { width:42%; }
}
.v-city-carnet .v-triptych[data-count='2'] figure:nth-child(2) { margin-left:-60px; clip-path:polygon(8% 0,100% 0,100% 100%,0 100%); }
@media(max-width:600px) {
 .v-city-carnet .v-rainbow { top:30px; }
 .v-city-carnet .v-triptych[data-count='2'] figure:nth-child(2) { margin-left:-15px; }
}
.v-city-carnet .v-title-tail { white-space:nowrap; }
@media(max-width:600px) {
 .v-city-carnet[data-city-theme='butter-rose'] .v-heart { left:4%; }
}

/* Comfortable reading space for the local FAQ, shared with the home cards. */
.v-city-carnet .v-faq .lfc-faq-more__item summary { min-height:76px; padding-block:24px; line-height:1.45; }
@media(max-width:600px) {
 .v-city-carnet .v-faq .lfc-faq-more { gap:18px; }
 .v-city-carnet .v-faq .lfc-faq-more__item summary { min-height:72px; padding-block:20px; }
}
/* Élodie #1782/#1806 (2026-10-09): same stacked practical cards as the nursery pages, with the full « Repas et soins d’hygiène » label. */
@media(min-width:601px) {
 .v-city-carnet .v-fact { flex-direction:column; justify-content:center; gap:14px; padding:20px 12px 22px; text-align:center; }
 .v-city-carnet .v-fact img,.v-city-carnet .v-fact-meal img,.v-city-carnet .v-fact-clock img,.v-city-carnet .v-fact-teddy img,.v-city-carnet .v-fact-calendar img { width:auto; max-width:78%; height:100px; transform:none; }
 .v-city-carnet .v-fact div { flex:none; width:100%; }
 .v-city-carnet .v-fact p,.v-city-carnet .v-fact-meal p { font-size:22px; white-space:normal; }
}
@media(min-width:1100px) { .v-city-carnet .v-fact p,.v-city-carnet .v-fact-meal p { white-space:nowrap; } }
@media(max-width:600px) {
 .v-city-carnet .v-fact { height:auto; min-height:105px; }
 .v-city-carnet .v-fact-meal p { font-size:14px; }
}
/* Élodie #1876 (2026-10-09): on desktop the title block sits beside the photo strip instead of hiding the first crèche. */
@media(min-width:1100px) {
 .v-city-carnet .v-hero { display:grid; grid-template-columns:430px minmax(0,1fr); column-gap:30px; align-items:start; }
 .v-city-carnet .v-triptych { grid-column:2; grid-row:1; }
 .v-city-carnet .v-hero-copy { grid-column:1; grid-row:1; align-self:center; position:relative; left:auto; top:auto; width:auto; padding:0 0 40px 14px; background:transparent; box-shadow:none; }
 .v-city-carnet .v-hero h1 { font-size:52px; }
 .v-city-carnet .v-mascots { left:calc(50% - 50px); }
 .v-city-carnet[data-city-theme='butter-rose'] .v-mascots { left:calc(50% - 90px); }
 .v-city-carnet .v-heart { display:none; }
}
