/* Legal pages intentionally use the same warm workshop hero image as the main site. */
.legal-page-section { position: relative; isolation: isolate; min-height: calc(100vh - 150px); padding: clamp(28px, 4vw, 58px) 0; background: linear-gradient(115deg, rgba(15, 9, 5, .78), rgba(20, 12, 7, .62)), url("../img/hero-bg.png") center center / cover no-repeat fixed; }
.legal-page-section .container { position: relative; z-index: 1; }
.legal-page { max-width: 1000px; padding: clamp(24px, 4vw, 48px); border: 1px solid rgba(198, 151, 79, .45); border-radius: 18px; background: rgba(28, 20, 14, .88); box-shadow: 0 20px 65px rgba(0,0,0,.42); color: #f2e9dc; text-shadow: none; backdrop-filter: blur(3px); }
.legal-page * { text-shadow: none; }
.legal-page-header { padding-bottom: 24px; margin-bottom: 28px; border-bottom: 1px solid rgba(210, 171, 107, .28); }
.legal-eyebrow { margin: 0 0 8px; color: #e0b36e; font-size: .76rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.legal-page h1 { margin: 0 0 10px; color: #e8bf79; font-size: clamp(2rem, 5vw, 3.1rem); line-height: 1.1; }
.legal-page-header > p:last-child { margin: 0; color: #d4c6b4; opacity: 1; }
.legal-page section { margin: 28px 0 0; }
.legal-page h2 { margin: 0 0 12px; color: #e4bd7c; font-size: clamp(1.2rem, 2.7vw, 1.55rem); }
.legal-page h3 { margin: 20px 0 8px; color: #f0d8b1; font-size: 1.05rem; }
.legal-page p, .legal-page li { color: #eee5d9; line-height: 1.75; }
.legal-page p { margin: 0 0 12px; }
.legal-page ul { padding-left: 22px; }
.legal-page a { color: #f0c980; text-decoration: underline; text-underline-offset: 3px; }
.legal-page a:hover { color: #ffe1a4; }
.legal-notice { margin: 20px 0 26px; padding: 16px 18px; border-left: 4px solid #c49b59; border-radius: 8px; background: rgba(196,155,89,.13); color: #f4e8d5; line-height: 1.65; }
.legal-details { margin: 0; }
.legal-details > div { display: grid; grid-template-columns: minmax(160px, .8fr) 1.5fr; gap: 20px; padding: 13px 0; border-bottom: 1px solid rgba(210,171,107,.22); }
.legal-details dt { color: #f0d8b1; font-weight: 800; }
.legal-details dd { margin: 0; color: #eee5d9; overflow-wrap: anywhere; }
.legal-muted { color: #c9bba8; font-size: .9em; }
.legal-action-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.contact-privacy-note { margin: 0 0 18px; color: inherit; font-size: .88rem; line-height: 1.55; }
.contact-privacy-note a { color: #d6af6f; text-underline-offset: 3px; }
@media (max-width: 600px) {
  .legal-page-section { padding: 22px 0; background-attachment: scroll; }
  .legal-page { padding: 22px 18px; border-radius: 12px; }
  .legal-details > div { grid-template-columns: 1fr; gap: 4px; }
}
