/* Public trust and policy pages. Shared typography/colors come from design-tokens.css. */
.testimonials-section{background:var(--color-primary-soft)}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.testimonial-card{position:relative;display:flex;flex-direction:column;margin:0;padding:28px;background:#fff;border:1px solid var(--color-border);border-radius:24px;box-shadow:var(--shadow-card);min-width:0}
.testimonial-quote{font-family:Georgia,serif;font-size:64px;color:var(--color-coral);height:48px;line-height:1}
.testimonial-rating{color:var(--color-primary);font-family:Arial,sans-serif;font-size:20px;letter-spacing:2px;direction:ltr;text-align:right;margin:8px 0}
.testimonial-rating .unfilled{color:var(--color-muted)}
.testimonial-card blockquote{margin:12px 0 24px;flex:1}
.testimonial-card blockquote p{font-size:14px;line-height:2.1;margin:0;white-space:pre-line;overflow-wrap:anywhere;color:var(--color-text)}
.testimonial-card figcaption{display:flex;gap:12px;align-items:center;border-top:1px solid var(--color-border);padding-top:20px}
.testimonial-avatar{width:48px;height:48px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;flex-shrink:0;font-size:20px}
.testimonial-card figcaption strong{display:block;font-family:var(--font-teacher);font-size:18px;font-weight:700}
.testimonial-card figcaption small,.testimonial-card time{display:block;font-size:12px;line-height:1.8;color:var(--color-muted)}
.testimonial-invite{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--color-border);border-radius:16px;padding:24px;margin-top:28px}
.testimonial-invite>.site-icon{width:38px;height:38px;flex-shrink:0;color:var(--color-primary)}
.testimonial-invite>div{flex:1}.testimonial-invite h3{font-size:18px;margin:0 0 8px}.testimonial-invite p{margin:0;font-size:13px;color:var(--color-muted);line-height:1.9}
.trust-policy-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin-top:24px}
.trust-policy-links a{font-size:13px;color:var(--color-primary);padding:10px 0;text-decoration:underline;text-underline-offset:5px}
.legal-hero h1{font-size:36px}.legal-updated{font-size:12px;color:var(--color-muted)}
.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}
.legal-index{position:sticky;top:112px;padding:24px;border-radius:16px;background:#fff;border:1px solid var(--color-border)}
.legal-index strong{font-size:16px;color:var(--color-primary)}.legal-index nav{display:grid;margin:14px 0}
.legal-index nav a{font-size:13px;padding:10px 0;border-bottom:1px solid var(--color-border);line-height:1.8}
.legal-document{padding:36px;background:#fff;border:1px solid var(--color-border);border-radius:24px;min-width:0}
.legal-document>section{scroll-margin-top:116px;margin-bottom:32px}.legal-document h2{font-size:20px;line-height:1.8;margin:0 0 16px;color:var(--color-primary)}
.legal-document p{font-size:14px;line-height:2.15;margin:0 0 14px;overflow-wrap:anywhere}
.legal-document-footer{border-top:1px solid var(--color-border);padding-top:24px;font-size:12px;color:var(--color-muted);overflow-wrap:anywhere}
.legal-document-footer nav{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:16px}.legal-document-footer a{color:var(--color-primary);padding:10px 0;text-decoration:underline}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.contact-card{background:#fff;border:1px solid var(--color-border);border-radius:24px;padding:32px;min-width:0}
.contact-card h2{font-size:22px;margin:18px 0 12px}.contact-card p{font-size:14px;color:var(--color-muted);line-height:2}
.contact-number{display:block;width:fit-content;margin:18px 0;color:var(--color-primary);font-family:Tahoma,Arial,sans-serif;font-size:18px;overflow-wrap:anywhere;max-width:100%}
.public-identity{margin:16px 0 24px}.public-identity div{padding:12px 0;border-bottom:1px solid var(--color-border)}.public-identity dt{font-size:12px;color:var(--color-muted)}.public-identity dd{margin:6px 0 0;font-size:14px;overflow-wrap:anywhere}
.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.document-link{display:flex;align-items:center;gap:16px;padding:24px;border-radius:16px;background:#fff;border:1px solid var(--color-border);color:var(--color-primary)}.document-link span{flex:1;overflow-wrap:anywhere}.document-link small{display:block;font-size:12px;color:var(--color-muted);margin-top:8px}
.public-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}
.public-body .consent-line{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:2}.public-body .consent-line input{width:18px;height:18px;min-width:18px;margin:6px 0 0;accent-color:var(--color-primary)}.consent-line a,.booking-policy-note a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.booking-policy-note{font-size:13px;line-height:2;padding:18px 22px;background:var(--color-primary-soft);border-radius:12px;margin:18px 0}
@media(max-width:1000px){.testimonial-grid,.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-layout{grid-template-columns:1fr}.legal-index{position:static}.legal-index nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.public-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.testimonial-grid,.contact-grid,.document-grid,.public-footer-grid{grid-template-columns:1fr}.testimonial-card,.contact-card{padding:22px}.testimonial-invite{flex-wrap:wrap;padding:20px;gap:14px}.testimonial-invite>.site-icon{width:28px;height:28px}.testimonial-invite .btn{width:100%}.legal-document{padding:22px 18px}.legal-hero h1{font-size:26px}.legal-document h2{font-size:18px}.legal-document p{font-size:14px}.legal-index{padding:20px}.legal-index nav{grid-template-columns:1fr}.trust-policy-links{gap:8px 16px}.contact-card h2{font-size:20px}}
@media print{.legal-index,.trust-policy-links{display:none}.legal-layout{display:block}.legal-document{border:0;padding:0}}
