/* One legal-document system for hotel pages and WooCommerce information pages. */
:root {
  --legal-title:clamp(28px,3.4vw,40px);
  --legal-heading:clamp(21px,2vw,25px);
  --legal-copy:18px;
  --legal-gap:32px;
}
.page-legal main {
  box-sizing:border-box;width:min(calc(100% - var(--gutter)*2),var(--content-max));
  max-width:none;margin-inline:auto;padding:calc(94px + var(--section-space)) 0 var(--section-space);
}
:is(.page-legal .legal-document,.fe-shop .shop-main>article.shop-document-page) {
  box-sizing:border-box;width:100%;max-width:none;min-width:0;margin:0;padding:0;
  text-align:left;color:var(--ink,#282622);font:400 var(--legal-copy)/1.7 var(--font);
  overflow-wrap:anywhere;
}
/* Shop chrome already reserves header space; align documents inside its content wrapper. */
.fe-shop .shop-main>article.shop-document-page { padding-block:var(--section-space) 0; }
:is(.page-legal .legal-document,.fe-shop .shop-main>article.shop-document-page) h1 {
  font:400 var(--legal-title)/1.2 var(--font-display);letter-spacing:-.02em;text-transform:none;
  text-align:left;max-width:none;margin:0 0 var(--legal-gap);padding:0 0 24px;
  border:0;border-bottom:1px solid rgba(40,38,34,.16);
}
:is(.page-legal .legal-document,.fe-shop .shop-main>article.shop-document-page) h2 {
  font:500 var(--legal-heading)/1.35 var(--font);letter-spacing:0;text-transform:none;
  max-width:none;margin:var(--legal-gap) 0 14px;padding:0;border:0;
}
:is(.page-legal .legal-document,.fe-shop .shop-main>article.shop-document-page) h3 {
  font:500 20px/1.4 var(--font);letter-spacing:0;text-transform:none;margin:24px 0 12px;padding:0;border:0;
}
:is(.page-legal .legal-document,.fe-shop .shop-main>article.shop-document-page) :is(p,li,dt,dd) {
  font:400 var(--legal-copy)/1.7 var(--font);color:var(--text-quiet,#625e55);max-width:none;
}
:is(.page-legal .legal-document,.fe-shop .shop-main>article.shop-document-page) p { margin:0 0 16px; }
:is(.page-legal .legal-document,.fe-shop .shop-main>article.shop-document-page) :is(ul,ol) { padding-left:1.4em;margin:0 0 20px; }
:is(.page-legal .legal-document,.fe-shop .shop-main>article.shop-document-page) a:not(.button) { color:#855838;text-decoration:underline;text-underline-offset:4px; }
:is(.page-legal .legal-document,.fe-shop .shop-main>article.shop-document-page) .eyebrow { margin:0 0 16px;font:500 13px/1.5 var(--font);letter-spacing:.1em;color:var(--text-quiet); }
:is(.page-legal .legal-document,.fe-shop .shop-main>article.shop-document-page) table { width:100%;border-collapse:collapse;font:400 16px/1.5 var(--font); }
:is(.page-legal .legal-document,.fe-shop .shop-main>article.shop-document-page) :is(td,th) { padding:12px 10px;border-bottom:1px solid #d1d3c8;text-align:left;vertical-align:top;overflow-wrap:anywhere; }
@media(max-width:800px) {
  :root { --legal-copy:17px;--legal-gap:28px; }
  .page-legal main { padding-top:calc(82px + var(--section-space)); }
}
@media print {
  .page-legal main { width:100%;padding:0; }
  :is(.page-legal .legal-document,.fe-shop .shop-main>article.shop-document-page) { padding:0; }
}
