/* Refinements for the glossary, tributes and legal pages.
   Loads after the site theme, never instead of it. */
.kinkGlossary main, .tributesPage main, .legalPage main {
  max-width: 1080px; margin: 0 auto; padding: clamp(2rem,6vw,5rem) clamp(1.1rem,5vw,3rem);
}
.kinkMasthead {
  padding: clamp(1.8rem,5vw,3.4rem);
  border: 1px solid rgba(255,119,173,.25);
  background: linear-gradient(135deg, rgba(122,5,45,.55), rgba(52,5,76,.7));
}
.kinkMasthead h1 { margin: .2em 0; font: 700 clamp(2.1rem,5vw,4rem)/1.02 Georgia, serif; color: #fff; }
.kinkMasthead h1 em { color: #ff77ad; font-style: italic; }
.kinkMasthead .eyebrow { margin: 0; color: #ff77ad; font-size: .74rem; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.kinkMasthead .lede { max-width: 62ch; color: #f0d7e5; font-size: 1.05rem; line-height: 1.7; }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.2rem; }
.chips span { padding: .4rem .7rem; border: 1px solid rgba(255,119,173,.38); background: rgba(8,2,7,.4); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }

.kinkNotice { margin: 1.4rem 0; padding: 1.1rem 1.3rem; border-left: 3px solid #ff1760; background: linear-gradient(90deg, rgba(164,7,53,.2), rgba(61,9,88,.16)); color: #efdce7; }
.kinkNotice p { margin: 0 0 .7rem; line-height: 1.7; }
.kinkNotice p:last-child { margin-bottom: 0; }
.kinkNotice a { color: #ff77ad; }

.kinkJump { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1.6rem 0; position: sticky; top: 0; padding: .7rem 0; background: rgba(9,3,7,.94); z-index: 5; }
.kinkJump a { min-width: 2.1rem; padding: .35rem .5rem; text-align: center; border: 1px solid rgba(255,119,173,.3); color: #f9ddeb; text-decoration: none; font-weight: 800; font-size: .8rem; }
.kinkJump a:hover { background: #a40735; color: #fff; }

.kinkLetter { margin: 2.4rem 0 1rem; padding-bottom: .4rem; border-bottom: 1px solid rgba(255,119,173,.25); color: #ff77ad; font: 700 2rem/1 Georgia, serif; }
.kinkList { display: block; }
.kinkEntry { padding: 1.1rem 1.2rem; margin-bottom: .8rem; border: 1px solid rgba(255,119,173,.16); background: rgba(10,3,8,.7); }
.kinkEntry h3 { margin: 0 0 .4rem; color: #fff; font: 700 1.2rem/1.2 Georgia, serif; }
.kinkEntry p { margin: 0; color: #e7d4df; line-height: 1.7; }
.kinkEntry[data-safety] { border-left: 3px solid #ff1760; }
.kinkSafety { margin-top: .7rem !important; padding-top: .6rem; border-top: 1px dashed rgba(255,119,173,.3); color: #ffc2d8 !important; font-size: .92rem; }
.kinkSafety strong { color: #ff1760; }

.tributeList { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap: .9rem; margin-top: 1.4rem; }
.tributeItem { padding: 1.2rem 1.3rem; border: 1px solid rgba(255,119,173,.22); background: rgba(10,3,8,.75); }
.tributeHead { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.tributeHead h3 { margin: 0; color: #fff; font: 700 1.15rem/1.2 Georgia, serif; }
.tributeHead b { color: #ff77ad; font: 700 1.3rem/1 Georgia, serif; white-space: nowrap; }
.tributeItem p { margin: .6rem 0 0; color: #e7d4df; line-height: 1.65; font-size: .95rem; }

.legalBody { max-width: 76ch; margin-top: 1.4rem; }
.legalBody h2 { margin: 2.2rem 0 .5rem; color: #ff77ad; font: 700 1.4rem/1.2 Georgia, serif; }
.legalBody p { color: #e7d4df; line-height: 1.75; }
.legalBody a { color: #ff77ad; }
