/* =====================================================================
   360 HOTEL SOLUTIONS - terms-and-conditions.css
   Page-specific styles for the Terms & Conditions page.
   Reuses the global theme, header, footer, buttons, labels, and hero glow.
   ===================================================================== */

.legal-hero{position:relative;overflow:hidden;background:var(--white);padding:clamp(52px,8vw,92px) 0 56px;text-align:center;}
.legal-hero-inner{position:relative;z-index:1;max-width:860px;}
.legal-hero .eyebrow{margin-bottom:22px;}
.legal-hero h1{font-size:clamp(32px,4.8vw,56px);line-height:1.08;letter-spacing:-0.025em;margin-bottom:18px;}
.legal-hero p{font-size:clamp(15.5px,1.6vw,18px);color:var(--muted);line-height:1.75;max-width:720px;margin:0 auto;}
.legal-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:24px;}
.legal-meta span{font-size:12px;font-weight:800;color:var(--blue);background:var(--tint-blue);border:1px solid rgba(14,99,255,0.12);border-radius:999px;padding:8px 13px;}

.legal-main{background:var(--white);padding:0 0 96px;}
.legal-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:clamp(28px,4vw,52px);align-items:start;}
.legal-aside{position:sticky;top:104px;display:flex;flex-direction:column;gap:16px;}
.legal-summary-card,.legal-contact-card{background:#fff;border:1px solid var(--gray);border-radius:20px;padding:22px;box-shadow:0 24px 56px -34px rgba(2,15,77,0.2);}
.legal-summary-card .label-tag{display:inline-flex;margin-bottom:14px;}
.legal-summary-card h2,.legal-contact-card h3{font-size:18px;line-height:1.3;margin-bottom:10px;}
.legal-summary-card p{font-size:13.5px;color:var(--muted);line-height:1.65;}
.legal-contact-card a{display:block;font-size:13px;font-weight:700;color:var(--navy);line-height:1.55;margin-top:10px;overflow-wrap:anywhere;}
.legal-contact-card a:hover{color:var(--blue);}

.legal-content{background:#fff;border:1px solid var(--gray);border-radius:24px;padding:clamp(26px,4vw,48px);box-shadow:0 34px 78px -42px rgba(2,15,77,0.24);}
.legal-content section{padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--gray);}
.legal-content section:last-child{padding-bottom:0;margin-bottom:0;border-bottom:none;}
.legal-content h2{font-size:clamp(20px,2.1vw,26px);line-height:1.25;margin-bottom:12px;}
.legal-content p{font-size:15px;line-height:1.78;color:var(--muted);margin-bottom:14px;}
.legal-content p:last-child{margin-bottom:0;}
.legal-content ul{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none;}
.legal-content li{position:relative;font-size:14.5px;line-height:1.7;color:var(--muted);padding-left:24px;}
.legal-content li::before{content:'';position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--grad);}
.legal-content strong{color:var(--navy);font-weight:800;}
.legal-content a{color:var(--blue);font-weight:800;}
.legal-content a:hover{color:var(--purple);}

.legal-contact-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;}
.legal-contact-list div{background:var(--bg);border:1px solid var(--gray);border-radius:14px;padding:14px 16px;}
.legal-contact-list div:last-child{grid-column:1 / -1;}
.legal-contact-list span{display:block;font-size:10.5px;font-weight:800;color:var(--muted-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px;}
.legal-contact-list strong,.legal-contact-list a{font-size:13.5px;line-height:1.5;color:var(--navy);font-weight:800;overflow-wrap:anywhere;}
.legal-contact-list a:hover{color:var(--blue);}

@media(max-width:920px){
  .legal-hero{padding:44px 0 42px;}
  .legal-main{padding-bottom:64px;}
  .legal-layout{grid-template-columns:1fr;}
  .legal-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
}

@media(max-width:640px){
  .legal-aside,.legal-contact-list{grid-template-columns:1fr;}
  .legal-content{border-radius:18px;padding:24px 20px;}
  .legal-content section{padding-bottom:24px;margin-bottom:24px;}
  .legal-contact-list div:last-child{grid-column:auto;}
}
