/* Oculta el slider hasta que cargue para evitar FOUC */
TU_SELECTOR{
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .25s ease, transform .25s ease;
}

html.ld-ready TU_SELECTOR{
  opacity: 1;
  transform: none;
}/* HOME: evita “brinco”/flash del slider al cargar */
body.home .plethora_slider,
body.home .plethora-slider,
body.home .main-slider,
body.home .flexslider,
body.home [class*="plethora"][class*="slider"],
body.home [id*="plethora"][id*="slider"]{
  min-height: 520px;   /* ajustable: 420–700 */
  overflow: hidden;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .25s ease, transform .25s ease;
}

/* cuando todo termina de cargar, se muestra */
html.ld-ready body.home .plethora_slider,
html.ld-ready body.home .plethora-slider,
html.ld-ready body.home .main-slider,
html.ld-ready body.home .flexslider,
html.ld-ready body.home [class*="plethora"][class*="slider"],
html.ld-ready body.home [id*="plethora"][id*="slider"]{
  opacity: 1;
  transform: none;
  /* Fix mínimo: evita colapso del wrapper mientras Owl inicializa */
body.home .head_panel .slider_wrapper{
  min-height: 520px; /* escritorio */
}
@media (max-width: 991px){
  body.home .head_panel .slider_wrapper{ min-height: 420px; }
}
@media (max-width: 575px){
  body.home .head_panel .slider_wrapper{ min-height: 340px; }
}

/* Evita flash blanco */
body.home .head_panel,
body.home .head_panel .slider_wrapper{
  background: #0b1f3a;
}/* ================================
   FIX CRASHEO HOME (Hero / Slider)
   Llanas Dental
   ================================ */

/* 1) Reserva altura del contenedor del slider desde el primer paint */
body.home .head_panel .slider_wrapper{
  min-height: 520px; /* coincide con tu medida ~519.99 */
  background: #0b1f3a; /* evita flash blanco mientras carga */
}

/* Ajustes responsivos (evita espacios de más en móvil) */
@media (max-width: 991px){
  body.home .head_panel .slider_wrapper{ min-height: 420px; }
}
@media (max-width: 575px){
  body.home .head_panel .slider_wrapper{ min-height: 340px; }
}

/* 2) Mientras Owl NO está listo, evita el "apilado" (causa parpadeo/crash) */
body.home #head_panel_slider:not(.owl-loaded) .owl-item{
  display: none !important;
}
body.home #head_panel_slider:not(.owl-loaded) .owl-item:first-child{
  display: block !important;
}

/* 3) Evita micro-brinco por reflow del carousel */
body.home #head_panel_slider,
body.home #head_panel_slider .owl-stage-outer{
  overflow: hidden;
}

/* 4) Si el tema mete margin-top al body por sticky header, estabilízalo */
body.home{
  scroll-padding-top: 70px; /* no cambia visual, ayuda a consistencia */
}/* =========================================
   FIX: Brinco por sticky header (HOME)
   ========================================= */

/* Evita que el tema empuje el body “tarde” con margin-top */
body.home.sticky_header{
  margin-top: 0 !important;

}/* Evita el flash/colapso del slider mientras inicializa Owl */
.home #head_panel_slider { opacity: 0; transition: opacity .2s ease; }
.home #head_panel_slider.owl-loaded { opacity: 1; }
/* 1) Evita el flash/rompimiento del slider mientras Owl inicializa */
.home #head_panel_slider{ opacity:0; transition: opacity .25s ease; }
.home #head_panel_slider.owl-loaded{ opacity:1; }

/* 2) Reserva altura para que no “colapse” y luego brinque */
.home .slider_wrapper{ min-height: 520px; background: rgba(0,0,0,.12); }
.home #head_panel_slider .owl-stage-outer{ min-height: 520px; }

/* Ajuste móvil */
@media (max-width: 767px){
  .home .slider_wrapper{ min-height: 420px; }
  .home #head_panel_slider .owl-stage-outer{ min-height: 420px; }
}:root{
  --ld-bg-1:#1A3760;
  --ld-bg-2:#132E52;
  --ld-bg-3:#0E2442;

  --ld-frame-1:#2C3341;
  --ld-frame-2:#1D2330;

  --ld-panel:rgba(255,255,255,.055);
  --ld-panel-line:rgba(255,255,255,.14);

  --ld-text:#F5F9FF;
  --ld-text-soft:#DCE8FB;
  --ld-line:rgba(255,255,255,.16);
  --ld-line-soft:rgba(255,255,255,.13);

  --ld-cta-1:#87D0FF;
  --ld-cta-2:#57B2FF;
  --ld-cta-text:#0F2E4D;
}

/* BLINDAJE */
.ld-footer-frame,
.ld-footer-wrap,
.ld-footer,
.ld-footer *{ box-sizing:border-box; }

.ld-footer-frame{
  background:
    radial-gradient(700px 260px at 12% 0%, rgba(126,211,255,.14), transparent 60%),
    radial-gradient(700px 260px at 90% 100%, rgba(180,148,255,.12), transparent 65%),
    linear-gradient(155deg, var(--ld-frame-1) 0%, var(--ld-frame-2) 100%);
  padding:20px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 44px rgba(3,8,18,.45);
  overflow:hidden;
}

.ld-footer-wrap{
  background:
    radial-gradient(1000px 360px at 5% -10%, rgba(134,208,255,.12), transparent 58%),
    radial-gradient(1000px 360px at 95% 0%, rgba(188,154,255,.10), transparent 60%),
    linear-gradient(180deg, var(--ld-bg-1) 0%, var(--ld-bg-2) 58%, var(--ld-bg-3) 100%);
  color:var(--ld-text);
  padding:28px 22px 24px;
  border:1px solid rgba(255,255,255,.11);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  font-family:"Inter","Segoe UI",Roboto,Arial,sans-serif;
}

.ld-footer{
  max-width:1360px;
  margin:0 auto;
  padding:18px 16px 16px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.008));
  box-shadow:0 12px 26px rgba(4,10,24,.24);
  width:100%;
}

.ld-footer__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  align-items:stretch;
}

.ld-col{
  background:var(--ld-panel);
  border:1px solid var(--ld-panel-line);
  border-radius:15px;
  padding:18px 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 8px 20px rgba(6,14,30,.16);
  position:relative;
  overflow:hidden;
  min-width:0;
}

/* acento por columna */
.ld-col::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  opacity:.95;
}
.ld-col--brand::before{ background:linear-gradient(90deg,#7CD2FF,#4DB1FF); }
.ld-col--contact::before{ background:linear-gradient(90deg,#66E3D3,#39C8B5); }
.ld-col--treat::before{ background:linear-gradient(90deg,#B79CFF,#8D79FF); }
.ld-col--loc::before{ background:linear-gradient(90deg,#FFD58A,#EFB45E); }

.ld-footer__logo{ display:flex; justify-content:center; }
.ld-footer__logo img{
  width:100%;
  max-width:300px;
  height:auto;
  display:block;
  margin-bottom:14px;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.25));
}

.ld-footer__tagline{
  margin:0 auto;
  max-width:440px;
  color:var(--ld-text-soft);
  font-size:1.28rem;
  line-height:1.6;
  font-weight:620;
  text-align:center;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.ld-footer__title{
  margin:0 0 12px;
  font-size:1.33rem;
  line-height:1.2;
  letter-spacing:.6px;
  text-transform:uppercase;
  font-weight:860;
  color:#fff;
}
.ld-footer__title--small{ margin-top:16px; font-size:1.16rem; }

.ld-footer__list{ list-style:none; margin:0; padding:0; }
.ld-footer__list li{
  margin:0 0 10px;
  padding-bottom:8px;
  border-bottom:1px solid var(--ld-line-soft);
}

.ld-footer a{
  color:#fff;
  text-decoration:none !important;
  font-weight:730;
  transition:opacity .2s ease, color .2s ease;
}
.ld-footer a:hover{ opacity:.95; color:#F2F8FF; }

.ld-footer__meta{
  margin:0;
  color:var(--ld-text-soft);
  font-size:1.22rem;
  line-height:1.52;
  font-weight:650;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.ld-footer__maplink{
  display:inline-block;
  padding-bottom:9px;
  border-bottom:1px solid var(--ld-line-soft);
}

.ld-footer__legal{
  margin-top:16px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.ld-footer__legal a{ font-size:1.05rem; font-weight:760; }
.ld-footer__legal span{ opacity:.58; }

/* Tel/WA */
.ld-contact-link{
  display:block;
  font-size:1.28rem;
  font-weight:780;
  line-height:1.3;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.ld-wa-link{ display:block; line-height:1.32; }
.ld-wa-label{
  display:block;
  font-size:1.02rem;
  font-weight:800;
  margin-bottom:3px;
  opacity:.96;
}
.ld-wa-number{
  display:block;
  font-size:1.28rem;
  font-weight:800;
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* Botones */
.ld-footer__cta,
.ld-footer__blog-inline{
  margin-top:14px;
  display:flex;
  justify-content:center;
}
.ld-footer__btn,
.ld-blog-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 22px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.28);
  background:linear-gradient(180deg, var(--ld-cta-1) 0%, var(--ld-cta-2) 100%);
  color:var(--ld-cta-text) !important;
  font-size:1.02rem;
  font-weight:860;
  letter-spacing:.2px;
  text-transform:uppercase;
  box-shadow:0 10px 22px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.38);
  transition:transform .15s ease, filter .15s ease;
  max-width:100%;
  white-space:normal;
  text-align:center;
}
.ld-footer__btn:hover,
.ld-blog-btn:hover{ transform:translateY(-1px); filter:brightness(1.05); }

.ld-blog-btn{ gap:8px; min-width:195px; }
.ld-blog-btn svg{ width:17px; height:17px; flex:0 0 17px; }

/* Pagos */
.ld-footer__paymentsRow{
  margin-top:24px;
  padding:22px 8px 8px;
  border-top:1px solid var(--ld-line);
}
.ld-pay-title{
  margin:0 0 14px;
  font-size:1.38rem;
  text-transform:uppercase;
  letter-spacing:.8px;
  font-weight:900;
}
.ld-paychips{ display:flex; flex-wrap:wrap; gap:10px; }
.ld-paychip{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 12px;
  border-radius:999px;
  font-size:1.02rem;
  font-weight:760;
  border:1px solid rgba(255,255,255,.2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
  color:#F8FCFF;
  background:rgba(255,255,255,.07);
  overflow-wrap:anywhere;
  word-break:break-word;
}
.ld-paychip--bank{ background:rgba(126,208,255,.18); border-color:rgba(126,208,255,.36); }
.ld-paychip--card{ background:rgba(178,156,255,.18); border-color:rgba(178,156,255,.34); }
.ld-paychip--brand{ background:rgba(255,213,138,.20); border-color:rgba(255,213,138,.38); }
.ld-paychip--wallet{ background:rgba(102,227,211,.18); border-color:rgba(102,227,211,.34); }
.ld-paychip--ins{ background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.24); }

.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* RESPONSIVE */
@media (max-width:1200px){
  .ld-footer__grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:980px){
  .ld-footer__grid{ grid-template-columns:1fr; gap:12px; }
  .ld-footer-frame{ padding:10px; }
  .ld-footer-wrap{ padding:16px 10px 14px; }
  .ld-footer{ padding:12px 10px 12px; }
  .ld-col{ padding:14px 12px; }
  .ld-footer__btn,.ld-blog-btn{ width:100%; min-height:48px; font-size:.94rem; }
}
@media (max-width:760px){
  .ld-footer__title{ font-size:1.16rem; }
  .ld-footer__title--small{ font-size:1rem; }
  .ld-footer__tagline{ font-size:1.06rem; }
  .ld-footer__meta{ font-size:1rem; }
  .ld-contact-link, .ld-wa-number{ font-size:1.06rem; }
  .ld-wa-label{ font-size:.92rem; }
  .ld-pay-title{ font-size:1.12rem; }
  .ld-paychip{ font-size:.93rem; min-height:34px; }
}
@media (max-width:420px){
  .ld-footer__tagline{ font-size:1.02rem; }
  .ld-footer__meta{ font-size:.98rem; }
  .ld-contact-link, .ld-wa-number{ font-size:1.02rem; }
  .ld-blog-btn{ min-width:0; }
}