
/* ============================================================
   ABOGACLOUD — SISTEMA VISUAL LEGALTECH PREMIUM
   Cargar DESPUÉS de styles.css.
   ============================================================ */

:root{
  --ac-bg:#050718;
  --ac-bg-2:#080d27;
  --ac-panel:rgba(15,23,63,.76);
  --ac-panel-deep:rgba(8,14,43,.95);
  --ac-line:rgba(168,100,255,.25);
  --ac-purple:#8050ff;
  --ac-fuchsia:#ee3bff;
  --ac-blue:#4c9cff;
  --ac-white:#f7f7ff;
  --ac-muted:#aab4d4;
  --ac-success:#82e3bd;
}

body.premium-site{
  background:
    radial-gradient(circle at 8% 12%,rgba(127,52,255,.12),transparent 27%),
    radial-gradient(circle at 92% 22%,rgba(236,54,255,.09),transparent 28%),
    linear-gradient(180deg,var(--ac-bg),var(--ac-bg-2) 48%,#050817);
  color:var(--ac-white);
}

.premium-nav{
  position:relative;
  z-index:40;
  background:rgba(5,7,24,.88);
  border-bottom:1px solid rgba(255,255,255,.06);
  backdrop-filter:blur(16px);
}

.premium-nav .links .active{
  color:#fff;
  position:relative;
}

.premium-nav .links .active:after{
  content:"";
  position:absolute;
  left:20%;
  right:20%;
  bottom:-23px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--ac-fuchsia),transparent);
  box-shadow:0 0 14px rgba(238,59,255,.8);
}

.premium-nav .primary,
.premium-glow-btn{
  box-shadow:0 0 28px rgba(231,57,255,.22);
}

.premium-hero{
  position:relative;
  overflow:hidden;
  min-height:560px;
  border-bottom:1px solid rgba(255,255,255,.055);
  background:
    radial-gradient(circle at 16% 34%,rgba(120,53,255,.15),transparent 28%),
    radial-gradient(circle at 86% 24%,rgba(233,54,255,.12),transparent 28%),
    linear-gradient(180deg,#070a20,#080d27);
}

.premium-hero:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.12;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(180deg,#000,transparent);
}

.premium-hero:after{
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  right:-250px;
  top:-280px;
  border-radius:50%;
  background:rgba(239,55,255,.14);
  filter:blur(70px);
}

.premium-hero .container{
  position:relative;
  z-index:3;
}

.premium-hero-grid{
  display:grid;
  grid-template-columns:1.03fr .97fr;
  gap:36px;
  align-items:center;
  min-height:560px;
  padding-top:48px;
  padding-bottom:48px;
}

.premium-eyebrow{
  display:inline-block;
  color:#cb82ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.35px;
}

.premium-hero h1{
  margin:14px 0 16px;
  font-size:clamp(54px,6vw,82px);
  line-height:.98;
  letter-spacing:-2.3px;
}

.premium-gradient{
  background:linear-gradient(90deg,#d7a8ff,var(--ac-fuchsia),#62aaff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.premium-lead{
  max-width:770px;
  margin:0;
  color:#c0c8e2;
  font-size:16px;
  line-height:1.65;
}

.premium-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:24px;
}

.premium-pill-row span{
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(176,91,255,.29);
  background:rgba(12,19,55,.62);
  color:#dce1f2;
  font-size:10px;
  backdrop-filter:blur(8px);
}

.visual-panel{
  position:relative;
  overflow:hidden;
  min-height:390px;
  border-radius:28px;
  border:1px solid rgba(184,86,255,.25);
  background:
    radial-gradient(circle at 80% 20%,rgba(239,58,255,.16),transparent 28%),
    radial-gradient(circle at 20% 100%,rgba(67,125,255,.13),transparent 30%),
    linear-gradient(180deg,rgba(18,27,75,.88),rgba(7,13,42,.97));
  box-shadow:
    0 28px 70px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(18px);
}

.visual-panel.legal-bg{
  background:
    linear-gradient(90deg,rgba(7,10,32,.92),rgba(7,10,32,.28) 40%,rgba(7,10,32,.70)),
    url('legal-bg.png') center 26% / cover no-repeat;
}

.visual-panel:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 55px rgba(135,62,255,.08);
}

.panel-screen{
  position:absolute;
  left:7%;
  right:7%;
  top:11%;
  bottom:11%;
  border-radius:22px;
  border:1px solid rgba(137,125,230,.33);
  background:rgba(7,13,43,.74);
  backdrop-filter:blur(12px);
  overflow:hidden;
}

.panel-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:13px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);
  color:#dce1f5;
  font-size:11px;
}

.panel-body{
  display:grid;
  grid-template-columns:120px 1fr;
  min-height:280px;
}

.panel-sidebar{
  padding:14px 10px;
  border-right:1px solid rgba(255,255,255,.055);
  background:rgba(10,15,50,.44);
}

.panel-sidebar span{
  display:block;
  padding:9px 10px;
  margin-bottom:5px;
  border-radius:9px;
  color:#aeb7d6;
  font-size:10px;
}

.panel-sidebar span.active{
  color:#fff;
  background:linear-gradient(90deg,#6337ff,#8e2ca0);
}

.panel-content{
  padding:22px 18px;
}

.panel-content h3{
  margin:0 0 14px;
  font-size:20px;
}

.metric-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}

.metric{
  padding:15px 12px;
  border-radius:13px;
  background:linear-gradient(180deg,#172b69,#132157);
  border:1px solid rgba(255,255,255,.07);
}

.metric b{
  display:block;
  font-size:23px;
  margin-top:4px;
}

.metric span{
  color:#aeb7d6;
  font-size:9px;
}

.panel-list{
  display:grid;
  gap:7px;
  margin-top:17px;
}

.panel-list div{
  padding:10px 11px;
  border-radius:10px;
  background:rgba(255,255,255,.028);
  border:1px solid rgba(255,255,255,.045);
  color:#cbd2e8;
  font-size:10px;
}

.premium-section{
  padding:74px 0;
}

.premium-section.alt{
  background:
    radial-gradient(circle at 50% 0%,rgba(110,55,255,.08),transparent 35%),
    rgba(5,8,25,.30);
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.04);
}

.section-heading{
  max-width:820px;
  margin:0 auto 34px;
  text-align:center;
}

.section-heading.left{
  max-width:none;
  margin-left:0;
  text-align:left;
}

.section-heading h2{
  margin:12px 0 9px;
  font-size:clamp(34px,4vw,50px);
  line-height:1.03;
  letter-spacing:-1px;
}

.section-heading p{
  margin:0 auto;
  max-width:760px;
  color:var(--ac-muted);
  line-height:1.6;
}

.premium-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
}

.premium-card-grid.four{
  grid-template-columns:repeat(4,1fr);
}

.premium-card{
  position:relative;
  overflow:hidden;
  min-height:220px;
  padding:24px;
  border-radius:20px;
  border:1px solid rgba(140,116,226,.27);
  background:
    radial-gradient(circle at 100% 0%,rgba(117,56,255,.11),transparent 31%),
    linear-gradient(180deg,rgba(17,27,73,.83),rgba(8,14,42,.94));
  box-shadow:
    0 18px 48px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.045);
  backdrop-filter:blur(14px);
  transition:.22s ease;
}

.premium-card:hover{
  transform:translateY(-4px);
  border-color:rgba(173,82,255,.48);
  box-shadow:
    0 27px 60px rgba(0,0,0,.28),
    0 0 28px rgba(123,62,255,.10);
}

.premium-card.featured{
  border-color:rgba(238,58,255,.57);
  box-shadow:
    0 22px 58px rgba(0,0,0,.28),
    0 0 29px rgba(230,58,255,.13);
}

.premium-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:17px;
  border-radius:15px;
  color:#efe0ff;
  background:linear-gradient(145deg,#313a9e,#7438cb);
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 8px 20px rgba(89,66,238,.14);
}

.premium-card.featured .premium-icon{
  background:linear-gradient(145deg,#7a3cff,#e13cff);
  box-shadow:0 0 22px rgba(226,57,255,.22);
}

.premium-card h3{
  margin:0 0 8px;
  font-size:20px;
}

.premium-card p{
  margin:0;
  color:#adb7d7;
  font-size:13px;
  line-height:1.55;
}

.premium-card .text-link{
  display:inline-flex;
  margin-top:17px;
  color:#dda9ff;
  font-size:12px;
  font-weight:800;
}

.premium-feature-list{
  display:grid;
  gap:10px;
  margin:17px 0 0;
  padding:0;
  list-style:none;
  color:#cbd2e8;
  font-size:12px;
}

.premium-feature-list li{
  display:flex;
  gap:8px;
  align-items:flex-start;
}

.premium-feature-list li:before{
  content:"✓";
  width:16px;
  height:16px;
  flex:0 0 16px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#f082ff;
  border:1px solid rgba(239,91,255,.54);
  font-size:9px;
  font-weight:900;
}

.flow-band{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  flex-wrap:wrap;
  padding:26px;
  border-radius:20px;
  border:1px solid rgba(123,87,217,.33);
  background:
    radial-gradient(circle at 50% 50%,rgba(145,57,255,.10),transparent 38%),
    linear-gradient(180deg,rgba(13,20,58,.91),rgba(8,13,40,.96));
}

.flow-chip{
  min-width:135px;
  padding:16px 18px;
  border-radius:14px;
  text-align:center;
  background:rgba(12,19,58,.72);
  border:1px solid rgba(132,113,226,.31);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.flow-chip.hot{
  border-color:rgba(239,59,255,.58);
  background:linear-gradient(145deg,rgba(113,47,222,.52),rgba(198,47,201,.43));
  box-shadow:0 0 25px rgba(225,57,255,.15);
}

.flow-chip b,
.flow-chip span{
  display:block;
}

.flow-chip b{
  font-size:13px;
}

.flow-chip span{
  margin-top:3px;
  color:#98a4c7;
  font-size:9px;
}

.flow-arrow{
  color:#8a64de;
  font-size:19px;
}

.quote-panel{
  position:relative;
  overflow:hidden;
  min-height:290px;
  display:flex;
  align-items:flex-end;
  padding:30px;
  border-radius:24px;
  border:1px solid rgba(168,86,255,.28);
  background:
    linear-gradient(90deg,rgba(6,9,30,.95),rgba(6,9,30,.31) 58%,rgba(6,9,30,.76)),
    url('legal-bg.png') center 58% / cover no-repeat;
  box-shadow:0 24px 58px rgba(0,0,0,.26);
}

.quote-panel-content{
  position:relative;
  z-index:2;
  max-width:610px;
}

.quote-panel h2{
  margin:10px 0;
  font-size:37px;
}

.quote-panel p{
  margin:0 0 17px;
  color:#c0c8e0;
  line-height:1.55;
}

.cta-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:34px 36px;
  border-radius:23px;
  border:1px solid rgba(178,81,255,.34);
  background:
    radial-gradient(circle at 82% 20%,rgba(237,54,255,.13),transparent 28%),
    linear-gradient(135deg,rgba(18,26,72,.96),rgba(9,14,43,.98));
}

.cta-banner h2{
  margin:8px 0 6px;
  font-size:34px;
}

.cta-banner p{
  margin:0;
  color:#aeb8d8;
}

.premium-footer{
  align-items:center;
}

.premium-footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  color:#a9b4d6;
  font-size:11px;
}

.premium-footer-credit{
  color:#8e9abd;
  font-size:10.5px;
  line-height:1.5;
  text-align:right;
}

.premium-footer-credit a{
  color:#aeb9dd;
}

/* CONTACT */

.contact-premium-wrap{
  padding:62px 0 75px;
}

.contact-premium-grid{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:34px;
  align-items:start;
}

.contact-info-panel{
  position:sticky;
  top:110px;
}

.contact-info-panel h1{
  margin:12px 0 14px;
  font-size:clamp(48px,5.3vw,72px);
  line-height:.98;
}

.contact-info-panel p{
  color:#b3bdd9;
  line-height:1.6;
}

.contact-point-list{
  display:grid;
  gap:10px;
  margin-top:23px;
}

.contact-point{
  display:flex;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(13,21,61,.54);
}

.contact-point i{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 38px;
  border-radius:12px;
  font-style:normal;
  background:linear-gradient(145deg,#5839dd,#d23be0);
}

.contact-point b,
.contact-point span{
  display:block;
}

.contact-point b{
  font-size:12px;
}

.contact-point span{
  color:#99a5c7;
  font-size:10px;
  margin-top:2px;
}

.contact-form-premium{
  position:relative;
  padding:27px;
  border-radius:23px;
  border:1px solid rgba(206,77,255,.47);
  background:
    radial-gradient(circle at 92% 4%,rgba(199,49,255,.12),transparent 27%),
    linear-gradient(180deg,rgba(17,25,68,.97),rgba(8,14,42,.99));
  box-shadow:
    0 30px 72px rgba(0,0,0,.34),
    0 0 38px rgba(137,55,255,.12);
}

.contact-form-premium:before{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  right:-60px;
  top:-70px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(235,56,255,.24),transparent 68%);
  filter:blur(20px);
  pointer-events:none;
}

.contact-form-premium > *{
  position:relative;
  z-index:2;
}

.contact-form-premium h2{
  margin:9px 0 5px;
  font-size:30px;
}

.contact-form-premium .form-sub{
  margin:0 0 19px;
  color:#aeb8d8;
  font-size:13px;
  line-height:1.5;
}

.contact-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 13px;
}

.contact-field{
  margin:8px 0;
}

.contact-field.full{
  grid-column:1/-1;
}

.contact-field label{
  display:block;
  margin-bottom:6px;
  color:#e8eaff;
  font-size:12px;
  font-weight:750;
}

.contact-field input,
.contact-field textarea{
  width:100%;
  box-sizing:border-box;
  padding:13px 14px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(6,13,45,.76);
  color:#fff;
  font-family:inherit;
  font-size:14px;
  outline:none;
}

.contact-field textarea{
  min-height:130px;
  resize:vertical;
}

.contact-field input:focus,
.contact-field textarea:focus{
  border-color:rgba(195,80,255,.70);
  box-shadow:0 0 0 3px rgba(157,66,255,.10);
}

.contact-submit-premium{
  width:100%;
  min-height:50px;
  margin-top:15px;
  border:0;
  border-radius:13px;
  color:#fff;
  font-size:14px;
  font-weight:850;
  cursor:pointer;
  background:linear-gradient(90deg,#7140ff,#ed3aff,#4f95ff);
  box-shadow:0 10px 30px rgba(178,54,255,.24);
}

.form-message{
  display:flex;
  gap:10px;
  margin:0 0 16px;
  padding:12px 13px;
  border-radius:12px;
  font-size:12px;
}

.form-message[hidden]{display:none}

.form-message.success{
  color:#baf4d2;
  background:rgba(39,190,113,.11);
  border:1px solid rgba(84,230,146,.29);
}

.form-message.error{
  color:#ffc3ce;
  background:rgba(222,63,92,.11);
  border:1px solid rgba(240,91,117,.28);
}

.hp-field{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

/* LOGIN */

.login-wrap{
  min-height:670px;
  display:grid;
  place-items:center;
  padding:65px 0 80px;
}

.login-card{
  width:min(100%,520px);
  padding:30px;
  border-radius:24px;
  text-align:center;
  border:1px solid rgba(188,78,255,.44);
  background:
    radial-gradient(circle at 50% 0%,rgba(235,55,255,.12),transparent 29%),
    linear-gradient(180deg,rgba(17,25,68,.96),rgba(8,14,42,.99));
  box-shadow:
    0 30px 75px rgba(0,0,0,.35),
    0 0 38px rgba(137,55,255,.12);
}

.login-card .login-icon{
  width:67px;
  height:67px;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  border-radius:20px;
  font-size:24px;
  background:linear-gradient(145deg,#623aff,#e03cff);
  box-shadow:0 0 27px rgba(224,58,255,.22);
}

.login-card h1{
  margin:0 0 9px;
  font-size:38px;
}

.login-card p{
  color:#aeb8d8;
  line-height:1.55;
}

.login-notice{
  margin:21px 0;
  padding:14px 15px;
  border-radius:13px;
  color:#ded5f7;
  background:rgba(124,58,255,.10);
  border:1px solid rgba(154,76,255,.26);
  font-size:12px;
  line-height:1.5;
}

/* RESPONSIVE */

@media(max-width:1100px){
  .premium-card-grid.four{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:960px){
  .premium-hero-grid,
  .contact-premium-grid{
    grid-template-columns:1fr;
  }

  .contact-info-panel{
    position:static;
  }

  .premium-card-grid{
    grid-template-columns:1fr 1fr;
  }

  .cta-banner{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:700px){
  .premium-hero{
    min-height:auto;
  }

  .premium-hero-grid{
    min-height:auto;
    padding-top:44px;
    padding-bottom:44px;
  }

  .premium-hero h1{
    font-size:clamp(42px,12vw,56px);
    letter-spacing:-1.4px;
  }

  .panel-body{
    grid-template-columns:90px 1fr;
  }

  .metric-grid{
    grid-template-columns:1fr;
  }

  .premium-card-grid,
  .premium-card-grid.four{
    grid-template-columns:1fr;
  }

  .premium-section{
    padding:55px 0;
  }

  .quote-panel{
    min-height:320px;
  }

  .cta-banner{
    padding:25px 22px;
  }

  .contact-form-grid{
    grid-template-columns:1fr;
  }

  .contact-field.full{
    grid-column:auto;
  }

  .premium-footer{
    flex-direction:column;
    align-items:flex-start;
  }

  .premium-footer-credit{
    text-align:left;
  }
}


/* ============================================================
   FONDOS FOTOGRÁFICOS PREMIUM POR PÁGINA
   ============================================================ */

body.page-home .premium-hero{
  background-image:
    linear-gradient(90deg,rgba(5,7,24,.96) 0%,rgba(5,7,24,.78) 44%,rgba(5,7,24,.50) 72%,rgba(5,7,24,.82) 100%),
    radial-gradient(circle at 12% 32%,rgba(123,59,255,.23),transparent 32%),
    url('bg-home-premium.jpg');
  background-size:cover,cover,cover;
  background-position:center,center,center 34%;
  background-repeat:no-repeat;
}

body.page-functions .premium-hero{
  background-image:
    linear-gradient(90deg,rgba(5,7,24,.96),rgba(5,7,24,.78) 50%,rgba(5,7,24,.64)),
    radial-gradient(circle at 84% 24%,rgba(238,55,255,.20),transparent 29%),
    url('bg-functions-premium.jpg');
  background-size:cover,cover,cover;
  background-position:center,center,right center;
  background-repeat:no-repeat;
}

body.page-integrations .premium-hero{
  background-image:
    linear-gradient(90deg,rgba(5,7,24,.97),rgba(5,7,24,.80) 48%,rgba(5,7,24,.62)),
    radial-gradient(circle at 78% 20%,rgba(72,145,255,.17),transparent 31%),
    url('bg-integrations-premium.jpg');
  background-size:cover,cover,cover;
  background-position:center,center,center;
  background-repeat:no-repeat;
}

body.page-studies .premium-hero{
  background-image:
    linear-gradient(90deg,rgba(5,7,24,.96),rgba(5,7,24,.78) 48%,rgba(5,7,24,.58)),
    radial-gradient(circle at 80% 30%,rgba(238,55,255,.18),transparent 30%),
    url('bg-studies-premium.jpg');
  background-size:cover,cover,cover;
  background-position:center,center,center 42%;
  background-repeat:no-repeat;
}

body.page-resources .premium-hero{
  background-image:
    linear-gradient(90deg,rgba(5,7,24,.97),rgba(5,7,24,.84) 50%,rgba(5,7,24,.66)),
    radial-gradient(circle at 90% 18%,rgba(128,75,255,.17),transparent 29%),
    url('bg-resources-premium.jpg');
  background-size:cover,cover,cover;
  background-position:center,center,right center;
  background-repeat:no-repeat;
}

body.page-contact{
  background-image:
    linear-gradient(180deg,rgba(5,7,24,.91),rgba(5,7,24,.97)),
    url('bg-contact-premium.jpg');
  background-size:cover,cover;
  background-position:center,center top;
  background-attachment:fixed,fixed;
  background-repeat:no-repeat;
}

body.page-contact .contact-premium-wrap{
  position:relative;
}

body.page-contact .contact-premium-wrap:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 25%,rgba(120,56,255,.16),transparent 30%),
    radial-gradient(circle at 88% 35%,rgba(239,55,255,.11),transparent 28%);
}

body.page-login{
  background-image:
    linear-gradient(180deg,rgba(5,7,24,.86),rgba(5,7,24,.96)),
    radial-gradient(circle at 50% 18%,rgba(232,56,255,.13),transparent 29%),
    url('bg-login-premium.jpg');
  background-size:cover,cover,cover;
  background-position:center,center,center;
  background-attachment:fixed,fixed,fixed;
  background-repeat:no-repeat;
}

body.page-home .premium-section:first-of-type,
body.page-functions .premium-section:first-of-type,
body.page-integrations .premium-section:first-of-type,
body.page-studies .premium-section:first-of-type,
body.page-resources .premium-section:first-of-type{
  position:relative;
}

body.page-home .premium-section:first-of-type:before,
body.page-functions .premium-section:first-of-type:before,
body.page-integrations .premium-section:first-of-type:before,
body.page-studies .premium-section:first-of-type:before,
body.page-resources .premium-section:first-of-type:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.08;
  pointer-events:none;
  background:url('bg-home-premium.jpg') center / cover no-repeat;
  mask-image:linear-gradient(180deg,transparent,rgba(0,0,0,.9) 30%,rgba(0,0,0,.65),transparent);
}

body.page-home .premium-section:first-of-type > .container,
body.page-functions .premium-section:first-of-type > .container,
body.page-integrations .premium-section:first-of-type > .container,
body.page-studies .premium-section:first-of-type > .container,
body.page-resources .premium-section:first-of-type > .container{
  position:relative;
  z-index:2;
}

@media(max-width:700px){
  body.page-contact,
  body.page-login{
    background-attachment:scroll,scroll;
  }
  body.page-home .premium-hero,
  body.page-functions .premium-hero,
  body.page-integrations .premium-hero,
  body.page-studies .premium-hero,
  body.page-resources .premium-hero{
    background-position:center,center,70% center;
  }
}


/* ============================================================
   ABOGACLOUD — FIX MOBILE DE ANCHOS / OVERFLOW
   ============================================================ */

html, body{
  max-width:100%;
  overflow-x:hidden;
}

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

@media(max-width:900px){

  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden!important;
  }

  .container{
    width:auto!important;
    max-width:none!important;
    margin-left:16px!important;
    margin-right:16px!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .premium-nav .container,
  .plans-nav .container,
  footer .container{
    margin-left:16px!important;
    margin-right:16px!important;
  }

  .premium-hero,
  .plans-hero,
  .premium-section,
  .plans-cards-wrap,
  .compare-section,
  .ai-context-section,
  .final-cta,
  .contact-premium-wrap,
  .login-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  .premium-hero-grid,
  .plans-hero-inner,
  .premium-card-grid,
  .premium-card-grid.four,
  .plans-cards-grid,
  .compare-layout,
  .ai-context-card,
  .contact-premium-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .premium-card,
  .plan-card,
  .visual-panel,
  .hero-art,
  .quote-panel,
  .cta-banner,
  .compare-main,
  .compare-aside,
  .ai-context-card,
  .contact-form-premium,
  .contact-info-panel,
  .login-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .premium-card-grid,
  .premium-card-grid.four,
  .plans-cards-grid,
  .compare-layout,
  .contact-premium-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .premium-hero-grid > *,
  .plans-hero-inner > *,
  .premium-card-grid > *,
  .plans-cards-grid > *,
  .compare-layout > *,
  .contact-premium-grid > *{
    min-width:0!important;
    max-width:100%!important;
  }

  .premium-hero h1,
  .plans-hero-copy h1,
  .contact-info-panel h1,
  .premium-card h2,
  .plan-card h2,
  .section-heading h2{
    overflow-wrap:anywhere;
    word-break:normal;
  }

  .hero-pills,
  .premium-pill-row{
    width:100%!important;
    max-width:100%!important;
  }

  .hero-pills span,
  .premium-pill-row span{
    max-width:100%!important;
    white-space:normal!important;
  }

  .btn,
  .plan-btn,
  .ai-cta,
  .final-cta-btn,
  .contact-submit-premium{
    max-width:100%!important;
    white-space:normal!important;
  }

  .panel-screen{
    max-width:90%!important;
    overflow:hidden!important;
  }

  .panel-body,
  .panel-content,
  .panel-sidebar{
    min-width:0!important;
    max-width:100%!important;
  }

  .metric-grid{
    width:100%!important;
    min-width:0!important;
  }

  .metric{
    min-width:0!important;
    overflow:hidden!important;
  }

  .metric span,
  .metric b{
    overflow-wrap:anywhere;
  }

  .flow-band,
  .ai-flow-row{
    max-width:100%!important;
  }

  .compare-table-wrap,
  .premium-table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }

  .compare-table-wrap table,
  .premium-table-wrap table{
    width:max-content!important;
    min-width:720px!important;
    max-width:none!important;
  }

  .plans-footer,
  .premium-footer{
    width:auto!important;
  }

  .mobile-cta{
    left:16px!important;
    right:16px!important;
    width:auto!important;
    max-width:calc(100% - 32px)!important;
  }
}

@media(max-width:420px){
  .container{
    margin-left:14px!important;
    margin-right:14px!important;
  }

  .premium-nav .container,
  .plans-nav .container,
  footer .container{
    margin-left:14px!important;
    margin-right:14px!important;
  }

  .mobile-cta{
    left:14px!important;
    right:14px!important;
    max-width:calc(100% - 28px)!important;
  }
}


/* ============================================================
   ABOGACLOUD — FIX EXTRA MOBILE COSTADO DERECHO RECORTADO
   ============================================================ */

@media (max-width: 900px){

  /* Evita que cualquier bloque de 100vw + márgenes se corte a la derecha */
  .container,
  .premium-section .container,
  .plans-section .container,
  .compare-section .container,
  .ai-context-section .container,
  .final-cta .container,
  .contact-premium-wrap .container,
  .login-wrap .container{
    width:auto !important;
    max-width:none !important;
    margin-left:14px !important;
    margin-right:14px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  /* Tarjetas y paneles principales */
  .plan-card,
  .premium-card,
  .visual-panel,
  .hero-art,
  .quote-panel,
  .compare-main,
  .compare-aside,
  .contact-form-premium,
  .contact-info-panel,
  .login-card,
  .cta-banner{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  /* Grids a una sola columna sin ancho fantasma */
  .plans-cards-grid,
  .premium-card-grid,
  .premium-card-grid.four,
  .compare-layout,
  .contact-premium-grid,
  .plans-hero-inner,
  .premium-hero-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    gap:18px !important;
  }

  .plans-cards-grid > *,
  .premium-card-grid > *,
  .premium-card-grid.four > *,
  .compare-layout > *,
  .contact-premium-grid > *,
  .plans-hero-inner > *,
  .premium-hero-grid > *{
    min-width:0 !important;
    max-width:100% !important;
  }

  /* Botones full width reales dentro de la tarjeta */
  .plan-btn,
  .btn,
  .ai-cta,
  .final-cta-btn,
  .contact-submit-premium{
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* Panel decorativo y fondo: que no sobresalgan */
  .panel-screen,
  .panel-body,
  .panel-content,
  .panel-sidebar,
  .hero-bg,
  .bg-orb,
  .bg-glow,
  .floating-panel{
    max-width:100% !important;
    min-width:0 !important;
  }

  /* Corrige secciones premium con borde/glow que se iban hacia afuera */
  .plan-card,
  .premium-card,
  .compare-main,
  .compare-aside,
  .ai-context-card,
  .cta-banner{
    overflow:hidden !important;
  }

  /* La tabla comparativa puede scrollear adentro sin romper el viewport */
  .compare-table-wrap,
  .premium-table-wrap{
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    box-sizing:border-box !important;
  }

  /* CTA flotante inferior */
  .mobile-cta{
    left:14px !important;
    right:14px !important;
    width:auto !important;
    max-width:calc(100% - 28px) !important;
    box-sizing:border-box !important;
  }
}

@media (max-width: 480px){

  .container,
  .premium-section .container,
  .plans-section .container,
  .compare-section .container,
  .ai-context-section .container,
  .final-cta .container,
  .contact-premium-wrap .container,
  .login-wrap .container{
    margin-left:12px !important;
    margin-right:12px !important;
  }

  .mobile-cta{
    left:12px !important;
    right:12px !important;
    max-width:calc(100% - 24px) !important;
  }
}
