/*
Theme Name: Lis Ardila Pro Makeup
Theme URI: https://lisardilapromakeup.com
Author: Lis Ardila Pro Makeup
Description: Header y footer a la medida para lisardilapromakeup.com. El contenido de cada página se construye con Elementor; este tema solo aporta la estructura de cabecera y pie de página que Elementor no puede replicar (menú de dos niveles de Servicios, datos de contacto centralizados, botón flotante de WhatsApp).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lisardila
*/
/* ============ FUENTES DE MARCA ============ */
/* ============ FUENTES DE MARCA ============ */

/* Cirka (títulos) */
@font-face{
  font-family:'Cirka';
  src:url('assets/fonts/Cirka-Light.otf') format('opentype');
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Cirka';
  src:url('assets/fonts/Cirka-Variable.ttf') format('truetype');
  font-weight:400 600;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Cirka';
  src:url('assets/fonts/Cirka-Bold.otf') format('opentype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* Maison Neue (cuerpo) */
@font-face{
  font-family:'Maison Neue';
  src:url('assets/fonts/MaisonNeue-Light.ttf') format('truetype');
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Maison Neue';
  src:url('assets/fonts/MaisonNeue-Book.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Maison Neue';
  src:url('assets/fonts/MaisonNeue-Bold.ttf') format('truetype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* Maison Neue Mono (uso puntual, no es la fuente por defecto) */
@font-face{
  font-family:'Maison Neue Mono';
  src:url('assets/fonts/MaisonNeue-Mono.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

/* ============ VARIABLES DE MARCA ============ */
:root{
  --c-negro:#0C0C0C;
  --c-vino:#73132E;
  --c-mora:#A75D67;
  --c-rosa:#F7E9E9;
  --c-blanco:#FFFFFF;
  --c-gris:#7a7373;
  --c-linea: rgba(12,12,12,0.12);
  --accent: var(--c-vino);
  --f-display: 'Cirka', Georgia, serif;
  --f-body: 'Maison Neue', -apple-system, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--f-body);color:var(--c-negro);}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}

/* ============ HEADER ============ */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--c-linea);}
.nav-inner{max-width:1140px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.site-logo img{height:42px;width:auto;}
.custom-logo-link{display:block;line-height:0;}
.custom-logo-link img.custom-logo{height:42px;width:auto;max-width:220px;object-fit:contain;}
.nav-links{display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.nav-links a, .nav-links button.nav-label{
  background:none;border:none;font-family:var(--f-body);font-size:.88rem;
  color:var(--c-gris);cursor:pointer;padding:4px 0;display:inline-block;
}
.nav-links a:hover{color:var(--c-negro);}
.nav-cta{white-space:nowrap;padding:.6em 1.2em !important;font-size:.82rem !important;background:var(--accent);color:#fff !important;border-radius:2px;}
.nav-cta:hover{background:var(--c-negro) !important;}
.burger{display:none;background:none;border:1px solid var(--c-linea);padding:8px 10px;cursor:pointer;}
.burger span{display:block;width:18px;height:1px;background:var(--c-negro);margin:4px 0;}

/* Servicios: menú desplegable de 2 niveles (categoría > servicio) */
.nav-item{position:relative;}
.dropdown-panel{position:absolute;top:100%;left:0;margin-top:16px;background:#fff;border:1px solid var(--c-linea);min-width:290px;padding:8px 0;display:none;z-index:80;box-shadow:0 12px 32px rgba(12,12,12,.10);}
.dropdown-panel.open{display:block;}
@media (min-width:881px){.nav-item:hover .dropdown-panel{display:block;}}
.dd-viewall{display:block;padding:12px 20px;font-size:.82rem;font-weight:600;color:var(--accent);border-bottom:1px solid var(--c-linea);}
.dd-viewall:hover{color:var(--c-negro);}
.dd-cat-row{border-bottom:1px solid var(--c-linea);}
.dd-cat-row:last-child{border-bottom:none;}
.dd-cat-btn{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:12px 20px;font-family:var(--f-body);font-size:.82rem;font-weight:600;color:var(--c-negro);display:flex;justify-content:space-between;align-items:center;gap:12px;}
.dd-cat-btn::after{content:"+";color:var(--accent);font-weight:400;font-size:1rem;}
.dd-cat-row.open .dd-cat-btn::after{content:"–";}
.dd-services{display:none;padding:0 20px 14px 20px;}
.dd-services.open{display:block;}
.dd-services a{display:block;padding:6px 0;font-size:.8rem;color:var(--c-gris);}
.dd-services a:hover{color:var(--accent);}

@media (max-width:880px){
  .nav-links{position:fixed;inset:70px 0 0 0;background:#fff;flex-direction:column;align-items:flex-start;padding:24px;gap:16px;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;}
  .nav-links.open{transform:translateX(0);}
  .nav-cta{order:99;}
  .burger{display:block;}
  .nav-item{width:100%;}
  .nav-item .nav-label[data-has-dd]::after{content:" ⌄";font-size:.7rem;color:var(--accent);}
  .dropdown-panel{position:static;margin-top:10px;box-shadow:none;min-width:0;width:100%;border:none;border-left:2px solid var(--accent);padding-left:4px;}
}

/* ============ FOOTER ============ */
.site-footer{background:var(--c-negro);color:var(--c-rosa);padding:64px 0 28px;}
.site-footer a{color:var(--c-rosa);}
.site-footer .site-logo img{height:34px;}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;margin-bottom:44px;}
.site-footer h3{color:var(--c-rosa);font-size:.85rem;letter-spacing:.04em;margin-bottom:14px;font-family:var(--f-body);font-weight:600;}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer li{margin-bottom:9px;font-size:.88rem;color:#cbb2b6;}
.site-footer p{color:#cbb2b6;font-size:.88rem;max-width:32ch;}
.site-footer .social-row{display:flex;gap:14px;margin-top:20px;}
.site-footer .social-row a{display:block;width:40px;height:40px;border:0;border-radius:0;box-shadow:none;background:none;line-height:0;transition:transform .2s;}
.site-footer .social-row a:hover{transform:translateY(-3px);border:0;}
.site-footer .social-row svg{display:block;width:40px;height:40px;}
.foot-bottom{display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid rgba(247,233,233,0.15);font-size:.78rem;color:#a58a8e;flex-wrap:wrap;gap:12px;}
@media (max-width:880px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr;}}

/* ============ WHATSAPP FLOTANTE ============ */
.wa-fab{position:fixed;bottom:24px;left:24px;z-index:60;background:#25D366;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.25);}
.wa-fab svg{width:28px;height:28px;fill:#fff;}

/* Fuentes de marca: ajustes globales de Elementor */
body[class*="elementor-kit-"]{
  --e-global-typography-primary-font-family:'Cirka';
  --e-global-typography-secondary-font-family:'Cirka';
  --e-global-typography-text-font-family:'Maison Neue';
  --e-global-typography-accent-font-family:'Maison Neue';
}

/* Títulos */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title{
  font-family:'Cirka', Georgia, serif !important;
}

/* Texto en general */
body, .elementor, .elementor-widget-container, p, li, a, button, input, textarea, select,
.elementor-widget-text-editor, .elementor-button, .elementor-icon-list-text{
  font-family:'Maison Neue', -apple-system, sans-serif !important;
}

/* Los títulos del footer usan la fuente de cuerpo */
.site-footer h3{
  font-family:'Maison Neue', -apple-system, sans-serif !important;
}

/* ============ FOOTER v2: columnas, contacto y mapa ============ */
.foot-grid{grid-template-columns:1.2fr .8fr .8fr 1.5fr;gap:40px;}
.foot-contact li{margin-bottom:10px;line-height:1.5;}
.foot-contact strong{color:var(--c-rosa);font-weight:700;}
.foot-contact a:hover{text-decoration:underline;}
.site-footer .foot-map{position:relative;margin-top:16px;aspect-ratio:16/10;background:#161313;border:1px solid rgba(247,233,233,.18);overflow:hidden;}
.foot-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.foot-map-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center;}
.site-footer .foot-map-ph p{margin:0;font-size:.8rem;max-width:none;}
.foot-map-ph button{background:none;border:1px solid var(--c-rosa);color:var(--c-rosa);padding:.55em 1.2em;font-size:.8rem;font-weight:700;cursor:pointer;border-radius:2px;}
.foot-map-ph button:hover{background:var(--c-rosa);color:var(--c-negro);}
.foot-map.is-loaded .foot-map-ph{display:none;}
.foot-bottom{justify-content:center;text-align:center;}
@media (max-width:980px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr;}}

/* ============ AVISO DE PRIVACIDAD Y COOKIES ============ */
.lc-banner{position:fixed;right:24px;bottom:24px;z-index:100;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;color:var(--c-negro);border:1px solid var(--c-linea);border-top:3px solid var(--accent);box-shadow:0 18px 48px rgba(12,12,12,.28);padding:22px;}
.lc-banner[hidden]{display:none !important;}
.lc-title{font-size:1.25rem;margin:0 0 8px;font-weight:500;}
.lc-text{font-size:.85rem;line-height:1.55;color:#4a4444;margin:0 0 14px;max-width:none;}
.lc-text a{color:var(--accent);text-decoration:underline;}
.lc-actions{display:flex;flex-wrap:wrap;gap:8px;}
.lc-btn{flex:1 1 auto;padding:.7em 1.1em;font-size:.82rem;font-weight:700;border:1px solid var(--c-negro);background:#fff;color:var(--c-negro);cursor:pointer;border-radius:2px;}
.lc-btn:hover{background:var(--c-negro);color:#fff;}
.lc-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;}
.lc-btn-primary:hover{background:var(--c-negro);border-color:var(--c-negro);}
.lc-link{background:none;border:0;padding:.4em 0;margin-top:8px;font-size:.8rem;color:var(--accent);text-decoration:underline;cursor:pointer;}
.lc-panel{margin-top:14px;border-top:1px solid var(--c-linea);padding-top:10px;}
.lc-panel[hidden]{display:none;}
.lc-opt{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--c-linea);cursor:pointer;}
.lc-opt input{margin-top:3px;accent-color:var(--accent);}
.lc-opt strong{display:block;font-size:.83rem;}
.lc-opt span{display:block;font-size:.76rem;color:#6b6363;line-height:1.4;}
@media (max-width:600px){.lc-banner{left:16px;right:16px;bottom:16px;width:auto;}}

.lc-code{margin:10px 0 0;font-size:.72rem;color:#6b6363;max-width:none;}
.lc-code code{font-size:.72rem;word-break:break-all;background:#f4eded;padding:1px 4px;}


/* ---- Menú: el botón "Contáctame" se veía blanco sobre blanco ---- */
.nav-links .nav-cta{background:var(--accent);}

/* ---- Menú móvil / iPad: que el menú ocupe toda la pantalla y las opciones salgan en lista ---- */
@media (max-width:880px){
  .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(255,255,255,.98);}
  .nav-links{inset:75px 0 0 0;flex-wrap:nowrap;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
  .nav-links .nav-cta{align-self:stretch;text-align:center;margin-top:8px;}
}