/*!
 * JLD brand layer — LE BON BOULANGER MEDIA for Joy Love Dolls
 * Dark adult-boutique theme for Twenty Twenty-Five (no child theme required).
 */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/fraunces-latin-wght-normal.woff2") format("woff2")}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:100 900;font-display:swap;src:url("../fonts/fraunces-latin-wght-italic.woff2") format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url("../fonts/plus-jakarta-sans-latin-wght-normal.woff2") format("woff2")}

:root{
  --jld-bg:#0B0409; --jld-surface:#160A12; --jld-surface-2:#1F0F19;
  --jld-border:rgba(255,217,230,.12); --jld-border-strong:rgba(255,217,230,.24);
  --jld-text:#F6EDF1; --jld-muted:#B9A3AE;
  --jld-rose:#D01C5E; --jld-rose-hover:#B5164F; --jld-glow:#FF5C93; --jld-gold:#D8B26E; --jld-bordeaux:#4A1230;
  --jld-blue:#4CC9F0; --jld-blue-deep:#1B8FB5;
  --jld-accent:var(--jld-rose);
  --jld-r-sm:6px; --jld-r-md:14px; --jld-r-lg:24px; --jld-pill:999px;
  --jld-shadow:0 18px 50px rgba(0,0,0,.55); --jld-glow-shadow:0 0 0 1px rgba(255,92,147,.25),0 10px 40px rgba(208,28,94,.22);
  --jld-font-display:"Fraunces","Iowan Old Style",Georgia,serif;
  --jld-font-body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --jld-font-script:"Fraunces","Iowan Old Style",Georgia,serif;
}
/* Fans variant: light sexy blue accents layered on the rose brand. */
body.jld-site-fans{--jld-accent-2:var(--jld-blue)}

html{color-scheme:dark}
body.jld-site{background:var(--jld-bg);color:var(--jld-text);font-family:var(--jld-font-body);-webkit-font-smoothing:antialiased}
body.jld-site::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(60rem 30rem at 85% -10%,rgba(208,28,94,.16),transparent 60%),radial-gradient(50rem 28rem at -10% 20%,rgba(74,18,48,.55),transparent 60%)}
body.jld-site-fans::before{background:radial-gradient(60rem 30rem at 85% -10%,rgba(208,28,94,.14),transparent 60%),radial-gradient(48rem 26rem at -10% 25%,rgba(76,201,240,.10),transparent 60%)}
body.jld-site h1,body.jld-site h2,body.jld-site h3,body.jld-site h4,body.jld-site .wp-block-heading,body.jld-site .wp-block-site-title{font-family:var(--jld-font-display);letter-spacing:-.02em;font-weight:500;color:var(--jld-text)}
body.jld-site a{color:var(--jld-glow);text-underline-offset:3px}
body.jld-site a:hover{color:var(--jld-gold)}
body.jld-site-fans a{color:#8fdcf6}
body.jld-site-fans a:hover{color:var(--jld-glow)}
body.jld-site ::selection{background:var(--jld-rose);color:#fff}
body.jld-site :focus-visible{outline:2px solid var(--jld-gold);outline-offset:3px;border-radius:4px}

/* Twenty Twenty-Five regions */
body.jld-site .wp-site-blocks,body.jld-site .wp-block-template-part{background:transparent}
body.jld-site header.wp-block-template-part{border-bottom:1px solid var(--jld-border);background:rgba(11,4,9,.82);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50}
body.jld-site footer.wp-block-template-part{border-top:1px solid var(--jld-border);background:var(--jld-surface);margin-top:4rem}
body.jld-site .wp-block-navigation a{color:var(--jld-text);text-decoration:none;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}
body.jld-site .wp-block-navigation a:hover{color:var(--jld-glow)}
body.jld-site .wp-block-separator{border-color:var(--jld-border)}
body.jld-site .wp-block-post-title a{text-decoration:none;color:var(--jld-text)}
body.jld-site .wp-block-group.has-background,body.jld-site .wp-block-cover{border-radius:var(--jld-r-lg)}

/* Buttons */
.jld-btn,body.jld-site .wp-block-button__link,body.jld-site .wp-element-button,body.jld-site button[type=submit],body.jld-site input[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--jld-rose);color:#fff;border:1px solid var(--jld-rose);
  border-radius:var(--jld-pill);padding:.8rem 1.6rem;font:600 .9rem/1 var(--jld-font-body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.jld-btn:hover,body.jld-site .wp-block-button__link:hover,body.jld-site .wp-element-button:hover,body.jld-site button[type=submit]:hover,body.jld-site input[type=submit]:hover{background:var(--jld-rose-hover);border-color:var(--jld-rose-hover);color:#fff;transform:translateY(-1px);box-shadow:var(--jld-glow-shadow)}
.jld-btn--ghost{background:transparent;color:var(--jld-text);border-color:var(--jld-border-strong)}
.jld-btn--ghost:hover{background:rgba(255,255,255,.06);color:var(--jld-gold);border-color:var(--jld-gold);box-shadow:none}
.jld-btn--gold{background:var(--jld-gold);border-color:var(--jld-gold);color:#1A0B14}
.jld-btn--gold:hover{background:#e6c68a;border-color:#e6c68a;color:#1A0B14}
body.jld-site-fans .jld-btn--blue{background:var(--jld-blue);border-color:var(--jld-blue);color:#04202b}
body.jld-site-fans .jld-btn--blue:hover{background:#7ad9f6;border-color:#7ad9f6;color:#04202b}
.jld-btn[disabled],.jld-btn.is-loading{opacity:.6;pointer-events:none}

/* Forms */
body.jld-site input[type=text],body.jld-site input[type=email],body.jld-site input[type=password],body.jld-site input[type=search],body.jld-site input[type=tel],body.jld-site input[type=url],body.jld-site input[type=number],body.jld-site select,body.jld-site textarea{
  background:var(--jld-surface-2);color:var(--jld-text);border:1px solid var(--jld-border-strong);border-radius:var(--jld-r-md);padding:.75rem 1rem;font:inherit;width:100%;max-width:100%}
body.jld-site input::placeholder,body.jld-site textarea::placeholder{color:#9A8590}
body.jld-site input:focus,body.jld-site select:focus,body.jld-site textarea:focus{border-color:var(--jld-glow);box-shadow:0 0 0 3px rgba(255,92,147,.2);outline:none}
body.jld-site-fans input:focus,body.jld-site-fans select:focus,body.jld-site-fans textarea:focus{border-color:var(--jld-blue);box-shadow:0 0 0 3px rgba(76,201,240,.2)}
body.jld-site input[type=checkbox],body.jld-site input[type=radio]{accent-color:var(--jld-rose);width:1.1rem;height:1.1rem}
body.jld-site label{color:var(--jld-text)}

/* Cards, badges, notices */
.jld-card{background:var(--jld-surface);border:1px solid var(--jld-border);border-radius:var(--jld-r-lg);padding:1.5rem;box-shadow:var(--jld-shadow)}
.jld-card--hover{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.jld-card--hover:hover{transform:translateY(-3px);border-color:rgba(255,92,147,.45);box-shadow:var(--jld-glow-shadow)}
.jld-badge{display:inline-block;padding:.25rem .7rem;border-radius:var(--jld-pill);font:600 .68rem/1.2 var(--jld-font-body);letter-spacing:.1em;text-transform:uppercase;background:var(--jld-surface-2);color:var(--jld-text);border:1px solid var(--jld-border-strong)}
.jld-badge--rose{background:var(--jld-rose);border-color:var(--jld-rose);color:#fff}
.jld-badge--gold{background:rgba(216,178,110,.14);border-color:rgba(216,178,110,.5);color:var(--jld-gold)}
.jld-badge--ok{background:rgba(70,200,140,.12);border-color:rgba(70,200,140,.5);color:#7de0b4}
.jld-badge--blue{background:rgba(76,201,240,.12);border-color:rgba(76,201,240,.5);color:var(--jld-blue)}
.jld-notice{border:1px solid var(--jld-border-strong);border-left:4px solid var(--jld-gold);background:var(--jld-surface);border-radius:var(--jld-r-md);padding:.9rem 1.1rem;margin:1rem 0}
.jld-notice--error{border-left-color:#ff5a6e}
.jld-notice--ok{border-left-color:#46c88c}
.jld-script{font-family:var(--jld-font-script);font-style:italic;font-weight:300;color:var(--jld-gold);font-size:1.35em;line-height:1.15;letter-spacing:-.01em}
.jld-gold-rule{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--jld-gold),transparent);margin:2rem 0}
.jld-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Promo bar */
.jld-promo{position:relative;z-index:60;background:linear-gradient(90deg,#4A1230,#D01C5E 50%,#4A1230);color:#fff;font:500 .82rem/1.4 var(--jld-font-body);letter-spacing:.06em;text-align:center;padding:.55rem 2.5rem}
.jld-promo a{color:#fff;text-decoration:underline;font-weight:600}
.jld-promo__close{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;font-size:1.2rem;cursor:pointer;padding:.2rem .5rem;line-height:1;text-transform:none;letter-spacing:0}
.jld-promo__close:hover{background:none;box-shadow:none;transform:translateY(-50%)}

/* Age gate */
#jld-agegate{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:1.25rem;background:rgba(5,2,4,.96);backdrop-filter:blur(18px)}
#jld-agegate.is-open{display:flex}
#jld-agegate .jld-ag{max-width:520px;width:100%;text-align:center;background:var(--jld-surface);border:1px solid var(--jld-border-strong);border-radius:var(--jld-r-lg);padding:2.2rem 1.6rem;box-shadow:var(--jld-glow-shadow)}
#jld-agegate img{max-width:240px;height:auto;margin:0 auto 1rem;display:block}
#jld-agegate h2{font-size:1.7rem;margin:.2rem 0 .6rem}
#jld-agegate p{color:var(--jld-muted);margin:.4rem 0 1.4rem;font-size:.95rem}
#jld-agegate .jld-ag__row{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}
body.jld-ag-lock{overflow:hidden}

/* Consent bridge toast / Turnstile */
.jld-turnstile{margin:1rem 0;min-height:65px}
.cf-turnstile{max-width:100%}

@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media (max-width:600px){.jld-btn,body.jld-site .wp-block-button__link{padding:.8rem 1.2rem}}

/* ---------- light (ivory/white) surfaces: add class "jld-light" to any Group block or wrapper ---------- */
.jld-light,.is-style-jld-light{
	--jld-text:#2B1A24;--jld-muted:#6B4A5C;--jld-surface:#FFFFFF;--jld-surface-2:#FFF8F3;--jld-border:rgba(74,18,48,.14);--jld-gold:#8A6422;
	background:#FFF8F3;color:#2B1A24;border-radius:var(--jld-r-l,24px);padding:clamp(1.2rem,3vw,2.4rem)}
.jld-light.is-white{background:#fff}
.jld-light h1,.jld-light h2,.jld-light h3,.jld-light h4,.jld-light p,.jld-light li{color:#2B1A24}
.jld-light a:not(.jld-btn):not(.button):not(.wp-element-button){color:#B5164F}
