/* ============================================================
   CUTE CUSTOMS - shared legal stylesheet (privacy & terms)
   LIGHT theme: pink-white body, plum-rose text, rose-pink accents
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

.legal-page{
  background-color:#FFF7F9;
  color:#3A2430;
  font-size:16px;
  font-family:"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;
  line-height:1.75;
  overflow-x:hidden;
}
.legal-page h1,.legal-page h2,.legal-page h3{
  font-family:"Georgia","Times New Roman",serif;
  color:#2A1822;
  line-height:1.25;
}
.legal-page a{color:#D1487A;text-decoration:none}
.legal-page a:hover{color:#B03366;text-decoration:underline}

/* ---------- Legal header (solid background, high contrast title) ---------- */
.legal-header{
  background-color:#2A1822;
  color:#FFFFFF;
  border-bottom:6px solid #D1487A;
}
.legal-header-inner{
  max-width:1140px;margin:0 auto;padding:18px 24px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
}
.legal-wordmark{
  display:inline-flex;align-items:center;gap:10px;
  color:#FFFFFF;font-weight:800;font-size:20px;letter-spacing:.08em;
}
.legal-wordmark:hover{color:#FFFFFF;text-decoration:none}
.legal-wordmark .legal-heart{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:24px;
  background-color:#D1487A;color:#FFFFFF;
  border-radius:50% 50% 50% 50%/60% 60% 40% 40%;
  font-size:12px;
}
.legal-header-nav{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.legal-header-nav a{
  color:#FBEAF0;font-size:13px;font-weight:700;letter-spacing:.06em;
  padding:6px 10px;
}
.legal-header-nav a:hover{color:#FFFFFF;text-decoration:none}
.legal-header-nav a::after{content:"/";color:#8A6A76;margin-left:10px}
.legal-header-nav a:last-child::after{content:none}
.legal-title-wrap{
  max-width:1140px;margin:0 auto;padding:56px 24px 48px;
}
.legal-title-wrap h1{
  color:#FFFFFF;font-size:44px;margin-bottom:12px;
}
.legal-title-wrap p{
  color:#FBEAF0;font-size:14px;letter-spacing:.08em;
}

/* ---------- Legal content ---------- */
.legal-content{padding:56px 0 72px}
.legal-content .container{
  max-width:820px;
  margin:0 auto;
  padding:0 24px;
}
/* scope isolation: keep any section backgrounds transparent within legal content */
.legal-page .legal-content section{background-color:transparent !important}

.legal-lead{
  font-size:18px;color:#3A2430;
  border-left:4px solid #D1487A;
  padding:10px 0 10px 22px;
  margin-bottom:40px;
}

/* Table of contents */
.legal-toc{
  background-color:#FBEAF0;
  border:1px solid #F2D8E2;
  border-radius:14px;
  padding:28px 30px;
  margin-bottom:44px;
}
.legal-toc .toc-title{
  display:block;font-weight:800;color:#2A1822;
  font-size:14px;letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:14px;
}
.legal-toc ol{margin:0;padding-left:0;list-style:none;columns:2;column-gap:40px}
.legal-toc li{margin-bottom:8px;break-inside:avoid}
.legal-toc a{color:#3A2430;font-size:14px;font-weight:600}
.legal-toc a:hover{color:#D1487A;text-decoration:underline}
.legal-toc li::before{content:"";display:inline-block;width:7px;height:7px;background-color:#D1487A;border-radius:50%;margin-right:9px}

/* Sections */
.legal-content section{padding:18px 0 30px}
.legal-content section h2{
  font-size:26px;color:#2A1822;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid #F2D8E2;
}
.legal-content section h3{font-size:19px;color:#2A1822;margin:20px 0 10px}
.legal-content section p{margin-bottom:14px;color:#3A2430}
.legal-content section ul,.legal-content section ol{margin-bottom:14px;padding-left:1.5em;color:#3A2430}
.legal-content section li{margin-bottom:8px}
.legal-content strong{color:#2A1822}
.legal-content .addr{
  background-color:#FBEAF0;border:1px solid #F2D8E2;
  padding:14px 18px;border-radius:10px;
  display:inline-block;margin:6px 0 14px;
}

/* ---------- Legal footer ---------- */
.legal-footer{background-color:#FFF7F9;border-top:1px solid #F2D8E2}
.legal-footer-top{
  background-color:#D1487A;
  padding:34px 24px;text-align:center;
}
.legal-footer-top .legal-wordmark{
  display:inline-flex;justify-content:center;
  color:#FFFFFF;margin-bottom:14px;
}
.legal-footer-top .legal-wordmark .legal-heart{background-color:#FFFFFF;color:#D1487A}
.legal-footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;align-items:center}
.legal-footer-nav a{color:#FFFFFF;font-size:14px;font-weight:600}
.legal-footer-nav a:hover{color:#FFF7F9;text-decoration:underline}
.legal-footer-nav .legal-sep{color:#FBEAF0}
.legal-footer-bottom{background-color:#2A1822;padding:20px 24px;text-align:center}
.legal-footer-bottom p{color:#F2D8E2;font-size:13px;max-width:960px;margin:0 auto;line-height:1.8}
.legal-footer-bottom a{color:#F2D8E2;text-decoration:underline}
.legal-footer-bottom a:hover{color:#FFFFFF}

/* ---------- Responsive ---------- */
@media (max-width:720px){
  .legal-toc ol{columns:1}
  .legal-title-wrap h1{font-size:34px}
  .legal-content{padding:40px 0 56px}
  .legal-header-inner{flex-direction:column;align-items:flex-start}
}
