:root {
    --color-primary: #b76e79;
    --color-primary-dark: #9a5a63;
    --color-primary-light: #d4a5ab;
    --color-secondary: #c9a9c9;
    --color-accent: #f5e6e8;
    --color-bg: #fdf8f9;
    --color-bg-alt: #ffffff;
    --color-text: #4a4a4a;
    --color-text-light: #777777;
    --color-text-muted: #999999;
    --color-border: #f0e0e3;
    --color-dark: #2d2d2d;
    --color-whatsapp: #25d366;
    --color-error: #e74c3c;
    --color-success: #27ae60;
    --font-display: 'Playfair Display', Georgia, serif;
    --font-body: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.1);
    --shadow-lg: 0 10px 30px rgba(0,0,0,0.12);
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.25rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;border:2px solid transparent;transition:var(--transition);text-align:center;white-space:nowrap}
.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-secondary{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}
.btn-secondary:hover{background:#b08db0;transform:translateY(-2px)}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,0.6)}
.btn-outline:hover{background:rgba(255,255,255,0.15);border-color:#fff}
.btn-whatsapp{background:var(--color-whatsapp);color:#fff;border-color:var(--color-whatsapp)}
.btn-whatsapp:hover{background:#1ebe57;transform:translateY(-2px)}
.btn-lg{padding:1rem 2rem;font-size:1rem}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}

/* NAVBAR */
.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);transition:var(--transition)}
.navbar.scrolled{box-shadow:var(--shadow-md)}
.nav-container{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:.75rem 1.25rem}
.nav-logo{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--color-primary)}
.logo-icon{font-size:1.5rem}
.nav-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--color-text);transition:var(--transition)}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.nav-menu{position:fixed;top:60px;left:0;width:100%;background:rgba(255,255,255,0.98);backdrop-filter:blur(10px);flex-direction:column;align-items:center;gap:0;padding:1rem 0;box-shadow:var(--shadow-md);transform:translateY(-150%);opacity:0;pointer-events:none;transition:var(--transition);list-style:none;display:flex}
.nav-menu.active{transform:translateY(0);opacity:1;pointer-events:all}
.nav-link{display:block;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:500;color:var(--color-text);transition:var(--transition);width:100%;text-align:center}
.nav-link:hover,.nav-link.active{color:var(--color-primary)}
.nav-link.btn-primary{margin:.5rem 1rem;border-radius:var(--radius-md);color:#fff}
@media(min-width:768px){.nav-toggle{display:none}.nav-menu{position:static;flex-direction:row;gap:.25rem;padding:0;box-shadow:none;transform:none;opacity:1;pointer-events:all;width:auto;background:transparent}.nav-link{width:auto;padding:.5rem .875rem;font-size:.875rem}.nav-link.btn-primary{padding:.5rem 1.25rem;margin:0}}

/* HERO */
.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;padding:5rem 1.25rem 3rem}
.hero-bg{position:absolute;inset:0;z-index:0;background:url('https://picsum.photos/seed/hero/1920/1080') center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(80,40,50,0.75) 0%,rgba(40,20,30,0.85) 100%)}
.hero-content{position:relative;z-index:2;max-width:700px;animation:fadeInUp 1s ease}
.hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,4rem);font-weight:700;margin-bottom:.75rem;letter-spacing:-0.02em;text-shadow:0 2px 10px rgba(0,0,0,0.3)}
.hero-tagline{font-size:clamp(1rem,3vw,1.25rem);font-weight:300;margin-bottom:1.25rem;opacity:.9;font-family:var(--font-display);font-style:italic}
.hero-description{font-size:.9375rem;line-height:1.7;opacity:.85;margin-bottom:2rem;max-width:560px;margin-left:auto;margin-right:auto}
.hero-buttons{display:flex;flex-direction:column;gap:.75rem;align-items:center}
@media(min-width:768px){.hero{padding:6rem 2rem 4rem}.hero-buttons{flex-direction:row;justify-content:center}.hero-description{font-size:1rem}}
.scroll-down{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;color:#fff;opacity:.7;animation:bounce 2s infinite;cursor:pointer;transition:opacity .3s}
.scroll-down:hover{opacity:1}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes bounce{0%,20%,50%,80%,100%{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}

/* SECCIONES */
.section-header{text-align:center;margin-bottom:2.5rem}
.section-title{font-family:var(--font-display);font-size:clamp(1.75rem,5vw,2.5rem);color:var(--color-dark);margin-bottom:.5rem}
.section-subtitle{font-size:1rem;color:var(--color-text-light)}

/* TRABAJOS / CARRUSEL */
.trabajos{padding:4rem 0;background:var(--color-bg-alt)}
.carrusel-wrapper{margin-bottom:3rem}
.carrusel-wrapper:last-child{margin-bottom:0}
.carrusel-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-primary-dark);margin-bottom:1.5rem;text-align:center}
.carrusel{position:relative}
.carrusel-track-container{overflow:hidden;border-radius:var(--radius-md)}
.carrusel-track{display:flex;transition:transform .4s cubic-bezier(0.4,0,0.2,1);will-change:transform}
.carrusel-slide{min-width:100%;padding:0 .5rem}
.card-servicio{background:var(--color-bg-alt);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);height:100%}
.card-servicio:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card-img{position:relative;height:220px;display:flex;align-items:flex-end;padding:1rem;background-size:cover;background-position:center;background-repeat:no-repeat}
.card-badge{display:inline-block;background:rgba(255,255,255,0.95);color:var(--color-primary-dark);font-size:.75rem;font-weight:600;padding:.375rem .875rem;border-radius:20px;backdrop-filter:blur(4px)}
.card-body{padding:1.25rem}
.card-body h4{font-family:var(--font-display);font-size:1.125rem;margin-bottom:.5rem;color:var(--color-dark)}
.card-body p{font-size:.875rem;color:var(--color-text-light);line-height:1.5}
.carrusel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.95);border:none;box-shadow:var(--shadow-md);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-primary-dark);transition:var(--transition);opacity:.9}
.carrusel-arrow:hover{opacity:1;background:#fff;transform:translateY(-50%) scale(1.05)}
.carrusel-arrow:disabled{opacity:.3;cursor:not-allowed}
.carrusel-prev{left:-.5rem}
.carrusel-next{right:-.5rem}
.carrusel-indicators{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}
.carrusel-indicators button{width:8px;height:8px;border-radius:50%;border:none;background:var(--color-border);cursor:pointer;transition:var(--transition)}
.carrusel-indicators button.active{background:var(--color-primary);width:24px;border-radius:4px}
@media(min-width:640px){.carrusel-slide{min-width:50%}}
@media(min-width:1024px){.carrusel-slide{min-width:33.333%}.carrusel-prev{left:-1rem}.carrusel-next{right:-1rem}}

/* SERVICIOS LISTA */
.servicios-lista{padding:4rem 0}
.servicios-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
.servicio-card{background:var(--color-bg-alt);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:var(--transition);display:flex;flex-direction:column}
.servicio-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.servicio-card .servicio-img{height:160px;background-size:cover;background-position:center;background-repeat:no-repeat;border-bottom:1px solid var(--color-border)}
.servicio-card .servicio-body{padding:1.25rem;display:flex;flex-direction:column;flex-grow:1}
.servicio-card h3{font-family:var(--font-display);font-size:1.125rem;color:var(--color-dark);margin-bottom:.25rem}
.servicio-card .categoria{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);font-weight:600;margin-bottom:.5rem}
.servicio-card p{font-size:.875rem;color:var(--color-text-light);flex-grow:1;margin-bottom:1rem}
.servicio-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border);padding-top:1rem}
.servicio-meta .duracion{font-size:.8125rem;color:var(--color-text-muted)}
.servicio-meta .precio{font-family:var(--font-display);font-size:1.25rem;color:var(--color-primary-dark);font-weight:600}
@media(min-width:640px){.servicios-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.servicios-grid{grid-template-columns:repeat(3,1fr)}}

/* CONTACTO */
.contacto{padding:4rem 0;background:var(--color-bg-alt)}
.contacto-grid{display:grid;grid-template-columns:1fr;gap:2rem}
.contacto-info{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.info-card{background:var(--color-bg);border-radius:var(--radius-md);padding:1.25rem;border:1px solid var(--color-border);transition:var(--transition)}
.info-card:hover{box-shadow:var(--shadow-sm)}
.info-icon{width:40px;height:40px;border-radius:50%;background:var(--color-accent);display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:.75rem}
.info-card h4{font-size:.9375rem;font-weight:600;margin-bottom:.25rem;color:var(--color-dark)}
.info-card p{font-size:.8125rem;color:var(--color-text-light)}
.info-card a{color:var(--color-primary);transition:color .2s}
.info-card a:hover{color:var(--color-primary-dark);text-decoration:underline}
.contacto-botones{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}
.contacto-mapa{border-radius:var(--radius-md);overflow:hidden;min-height:300px;box-shadow:var(--shadow-sm)}
.contacto-mapa iframe{width:100%;height:100%;min-height:300px;display:block}
@media(min-width:768px){.contacto-grid{grid-template-columns:1fr 1fr}.contacto-info{grid-template-columns:repeat(2,1fr)}}

/* FOOTER */
.footer{background:var(--color-primary-dark);color:rgba(255,255,255,0.85);padding:3rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}
.footer-brand .logo-icon{font-size:2rem;display:block;margin-bottom:.5rem;color:var(--color-primary-light)}
.footer-brand h3{font-family:var(--font-display);color:#fff;margin-bottom:.5rem}
.footer-brand p{font-size:.875rem;opacity:.75;line-height:1.6}
.footer-links h4{color:#fff;font-size:.9375rem;margin-bottom:1rem;font-weight:600}
.footer-links ul{list-style:none}
.footer-links li{margin-bottom:.5rem}
.footer-links a{font-size:.875rem;opacity:.75;transition:opacity .2s,color .2s}
.footer-links a:hover{opacity:1;color:var(--color-primary-light)}
.footer-social h4{color:#fff;font-size:.9375rem;margin-bottom:1rem;font-weight:600}
.social-links{display:flex;gap:.75rem}
.social-links a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;transition:var(--transition);color:#fff}
.social-links a:hover{background:var(--color-primary-light);color:var(--color-primary-dark);transform:translateY(-2px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.15);padding-top:1.5rem;text-align:center}
.footer-copyright{font-size:.875rem;font-weight:500;color:#fff;margin-bottom:.25rem;opacity:.9}
.footer-rights{font-size:.75rem;opacity:.6;color:rgba(255,255,255,0.7)}
@media(min-width:768px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}

/* UTILIDADES */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* TOAST */
.toast-container{position:fixed;bottom:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem}
.toast{background:var(--color-dark);color:#fff;padding:1rem 1.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.875rem;animation:slideInRight .3s ease;max-width:320px;display:flex;align-items:center;gap:.75rem}
.toast.success{background:var(--color-success)}.toast.error{background:var(--color-error)}
.toast-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.25rem;opacity:.7}
.toast-close:hover{opacity:1}
@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}

/* MODAL */
.modal-overlay{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .3s}
.modal-overlay.active{opacity:1;pointer-events:all}
.modal-content{background:var(--color-bg-alt);border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;padding:2rem;box-shadow:var(--shadow-lg);transform:scale(0.95);transition:transform .3s}
.modal-overlay.active .modal-content{transform:scale(1)}
.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.modal-header h3{font-family:var(--font-display);font-size:1.25rem}
.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-muted)}
.modal-close:hover{color:var(--color-dark)}

/* FORMULARIOS */
.form-group{margin-bottom:1.25rem}
.form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem;color:var(--color-dark)}
.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9375rem;background:var(--color-bg-alt);color:var(--color-text);transition:var(--transition)}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px rgba(183,110,121,0.15)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}
.form-textarea{min-height:100px;resize:vertical}
.form-error{font-size:.8125rem;color:var(--color-error);margin-top:.375rem}
.form-hint{font-size:.8125rem;color:var(--color-text-muted);margin-top:.25rem}

/* STEPS */
.steps{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem}
.step{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--color-text-muted)}
.step-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border);transition:var(--transition)}
.step.active{color:var(--color-primary);font-weight:500}
.step.active .step-dot{background:var(--color-primary)}
.step.completed .step-dot{background:var(--color-success)}
.step-line{width:20px;height:2px;background:var(--color-border)}
.step.completed+.step-line{background:var(--color-success)}

/* CALENDARIO */
.calendario{background:var(--color-bg-alt);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm)}
.calendario-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.calendario-header h3{font-family:var(--font-display);font-size:1.125rem}
.calendario-nav{display:flex;gap:.5rem}
.calendario-nav button{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);color:var(--color-text)}
.calendario-nav button:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.calendario-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}
.calendario-dia-header{text-align:center;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);padding:.5rem 0}
.calendario-dia{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;transition:var(--transition);border:1px solid transparent;background:var(--color-bg)}
.calendario-dia:hover:not(.disabled):not(.empty){background:var(--color-accent)}
.calendario-dia.selected{background:var(--color-primary);color:#fff}
.calendario-dia.disabled{opacity:.3;cursor:not-allowed;background:transparent}
.calendario-dia.empty{background:transparent;cursor:default}
.calendario-dia .disponibles{font-size:.625rem;margin-top:.125rem}
.calendario-dia.selected .disponibles{color:rgba(255,255,255,0.8)}

/* HORARIOS */
.horarios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.horario-btn{padding:.625rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-alt);cursor:pointer;font-size:.8125rem;font-weight:500;transition:var(--transition);color:var(--color-text)}
.horario-btn:hover{border-color:var(--color-primary-light);background:var(--color-accent)}
.horario-btn.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
@media(min-width:768px){.horarios-grid{grid-template-columns:repeat(4,1fr)}}

/* RESUMEN */
.resumen-box{background:var(--color-bg);border-radius:var(--radius-md);padding:1.25rem;border:1px solid var(--color-border)}
.resumen-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px dashed var(--color-border);font-size:.875rem}
.resumen-row:last-child{border-bottom:none;font-weight:600;color:var(--color-dark);font-size:1rem}

/* ADMIN */
.admin-layout{display:grid;grid-template-columns:1fr;min-height:100vh}
.admin-sidebar{background:var(--color-dark);color:#fff;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}
.admin-sidebar a{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-sm);transition:var(--transition);font-size:.9375rem}
.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,0.1);color:var(--color-primary-light)}
.admin-main{padding:1.5rem}
.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}
@media(min-width:1024px){.admin-layout{grid-template-columns:260px 1fr}.admin-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto}}

/* TABLAS */
.table-container{overflow-x:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.data-table{width:100%;border-collapse:collapse;font-size:.875rem}
.data-table th,.data-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}
.data-table th{background:var(--color-bg);font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-light)}
.data-table tbody tr:hover{background:var(--color-bg)}
.data-table td{vertical-align:middle}
.badge{display:inline-block;padding:.25rem .625rem;border-radius:20px;font-size:.75rem;font-weight:500}
.badge-pendiente{background:#fff3cd;color:#856404}
.badge-confirmado{background:#d4edda;color:#155724}
.badge-pagado{background:#cce5ff;color:#004085}
.badge-cancelado{background:#f8d7da;color:#721c24}
.badge-completado{background:#e2e3e5;color:#383d41}

/* STATS */
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}
.stat-card{background:var(--color-bg-alt);border-radius:var(--radius-md);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}
.stat-card h4{font-size:.8125rem;color:var(--color-text-light);margin-bottom:.5rem;font-weight:500}
.stat-card .value{font-family:var(--font-display);font-size:1.75rem;color:var(--color-dark);font-weight:700}
.stat-card .trend{font-size:.75rem;margin-top:.25rem;color:var(--color-success)}
@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}

/* TURNOS PAGE */
.turnos-page{padding-top:80px;min-height:100vh;background:var(--color-bg)}
.turnos-container{max-width:800px;margin:0 auto;padding:2rem 1.25rem}
.turnos-header{text-align:center;margin-bottom:2rem}
.turnos-header h1{font-family:var(--font-display);font-size:clamp(1.75rem,5vw,2.25rem);color:var(--color-dark);margin-bottom:.5rem}
.turnos-header p{color:var(--color-text-light)}
.turno-step{display:none}
.turno-step.active{display:block;animation:fadeInUp .4s ease}
.pago-page{display:flex;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:2rem}
.pago-content{max-width:400px}
.pago-icon{font-size:4rem;margin-bottom:1rem}
.pago-content h2{font-family:var(--font-display);margin-bottom:1rem;color:var(--color-dark)}
.pago-content p{color:var(--color-text-light);margin-bottom:1.5rem}

/* SPLASH SCREEN */
#splashScreen{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);display:flex;align-items:center;justify-content:center;transition:opacity .6s ease, visibility .6s ease}
#splashScreen.splash-hide{opacity:0;visibility:hidden;pointer-events:none}
.splash-content{text-align:center;color:#fff;padding:2rem}
.splash-icon{font-size:4rem;display:block;margin-bottom:1rem;animation:splashScale 1.2s ease infinite alternate}
.splash-title{font-family:var(--font-display);font-size:2rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:1.5rem;opacity:0;animation:splashFadeIn .8s .3s forwards}
.splash-line{height:2px;width:120px;margin:0 auto;position:relative;overflow:hidden}
.splash-line span{position:absolute;left:0;top:0;height:100%;width:100%;background:rgba(255,255,255,.7);transform:translateX(-100%);animation:splashSlide 1.2s ease infinite}
@keyframes splashScale{0%{transform:scale(1)}100%{transform:scale(1.15)}}
@keyframes splashFadeIn{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}
@keyframes splashSlide{0%{transform:translateX(-100%)}50%{transform:translateX(0)}100%{transform:translateX(100%)}}

/* MEDIAFOOTER */
.mediafooter-section{background:var(--color-primary-dark);color:rgba(255,255,255,0.85);padding:1rem 0;text-align:center;border-top:1px solid rgba(255,255,255,0.1)}
.mediafooter-section .footer-section{margin-bottom:0.75rem}
.mediafooter-section .footer-title{font-size:1rem;margin-bottom:0.5rem;color:#fff;font-family:var(--font-display)}
.mediafooter-section .social{display:flex;justify-content:center;gap:1rem}
.mediafooter-section .social-link{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.8);transition:transform 0.3s,color 0.3s}
.mediafooter-section .social-link:hover{transform:scale(1.1);color:#fff}
.mediafooter-section .fancy{display:inline-block;text-decoration:none;color:rgba(255,255,255,0.7);font-size:0.8rem;margin:0.5rem 0;transition:color 0.3s;position:relative;padding:0.5rem 1.5rem;border-radius:50px;overflow:hidden;background:linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);border:1px solid rgba(255,255,255,0.2);animation:fancyGlow 3s ease-in-out infinite}
@keyframes fancyGlow{0%,100%{box-shadow:0 0 5px rgba(183,110,121,0.3),0 0 10px rgba(183,110,121,0.2);border-color:rgba(255,255,255,0.2)}50%{box-shadow:0 0 15px rgba(183,110,121,0.5),0 0 25px rgba(183,110,121,0.3);border-color:var(--color-primary-light)}}
.mediafooter-section .fancy .text{position:relative;z-index:2;background:linear-gradient(90deg, rgba(255,255,255,0.7), var(--color-primary-light), rgba(255,255,255,0.7));background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textShine 3s linear infinite}
@keyframes textShine{to{background-position:200% center}}
.mediafooter-section .fancy:hover{color:#fff;transform:translateY(-2px);box-shadow:0 0 20px rgba(183,110,121,0.6),0 0 30px rgba(183,110,121,0.4);border-color:var(--color-primary-light)}
.mediafooter-section .fancy:hover .text{background:linear-gradient(90deg, #fff, var(--color-primary-light), #fff);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textShine 1.5s linear infinite}
