/*
Theme Name: GeneratePress Child (Happy & So)
Template: generatepress
Author: Happy & So
Description: Thème enfant — solaire & féminin (corail, turquoise, soleil ; Quicksand + Nunito Sans).
Version: 1.0
*/

:root{
  --bg:#fff8f3; --surface:#ffffff; --surface2:#fdeee7;
  --ink:#3b2a30; --ink2:#7c6168; --ink3:#ad929a;
  --line:#f4e3da; --line2:#eed0c4;
  --coral:#ff6f61; --coral-dk:#e8543f; --coral-soft:#ffe7e1;
  --aqua:#15b3a6; --aqua-dk:#0e958a; --aqua-soft:#dbf3f0;
  --sun:#f6b93b;
  --display:'Quicksand',system-ui,sans-serif;
  --sans:'Nunito Sans',system-ui,sans-serif;
  --w:1180px; --gutter:clamp(16px,4vw,44px);
  --r:22px; --r-sm:14px; --pill:100px;
  --sh:0 10px 30px rgba(255,111,97,.10); --sh-lg:0 22px 56px rgba(255,111,97,.18);
}
body{ background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.7; }
a{ color:var(--coral-dk); text-decoration:none; } a:hover{ color:var(--coral); }
h1,h2,h3,h4,h5{ font-family:var(--display); color:var(--ink); line-height:1.15; font-weight:700; letter-spacing:-.01em; }
img{ max-width:100%; height:auto; }
.site-content{ display:block !important; padding:0 !important; }
.site-header.grid-container{ display:none; }
.pac-w{ max-width:var(--w); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); }
.site-main{ margin:0 !important; } .entry-header,.page-header{ display:none; }

/* HEADER */
.pac-menubar{ position:sticky; top:0; z-index:1000; background:rgba(255,255,255,.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.pac-topbar-in{ display:flex; align-items:center; gap:20px; height:74px; }
.pac-wordmark{ display:flex; align-items:center; gap:11px; }
.pac-mark2{ width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--coral),var(--sun)); display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px rgba(255,111,97,.34); flex:none; }
.pac-mark2 svg{ width:24px; height:24px; }
.pac-bn{ display:block; font-family:var(--display); font-weight:700; font-size:21px; color:var(--ink); white-space:nowrap; }
.pac-bn b{ color:var(--coral); }
.pac-bsub{ display:block; white-space:nowrap; font-size:10.5px; color:var(--ink3); letter-spacing:.12em; text-transform:uppercase; margin-top:1px; }
.pac-navlist{ display:flex; align-items:center; gap:2px; margin:0 auto 0 14px; list-style:none; padding:0; }
.pac-navlist>li{ position:relative; }
.pac-navlist>li>a{ display:block; padding:9px 13px; border-radius:var(--pill); font-weight:700; font-size:14.5px; color:var(--ink2); white-space:nowrap; transition:.15s; }
.pac-navlist>li>a:hover{ background:var(--aqua-soft); color:var(--aqua-dk); }
.pac-navlist .sub-menu{ position:absolute; top:calc(100% + 7px); left:0; min-width:276px; background:var(--surface); border:1px solid var(--line); border-radius:18px; box-shadow:var(--sh-lg); padding:9px; list-style:none; margin:0; opacity:0; visibility:hidden; transform:translateY(7px); transition:.16s; }
.pac-navlist li:hover>.sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.pac-navlist .sub-menu a{ display:block; padding:9px 13px; border-radius:11px; font-size:14px; font-weight:600; color:var(--ink2); }
.pac-navlist .sub-menu a:hover{ background:var(--coral-soft); color:var(--coral-dk); }
.pac-navlist .menu-item-has-children>a::after{ content:'▾'; margin-left:5px; font-size:11px; color:var(--ink3); }
.pac-cta2{ display:inline-flex; align-items:center; gap:7px; padding:11px 22px; background:var(--coral); color:#fff !important; border-radius:var(--pill); font-weight:700; font-size:14px; white-space:nowrap; flex:none; box-shadow:0 6px 16px rgba(255,111,97,.32); transition:.15s; }
.pac-cta2:hover{ background:var(--coral-dk); transform:translateY(-1px); }
.pac-toggle{ display:none; width:46px; height:46px; border:1px solid var(--line2); border-radius:14px; background:var(--surface); cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:4px; }
.pac-toggle span{ width:21px; height:2px; background:var(--ink); border-radius:2px; }
.pac-mob{ display:none; position:fixed; top:74px; left:0; right:0; height:calc(100dvh - 74px); background:var(--surface); z-index:1001; overflow-y:auto; padding:18px var(--gutter) 60px; }
.pac-mob.open{ display:block; }
.pac-mob ul{ list-style:none; margin:0; padding:0; } .pac-mob>ul>li{ border-bottom:1px solid var(--line); }
.pac-mob a{ display:block; padding:13px 4px; font-weight:700; color:var(--ink); font-size:16.5px; }
.pac-mob .sub-menu a{ padding:9px 16px; font-weight:600; color:var(--ink2); font-size:15px; }

/* BUTTONS */
.pac-cta{ display:inline-flex; align-items:center; gap:9px; padding:13px 28px; border-radius:var(--pill); font-weight:800; font-size:16px; transition:.15s; cursor:pointer; }
.pac-link2-1{ background:var(--coral); color:#fff !important; box-shadow:0 8px 20px rgba(255,111,97,.32); }
.pac-link2-1:hover{ background:var(--coral-dk); transform:translateY(-2px); }
.pac-action-2{ background:transparent; color:var(--aqua-dk) !important; border:1.5px solid var(--line2); }
.pac-action-2:hover{ border-color:var(--aqua); color:var(--aqua) !important; }

/* HERO */
.pac-intro{ position:relative; overflow:hidden; padding:58px 0 46px; }
.pac-intro::before{ content:''; position:absolute; top:-30%; right:-12%; width:48%; height:160%; background:radial-gradient(circle at 60% 40%,var(--aqua-soft),transparent 65%); z-index:0; }
.pac-banner-in{ position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center; }
.pac-kick{ display:inline-flex; align-items:center; gap:8px; padding:6px 15px; background:var(--coral-soft); color:var(--coral-dk); border-radius:var(--pill); font-weight:800; font-size:12px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:18px; }
.pac-intro h1{ font-size:clamp(40px,5.6vw,66px); font-weight:700; line-height:1.04; margin:0 0 18px; }
.pac-intro h1 em{ font-style:normal; color:var(--coral); }
.pac-intro p{ font-size:19px; color:var(--ink2); max-width:520px; margin:0 0 26px; }
.pac-cover-act{ display:flex; gap:13px; flex-wrap:wrap; }
.pac-cover-media img{ width:100%; border-radius:30px; box-shadow:var(--sh-lg); display:block; aspect-ratio:4/3; object-fit:cover; }
.pac-lede-ph{ aspect-ratio:4/3; border-radius:30px; background:linear-gradient(135deg,var(--coral-soft),var(--aqua-soft)); }

/* SECTIONS */
.pac-sec{ padding:46px 0; }
.pac-sh{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:28px; }
.pac-sh .k{ display:block; color:var(--aqua-dk); font-weight:800; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:5px; }
.pac-sh h2{ font-size:clamp(28px,3.6vw,40px); font-weight:700; margin:0; }
.pac-sh p{ color:var(--ink2); margin:6px 0 0; }
.pac-jump{ font-weight:800; color:var(--coral-dk); white-space:nowrap; } .pac-jump:hover{ color:var(--aqua-dk); }

/* ARTICLES */
.pac-set{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pac-cell{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column; transition:.18s; }
.pac-cell:hover{ transform:translateY(-5px); box-shadow:var(--sh-lg); }
.pac-tile-im{ aspect-ratio:16/11; overflow:hidden; background:var(--surface2); }
.pac-tile-im img{ width:100%; height:100%; object-fit:cover; transition:.3s; }
.pac-cell:hover .pac-tile-im img{ transform:scale(1.05); }
.pac-block2-nt{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--coral-soft),var(--aqua-soft)); }
.pac-block2-nt svg{ width:40px; height:40px; color:var(--coral); opacity:.55; }
.pac-cell-bd{ padding:18px 20px 22px; display:flex; flex-direction:column; gap:9px; flex:1; }
.pac-tag{ align-self:flex-start; font-size:11.5px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:var(--aqua-dk); background:var(--aqua-soft); padding:4px 11px; border-radius:var(--pill); }
.pac-cell h3{ font-size:20px; line-height:1.22; margin:0; font-weight:700; }
.pac-cell h3 a{ color:var(--ink); } .pac-cell h3 a:hover{ color:var(--coral); }
.pac-block2-ex{ color:var(--ink2); font-size:15px; margin:0; }
.pac-block2-mt{ color:var(--ink3); font-size:13px; margin:auto 0 0; }
.pac-feat{ grid-column:span 2; } .pac-feat .pac-tile-im{ aspect-ratio:2/1; } .pac-feat h3{ font-size:27px; }
.pac-void2{ text-align:center; color:var(--ink2); padding:50px 0; background:var(--surface); border:1px dashed var(--line2); border-radius:var(--r); }

/* THEME CHIPS */
.pac-pillars{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.pac-subject{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:22px 16px; text-align:center; transition:.16s; }
.pac-subject:hover{ transform:translateY(-4px); box-shadow:var(--sh); border-color:var(--coral); }
.pac-pillar-ic{ width:56px; height:56px; margin:0 auto 12px; border-radius:50%; background:var(--coral-soft); display:flex; align-items:center; justify-content:center; }
.pac-pillar-ic svg{ width:27px; height:27px; color:var(--coral-dk); }
.pac-topic-nm{ font-family:var(--display); font-weight:700; font-size:15.5px; }

/* ABOUT */
.pac-presentation{ padding:18px 0 46px; }
.pac-story-in{ position:relative; overflow:hidden; background:linear-gradient(120deg,var(--coral),var(--sun)); border-radius:28px; padding:52px clamp(24px,5vw,62px); display:grid; grid-template-columns:1.1fr .9fr; gap:46px; align-items:center; color:#fff; box-shadow:var(--sh-lg); }
.pac-story-in::after{ content:''; position:absolute; bottom:-40%; left:-6%; width:42%; height:150%; background:radial-gradient(circle,rgba(21,179,166,.4),transparent 65%); }
.pac-presentation .k{ position:relative; color:#fff4ec; font-weight:800; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; }
.pac-presentation h2{ position:relative; color:#fff; font-size:clamp(28px,3.6vw,42px); margin:10px 0 16px; }
.pac-presentation p{ position:relative; color:#fff0ea; font-size:17px; margin:0 0 22px; }
.pac-presentation .pac-action-2{ position:relative; background:#fff; color:var(--coral-dk) !important; border-color:#fff; }
.pac-presentation .pac-action-2:hover{ background:#fff; transform:translateY(-2px); }
.pac-pts{ position:relative; display:flex; flex-direction:column; gap:12px; }
.pac-pt{ display:flex; gap:12px; align-items:flex-start; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.22); border-radius:14px; padding:14px 16px; }
.pac-pt svg{ width:22px; height:22px; color:#fff; flex:none; margin-top:2px; }
.pac-pt b{ display:block; font-family:var(--display); font-size:16.5px; color:#fff; }
.pac-pt span{ color:#fff1ea; font-size:14px; }

/* ARCHIVE */
.pac-arch{ padding:34px 0 56px; }
.pac-arch-head{ margin-bottom:28px; }
.pac-arch-head h1{ font-size:clamp(30px,4.4vw,48px); margin:0 0 6px; }
.pac-arch-head .c{ color:var(--ink2); font-size:15px; }
.pac-arch-title2--photo2{ position:relative; overflow:hidden; padding:54px var(--gutter); border-radius:28px; color:#fff; background-image:linear-gradient(95deg,rgba(59,42,48,.82),rgba(59,42,48,.4) 55%,rgba(59,42,48,.12)),var(--cat); background-size:cover; background-position:center; }
.pac-arch-title2--photo2 h1{ color:#fff; } .pac-arch-title2--photo2 .c{ color:#ffe9e2; }
.pac-pag{ margin-top:38px; } .pac-pag ul{ display:flex; gap:8px; list-style:none; padding:0; justify-content:center; flex-wrap:wrap; }
.pac-pag a,.pac-pag span{ display:flex; min-width:44px; height:44px; align-items:center; justify-content:center; padding:0 13px; border-radius:var(--pill); background:var(--surface); border:1px solid var(--line); font-weight:700; color:var(--ink2); }
.pac-pag .current{ background:var(--coral); color:#fff; border-color:var(--coral); }

/* SINGLE / PAGE */
.pac-detail{ padding:38px 0 56px; } .pac-rd{ max-width:760px; margin:0 auto; }
.pac-rd .pac-tag{ margin-bottom:14px; }
.pac-detail h1{ font-size:clamp(30px,4.6vw,50px); margin:0 0 14px; }
.pac-info{ display:flex; gap:16px; color:var(--ink3); font-size:14px; margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.pac-thumb{ border-radius:var(--r); overflow:hidden; margin-bottom:28px; box-shadow:var(--sh); }
.pac-prose{ font-size:18px; line-height:1.8; color:#4a3940; }
.pac-prose>*{ margin-bottom:1.2em; }
.pac-prose h2{ font-size:30px; margin:1.5em 0 .4em; } .pac-prose h3{ font-size:23px; margin:1.3em 0 .35em; }
.pac-prose a{ color:var(--coral-dk); text-decoration:underline; text-underline-offset:3px; }
.pac-prose img{ border-radius:var(--r-sm); }
.pac-prose blockquote{ border-left:4px solid var(--aqua); background:var(--surface); padding:16px 22px; border-radius:0 14px 14px 0; color:var(--ink2); }
.pac-prose ul,.pac-prose ol{ padding-left:1.4em; } .pac-prose li{ margin-bottom:.5em; }
.pac-page-header2{ padding:42px 0 6px; } .pac-page-header2 h1{ font-size:clamp(32px,4.4vw,48px); margin:0; }
.pac-page-header2 .r{ width:64px; height:5px; background:linear-gradient(90deg,var(--coral),var(--sun)); border-radius:3px; margin-top:16px; }
.pac-page-bd{ padding:24px 0 56px; } .pac-page-bd .pac-rd{ font-size:18px; line-height:1.8; color:#4a3940; }

/* CF7 */
.x-field{ display:block; font-weight:700; color:var(--ink); margin-bottom:18px; font-size:15px; }
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form textarea{ width:100%; margin-top:7px; padding:13px 15px; border:1.5px solid var(--line2); border-radius:14px; background:var(--surface); font-family:inherit; font-size:16px; color:var(--ink); transition:.15s; }
.wpcf7-form input:focus,.wpcf7-form textarea:focus{ outline:none; border-color:var(--coral); box-shadow:0 0 0 3px var(--coral-soft); }
.wpcf7-form .wpcf7-submit{ background:var(--coral); color:#fff; border:none; padding:14px 32px; border-radius:var(--pill); font-weight:800; font-size:16px; cursor:pointer; box-shadow:0 8px 20px rgba(255,111,97,.32); }
.wpcf7-form .wpcf7-submit:hover{ background:var(--coral-dk); }

/* 404 */
.pac-404{ text-align:center; padding:90px 0; } .pac-404 .cd{ font-family:var(--display); font-size:130px; font-weight:700; color:var(--coral); line-height:1; }
.pac-404 h1{ font-size:30px; margin:10px 0 10px; } .pac-404 p{ color:var(--ink2); margin-bottom:26px; }

/* FOOTER */
.pac-foot{ background:#2e2126; color:#d9c7cd; margin-top:44px; }
.pac-foot a{ color:#c8b2ba; } .pac-foot a:hover{ color:#fff; }
.pac-foot-top{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr 1fr; gap:30px; padding:54px 0 38px; }
.pac-foot .pac-bn{ color:#fff; } .pac-foot .pac-bsub{ color:#9a838b; }
.pac-foot-br p{ color:#b09aa1; font-size:14.5px; max-width:280px; margin-top:14px; }
.pac-foot h5{ font-family:var(--display); font-size:15px; color:#fff; margin:0 0 14px; }
.pac-foot ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:9px; font-size:14.5px; }
.pac-foot-bt{ border-top:1px solid rgba(255,255,255,.12); padding:16px 0; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; color:#9a838b; font-size:13px; }

/* RESPONSIVE */
@media (max-width:1180px){ .pac-navlist{ display:none; } .pac-toggle{ display:flex; } .pac-cta2{ display:none; } }
@media (max-width:960px){ .pac-banner-in{ grid-template-columns:1fr; gap:30px; } .pac-cover-media{ order:-1; } .pac-pillars{ grid-template-columns:repeat(3,1fr); } .pac-story-in{ grid-template-columns:1fr; gap:26px; } .pac-foot-top{ grid-template-columns:1fr 1fr; gap:26px; } }
@media (max-width:820px){ .pac-set{ grid-template-columns:repeat(2,1fr); } .pac-feat{ grid-column:span 2; } .pac-sh{ flex-direction:column; align-items:flex-start; } }
@media (max-width:560px){ .pac-set{ grid-template-columns:1fr; } .pac-feat{ grid-column:span 1; } .pac-feat .pac-tile-im{ aspect-ratio:16/11; } .pac-pillars{ grid-template-columns:1fr 1fr; } .pac-foot-top{ grid-template-columns:1fr; } }
