.elementor-kit-6{--e-global-color-primary:#000000;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#111111;--e-global-color-accent:#CEFF1A;--e-global-color-lanamar:#FFE100;--e-global-color-lang900:#111111;--e-global-color-lang700:#333333;--e-global-color-lang500:#666666;--e-global-color-lang300:#999999;--e-global-color-lang150:#E5E5E5;--e-global-color-lang075:#F5F5F5;--e-global-typography-primary-font-family:"Space Mono";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-secondary-font-family:"Space Mono";--e-global-typography-secondary-font-size:12px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-letter-spacing:1.8px;--e-global-typography-text-font-family:"Helvetica Neue";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:300;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Helvetica Neue";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.5em;background-color:#FFFFFF;color:#111111;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:17px;font-weight:300;line-height:1.7em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#000000;}.elementor-kit-6 a:hover{color:#666666;}.elementor-kit-6 h1{color:#000000;font-family:"Space Mono", Helvetica, Arial, sans-serif;font-size:56px;font-weight:700;line-height:1.18em;}.elementor-kit-6 h2{color:#000000;font-family:"Space Mono", Helvetica, Arial, sans-serif;font-size:40px;font-weight:700;line-height:1.18em;}.elementor-kit-6 h3{color:#000000;font-family:"Space Mono", Helvetica, Arial, sans-serif;font-size:28px;font-weight:700;line-height:1.18em;}.elementor-kit-6 h4{color:#000000;font-family:"Space Mono", Helvetica, Arial, sans-serif;font-size:21px;font-weight:700;line-height:1.18em;}.elementor-kit-6 h5{color:#000000;font-family:"Space Mono", Helvetica, Arial, sans-serif;font-size:17px;font-weight:700;line-height:1.18em;}.elementor-kit-6 h6{color:#000000;font-family:"Space Mono", Helvetica, Arial, sans-serif;font-size:14px;font-weight:700;line-height:1.18em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:"Space Mono", Helvetica, Arial, sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;border-radius:0px 0px 0px 0px;padding:16px 32px 16px 32px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:rgba(0,0,0,0.92);--lightbox-ui-color:#999999;--lightbox-ui-color-hover:#CEFF1A;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-font-size:38px;}.elementor-kit-6 h1{font-size:40px;}.elementor-kit-6 h2{font-size:32px;}.elementor-kit-6 h3{font-size:24px;}.elementor-kit-6 h4{font-size:20px;}.elementor-kit-6 h5{font-size:16px;}.elementor-kit-6 h6{font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:30px;--e-global-typography-text-font-size:16px;}.elementor-kit-6 h1{font-size:32px;}.elementor-kit-6 h2{font-size:26px;}.elementor-kit-6 h3{font-size:21px;}.elementor-kit-6 h4{font-size:18px;}.elementor-kit-6 h5{font-size:16px;}.elementor-kit-6 h6{font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   LANFRANCO STUDIOS — capa de utilidades
   RAF Media Studio. Paleta: lima #CEFF1A · amarillo #FFE100 · negro · blanco · grises.
   ============================================================ */

:root{
  --lan-lima:#CEFF1A;
  --lan-amarillo:#FFE100;
  --lan-negro:#000000;
  --lan-blanco:#FFFFFF;
  --lan-g900:#111111; --lan-g700:#333333; --lan-g500:#666666;
  --lan-g300:#999999; --lan-g150:#E5E5E5; --lan-g75:#F5F5F5;
  --lan-mono:"Space Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --lan-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}

/* Foco visible en todo el sitio (accesibilidad) */
a:focus-visible,button:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--lan-lima);
  outline-offset:2px;
}
body.lan-dark a:focus-visible{outline-color:var(--lan-amarillo)}

/* Salto al contenido */
.lan-skip{
  position:absolute;left:-9999px;top:0;z-index:9999;
  background:var(--lan-negro);color:var(--lan-lima);
  font-family:var(--lan-mono);font-size:13px;padding:12px 18px;
}
.lan-skip:focus{left:0}

/* ---------- Etiqueta / eyebrow ---------- */
.lan-eyebrow{
  font-family:var(--lan-mono);font-weight:700;font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--lan-g500);
}
.lan-eyebrow--lima{color:var(--lan-negro)}
.lan-eyebrow--lima:before{
  content:"";display:inline-block;width:8px;height:8px;
  background:var(--lan-lima);margin-right:10px;vertical-align:middle;
}

/* ---------- Breadcrumb (Yoast no está instalado) ---------- */
.lan-breadcrumb{
  font-family:var(--lan-mono);font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--lan-g500);
}
.lan-breadcrumb a{color:var(--lan-g500);text-decoration:none;border-bottom:1px solid transparent}
.lan-breadcrumb a:hover{color:var(--lan-negro);border-bottom-color:var(--lan-lima)}
.lan-breadcrumb span[aria-current]{color:var(--lan-negro)}
.lan-breadcrumb .sep{margin:0 .5em;color:var(--lan-g300)}

/* ---------- Header ---------- */
.lan-header{border-bottom:1px solid var(--lan-g150);background:var(--lan-blanco)}
body .lan-header .elementor-nav-menu .menu-item a.elementor-item{
  font-family:var(--lan-mono);font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;
}
/* subrayado lima en hover / activo */
.lan-header .elementor-nav-menu a.elementor-item:after{
  background:var(--lan-lima)!important;height:3px!important;
}
.lan-header .elementor-nav-menu a.elementor-item-active{font-weight:700}

/* Botón Shop: se lee como botón, no como ítem de menú */
.lan-shop-btn .elementor-button{
  font-family:var(--lan-mono);font-weight:700;font-size:13px;
  letter-spacing:.1em;text-transform:uppercase;
  background:var(--lan-amarillo);color:var(--lan-negro);
  border:2px solid var(--lan-negro);border-radius:0;
  padding:10px 22px;transition:background .18s ease,transform .18s ease;
}
.lan-shop-btn .elementor-button:hover,
.lan-shop-btn .elementor-button:focus{
  background:var(--lan-lima);transform:translateY(-2px);
}
.lan-shop-btn .elementor-button svg{margin-left:6px}

/* ---------- Botones generales ---------- */
.lan-btn .elementor-button{
  font-family:var(--lan-mono);font-weight:700;font-size:13px;
  letter-spacing:.1em;text-transform:uppercase;border-radius:0;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.lan-btn .elementor-button:hover{transform:translateY(-2px)}
.lan-btn--lima .elementor-button{background:var(--lan-lima);color:var(--lan-negro)}
.lan-btn--lima .elementor-button:hover{background:var(--lan-negro);color:var(--lan-lima)}
.lan-btn--ghost .elementor-button{
  background:transparent;color:var(--lan-negro);box-shadow:inset 0 0 0 2px var(--lan-negro);
}
.lan-btn--ghost .elementor-button:hover{background:var(--lan-negro);color:var(--lan-lima)}
.lan-btn--ghost-light .elementor-button{
  background:transparent;color:var(--lan-blanco);box-shadow:inset 0 0 0 2px var(--lan-blanco);
}
.lan-btn--ghost-light .elementor-button:hover{background:var(--lan-lima);color:var(--lan-negro);box-shadow:inset 0 0 0 2px var(--lan-lima)}

/* ---------- Grid de categorías (House of Brands) ---------- */
.lan-cat-card{position:relative;overflow:hidden;display:block}
.lan-cat-card .elementor-widget-image img{
  width:100%;aspect-ratio:4/5;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.lan-cat-card:hover .elementor-widget-image img{transform:scale(1.04)}
.lan-cat-card .lan-cat-overlay{
  position:absolute;inset:0;display:flex;align-items:flex-end;
  padding:20px;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.72) 100%);
  transition:background .25s ease;
}
.lan-cat-card:hover .lan-cat-overlay{background:rgba(206,255,26,.88)}
.lan-cat-card--alt:hover .lan-cat-overlay{background:rgba(255,225,0,.88)}
.lan-cat-card .lan-cat-name{
  font-family:var(--lan-mono);font-weight:700;font-size:18px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--lan-blanco);
  transition:color .25s ease;
}
.lan-cat-card:hover .lan-cat-name{color:var(--lan-negro)}
.lan-cat-card .lan-cat-desc{
  font-family:var(--lan-sans);font-size:13px;color:rgba(255,255,255,.75);
  opacity:0;max-height:0;transition:opacity .25s ease,max-height .25s ease;
}
.lan-cat-card:hover .lan-cat-desc{opacity:1;max-height:40px;color:rgba(0,0,0,.7)}

/* ---------- Loop Grid de obras (masonry) ---------- */
.lan-work{position:relative;overflow:hidden;background:var(--lan-g75)}
.lan-work img{width:100%;height:auto;display:block;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.lan-work:hover img{transform:scale(1.03)}
.lan-work .lan-work-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  gap:2px;padding:18px;opacity:0;transition:opacity .25s ease;
  background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.78) 100%);
  pointer-events:none;
}
.lan-work:hover .lan-work-overlay,
.lan-work:focus-within .lan-work-overlay{opacity:1}
.lan-work .lan-work-title{
  font-family:var(--lan-mono);font-weight:700;font-size:14px;color:var(--lan-blanco);
  letter-spacing:.03em;line-height:1.3;
}
.lan-work .lan-work-cat{
  font-family:var(--lan-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--lan-lima);
}
/* la imagen entera dispara el lightbox */
.lan-work .lan-work-link{position:absolute;inset:0;z-index:2}

/* ---------- Filtro de categorías (pills) ---------- */
/* widget-loop-filter.min.css carga despues del CSS del kit y empata en
   especificidad, asi que aca se usa un .elementor-kit-6 de 3 clases para ganar siempre. */
.lan-filter{
  position:sticky;top:84px;z-index:20;background:var(--lan-blanco);
  padding:14px 0;border-bottom:1px solid var(--lan-g150);
}
.lan-filter .e-filter{gap:10px;flex-wrap:wrap;justify-content:center}
.lan-filter .e-filter .e-filter-item{
  font-family:var(--lan-mono);font-weight:700;font-size:12px;
  letter-spacing:.12em;text-transform:uppercase;
  padding:9px 18px;border:2px solid var(--lan-negro);border-radius:999px;
  background-color:transparent;color:var(--lan-negro);cursor:pointer;
  transition:background-color .18s ease,color .18s ease;
}
.lan-filter .e-filter .e-filter-item:hover{background-color:var(--lan-g150)}
.lan-filter .e-filter .e-filter-item[aria-pressed="true"]{
  background-color:var(--lan-lima);color:var(--lan-negro);border-color:var(--lan-negro);
}
/* "Todas" va primero aunque el markup la imprima al final */
.lan-filter .e-filter .e-filter-item[data-filter="__all"]{order:-1}
@media (max-width:767px){
  .lan-filter{top:70px;overflow-x:auto}
  .lan-filter .e-filter{flex-wrap:nowrap;justify-content:flex-start;padding-inline:16px}
  .lan-filter .e-filter .e-filter-item{white-space:nowrap}
}

/* ---------- Secciones oscuras ---------- */
.lan-dark{background:var(--lan-negro);color:var(--lan-blanco)}
.lan-dark h1,.lan-dark h2,.lan-dark h3,.lan-dark h4,.lan-dark p{color:var(--lan-blanco)}

/* ---------- Lista de exposiciones ---------- */
/* Flex, no grid: los contenedores de Elementor ya son flex y pelear con eso
   obligaria a un !important. Los hijos son wrappers de widget. */
.lan-exh-row{
  display:flex;gap:24px;align-items:baseline;flex-wrap:wrap;
  padding:22px 0;border-bottom:1px solid var(--lan-g150);
  transition:padding-left .2s ease,background .2s ease;
}
.lan-exh-row:hover{padding-left:12px;background:var(--lan-g75)}
.lan-exh-year{flex:0 0 84px}
body .lan-exh-year .elementor-heading-title{
  font-family:var(--lan-mono);font-weight:700;font-size:15px;color:var(--lan-g500);
  transition:color .2s ease;
}
.lan-exh-row:hover body .lan-exh-year .elementor-heading-title{color:var(--lan-negro)}
.lan-exh-title{flex:1 1 320px;min-width:0}
body .lan-exh-title .elementor-heading-title{
  font-family:var(--lan-sans);font-weight:400;font-size:19px;line-height:1.4;color:var(--lan-negro);
}
.lan-exh-title a{color:inherit;text-decoration:none}
.lan-exh-city{flex:0 0 auto;margin-left:auto}
body .lan-exh-city .elementor-heading-title{
  font-family:var(--lan-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--lan-g500);white-space:nowrap;transition:color .2s ease;
}
.lan-exh-row:hover body .lan-exh-city .elementor-heading-title{color:var(--lan-negro)}
@media (max-width:767px){
  .lan-exh-row{gap:10px}
  .lan-exh-year{flex:0 0 60px}
  .lan-exh-title{flex:1 1 100%;order:2}
  .lan-exh-city{margin-left:0;order:3}
  body .lan-exh-title .elementor-heading-title{font-size:17px}
}

/* ---------- Tarjeta de obra dentro del Loop Grid ---------- */
.lan-work .elementor-widget-theme-post-featured-image,
.lan-work .elementor-widget-image{width:100%}
body .lan-work .lan-work-overlay .elementor-heading-title{margin:0}

/* ---------- Próxima exposición ---------- */
.lan-next-show{border:2px solid var(--lan-lima)}
.lan-next-show .lan-eyebrow{color:var(--lan-lima)}

/* ---------- Banner shop / cierre ---------- */
.lan-banner{background:var(--lan-amarillo)}
.lan-banner--lima{background:var(--lan-lima)}

/* ---------- Formularios ---------- */
body .lan-form .elementor-field-group>label{
  font-family:var(--lan-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--lan-g500);margin-bottom:8px;
}
body .lan-form .elementor-field-textual{
  font-family:var(--lan-sans);font-size:16px;border:0;border-bottom:2px solid var(--lan-g150);
  border-radius:0;background:transparent;padding:12px 2px;
}
body .lan-form .elementor-field-textual:focus{
  border-bottom-color:var(--lan-negro);box-shadow:none;outline:none;
}
.lan-form .elementor-button[type="submit"]{
  font-family:var(--lan-mono);font-weight:700;font-size:13px;
  letter-spacing:.1em;text-transform:uppercase;border-radius:0;
  background:var(--lan-negro);color:var(--lan-lima);
}
.lan-form .elementor-button[type="submit"]:hover{background:var(--lan-lima);color:var(--lan-negro)}
.lan-form--inline .elementor-field-group{margin-bottom:0}

/* ---------- Footer ---------- */
.lan-footer{background:var(--lan-negro);color:var(--lan-g300)}
.lan-footer a{color:var(--lan-g300);text-decoration:none}
.lan-footer a:hover{color:var(--lan-lima)}
.lan-footer h4,.lan-footer .lan-foot-head{
  font-family:var(--lan-mono);font-weight:700;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--lan-blanco);
}
body .lan-footer .elementor-icon-list-item a{font-family:var(--lan-sans);font-size:14px}
.lan-footer-legal{
  font-family:var(--lan-mono);font-size:11px;letter-spacing:.06em;color:var(--lan-g500);
  border-top:1px solid rgba(255,255,255,.14);
}

/* ---------- Prensa / logo grid ---------- */
.lan-press img{
  filter:grayscale(1);opacity:.45;transition:opacity .25s ease,filter .25s ease;
}
.lan-press:hover img{filter:grayscale(0);opacity:1}

/* ---------- Placeholder gris (sin imagen real) ---------- */
.lan-placeholder{
  background:repeating-linear-gradient(45deg,#EDEDED,#EDEDED 10px,#E3E3E3 10px,#E3E3E3 20px);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--lan-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--lan-g300);min-height:220px;
}

/* ---------- Respeto por reduce-motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;
  }
  .lan-work:hover img,.lan-cat-card:hover .elementor-widget-image img{transform:none}
}

/* ---------- Galería de exposición ---------- */
.lan-gallery{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.lan-gallery-item{display:block;overflow:hidden;background:var(--lan-g075);line-height:0}
.lan-gallery-item img{
  width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.2,.7,.3,1),opacity .25s ease;
}
.lan-gallery-item:hover img{transform:scale(1.04);opacity:.9}
@media (max-width:1024px){ .lan-gallery{grid-template-columns:repeat(2,1fr)} }
@media (max-width:767px){ .lan-gallery{grid-template-columns:1fr;gap:10px} }

/* Contenido del single de exposición */
.lan-exh-content p{max-width:820px;font-size:18px;line-height:1.8;color:var(--lan-g700)}

/* Título de archivo de categoría */
.lan-archive-title .elementor-heading-title{text-transform:none}

/* Mensaje de categoría vacía: solo si el Loop Grid no imprimió ninguna obra */
.lan-empty{display:none}
.lan-archive-grid:not(:has(.e-loop-item)) .lan-empty{display:block}

/* ---------- Header: evitar desborde horizontal ----------
   Los contenedores "e-con-full" de Elementor llevan width:100%. Dentro de una
   fila nowrap eso hace que el grupo nav+Shop reclame el ancho completo y empuje
   el header fuera de la pantalla en movil. Se le devuelve ancho automatico. */
body .lan-header .e-con-inner > .e-con{width:auto;min-width:0;flex:0 1 auto}
body .lan-header .e-con-inner{min-width:0}
body .lan-header .lan-logo{flex:0 0 auto}

@media (max-width:767px){
  body .lan-shop-btn .elementor-button{
    padding:9px 14px;font-size:11px;letter-spacing:.06em;
  }
  body .lan-shop-btn .elementor-button svg,
  body .lan-shop-btn .elementor-button .elementor-button-icon{display:none}
  body .lan-header .e-con-inner{gap:12px}
}

/* ---------- Filas de exposición clickeables ----------
   El enlace real vive en el titular (semántico, un solo <a> por fila) y se
   estira sobre toda la fila para que se pueda clickear entera. */
.lan-exh-row{position:relative}
body .lan-exh-title a{color:inherit;text-decoration:none}
body .lan-exh-title a::after{content:"";position:absolute;inset:0;z-index:1}
body .lan-exh-row:hover .lan-exh-title a{text-decoration:underline;text-underline-offset:4px}
body .lan-exh-title a:focus-visible{outline:none}
.lan-exh-row:focus-within{outline:3px solid var(--lan-lima);outline-offset:2px}

/* ---------- Agenda de la Home: se oculta entera si no hay próxima fecha ----------
   Mismo criterio que el bloque "Próxima exposición" de la página Exhibitions.
   Sin exposiciones etiquetadas "Próximas" el Loop Grid no imprime ningún item. */
.lan-agenda:not(:has(.e-loop-item)){display:none}

/* Variante oscura de la fila (agenda de la Home) */
.lan-exh-row--dark{border-bottom-color:rgba(255,255,255,.16)}
.lan-exh-row--dark:hover{background:rgba(255,255,255,.05)}
body .lan-exh-row--dark:hover .lan-exh-year .elementor-heading-title{color:var(--lan-lima)}
body .lan-exh-row--dark:hover .lan-exh-city .elementor-heading-title{color:var(--lan-blanco)}/* End custom CSS */