/* Pàgines legals (Aviso Legal, Política de privacidad, Política de Cookies) */
.page-main-wrap.is-legal{padding-top:18px !important}
.legal-hero{position:relative;overflow:hidden;margin:0 0 18px;padding:30px 36px 28px;border-radius:18px;background:linear-gradient(135deg,#0b1a45 0%,#17307a 55%,#22409F 100%);color:#fff;box-shadow:0 14px 34px rgba(11,26,69,.22)}
.legal-hero::after{content:"";position:absolute;right:-70px;top:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(252,216,12,.28),transparent 70%);pointer-events:none}
.legal-crumbs{position:relative;z-index:1;font-size:13px;color:rgba(255,255,255,.75);margin:0 0 14px}
.legal-crumbs a{color:#fff !important;text-decoration:none !important}
.legal-crumbs a:hover{color:#FCD80C !important}
.legal-kicker{position:relative;z-index:1;display:inline-block;background:#FCD80C;color:#0b1a45;font-weight:800;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.legal-hero h1{position:relative;z-index:1;color:#fff !important;font-family:inherit;font-size:42px;font-weight:700;line-height:1.15;margin:14px 0 6px}
.legal-sub{position:relative;z-index:1;color:rgba(255,255,255,.82);margin:0 0 22px;font-size:15px}
.legal-tabs{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px}
.legal-tabs a{padding:9px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff !important;text-decoration:none !important;font-weight:700;font-size:14px;transition:background .2s,color .2s,border-color .2s}
.legal-tabs a:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.5)}
.legal-tabs a.active{background:#FCD80C;border-color:#FCD80C;color:#0b1a45 !important}

.legal-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start;margin-top:14px}
.legal-toc{position:sticky;top:96px}
.legal-toc details{background:#fff;border:1px solid #e3e7ef;border-radius:14px;box-shadow:0 4px 18px rgba(15,31,75,.07);padding:18px 14px;max-height:calc(100vh - 120px);overflow:auto}
.legal-toc summary{list-style:none;cursor:pointer;font-weight:800;font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:#0b1a45;padding:0 8px}
.legal-toc summary::-webkit-details-marker{display:none}
.legal-toc ol{list-style:none;margin:12px 0 0;padding:0}
.legal-toc li{margin:0;padding:0}
.legal-toc a{display:flex;gap:10px;align-items:baseline;padding:8px 10px;border-radius:9px;color:#3b4660 !important;text-decoration:none !important;font-size:14px;line-height:1.35;transition:background .2s,color .2s}
.legal-toc a span{flex:0 0 22px;color:#22409F;font-weight:800;font-size:12px}
.legal-toc a:hover{background:#f1f4fb;color:#22409F !important}
.legal-toc a.active{background:#22409F;color:#fff !important}
.legal-toc a.active span{color:#FCD80C}

.legal-body{min-width:0}
.legal-intro{background:#fff;border:1px solid #e3e7ef;border-left:5px solid #FCD80C;border-radius:14px;padding:22px 26px;margin:0 0 18px;box-shadow:0 4px 18px rgba(15,31,75,.06);color:#3b4660;line-height:1.7}
.legal-intro p:last-child{margin-bottom:0}
.legal-sec{background:#fff;border:1px solid #e3e7ef;border-radius:14px;padding:26px 30px 18px;margin:0 0 18px;box-shadow:0 4px 18px rgba(15,31,75,.06);scroll-margin-top:100px}
.legal-sec h2{display:flex;align-items:center;gap:14px;margin:0 0 16px !important;padding:0 0 14px;border-bottom:1px solid #edf0f5;font-family:inherit;font-size:24px !important;font-weight:700 !important;line-height:1.25;color:#0b1a45 !important}
.legal-num{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#22409F,#0b1a45);color:#FCD80C;font-size:15px;font-weight:800;box-shadow:0 4px 10px rgba(34,64,159,.3)}
.legal-sec-body{color:#3b4660;font-size:16px;line-height:1.7}
.legal-sec-body p{margin:0 0 12px}
.legal-sec-body h3,.legal-sec-body h4{color:#17307a;font-size:18px;font-weight:700;margin:18px 0 8px}
.legal-sec-body ul,.legal-sec-body ol{margin:6px 0 14px;padding:0}
.legal-sec-body ul{list-style:none}
.legal-sec-body ol{padding-left:22px}
.legal-sec-body ul>li{position:relative;padding:3px 0 3px 26px}
.legal-sec-body ul>li::before{content:"";position:absolute;left:6px;top:13px;width:8px;height:8px;border-radius:50%;background:#FCD80C;box-shadow:0 0 0 3px rgba(252,216,12,.25)}
.legal-sec-body a,.legal-intro a{color:#22409F !important;font-weight:600;text-decoration:underline;text-decoration-color:rgba(34,64,159,.35);text-underline-offset:3px;word-break:break-word}
.legal-sec-body a:hover,.legal-intro a:hover{text-decoration-color:#22409F}
.legal-sec-body b,.legal-sec-body strong{color:#0b1a45}
.legal-sec-body table{width:100%;border-collapse:collapse;margin:10px 0 16px;font-size:14px;border-radius:10px;overflow:hidden}
.legal-sec-body th{background:#22409F !important;color:#fff !important;text-align:left;padding:10px 12px;border:1px solid #22409F !important}
.legal-sec-body td{padding:9px 12px;border:1px solid #e3e7ef !important;color:#3b4660 !important}
.legal-sec-body tr:nth-child(even) td{background:#f7f9fd}

/* Fitxa de dades (Titular, NIF, Domicili...) */
.legal-sec-body ul.legal-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:8px 0 14px}
.legal-sec-body ul.legal-facts>li{background:#f5f7fc;border:1px solid #e3e7ef;border-radius:12px;padding:14px 16px;line-height:1.45;color:#0b1a45}
.legal-sec-body ul.legal-facts>li::before{display:none}
.legal-sec-body ul.legal-facts>li br{display:none}
.legal-sec-body ul.legal-facts b,.legal-sec-body ul.legal-facts strong{display:block;font-size:12px;letter-spacing:.9px;text-transform:uppercase;color:#22409F;margin-bottom:4px}

@media (max-width:900px){
  .legal-layout{grid-template-columns:1fr;gap:14px}
  .legal-toc{position:static}
  .legal-toc details{max-height:none}
  .legal-toc summary{display:flex;justify-content:space-between;align-items:center}
  .legal-toc summary::after{content:"+";font-size:20px;line-height:1;color:#22409F}
  .legal-toc details[open] summary::after{content:"−"}
}
@media (max-width:600px){
  .page-main-wrap.is-legal{padding-left:12px !important;padding-right:12px !important}
  .legal-hero{padding:22px 20px;border-radius:14px}
  .legal-hero h1{font-size:30px}
  .legal-tabs a{font-size:13px;padding:8px 14px}
  .legal-sec{padding:20px 18px 12px}
  .legal-intro{padding:18px}
  .legal-sec h2{font-size:20px !important;gap:12px}
  .legal-num{width:34px;height:34px;font-size:13px}
}
@media print{
  .legal-toc,.legal-tabs{display:none}
  .legal-layout{display:block}
  .legal-hero{background:none;color:#000;box-shadow:none;padding:0}
  .legal-hero h1,.legal-crumbs a{color:#000 !important}
  .legal-sec,.legal-intro{box-shadow:none;break-inside:avoid}
}
