/* Textes d’amour : contenu original, habillage visuel assorti à Lettres d’amour. */
.page-textes-amour { --rose:#ff72b5; --gold:#efc774; background:#06112b; color:#f8f3f6; }
.page-textes-amour main { background:radial-gradient(circle at 12% 44%,rgba(193,38,105,.16),transparent 31rem),linear-gradient(180deg,#07132f,#0a1536 55%,#050e26); }
.page-textes-amour .citations-hero::after { background:linear-gradient(90deg,rgba(3,12,34,.04),rgba(3,12,34,.38) 49%,rgba(3,12,34,.95)); }
.page-textes-amour .citations-hero-copy { width:min(650px,48%); margin-right:67px; margin-left:auto; }
.page-textes-amour .citations-hero h1 em,
.page-textes-amour .citations-hero-copy em { display:inline; color:#ff829f; }
.page-textes-amour .citations-hero-copy .eyebrow,
.page-textes-amour .textes-kicker { color:var(--rose); }

.textes-intro,.textes-reading,.texte-layout { width:min(1180px,calc(100% - 32px)); margin-inline:auto; }
.textes-intro { padding:72px 0 38px; text-align:center; }
.textes-kicker { margin:0 0 12px; font-size:.78rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.textes-intro h2,.texte-article h2 { margin:0; color:#fffaf6; font-family:var(--police-poemes); font-size:clamp(2rem,5vw,3.4rem); line-height:1.08; }
.textes-intro>p:last-child { max-width:790px; margin:20px auto 0; color:#d7d9e5; font-size:1.08rem; line-height:1.8; }
.textes-reading { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; padding:28px 0 78px; }
.texte-card { position:relative; display:flex; min-height:250px; flex-direction:column; padding:30px; overflow:hidden; border:1px solid rgba(220,139,187,.34); border-radius:22px; background:linear-gradient(145deg,rgba(33,43,85,.97),rgba(25,20,64,.97)); box-shadow:0 15px 40px rgba(0,0,0,.22); transition:transform .25s,box-shadow .25s; }
.texte-card::after { position:absolute; right:-23px; bottom:-40px; color:rgba(255,101,173,.09); content:"♡"; font:9rem/1 Georgia,serif; }
.texte-card:hover { transform:translateY(-5px); box-shadow:0 24px 55px rgba(0,0,0,.34); }
.texte-card-number { color:var(--rose); font-size:.76rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.texte-card h2 { position:relative; z-index:1; margin:15px 0 13px; color:#fff8f5; font-family:var(--police-poemes); font-size:1.55rem; line-height:1.18; }
.texte-card p { position:relative; z-index:1; margin:0 0 24px; color:#d3d6e4; line-height:1.65; }
.texte-card a { position:relative; z-index:1; align-self:flex-start; margin-top:auto; color:var(--gold); font-weight:800; text-decoration:none; }
.texte-card a:hover { color:var(--rose); text-decoration:underline; text-underline-offset:4px; }

.textes-companion { padding:72px 20px; border-top:1px solid rgba(239,198,116,.24); background:linear-gradient(135deg,#08142f,#20163c 58%,#4b1728); text-align:center; }
.textes-companion h2 { margin:0 auto 14px; color:#fff; font:clamp(1.8rem,4vw,2.8rem) var(--police-poemes); }
.textes-companion p { max-width:720px; margin:0 auto 28px; color:#d9d9e8; line-height:1.7; }
.textes-companion-links { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.textes-companion-links a { padding:12px 19px; border:1px solid rgba(239,198,116,.42); border-radius:999px; color:#fff; font-weight:700; text-decoration:none; }
.textes-companion-links a:hover { background:#fff; color:#781d3b; }

.texte-layout { padding:68px 0 84px; }
.texte-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; color:#bfcbe1; font-size:.9rem; }
.texte-breadcrumb a { color:#ff83c1; }
.texte-article { position:relative; max-width:850px; margin:0 auto; padding:clamp(32px,6vw,72px); overflow:hidden; border:1px solid rgba(203,154,88,.56); border-radius:36px; background:linear-gradient(rgba(255,250,241,.9),rgba(255,250,241,.9)),url("../../../images/fonds-textes/fond-poemes-amour.webp") center/cover no-repeat; box-shadow:0 32px 90px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.8); }
.texte-article::before,.texte-article::after { position:absolute; color:rgba(242,200,111,.13); font:150px/1 var(--police-poemes); }
.texte-article::before { top:6px; left:24px; content:"“"; }
.texte-article::after { right:24px; bottom:-48px; content:"”"; }
.texte-article>* { position:relative; z-index:1; }
.texte-article h2 { color:#2b1722; }
.texte-article .texte-lead { margin:18px 0 34px; color:#a52359; font:italic 1.2rem/1.65 var(--police-poemes); }
.texte-body { color:#402630; font:1.12rem/1.9 var(--police-poemes); text-shadow:0 1px 0 rgba(255,255,255,.82); }
.texte-body p { margin:0 0 1.35em; }
.texte-body ul { display:grid; gap:14px; margin:0; padding:0; list-style:none; }
.texte-body li { position:relative; padding-left:29px; }
.texte-body li::before { position:absolute; left:0; color:var(--rose); content:"♡"; }
.texte-body blockquote { margin:30px 0; padding:22px 25px; border-left:3px solid #c99a58; background:rgba(255,255,255,.48); color:#402630; font-style:italic; }
.texte-signature { margin-top:34px; color:var(--rose); font:italic 1.15rem var(--police-poemes); text-align:right; }
.page-textes-amour .share-panel { max-width:850px; margin:38px auto 0; border-color:rgba(242,200,111,.44); background:linear-gradient(145deg,rgba(24,36,82,.96),rgba(13,22,58,.96)); box-shadow:0 20px 55px rgba(0,0,0,.28); }
.page-textes-amour .share-panel h2 { color:#fffaf6; }
.page-textes-amour .share-panel p { color:#cfd7f3; }
.page-textes-amour .share-heart { background:#111b48; color:var(--rose); }
.texte-navigation { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:850px; margin:38px auto 0; }
.texte-navigation a,.texte-navigation span { display:flex; min-height:58px; align-items:center; justify-content:center; padding:12px; border:1px solid rgba(132,158,220,.65); border-radius:18px; background:rgba(20,31,73,.76); color:#fff; font-weight:700; text-align:center; text-decoration:none; }
.texte-navigation a:hover { border-color:var(--rose); color:#ff92c7; }
.texte-navigation .disabled { color:#7e89ac; }

@media(max-width:900px) { .textes-reading { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:850px) { .page-textes-amour .citations-hero>img { object-position:36% center; } .page-textes-amour .citations-hero::after { background:linear-gradient(0deg,rgba(3,12,34,.98) 5%,rgba(3,12,34,.25) 85%); } .page-textes-amour .citations-hero-copy { width:auto; margin:0; } }
@media(max-width:760px) { .page-textes-amour .citations-hero { background:#06112b!important; } .page-textes-amour .citations-hero>.mobile-rubrique-image { display:block!important; width:100vw!important; height:52.5vw!important; object-fit:cover!important; object-position:center!important; background:#06112b; } .page-textes-amour .citations-hero-copy { background:linear-gradient(180deg,#07162f,#111d3d); text-align:center; } .page-textes-amour .citations-hero-copy h1 { white-space:normal!important; } }
@media(max-width:620px) { .textes-intro { padding-top:50px; } .textes-reading { grid-template-columns:1fr; padding-bottom:54px; } .texte-card { min-height:0; } .texte-layout { padding-top:42px; } .texte-article { border-radius:26px; } .texte-navigation { grid-template-columns:1fr; } }

/* Les lettres et déclarations gardent leur mise en page, sans fond papier blanc. */
body.page-textes-amour.declaration-page .declaration-card {
  border-color: rgba(242,200,111,.56) !important;
  background:linear-gradient(rgba(255,250,241,.9),rgba(255,250,241,.9)),url("../../../images/fonds-textes/fond-poemes-amour.webp") center/cover no-repeat !important;
  box-shadow:0 32px 90px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.8) !important;
}
body.page-textes-amour.declaration-page .declaration-card h2 { color:#2b1722 !important; }
body.page-textes-amour.declaration-page .declaration-card .declaration-text {
  color:#402630 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.82) !important;
}
body.page-textes-amour.declaration-page .declaration-card .declaration-signature { color:#a52359 !important; }
body.page-textes-amour.declaration-page .declaration-card::before,
body.page-textes-amour.declaration-page .declaration-card::after { color:rgba(145,44,78,.16) !important; }

@media(max-width:620px) {
  .page-textes-amour .textes-intro h2 { font-size:clamp(1.9rem,9vw,2.45rem); }
  .page-textes-amour .textes-intro>p:last-child { font-size:.96rem; line-height:1.65; }
  .page-textes-amour .texte-card { padding:25px; }
  .page-textes-amour .texte-card h2 { font-size:1.35rem; }
  .page-textes-amour .texte-card p { font-size:.94rem; line-height:1.58; }
  html body.page-textes-amour main .texte-article h2,
  html body.page-textes-amour.declaration-page main .declaration-card h2 {
    color:#21131a !important;
    text-shadow:none !important;
  }
  body.page-textes-amour.declaration-page .declaration-card h2 { font-size:clamp(2rem,10vw,2.55rem); }
  body.page-textes-amour.declaration-page .declaration-card .declaration-text { font-size:1rem; line-height:1.7; }
}
