/*
Theme Name: La Princesse Dorée
Theme URI: https://laprincessedoree.fr/
Author: La Princesse Dorée
Description: Thème éditable FR/JP pour La Princesse Dorée. Le contenu est géré dans les pages WordPress et les langues par Polylang.
Version: 3.2.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: la-princesse-doree
*/

:root{--ink:#171513;--coal:#211e1b;--brown:#3b3029;--ivory:#f5f1e9;--paper:#fbfaf6;--greige:#d9d0c5;--gold:#b89a56;--muted:#766f68;--serif:"Iowan Old Style","Baskerville","Times New Roman",serif;--sans:Inter,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.72}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.lpd-wrap{width:min(1180px,calc(100% - 48px));margin:auto}.lpd-serif{font-family:var(--serif)}.lpd-gold{color:var(--gold)}
.site-header{position:fixed;inset:0 0 auto;z-index:50;color:#fff;background:linear-gradient(#171513e8,#1715133b,transparent);transition:.25s}.site-header.is-solid{background:#171513f5}.site-nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.site-brand{font:500 1.25rem/1.1 var(--serif);letter-spacing:.06em}.menu-toggle{display:none;border:0;background:none;color:#fff;font-size:1.4rem}.site-menu{display:flex;align-items:center;gap:24px;margin:0;padding:0;list-style:none;font-size:.75rem;letter-spacing:.11em;text-transform:uppercase}.site-menu a{opacity:.82}.site-menu a:hover,.site-menu .current-menu-item>a{opacity:1;color:#e6cd90}.language-switcher{display:flex;gap:8px;border-left:1px solid #ffffff4d;padding-left:20px}.language-switcher a{padding:4px;opacity:.58}.language-switcher .current-lang a{opacity:1;border-bottom:1px solid var(--gold)}
.site-main{min-height:70vh}.entry-content{margin:0}.entry-content>.wp-block-group{margin-block-start:0}.entry-content h1,.entry-content h2,.entry-content h3{font-family:var(--serif);font-weight:400}.lpd-eyebrow{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.lpd-hero{min-height:100svh;display:flex;align-items:center;color:#fff;background:radial-gradient(circle at 78% 40%,#3b3029 0,#211c18 32%,#141210 72%);padding:140px 0 80px}.lpd-hero .wp-block-columns{width:min(1180px,calc(100% - 48px));margin:auto;gap:clamp(50px,7vw,105px);align-items:center}.lpd-hero h1{font-size:clamp(3.8rem,7vw,7rem);line-height:.9;margin:16px 0 32px}.lpd-hero-copy{font:400 clamp(1.45rem,2.5vw,2.35rem)/1.38 var(--serif)}
.lpd-section{padding:120px 0}.lpd-section>.wp-block-group__inner-container,.lpd-section>.wp-block-columns,.lpd-section>.wp-block-heading,.lpd-section>p,.lpd-section>.wp-block-buttons{width:min(1180px,calc(100% - 48px));margin-left:auto;margin-right:auto}.lpd-section h2{font-size:clamp(2.2rem,4vw,4.3rem);line-height:1.08}.lpd-dark{background:var(--ink);color:#fff}.lpd-charcoal{background:var(--coal);color:#fff}.lpd-muted{color:var(--muted)}.lpd-dark .lpd-muted,.lpd-charcoal .lpd-muted{color:#bbb2a7}
.lpd-intro .wp-block-columns{gap:70px}.lpd-intro .wp-block-column:first-child{font:400 clamp(1.35rem,2.4vw,2rem)/1.5 var(--serif)}
.lpd-princesse{padding:0;background:#1f1b18;color:#fff}.lpd-princesse>.wp-block-columns{width:100%;max-width:none;margin:0;gap:0;min-height:820px}.lpd-princesse .wp-block-image{height:820px;margin:0;background:#1d1916}.lpd-princesse .wp-block-image img{width:100%;height:100%;object-fit:contain}.lpd-princesse .wp-block-column:last-child{display:flex;flex-direction:column;justify-content:center;padding:90px clamp(35px,7vw,110px)}.lpd-princesse blockquote{font:400 clamp(2rem,4vw,4rem)/1.23 var(--serif);margin:25px 0;border:0;padding:0}
.lpd-placeholder{min-height:260px;display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,#3a322b 0,#211d19 48%,#151310 100%);border:1px solid #b89a5638;color:#d9c7a0;text-align:center}.lpd-placeholder p{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.lpd-collection-grid{gap:20px}.lpd-card{min-height:470px;display:flex;flex-direction:column;justify-content:flex-end;background:#211e1b;color:#fff;padding:30px}.lpd-card .lpd-placeholder{flex:1;margin:-30px -30px 26px}.lpd-card h3{font-size:2.2rem;margin:0}.lpd-card p{font-size:.9rem;color:#dfd8d0}
.lpd-space-grid{gap:22px}.lpd-space-grid .lpd-placeholder{min-height:460px}.lpd-note{font-size:.82rem;color:#bdb4aa}.lpd-gift>.wp-block-columns{gap:75px;align-items:center}.lpd-gift .lpd-placeholder{min-height:430px}.lpd-gift h2{font-size:clamp(2.6rem,5vw,5.2rem)}
.lpd-story{position:relative;min-height:760px;display:flex;align-items:end;overflow:hidden;background:#11100f;color:#fff}.lpd-story .wp-block-cover{width:100%;min-height:760px}.lpd-story .wp-block-cover__image-background{object-fit:contain;object-position:right center}.lpd-story h2{max-width:820px;font-size:clamp(2.5rem,4.4vw,4.8rem);line-height:1.12}.lpd-story .wp-block-cover__inner-container{padding:90px 6vw}
.lpd-france-japon .wp-block-columns{gap:80px}.lpd-contact{text-align:center;padding:88px 0}.lpd-contact h2{font-size:clamp(2.2rem,3.6vw,3.8rem)}
.lpd-page-hero{padding:180px 0 85px;background:#1a1714;color:#fff}.lpd-page-hero h1{font-size:clamp(3.4rem,7vw,6.8rem);line-height:.98}.lpd-reading{max-width:760px!important}.lpd-reading p{font-family:var(--serif);font-size:clamp(1.08rem,1.4vw,1.24rem);line-height:1.9;margin-bottom:1.55em}.lpd-reading h2{margin-top:70px}.lpd-two-column{gap:80px}.lpd-image-frame .wp-block-image{background:#211d19}.lpd-image-frame img{width:100%;max-height:700px;object-fit:contain}.lpd-contact-form input,.lpd-contact-form select,.lpd-contact-form textarea{width:100%;padding:14px;border:1px solid #cfc7bd;background:#fff;font:inherit}.lpd-contact-form textarea{min-height:160px}.lpd-contact-form label{display:block;margin-top:14px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.wp-block-button__link{border-radius:0;background:transparent;color:inherit;border-bottom:1px solid var(--gold);padding:7px 0;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}.wp-block-button__link:hover{color:var(--gold)}
.site-footer{background:#11100f;color:#aaa097;padding:58px 0 32px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(2,1fr);gap:50px}.footer-title{color:#fff;font:400 1.15rem var(--serif)}.footer-menu{list-style:none;padding:0;margin:0}.footer-menu a{display:block;margin:8px 0}.copyright{border-top:1px solid #ffffff1c;margin-top:42px;padding-top:22px;font-size:.75rem}
@media(max-width:900px){.menu-toggle{display:block}.site-menu-wrap{display:none;position:absolute;top:76px;left:18px;right:18px;background:#171513;padding:22px}.site-menu-wrap.open{display:block}.site-menu{flex-direction:column;align-items:flex-start}.site-nav{height:76px}.lpd-hero .wp-block-columns,.lpd-princesse>.wp-block-columns,.lpd-section .wp-block-columns{flex-wrap:wrap!important}.lpd-hero .wp-block-column,.lpd-princesse .wp-block-column,.lpd-section .wp-block-column{flex-basis:100%!important}.lpd-section{padding:85px 0}.lpd-princesse .wp-block-image{height:600px}.lpd-space-grid .lpd-placeholder{min-height:340px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.lpd-wrap,.lpd-section>.wp-block-group__inner-container,.lpd-section>.wp-block-columns,.lpd-section>.wp-block-heading,.lpd-section>p,.lpd-section>.wp-block-buttons{width:min(100% - 30px,1180px)}.lpd-hero{padding:115px 0 60px}.lpd-hero .wp-block-columns{width:min(100% - 30px,1180px)}.lpd-hero h1{font-size:3.2rem}.lpd-princesse .wp-block-image{height:500px}.lpd-princesse .wp-block-column:last-child{padding:60px 25px}.lpd-story,.lpd-story .wp-block-cover{min-height:680px}.lpd-story .wp-block-cover__image-background{object-position:center top}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}

/* 3.1 — typography, content gutters and language navigation alignment */
body{font-size:15px}
.site-brand{flex:0 0 auto}
.site-menu-wrap{display:flex;align-items:center;justify-content:flex-end;gap:20px;min-width:0}
.language-switcher{align-items:center;margin:0;padding-top:0;padding-bottom:0;list-style:none;line-height:1}
.language-switcher li{display:flex;align-items:center}
.language-switcher a,.language-switcher span{display:block;padding:5px 4px}
.entry-content{overflow:hidden}
.entry-content>:not(.alignfull):not(.lpd-hero):not(.lpd-section):not(.lpd-princesse):not(.lpd-story):not(.lpd-page-hero){width:min(1180px,calc(100% - 48px));margin-left:auto;margin-right:auto}
.lpd-section{padding:108px 24px}
.lpd-section>.wp-block-group__inner-container,.lpd-section>.wp-block-columns,.lpd-section>.wp-block-heading,.lpd-section>p,.lpd-section>.wp-block-buttons{width:min(1180px,100%)}
.lpd-hero h1{font-size:clamp(3.2rem,5.8vw,5.9rem);line-height:.94}
.lpd-hero-copy{font-size:clamp(1.3rem,2.15vw,2rem);line-height:1.42}
.lpd-section h2{font-size:clamp(2rem,3.35vw,3.65rem);line-height:1.12}
.lpd-princesse blockquote{font-size:clamp(1.8rem,3.25vw,3.35rem);line-height:1.28}
.lpd-gift h2{font-size:clamp(2.25rem,4vw,4.2rem)}
.lpd-story h2{font-size:clamp(2.2rem,3.75vw,4rem);line-height:1.15}
.lpd-contact{padding:82px 24px}
.lpd-contact h2{font-size:clamp(2rem,3.1vw,3.2rem)}
.lpd-page-hero{padding-left:24px;padding-right:24px}
.lpd-page-hero>*{width:min(1180px,100%);margin-left:auto;margin-right:auto}
.lpd-page-hero h1{font-size:clamp(2.9rem,5.7vw,5.5rem);line-height:1}
.lpd-reading p{font-size:clamp(1.04rem,1.25vw,1.16rem)}
@media(max-width:900px){
  .site-menu-wrap{display:none;flex-direction:column;align-items:flex-start;gap:18px}
  .site-menu-wrap.open{display:flex}
  .language-switcher{width:100%;padding:16px 0 0;border-left:0;border-top:1px solid #ffffff4d}
  .lpd-section{padding:78px 24px}
}
@media(max-width:600px){
  .entry-content>:not(.alignfull):not(.lpd-hero):not(.lpd-section):not(.lpd-princesse):not(.lpd-story):not(.lpd-page-hero){width:min(100% - 30px,1180px)}
  .lpd-section{padding-left:15px;padding-right:15px}
  .lpd-hero h1{font-size:2.85rem}
}

/* 3.2 — fixed-header legibility, compact vertical rhythm and language-aware type */
.site-header{background:rgba(23,21,19,.94);box-shadow:0 1px 0 #ffffff12;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.site-header.is-solid{background:rgba(23,21,19,.98)}
.lpd-hero{min-height:92svh;padding-top:118px;padding-bottom:70px}
.lpd-page-hero{padding-top:150px;padding-bottom:72px}
.lpd-page-hero h1{max-width:1050px;text-wrap:balance}
.lpd-section h2,.lpd-princesse blockquote,.lpd-story h2{text-wrap:balance}
html[lang^="ja"] .lpd-page-hero h1{max-width:1000px;font-size:clamp(2.65rem,5vw,4.7rem);line-height:1.2;letter-spacing:.015em}
html[lang^="ja"] .lpd-section h2{font-size:clamp(1.9rem,3vw,3.25rem);line-height:1.32;letter-spacing:.015em}
html[lang^="ja"] .lpd-princesse blockquote{font-size:clamp(1.75rem,3vw,3.05rem);line-height:1.38}
@media(max-width:1100px){
  .menu-toggle{display:block}
  .site-menu-wrap{display:none;position:absolute;top:76px;left:18px;right:18px;flex-direction:column;align-items:flex-start;gap:18px;background:#171513;padding:22px;box-shadow:0 12px 30px #0005}
  .site-menu-wrap.open{display:flex}
  .site-menu{flex-direction:column;align-items:flex-start;gap:18px}
  .language-switcher{width:100%;padding:16px 0 0;border-left:0;border-top:1px solid #ffffff4d}
  .site-nav{height:76px}
}
@media(max-width:600px){
  .lpd-hero{min-height:auto;padding-top:105px;padding-bottom:58px}
  .lpd-page-hero{padding-top:125px;padding-bottom:60px}
  .lpd-page-hero h1{font-size:clamp(2.35rem,11vw,3.25rem);line-height:1.08}
  html[lang^="ja"] .lpd-page-hero h1{font-size:clamp(2.2rem,9.8vw,3rem);line-height:1.25}
}
