/* Styles limited to the new policy pages; existing ABOUT/photo styles are unchanged. */
.policy-page .header{justify-content:space-between;gap:16px;min-height:90px;height:auto;padding-top:16px;padding-bottom:16px}
.policy-page .header .language-switch{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}
.policy-document{padding-top:72px;padding-bottom:80px}
.policy-document h1{font-size:clamp(1.8rem,5vw,2.5rem);overflow-wrap:anywhere}
.policy-document h2{font-size:clamp(1.2rem,3vw,1.55rem);margin:44px 0 20px;padding-top:12px;border-top:1px solid #d8cbbb;scroll-margin-top:24px}
.policy-document p{white-space:pre-line;overflow-wrap:anywhere;margin-bottom:16px}
.policy-toc{display:flex;flex-wrap:wrap;gap:8px 18px;padding:18px 20px;background:var(--sand);margin:28px 0 40px}
.policy-toc a,.policy-home a,.policy-page .language-switch a{display:inline-flex;align-items:center;min-height:44px}
.policy-page .language-switch a{padding:8px 5px}
.policy-page .footer-links a{padding:8px 0;min-height:44px;overflow-wrap:anywhere}
.policy-home{margin-top:48px}
@media(max-width:600px){.policy-page .header{min-height:76px;padding:12px;gap:8px}.policy-document{padding-top:44px}.policy-document p{line-height:1.95}.policy-toc{display:grid;grid-template-columns:1fr;padding:14px 18px}.policy-page .footer-links{grid-template-columns:1fr}}

/* Exact calendar-day cancellation periods, shared by both languages. */
.cancellation-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.95rem;margin:20px 0 24px}
.cancellation-table th,.cancellation-table td{border:1px solid #d8cbbb;padding:12px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.cancellation-table th{background:var(--sand);font-weight:600}
.cancellation-table th:first-child{width:70%}
.cancellation-table-wrap{min-width:0;max-width:100%}
@media(max-width:500px){.cancellation-table{font-size:.88rem}.cancellation-table th,.cancellation-table td{padding:9px}.cancellation-table th:first-child{width:64%}}
