
[data-legal-page] .header-actions { margin-left:auto; }
.legal-main { max-width:960px; padding-block:40px 55px; }
.legal-back { display:inline-block; color:#c7b4bd; font-size:12px; margin-bottom:25px; }
.legal-card { padding:48px; border:1px solid #ffffff25; border-radius:28px; background:linear-gradient(125deg,#ffffff10,#ffffff04 65%,#ff71890a); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); box-shadow:inset 0 1px 0 #ffffff25,0 20px 55px #0003; }
.legal-card[hidden] { display:none; }
.legal-card h1 { font-size:clamp(26px,3.3vw,44px); line-height:1.3; margin-bottom:38px; overflow-wrap:anywhere; }
.legal-card h2 { font:800 20px var(--body); letter-spacing:-.02em; margin:32px 0 14px; }
.legal-card p,.legal-card li,.legal-card dd { color:#c7bec2; font-size:14px; line-height:1.9; }
.legal-card li { padding-left:6px; margin-bottom:12px; }
.legal-card ol { padding-left:20px; }
.legal-card a { color:#ffd4dd; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.legal-details { display:grid; grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr); gap:18px 28px; }
.legal-details dt { color:#a99da4; font-size:13px; line-height:1.9; }
.legal-details dd { margin:0; overflow-wrap:anywhere; }
@media(max-width:620px){ .legal-main { padding-block:30px; }.legal-card{padding:27px 22px;border-radius:23px;}.legal-card h1{font-size:27px;margin-bottom:27px;}.legal-card h2{font-size:18px;}.legal-card p,.legal-card li,.legal-card dd{font-size:13px;}.legal-details{grid-template-columns:1fr;gap:5px;}.legal-details dd{margin-bottom:18px;}.legal-card{backdrop-filter:blur(14px);} }

/* Equal-size, touch-friendly footer navigation on every page. */
.legal-links {
 display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:1fr;
 gap:12px; padding-block:20px 32px; border-top:1px solid #ffffff12;
}
.legal-links a {
 display:flex; align-items:center; justify-content:center; min-width:0; min-height:58px;
 padding:14px 16px; text-align:center; font-size:12px; font-weight:600; line-height:1.5;
 color:#d8cdd2; border:1px solid #ffffff20; border-radius:16px;
 background:linear-gradient(135deg,#ffffff0e,#ffffff04);
 box-shadow:inset 0 1px 0 #ffffff15;
 transition:background .2s,border-color .2s,color .2s;
}
.legal-links a:hover { color:#fff; border-color:#ff8da24d; background:linear-gradient(135deg,#ff65751c,#ffffff08); }
.legal-links a:focus-visible { outline:2px solid #ff95a9; outline-offset:3px; }
[data-legal-page] .legal-links { max-width:960px; }
@media(max-width:850px) { .legal-links { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .legal-links { gap:10px; padding-block:18px 24px; }.legal-links a { min-height:64px; padding:12px 10px; font-size:12px; border-radius:14px; } }
@media(max-width:379px) { .legal-links { grid-template-columns:1fr; gap:8px; }.legal-links a { min-height:48px; } }

.terms-contents { display:grid; gap:10px; margin:25px 0 36px; padding:22px; border:1px solid #ffffff18; border-radius:16px; background:#ffffff03; }
.legal-card .terms-contents a { font-size:13px; line-height:1.6; text-decoration:none; color:#d5bdc7; }
.legal-card .terms-contents a:hover { color:#fff; text-decoration:underline; }
.legal-card section { scroll-margin-top:30px; }
@media(max-width:620px){ .terms-contents { padding:16px; }.legal-card .terms-contents a { display:block; padding-block:6px; } }

.order-terms-note { grid-column:1/-1; position:relative; z-index:1; margin:0; color:#cbbdc4; font-size:12px; line-height:1.8; max-width:680px; }
.order-terms-note a { color:#ffe0e9; text-decoration:underline; text-underline-offset:3px; }
