.privacy-banner {
  position: fixed;
  z-index: 10000;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  max-width: 920px;
  margin: auto;
  padding: 1rem 1.2rem;
  color: #2b211a;
  background: #fffaf3;
  border: 1px solid #d8b98e;
  border-radius: 14px;
  box-shadow: 0 8px 30px rgba(50, 35, 20, .2);
}
.privacy-banner p { margin: 0 0 .8rem; line-height: 1.45; }
.privacy-banner__actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.privacy-banner button { padding: .65rem 1rem; cursor: pointer; }
.feedback-form label.privacy-checkbox { display: flex; grid-template-columns: none; gap: .55rem; align-items: flex-start; margin: 1rem 0; line-height: 1.4; }
.feedback-form label.privacy-checkbox input[type="checkbox"] { flex: 0 0 auto; width: auto; margin: .25rem 0 0; }
.privacy-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.2rem; padding: .9rem 1rem .35rem; font-size: .9rem; }
.privacy-links a { color: #4f443d; text-underline-offset: 3px; }
.compact-footer { width: 100%; margin-top: 3rem; border-top: 1px solid #e3d8cd; background: #fffaf3; }
.site-copyright { margin: 0; padding: .35rem 1rem 1rem; color: #5c514b; font-size: .9rem; line-height: 1.4; text-align: center; }
.seller-disclosure { margin: 0 auto; padding: 1rem; color: #5c514b; font-size: .9rem; line-height: 1.5; text-align: center; }
.seller-disclosure strong { color: #252525; }
body { background-color: #fff8ec; }
a[href], button:not(:disabled), summary, label:has(input) { cursor: pointer; }
a[href] { transition: color .18s ease, opacity .18s ease, text-decoration-color .18s ease; }
a[href]:hover { text-decoration-thickness: 2px; text-underline-offset: 3px; }
.site-logo-link img, .wb-logo-link img { transition: transform .18s ease, filter .18s ease; }
.site-logo-link:hover img, .site-logo-link:focus-visible img,
.wb-logo-link:hover img, .wb-logo-link:focus-visible img { transform: translateY(-1px) scale(1.035); filter: drop-shadow(0 5px 8px rgba(85,36,21,.16)); }
.copyable-value { display: inline-flex; align-items: center; gap: .28em; cursor: pointer; }
.copyable-value:hover { color: #8c3d28; }
.copy-icon { display: inline-flex; width: 1em; height: 1em; flex: 0 0 auto; }
.copy-icon svg { width: 100%; height: 100%; fill: currentColor; }
.copy-toast { position: fixed; z-index: 12000; max-width: min(280px, calc(100vw - 20px)); padding: 8px 12px; border-radius: 9px; color: #fff; background: #552415; box-shadow: 0 10px 28px rgba(40,20,10,.25); opacity: 0; pointer-events: none; transform: translate(-50%, 6px); transition: opacity .18s ease, transform .18s ease; }
.copy-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.copy-toast.is-above { transform: translate(-50%, calc(-100% + 6px)); }
.copy-toast.is-above.is-visible { transform: translate(-50%, -100%); }
.legal-page { color: #252525; font-family: Arial, Helvetica, sans-serif; }
.legal-body { display: flex; min-height: 100vh; margin: 0; flex-direction: column; background: #fff8ec; }
.legal-header { display: flex; width: min(920px, calc(100% - 2rem)); min-height: 64px; margin: 0 auto; align-items: center; gap: 12px; border-bottom: 1px solid #e3d8cd; }
.legal-header .site-logo-link { display: inline-flex; height: 46px; flex: 0 0 auto; align-items: center; }
.legal-header .site-logo-link img { display: block; width: auto; height: 46px; }
.legal-nav-button { display: inline-flex; min-height: 42px; box-sizing: border-box; align-items: center; justify-content: center; border: 1px solid #f2a65b; border-radius: 8px; padding: 9px 14px; color: #552415; background: #fff; box-shadow: 0 0 0 rgba(85,36,21,0); font-weight: 700; text-align: center; text-decoration: none; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.legal-nav-button:hover, .legal-nav-button:focus-visible { color: #552415; background: #fff4e8; box-shadow: 0 7px 16px rgba(85,36,21,.12); text-decoration: none; transform: translateY(-1px); }
.legal-page { width: min(920px, calc(100% - 2rem)); margin: 1.5rem auto 2rem; flex: 1 0 auto; line-height: 1.55; }
.legal-page h1, .legal-page h2 { line-height: 1.2; }
.legal-page table { width: 100%; border-collapse: collapse; }
.legal-page th, .legal-page td { padding: .55rem; border: 1px solid #d8d0c8; text-align: left; vertical-align: top; }
@media (max-width: 600px) {
  .privacy-banner { right: .5rem; bottom: .5rem; left: .5rem; }
  .legal-header { flex-wrap: wrap; padding: 9px 0; }
  .legal-header .site-logo-link { width: 100%; }
  .legal-nav-button { flex: 1 1 150px; }
  .legal-page table { display: block; overflow-x: auto; }
}
