.checkout-terms { margin:18px 0 16px; padding:17px; border:1px solid #d6e4e7; border-radius:13px; background:#f7fbfb; }
.checkout-terms-heading { display:flex; align-items:flex-start; gap:10px; }
.checkout-terms-heading > span { flex:none; margin-top:1px; padding:4px 7px; border-radius:5px; background:#dceff0; color:#155160; font-size:10px; font-weight:800; letter-spacing:.06em; }
.checkout-terms-heading h2,.checkout-terms-heading h4 { margin:0; font-size:13px; color:var(--text); }
.checkout-terms-heading p { margin:4px 0 0; color:var(--muted); font-size:10px; }
.checkout-terms-summary { margin:13px 0; padding:12px 13px; border-radius:8px; background:#fff; color:var(--text-2); font-size:11px; line-height:1.8; }
.terms-consent { position:relative; display:grid; grid-template-columns:20px minmax(0,1fr); align-items:flex-start; gap:9px; color:var(--text-2); font-size:11px; line-height:1.7; cursor:pointer; }
.terms-consent input { position:absolute; z-index:1; width:18px; height:18px; margin:1px 0 0; opacity:0; cursor:pointer; }
.terms-consent-control { display:grid; place-items:center; width:18px; height:18px; margin-top:1px; border:1px solid #99afb6; border-radius:5px; background:#fff; transition:background .2s,border-color .2s,box-shadow .2s; }
.terms-consent input:checked + .terms-consent-control { border-color:var(--primary); background:var(--primary); }
.terms-consent input:checked + .terms-consent-control::after { content:'\2713'; color:#fff; font-size:12px; font-weight:800; line-height:1; }
.terms-consent input:focus-visible + .terms-consent-control { box-shadow:0 0 0 3px rgba(18,75,91,.17); }
.terms-consent input:disabled + .terms-consent-control { background:#edf1f2; border-color:#d7dfe1; }
.terms-consent a { color:var(--primary); font-weight:700; text-underline-offset:3px; }
.pay-terms { margin-top:24px; }
.pay-terms-confirmed { margin:0; color:#1c665c; font-size:12px; font-weight:700; line-height:1.7; }
.terms-page { background:#f3f7f8; color:var(--text); }
.terms-shell { width:min(920px,calc(100% - 40px)); margin:0 auto; padding:76px 0 90px; }
.terms-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:28px; }
.terms-hero h1 { margin:7px 0 12px; font-family:var(--font-display); font-size:clamp(38px,6vw,66px); letter-spacing:-.05em; }
.terms-hero > div > p:last-child { margin:0; color:var(--text-2); font-size:17px; }
.terms-print { flex:none; }
.terms-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--line); }
.terms-meta div { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; background:#fff; }
.terms-meta span { color:var(--muted); font-size:13px; }
.terms-meta strong { font-size:14px; }
.terms-important { margin:24px 0; padding:30px 32px; border:1px solid #c9dde0; border-radius:22px; background:linear-gradient(145deg,#eef8f8,#fff); box-shadow:0 18px 55px rgba(20,75,91,.07); }
.terms-important h2 { margin:7px 0 18px; font-size:24px; letter-spacing:-.02em; }
.terms-important ul { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.terms-important li { position:relative; padding-left:25px; color:#284e5a; line-height:1.85; }
.terms-important li::before { content:'\2713'; position:absolute; left:0; top:1px; color:var(--primary); font-weight:800; }
.terms-loading { color:var(--muted); }
.terms-document { display:grid; gap:16px; }
.terms-section { padding:28px 32px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.terms-section h2 { margin:0 0 18px; font-size:21px; letter-spacing:-.02em; }
.terms-section p { margin:0; color:var(--text-2); line-height:2; }
.terms-section p + p { margin-top:12px; }
.terms-section.is-important { border-color:#b7d5d8; box-shadow:inset 4px 0 0 var(--primary); }
.terms-error { margin:18px 0; }
.terms-footer { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:28px; padding:28px 32px; border-radius:20px; background:#123f4b; color:#fff; }
.terms-footer p { margin:0; color:rgba(255,255,255,.75); line-height:1.8; }
.terms-footer .btn { flex:none; background:#fff; color:#123f4b; }
@media(max-width:680px) {
  .terms-shell { width:min(100% - 24px,920px); padding:48px 0 60px; }
  .terms-hero { display:block; }
  .terms-print { margin-top:20px; }
  .terms-meta { grid-template-columns:1fr; }
  .terms-important,.terms-section { padding:24px 20px; border-radius:17px; }
  .terms-footer { display:block; padding:24px 20px; }
  .terms-footer .btn { width:100%; margin-top:20px; }
}
@media print {
  .nav,.terms-print,.terms-footer .btn { display:none!important; }
  .terms-page { background:#fff; }
  .terms-shell { width:100%; padding:0; }
  .terms-section,.terms-important,.terms-meta { break-inside:avoid; box-shadow:none; }
}
