:root{
  --legal-ink:#171719;
  --legal-muted:#69666b;
  --legal-soft:#8a878c;
  --legal-line:rgba(23,23,25,.085);
  --legal-orange:#ff5a12;
  --legal-orange-dark:#e84a00;
  --legal-bg:#f6f5f2;
  --legal-glass:rgba(255,255,255,.72);
  --legal-shadow:0 24px 70px rgba(37,29,25,.075),0 6px 18px rgba(37,29,25,.035),inset 0 1px 0 rgba(255,255,255,.96);
}

html{scroll-behavior:smooth;scroll-padding-top:116px}
body.legal-page{
  min-height:100vh;
  margin:0;
  overflow-x:hidden;
  color:var(--legal-ink);
  background:
    radial-gradient(circle at 4% 2%,rgba(255,166,91,.17),transparent 27rem),
    radial-gradient(circle at 96% 9%,rgba(255,78,68,.075),transparent 29rem),
    linear-gradient(180deg,#f8f7f4 0%,#f4f3f0 100%) !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.legal-page::before{
  position:fixed;z-index:-1;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.32) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.18),transparent 52%);
  content:"";
  pointer-events:none;
}

.legal-reading-progress{position:fixed;z-index:9000;top:0;right:0;left:0;height:3px;background:rgba(255,255,255,.52)}
.legal-reading-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#ff2f60 0%,#ff5a12 56%,#ff9d28 100%);box-shadow:0 0 16px rgba(255,90,18,.35);transition:width .08s linear}

.legal-shell{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:30px 0 78px}
.legal-context-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:0 3px;color:#7a767d;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.legal-context-row button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:0 13px;border:1px solid rgba(255,255,255,.94);border-radius:14px;background:rgba(255,255,255,.67);color:#343136;box-shadow:0 9px 24px rgba(31,27,24,.05),inset 0 1px 0 #fff;cursor:pointer;font:800 12px/1 Inter,sans-serif;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}
.legal-context-row button:hover{transform:translateY(-1px);background:#fff;box-shadow:0 12px 28px rgba(31,27,24,.085),inset 0 1px 0 #fff}
.legal-context-row svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

.legal-doc-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 22px;padding:7px;border:1px solid rgba(255,255,255,.93);border-radius:22px;background:rgba(255,255,255,.55);box-shadow:0 14px 36px rgba(40,33,28,.055),inset 0 1px 0 #fff;backdrop-filter:blur(25px) saturate(165%);-webkit-backdrop-filter:blur(25px) saturate(165%)}
.legal-doc-nav a{position:relative;display:flex;min-height:46px;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid transparent;border-radius:15px;color:#625f65;text-decoration:none;font-size:12px;font-weight:800;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.legal-doc-nav a:hover{background:rgba(255,255,255,.67);color:var(--legal-ink)}
.legal-doc-nav a.is-active{border-color:rgba(23,23,25,.055);background:#fff;color:var(--legal-ink);box-shadow:0 9px 24px rgba(29,26,24,.085)}
.legal-doc-nav a.is-active::after{position:absolute;right:16px;bottom:5px;left:16px;height:2px;border-radius:999px;background:linear-gradient(90deg,#ff7d32,#ff4f57);content:""}
.legal-doc-nav svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

.legal-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(296px,.72fr);gap:20px;align-items:start}
.legal-card,.legal-index,.legal-section,.legal-closing-note{border:1px solid rgba(255,255,255,.95);background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,255,255,.62));box-shadow:var(--legal-shadow);backdrop-filter:blur(28px) saturate(165%);-webkit-backdrop-filter:blur(28px) saturate(165%)}
.legal-card{position:relative;overflow:hidden;padding:40px 40px 36px;border-radius:32px;isolation:isolate}
.legal-card::before{position:absolute;z-index:-1;top:-130px;right:-120px;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(255,90,18,.16) 0%,rgba(255,90,18,.055) 37%,transparent 70%);content:""}
.legal-card::after{position:absolute;z-index:-1;bottom:-130px;left:22%;width:360px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,58,106,.055),transparent 67%);content:""}
.legal-hero-head{display:flex;align-items:center;gap:10px}
.legal-hero-icon{display:grid;width:37px;height:37px;place-items:center;border:1px solid rgba(255,90,18,.12);border-radius:12px;background:rgba(255,248,243,.9);color:var(--legal-orange);box-shadow:0 8px 20px rgba(255,90,18,.08),inset 0 1px 0 #fff}
.legal-hero-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.legal-eyebrow{display:inline-flex;min-height:30px;align-items:center;padding:0 11px;border-radius:999px;background:#1b1b1e;color:#fff;box-shadow:0 9px 24px rgba(17,17,19,.14);font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.legal-card h1{max-width:850px;margin:20px 0 14px;font-size:clamp(40px,5.5vw,68px);line-height:.96;font-weight:900;letter-spacing:-.066em;text-wrap:balance}
.legal-lead{max-width:830px;margin:0;color:#5f5c62;font-size:clamp(15px,1.55vw,18px);line-height:1.68}
.legal-summary{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:14px;margin-top:25px;padding:17px 18px;border:1px solid rgba(255,255,255,.92);border-radius:20px;background:rgba(255,255,255,.61);box-shadow:inset 0 1px 0 rgba(255,255,255,.98)}
.legal-summary strong{font-size:12px;line-height:1.6}
.legal-summary span{color:#67636a;font-size:12px;line-height:1.6}
.legal-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px}
.legal-meta span{padding:8px 10px;border:1px solid rgba(23,23,25,.055);border-radius:999px;background:rgba(255,255,255,.56);color:#6c6870;font-size:10px;font-weight:800;box-shadow:inset 0 1px 0 #fff}

.legal-index{position:sticky;top:94px;padding:22px;border-radius:28px}
.legal-index>div{display:grid;gap:3px;padding:0 2px 15px;border-bottom:1px solid var(--legal-line)}
.legal-index>div span{color:var(--legal-orange);font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.legal-index>div strong{font-size:18px;letter-spacing:-.03em}
.legal-index ol{counter-reset:legal-index;margin:13px 0 0;padding:0;list-style:none}
.legal-index li{counter-increment:legal-index}
.legal-index a{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;padding:8px 7px;border-radius:11px;color:#656168;text-decoration:none;font-size:11.5px;font-weight:650;line-height:1.35;transition:background-color .16s ease,color .16s ease,transform .16s ease}
.legal-index a::before{content:counter(legal-index,decimal-leading-zero);color:#aaa6aa;font-size:8px;font-weight:900;line-height:1.9}
.legal-index a:hover,.legal-index a.is-active{background:rgba(255,255,255,.72);color:var(--legal-ink);transform:translateX(2px)}
.legal-index a.is-active::before{color:var(--legal-orange)}

.legal-content{display:grid;gap:16px;margin-top:20px}
.legal-section{position:relative;padding:32px 34px 34px;border-radius:28px;scroll-margin-top:116px;overflow:hidden}
.legal-section::before{position:absolute;top:0;left:32px;width:54px;height:3px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,#ff7b2c,#ff4a5e);content:"";opacity:.9}
.legal-section-number{display:block;margin-bottom:8px;color:var(--legal-orange);font-size:10px;font-weight:900;letter-spacing:.13em}
.legal-section h2{margin:0 0 16px;font-size:clamp(24px,3vw,35px);line-height:1.08;font-weight:900;letter-spacing:-.045em;text-wrap:balance}
.legal-section h3{margin:24px 0 10px;font-size:18px;line-height:1.3;font-weight:850;letter-spacing:-.025em}
.legal-section p,.legal-section li{color:#605d63;font-size:14.5px;line-height:1.78}
.legal-section p{margin:0 0 13px}
.legal-section ul{display:grid;gap:8px;margin:0 0 15px;padding-left:21px}
.legal-section li{padding-left:3px}
.legal-section a{color:#ce470a;font-weight:760;text-underline-offset:3px;text-decoration-thickness:1px}
.legal-section code{padding:3px 7px;border:1px solid rgba(23,23,25,.075);border-radius:7px;background:#f1efec;color:#343136;font:700 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}

.legal-callout{margin:18px 0 4px;padding:17px 18px;border:1px solid rgba(62,126,190,.13);border-radius:18px;background:rgba(236,247,255,.66)}
.legal-callout strong{display:block;margin-bottom:5px;font-size:13px}
.legal-callout p{margin:0;font-size:13px;line-height:1.62}
.legal-callout.is-warning{border-color:rgba(220,116,29,.17);background:rgba(255,246,228,.72)}

.legal-rule-grid,.legal-data-cards,.legal-rights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:18px 0}
.legal-rule-grid section,.legal-data-cards section,.legal-rights-grid section{padding:18px;border:1px solid rgba(23,23,25,.07);border-radius:18px;background:rgba(255,255,255,.61);box-shadow:inset 0 1px 0 #fff;transition:transform .16s ease,background-color .16s ease}
.legal-rule-grid section:hover,.legal-data-cards section:hover,.legal-rights-grid section:hover{transform:translateY(-1px);background:rgba(255,255,255,.82)}
.legal-rule-grid strong,.legal-data-cards strong,.legal-rights-grid strong{display:block;margin-bottom:6px;font-size:13px}
.legal-rule-grid p,.legal-data-cards p,.legal-rights-grid p{margin:0;font-size:12.5px;line-height:1.62}
.legal-data-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.legal-rights-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

.legal-action-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.legal-action-row a,.legal-contact-card>a,.legal-cookie-control button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:9px;padding:0 17px;border:1px solid rgba(208,72,11,.12);border-radius:15px;background:var(--legal-orange);color:#fff;text-decoration:none;font:850 12px/1 Inter,sans-serif;box-shadow:0 13px 28px rgba(255,90,18,.18);cursor:pointer;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
.legal-action-row a:hover,.legal-contact-card>a:hover,.legal-cookie-control button:hover{transform:translateY(-1px);background:var(--legal-orange-dark);box-shadow:0 15px 30px rgba(255,90,18,.22)}
.legal-action-row a.is-secondary{border-color:rgba(23,23,25,.075);background:#fff;color:#343136;box-shadow:0 8px 20px rgba(22,20,19,.045)}
.legal-action-row svg,.legal-contact-card>a svg,.legal-cookie-control button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

.legal-table-wrap{overflow:auto;margin:18px 0;border:1px solid rgba(23,23,25,.075);border-radius:20px;background:rgba(255,255,255,.62);box-shadow:inset 0 1px 0 #fff;scrollbar-width:thin}
.legal-table{width:100%;min-width:740px;border-collapse:collapse}
.legal-table th,.legal-table td{padding:15px 16px;border-bottom:1px solid rgba(23,23,25,.065);text-align:left;vertical-align:top}
.legal-table th{background:rgba(245,243,240,.8);color:#403d42;font-size:10px;font-weight:900;letter-spacing:.045em;text-transform:uppercase}
.legal-table td{color:#5f5c62;font-size:12.5px;line-height:1.6}
.legal-table tr:last-child td{border-bottom:0}

.legal-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;margin:18px 0;border:1px solid rgba(23,23,25,.075);border-radius:19px;background:rgba(23,23,25,.065)}
.legal-data-grid>div{padding:16px 17px;background:rgba(255,255,255,.84)}
.legal-data-grid dt{margin-bottom:5px;color:#87838a;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.legal-data-grid dd{margin:0;color:#343136;font-size:13px;font-weight:760;line-height:1.45;overflow-wrap:anywhere}

.legal-contact-card,.legal-cookie-control{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:20px;border:1px solid rgba(255,255,255,.94);border-radius:21px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,241,231,.78));box-shadow:0 16px 40px rgba(57,39,28,.065),inset 0 1px 0 #fff}
.legal-contact-card>div,.legal-cookie-control>div{display:grid;gap:5px}
.legal-contact-card span{color:var(--legal-orange);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.legal-contact-card strong,.legal-cookie-control strong{font-size:16px;letter-spacing:-.025em}
.legal-contact-card p,.legal-cookie-control p{margin:0;font-size:12px;line-height:1.5}
.legal-cookie-control button{flex:0 0 auto;border:0}

.legal-closing-note{padding:19px 22px;border-radius:20px;color:#666269;font-size:12.5px;line-height:1.65}
.legal-closing-note strong{color:var(--legal-ink)}
.legal-closing-note a{color:#ce470a;font-weight:760}

body.legal-page .bf-web-footer{margin-top:0;border-top:1px solid rgba(23,23,25,.055);background:rgba(247,246,243,.72)}
body.legal-page .bf-web-footer-inner{width:min(1240px,calc(100% - 48px))}
.legal-page :is(a,button,input):focus-visible{outline:3px solid rgba(255,90,18,.25);outline-offset:3px}

/* Compatibilidad de la página Pymes, que comparte esta hoja. */
.legal-topbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.legal-back{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(23,23,25,.07);border-radius:14px;background:#fff;color:#222;text-decoration:none}
.legal-logo{width:40px;height:40px;object-fit:contain}
.legal-brand{font-weight:850;letter-spacing:-.03em}
.pymes-cta{display:inline-flex;min-height:46px;align-items:center;margin-top:18px;padding:0 18px;border-radius:15px;background:#111;color:#fff!important;text-decoration:none;font-size:13px;font-weight:850}
.pymes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.pymes-item{padding:18px;border:1px solid var(--legal-line);border-radius:18px;background:rgba(255,255,255,.68)}
.pymes-item strong{font-size:14px}.pymes-item p{margin:6px 0 0}

@media(max-width:1040px){
  .legal-data-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .legal-hero{grid-template-columns:minmax(0,1fr) 292px}
}
@media(max-width:860px){
  .legal-shell{width:min(100% - 24px,760px);padding-top:22px}
  .legal-doc-nav{display:flex;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
  .legal-doc-nav::-webkit-scrollbar{display:none}
  .legal-doc-nav a{min-width:max-content;padding:0 17px}
  .legal-hero{grid-template-columns:1fr}
  .legal-index{position:relative;top:auto}
  .legal-index ol{columns:2;column-gap:20px}
  .legal-index li{break-inside:avoid}
  .legal-rule-grid,.legal-rights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.legal-page .bf-web-footer-inner{width:calc(100% - 24px)}
}
@media(max-width:620px){
  html{scroll-padding-top:94px}
  .legal-shell{width:calc(100% - 18px);padding:16px 0 112px}
  .legal-context-row{margin-bottom:9px;padding:0 3px}
  .legal-context-row>span{font-size:10px}
  .legal-context-row button{width:40px;height:40px;min-height:40px;padding:0;border-radius:12px}
  .legal-context-row button span{display:none}
  .legal-doc-nav{margin:10px 0 14px;padding:6px;border-radius:18px}
  .legal-doc-nav a{min-height:41px}
  .legal-doc-nav a.is-active::after{right:14px;left:14px}
  .legal-card{padding:26px 19px 24px;border-radius:24px}
  .legal-hero-head{gap:8px}.legal-hero-icon{width:34px;height:34px;border-radius:11px}
  .legal-card h1{margin-top:17px;font-size:clamp(36px,13vw,52px)}
  .legal-lead{font-size:14px;line-height:1.66}
  .legal-summary{grid-template-columns:1fr;gap:5px;margin-top:19px;padding:15px}
  .legal-meta{gap:6px}.legal-meta span{font-size:9px}
  .legal-index{padding:20px;border-radius:22px}.legal-index ol{columns:1}
  .legal-content{gap:13px;margin-top:14px}
  .legal-section{padding:24px 18px 25px;border-radius:22px}
  .legal-section::before{left:18px;width:44px}
  .legal-section h2{font-size:27px}.legal-section h3{font-size:17px}
  .legal-section p,.legal-section li{font-size:13.5px;line-height:1.74}
  .legal-rule-grid,.legal-data-cards,.legal-rights-grid,.legal-data-grid,.pymes-grid{grid-template-columns:1fr}
  .legal-action-row{display:grid;grid-template-columns:1fr}.legal-action-row a{width:auto}
  .legal-contact-card,.legal-cookie-control{align-items:stretch;flex-direction:column}
  .legal-contact-card>a,.legal-cookie-control button{width:100%;box-sizing:border-box}
  .legal-closing-note{padding:17px 18px;border-radius:18px}
  body.legal-page .bf-web-footer-inner{width:calc(100% - 18px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .legal-reading-progress i,.legal-context-row button,.legal-doc-nav a,.legal-index a,.legal-rule-grid section,.legal-data-cards section,.legal-rights-grid section,.legal-action-row a,.legal-contact-card>a,.legal-cookie-control button{transition:none}
  .legal-context-row button:hover,.legal-index a:hover,.legal-rule-grid section:hover,.legal-data-cards section:hover,.legal-rights-grid section:hover,.legal-action-row a:hover,.legal-contact-card>a:hover,.legal-cookie-control button:hover{transform:none}
}
@media print{
  .legal-reading-progress,.legal-context-row,.legal-doc-nav,.legal-index,.bf-web-header,.bf-web-mobile-dock,.bf-web-footer,.bf-cookie-banner,.bf-cookie-modal{display:none!important}
  body.legal-page{background:#fff!important;color:#000}
  body.legal-page::before{display:none}
  .legal-shell{width:100%;padding:0}
  .legal-card,.legal-section,.legal-closing-note{break-inside:avoid;border:1px solid #ddd;background:#fff;box-shadow:none;backdrop-filter:none}
  .legal-card{padding:28px}.legal-content{gap:12px}.legal-section{padding:22px}.legal-card h1{font-size:42px}
  .legal-section a{color:#000}.legal-table-wrap{overflow:visible}.legal-table{min-width:0}
  .legal-action-row,.legal-contact-card>a,.legal-cookie-control button{display:none}
}
