/* site-jolie.css — gabarit de page d'accueil "jolie" (Joliesse).
   Design doux/kawaii : dégradé rose→lavande, DM Serif Display + Caveat + Quicksand.
   Chargé uniquement quand config.homepage_template == "jolie". */

*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:#FFF4F0;}
a{text-decoration:none;}
img{max-width:100%;}
::selection{background:#E86A8E;color:#FFF4F0;}

@keyframes jl-floaty{0%,100%{transform:translateY(0) rotate(var(--r,0deg));}50%{transform:translateY(-8px) rotate(var(--r,0deg));}}
@keyframes jl-twinkle{0%,100%{opacity:.35;transform:scale(.8);}50%{opacity:1;transform:scale(1.15);}}
@keyframes jl-wiggle{0%,100%{transform:rotate(-4deg);}50%{transform:rotate(4deg);}}

.jl-page{min-height:100vh;background:linear-gradient(180deg,#FFF4F0 0%,#FDECF3 55%,#F6ECFB 100%);color:#5B2A3E;font-family:'Quicksand',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;}
.jl-deco{position:absolute;pointer-events:none;}

/* barre haute */
.jl-topbar{background:rgba(255,244,240,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50;}
.jl-topbar-inner{max-width:1180px;margin:0 auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.jl-brand{display:flex;align-items:center;gap:11px;color:#5B2A3E;}
.jl-logo{display:inline-flex;width:40px;height:40px;border-radius:50% 50% 50% 8px;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:20px;background:linear-gradient(135deg,#F3A9C4,#E86A8E);color:#FFF;box-shadow:0 6px 16px rgba(232,106,142,.35);}
.jl-brand-name{font-family:'DM Serif Display',serif;font-size:24px;letter-spacing:-.01em;}
.jl-nav{display:flex;align-items:center;gap:26px;font-size:14.5px;font-weight:600;}
.jl-nav a{color:#8A5A6C;transition:color .2s,transform .2s;}
.jl-nav a:hover{color:#E86A8E;}
.jl-nav .jl-pill{color:#FFF;background:linear-gradient(135deg,#F3A9C4,#E86A8E);padding:10px 20px;border-radius:999px;font-weight:700;box-shadow:0 6px 16px rgba(232,106,142,.35);}
.jl-nav .jl-pill:hover{color:#FFF;transform:translateY(-1px);}

/* hero */
.jl-hero{max-width:1080px;margin:0 auto;padding:60px 32px 40px;text-align:center;position:relative;}
.jl-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 18px;border-radius:999px;background:#FDE3EE;color:#D9548A;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px;}
.jl-badge .jl-wig{display:inline-block;animation:jl-wiggle 2.5s ease-in-out infinite;}
.jl-h1{margin:0 auto;font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(42px,7vw,88px);line-height:1.02;letter-spacing:-.02em;max-width:16ch;text-wrap:balance;}
.jl-hl{position:relative;white-space:nowrap;}
.jl-hl em{color:#E86A8E;font-style:italic;}
.jl-squiggle{position:absolute;left:0;bottom:-8px;width:100%;height:auto;}
.jl-sub{margin:34px auto 0;font-size:18.5px;line-height:1.6;color:#8A5A6C;max-width:52ch;}
.jl-cta-row{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:32px;flex-wrap:wrap;}
.jl-btn-primary{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#FFF;background:linear-gradient(135deg,#F3A9C4,#E86A8E);padding:14px 28px;border-radius:999px;box-shadow:0 10px 24px rgba(232,106,142,.32);transition:transform .2s;}
.jl-btn-primary:hover{transform:translateY(-2px);color:#FFF;}
.jl-btn-ghost{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#D9548A;background:#FFF;padding:14px 28px;border-radius:999px;box-shadow:0 6px 18px rgba(217,84,138,.12);transition:background .2s;}
.jl-btn-ghost:hover{background:#FDE3EE;}

/* article à la une */
.jl-section{max-width:1180px;margin:40px auto 0;padding:0 32px;}
.jl-featured{background:#fff;border-radius:34px;padding:22px;box-shadow:0 20px 50px rgba(232,106,142,.14);display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center;position:relative;}
.jl-featured-badge{position:absolute;top:-16px;left:40px;z-index:3;background:#F6C177;color:#7A4A12;font-size:12.5px;font-weight:700;padding:8px 16px;border-radius:999px;transform:rotate(-4deg);box-shadow:0 6px 14px rgba(246,193,119,.4);}
.jl-featured-imgwrap{display:block;overflow:hidden;border-radius:26px;background:#FDECF3;align-self:stretch;min-height:320px;}
.jl-featured-img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;transition:transform .6s ease;}
.jl-featured-imgwrap:hover .jl-featured-img{transform:scale(1.04);}
.jl-featured-text{display:flex;flex-direction:column;gap:16px;padding:12px 24px 12px 4px;}
.jl-accent{font-family:'Caveat',cursive;font-size:24px;color:#D9548A;}
.jl-featured-text h2{margin:0;font-family:'DM Serif Display',serif;font-weight:400;font-size:36px;line-height:1.1;letter-spacing:-.01em;text-wrap:balance;color:#5B2A3E;transition:color .2s;}
.jl-featured-text a:hover h2{color:#E86A8E;}
.jl-featured-text p{margin:0;font-size:16px;line-height:1.65;color:#8A5A6C;}
.jl-byline{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#A87C8B;margin-top:4px;}
.jl-avatar{display:inline-flex;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#C9A7E8,#E86A8E);color:#FFF;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:none;}

/* catégories */
.jl-cats{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.jl-cat{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:999px;font-size:14px;font-weight:700;transition:transform .2s;}
.jl-cat:hover{transform:translateY(-2px);}

/* grille */
.jl-grid-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:30px;flex-wrap:wrap;gap:10px;}
.jl-grid-head h2{margin:0;font-family:'DM Serif Display',serif;font-weight:400;font-size:34px;letter-spacing:-.01em;}
.jl-grid-head h2 span{color:#F3A9C4;}
.jl-grid-note{font-family:'Caveat',cursive;font-size:22px;color:#C9A7E8;}
.jl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 34px;}
.jl-card{display:flex;flex-direction:column;gap:14px;color:#5B2A3E;}
.jl-card-imgwrap{position:relative;overflow:hidden;border-radius:24px;background:#FDECF3;aspect-ratio:16/11;box-shadow:0 12px 30px rgba(232,106,142,.12);}
.jl-tag{position:absolute;top:12px;left:12px;z-index:2;font-size:11.5px;font-weight:700;padding:6px 13px;border-radius:999px;}
.jl-card-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.jl-card:hover .jl-card-img{transform:scale(1.05);}
.jl-card-meta{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:#B98BA0;}
.jl-card h3{margin:0;font-family:'DM Serif Display',serif;font-weight:400;font-size:23px;line-height:1.18;letter-spacing:-.005em;text-wrap:balance;}
.jl-card p{margin:0;font-size:14.5px;line-height:1.6;color:#8A5A6C;}

/* image de repli (pas de photo) */
.jl-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#FDE3EE,#F6ECFB);color:#D9548A;font-family:'Caveat',cursive;font-size:26px;}

/* newsletter */
.jl-news{position:relative;border-radius:36px;padding:56px 48px;background:linear-gradient(135deg,#F9C7DD 0%,#E9A9E0 50%,#C9A7E8 100%);overflow:hidden;}
.jl-news-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;position:relative;}
.jl-news .jl-accent{color:#FFF;}
.jl-news h2{margin:6px 0 14px;font-family:'DM Serif Display',serif;font-weight:400;font-size:40px;line-height:1.08;letter-spacing:-.015em;color:#FFF;}
.jl-news p{margin:0;font-size:16px;line-height:1.6;color:rgba(255,255,255,.9);}
.jl-news form{display:flex;flex-direction:column;gap:12px;background:rgba(255,255,255,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:22px;border-radius:24px;}
.jl-news input{height:52px;padding:0 20px;font-size:15px;font-family:'Quicksand',sans-serif;font-weight:500;background:#FFF;color:#5B2A3E;border:none;border-radius:999px;outline:none;width:100%;}
.jl-news button{height:52px;font-size:15px;font-weight:700;font-family:'Quicksand',sans-serif;background:#5B2A3E;color:#FFF;border:none;border-radius:999px;cursor:pointer;transition:transform .2s;}
.jl-news button:hover{transform:translateY(-2px);}
.jl-news-fine{margin:2px auto 0;font-size:12.5px;color:#7A4A5C;font-weight:600;}

/* pied */
.jl-footer{margin-top:56px;}
.jl-footer-inner{max-width:1180px;margin:0 auto;padding:40px 32px 56px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.jl-footer-brand{display:flex;align-items:center;gap:11px;}
.jl-footer-logo{display:inline-flex;width:30px;height:30px;border-radius:50% 50% 50% 6px;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:15px;background:linear-gradient(135deg,#F3A9C4,#E86A8E);color:#FFF;flex:none;}
.jl-footer-copy{font-size:13.5px;color:#8A5A6C;font-weight:500;}
.jl-footer-nav{display:flex;gap:22px;font-size:13.5px;font-weight:600;flex-wrap:wrap;}
.jl-footer-nav a{color:#8A5A6C;transition:color .2s;}
.jl-footer-nav a:hover{color:#E86A8E;}

/* ---- page article ---- */
.jl-article-head{max-width:800px;margin:0 auto;padding:56px 32px 36px;text-align:center;position:relative;}
.jl-article-h1{margin:0 auto 24px;font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(34px,5vw,56px);line-height:1.08;letter-spacing:-.015em;max-width:20ch;text-wrap:balance;}
.jl-article-byline{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;color:#8A5A6C;font-weight:500;}
.jl-article-byline strong{color:#5B2A3E;font-weight:700;}
.jl-article-hero{max-width:1000px;margin:0 auto;padding:0 32px;}
.jl-article-hero img{display:block;width:100%;max-height:460px;object-fit:cover;border-radius:32px;background:#FDECF3;box-shadow:0 24px 60px rgba(232,106,142,.18);}
.jl-article{max-width:700px;margin:0 auto;padding:52px 32px 64px;font-size:17.5px;line-height:1.75;color:#4A2836;}
.jl-lead p{margin:0 0 24px;font-size:20px;line-height:1.6;color:#5B2A3E;}
.jl-lead p:first-of-type::first-letter{font-family:'DM Serif Display',serif;font-size:62px;line-height:.8;float:left;padding:6px 12px 0 0;color:#E86A8E;}
.jl-article-body h2{margin:40px 0 18px;font-family:'DM Serif Display',serif;font-weight:400;font-size:30px;line-height:1.15;letter-spacing:-.01em;color:#5B2A3E;}
.jl-article-body h2:first-child{margin-top:0;}
.jl-article-body h2::before{content:"✿ ";color:#F3A9C4;}
.jl-article-body h2:nth-of-type(3n+2)::before{content:"✦ ";color:#C9A7E8;}
.jl-article-body h2:nth-of-type(3n)::before{content:"♡ ";color:#E86A8E;}
.jl-article-body h3{margin:28px 0 12px;font-family:'DM Serif Display',serif;font-weight:400;font-size:22px;color:#5B2A3E;}
.jl-article-body p{margin:0 0 24px;}
.jl-article-body a{color:#D9548A;text-decoration:underline;text-decoration-color:#F3A9C4;text-underline-offset:2px;}
.jl-article-body a:hover{color:#E86A8E;}
.jl-article-body ul{margin:0 0 24px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
.jl-article-body ul li{display:flex;gap:12px;align-items:flex-start;}
.jl-article-body ul li::before{content:"♡";color:#E86A8E;font-size:18px;line-height:1.4;flex:none;}
.jl-article-body ol{margin:0 0 24px;padding-left:24px;}
.jl-article-body ol li{margin-bottom:10px;}
.jl-article-body blockquote{margin:0 0 24px;padding:28px 30px;border-radius:24px;background:#FFF;box-shadow:0 12px 30px rgba(232,106,142,.12);font-family:'DM Serif Display',serif;font-style:italic;font-size:23px;line-height:1.4;color:#5B2A3E;}
.jl-article-body img{border-radius:22px;margin:0 0 24px;}
.jl-article-body table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:15.5px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(232,106,142,.1);}
.jl-article-body th,.jl-article-body td{padding:12px 16px;text-align:left;border-bottom:1px solid #FDE3EE;}
.jl-article-body th{background:#FDE3EE;color:#5B2A3E;font-weight:700;}
.jl-faq-title{margin:44px 0 22px;font-family:'DM Serif Display',serif;font-weight:400;font-size:30px;letter-spacing:-.01em;color:#5B2A3E;}
.jl-faq-item{background:#FFF;border-radius:20px;padding:22px 24px;margin-bottom:14px;box-shadow:0 8px 22px rgba(232,106,142,.08);}
.jl-faq-item h3{margin:0 0 10px;font-family:'DM Serif Display',serif;font-weight:400;font-size:20px;color:#5B2A3E;}
.jl-faq-item p{margin:0;font-size:16px;line-height:1.65;color:#8A5A6C;}
.jl-authorbox{margin-top:44px;border-radius:26px;padding:28px 30px;display:flex;gap:20px;align-items:flex-start;background:linear-gradient(135deg,#FDE3EE,#F6ECFB);}
.jl-authorbox-av{display:inline-flex;flex:none;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#C9A7E8,#E86A8E);color:#FFF;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:24px;}
.jl-authorbox .jl-accent{display:block;margin:0 0 4px;}
.jl-authorbox-name{margin:0 0 8px;font-family:'DM Serif Display',serif;font-size:20px;color:#5B2A3E;}
.jl-authorbox-bio{font-size:15px;line-height:1.6;color:#8A5A6C;}
.jl-authorbox-bio p{margin:0 0 8px;}
.jl-related{margin-top:8px;}
.jl-related-title{margin:0 0 28px;font-family:'DM Serif Display',serif;font-weight:400;font-size:30px;letter-spacing:-.01em;text-align:center;}
.jl-related-title span{color:#F3A9C4;}

/* responsive */
@media (max-width:900px){
  .jl-featured{grid-template-columns:1fr;}
  .jl-featured-imgwrap{min-height:240px;}
  .jl-news-inner{grid-template-columns:1fr;gap:28px;}
  .jl-grid{grid-template-columns:repeat(2,1fr);gap:32px 24px;}
}
@media (max-width:640px){
  .jl-topbar-inner{padding:14px 18px;}
  .jl-nav{gap:14px;font-size:13px;}
  .jl-hide-sm{display:none;}
  .jl-hero{padding:40px 20px 30px;}
  .jl-section{padding:0 18px;}
  .jl-grid{grid-template-columns:1fr;}
  .jl-news{padding:38px 24px;}
  .jl-featured{padding:16px;}
  .jl-featured-text{padding:6px 6px 10px;}
  .jl-featured-text h2{font-size:27px;}
  .jl-news h2{font-size:32px;}
  .jl-article-head{padding:40px 20px 28px;}
  .jl-article-hero{padding:0 18px;}
  .jl-article{padding:36px 20px 48px;font-size:16.5px;}
  .jl-article-body h2{font-size:26px;}
  .jl-article-body blockquote{font-size:20px;padding:22px 22px;}
  .jl-authorbox{flex-direction:column;gap:14px;}
}
