/* Shared styles for AILAMA legal / support pages (terms, privacy, contact, accessibility) */
:root{
  --bg:#F8F7FC; --bg-alt:#FFFFFF; --text:#1E1B2E; --text-soft:#635F77;
  --primary:#7C5CFA; --primary-dark:#5B3FE0; --secondary:#14B8A6; --accent:#FF6B6B;
  --card-border:#ECE9F7; --shadow:0 10px 30px rgba(89,60,220,.10);
  --grad-hero: linear-gradient(135deg,#7C5CFA 0%,#5B8DFA 50%,#14B8A6 100%);
  --grad-btn: linear-gradient(135deg,#7C5CFA 0%,#9D6CFA 100%);
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:'Heebo','Segoe UI',sans-serif; background:var(--bg); color:var(--text); line-height:1.7;}
a{text-decoration:none; color:inherit;}
.container{max-width:880px; margin:0 auto; padding:0 24px;}
header{position:sticky; top:0; z-index:50; background:rgba(248,247,252,.85); backdrop-filter:blur(10px); border-bottom:1px solid var(--card-border);}
nav{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:1180px; margin:0 auto;}
.logo{display:flex; align-items:center; gap:8px; font-size:22px; font-weight:800;}
.logo-badge{width:34px; height:34px; border-radius:10px; background:var(--grad-hero); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:15px;}
.logo-text{background:var(--grad-hero); -webkit-background-clip:text; background-clip:text; color:transparent;}
.nav-cta{display:flex; gap:12px; align-items:center;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 18px; border-radius:12px; font-weight:600; font-size:14px; border:none; cursor:pointer; font-family:inherit;}
.btn-ghost{background:transparent; color:var(--text); border:1px solid var(--card-border);}
.btn-primary{background:var(--grad-btn); color:#fff;}
.lang-switcher{position:relative;}
.lang-menu{position:absolute; top:calc(100% + 8px); left:0; z-index:100; background:#fff; border:1px solid var(--card-border); border-radius:14px; box-shadow:var(--shadow); padding:8px; width:200px; max-height:340px; overflow-y:auto; display:none; flex-direction:column; gap:2px;}
.lang-menu.open{display:flex;}
.lang-item{padding:9px 12px; border-radius:9px; font-size:14px; cursor:pointer; text-align:right;}
.lang-item:hover{background:#F1EFFC;}
.back-link{display:inline-block; margin:32px 0 8px; color:var(--primary-dark); font-weight:600; font-size:14px;}
.page-header{padding:8px 0 32px; border-bottom:1px solid var(--card-border); margin-bottom:32px;}
.page-header h1{font-size:34px; font-weight:800; margin-bottom:8px;}
.page-header .updated{color:var(--text-soft); font-size:14px;}
.notice{border-radius:14px; padding:16px 18px; font-size:14px; margin-bottom:24px; line-height:1.6;}
.notice-info{background:#EEF1FF; border:1px solid #D6DCFB; color:#3B3480;}
.notice-warn{background:#FFF7E6; border:1px solid #FBE6B8; color:#7A5900;}
.legal-body h2{font-size:22px; font-weight:800; margin:32px 0 12px;}
.legal-body h3{font-size:17px; font-weight:700; margin:22px 0 8px; color:var(--primary-dark);}
.legal-body p{margin-bottom:14px; color:var(--text);}
.legal-body ul, .legal-body ol{margin:0 0 14px 0; padding-inline-start:22px;}
.legal-body li{margin-bottom:8px;}
.legal-body strong{font-weight:700;}
[dir="ltr"] .legal-body{text-align:left;}
footer{padding:48px 24px 32px; color:var(--text-soft); font-size:14px; margin-top:40px;}
.footer-inner{max-width:1180px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; border-top:1px solid var(--card-border); padding-top:28px;}
.footer-links{display:flex; gap:20px; flex-wrap:wrap;}
.contact-form{display:flex; flex-direction:column; gap:14px; max-width:480px; margin-top:16px;}
.contact-form label{font-size:13px; font-weight:700; color:var(--text-soft); margin-bottom:4px; display:block;}
.contact-form input, .contact-form textarea{
  width:100%; padding:12px 14px; border-radius:12px; border:1px solid var(--card-border);
  font-family:inherit; font-size:14px; background:#fff; color:var(--text);
}
.contact-form textarea{min-height:120px; resize:vertical;}
.contact-info-card{background:#fff; border:1px solid var(--card-border); border-radius:16px; padding:20px; margin-top:24px; font-size:14px;}
.contact-info-card .row{display:flex; gap:8px; margin-bottom:8px;}
.contact-info-card .row b{min-width:140px;}
@media(max-width:700px){ .page-header h1{font-size:26px;} }
