*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#09090b;color:#fff;font-family:Arial,sans-serif}
a{color:inherit;text-decoration:none}nav{position:sticky;top:0;z-index:10;background:#09090bf2;border-bottom:1px solid #29292f;padding:10px 6%;display:flex;align-items:center;justify-content:space-between}
.nav-brand{display:flex;align-items:center;gap:10px;min-width:0}.logo{height:48px;width:auto}.slogan{color:#facc15;font-size:15px;font-weight:800;line-height:1.15;white-space:nowrap}nav a{font-size:14px;color:#ddd;margin-left:18px}
.hero{text-align:center;padding:70px 20px 80px;background:radial-gradient(circle at 30% 20%,#7c3aed55,transparent 35%),radial-gradient(circle at 75% 55%,#38bdf833,transparent 35%)}
.hero img{width:min(330px,78vw);margin-bottom:25px}h1{font-size:clamp(42px,8vw,78px);margin:0;line-height:.95}.grad{background:linear-gradient(90deg,#7c3aed,#38bdf8);-webkit-background-clip:text;color:transparent}
.hero p{max-width:650px;margin:22px auto;color:#b8b8c2;line-height:1.6;font-size:18px}
.btn{display:inline-block;padding:13px 20px;border-radius:12px;background:#7c3aed;font-weight:800;margin:6px}
section{max-width:1100px;margin:auto;padding:65px 6%}h2{font-size:36px;margin:0 0 10px;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;letter-spacing:1.2px;font-weight:900;background:linear-gradient(90deg,#7c3aed,#38bdf8);-webkit-background-clip:text;background-clip:text;color:transparent}.sub{color:#aaa;line-height:1.6}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.card{background:#15151a;border:1px solid #2b2b33;border-radius:20px;padding:25px}
.card h3{font-size:22px;margin:10px 0}.card p{color:#b8b8c2;line-height:1.5}.service{display:block;background:#202027;border:1px solid #34343d;border-radius:14px;padding:16px;margin:10px 0}.service:hover{border-color:#8b5cf6}.service strong{display:block;font-size:17px}.price{color:#fff;font-weight:900;margin-top:5px;display:block}
.detail{margin-top:55px;border-top:1px solid #2b2b33;padding-top:45px}.choice{background:#15151a;border:1px solid #30303a;border-radius:18px;padding:20px;margin:12px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.choice .btn{background:#25d366;color:#061108;margin:0}
.info{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info .card{line-height:1.8;padding:24px}.info .card strong{display:block;margin-bottom:9px;font-size:17px}.info .card .btn{margin-top:14px}.location-map-card{grid-column:1/-1;padding:0!important;overflow:hidden}.location-address{padding:24px 24px 18px}.location-address .eyebrow{display:block;color:#9b9ba6;letter-spacing:4px;font-size:12px;font-weight:800;margin-bottom:5px}.location-address h3{font-size:28px;margin:2px 0 4px}.location-address p{margin:0;color:#b8b8c2;line-height:1.55}.location-map{width:100%;height:360px;border:0;display:block}.location-map-actions{padding:14px 24px 24px;display:flex;justify-content:center}.location-map-actions .btn{margin:0}.location-directions{grid-column:1/-1;text-align:center;padding:20px 24px!important}.location-directions .btn{display:block;width:100%;margin-top:12px}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}.gallery figure{margin:0;background:#15151a;border:1px solid #2b2b33;border-radius:18px;overflow:hidden}.gallery img{display:block;width:100%;height:auto}.gallery figcaption{padding:12px 15px;color:#aaa;font-size:14px}.space-preview{position:relative;display:block;width:100%;max-width:380px;margin:0 auto;border-radius:22px;overflow:hidden;border:1px solid #2b2b33;background:#111116;cursor:pointer;padding:0}.space-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}.space-preview .space-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:28px;background:linear-gradient(transparent 35%,rgba(0,0,0,.78));font-weight:900;font-size:18px}.work-grid{display:block;margin-top:28px}.work-preview{position:relative;display:block;width:100%;max-width:380px;margin:0 auto;border:1px solid #2b2b33;border-radius:22px;overflow:hidden;background:#111116;cursor:pointer;padding:0}.work-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}.work-preview .work-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:28px;background:linear-gradient(transparent 35%,rgba(0,0,0,.8));font-weight:900;font-size:18px}.work-grid .work-card{display:none}.work-card{margin:0;background:#111116;border:1px solid #2b2b33;border-radius:18px;overflow:hidden}.work-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.work-card figcaption{padding:11px 13px;color:#aaa;font-size:14px}.modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-inner{width:min(980px,100%);max-height:92vh;position:relative}.modal img{display:block;width:100%;max-height:82vh;object-fit:contain;border-radius:16px;background:#080808}.modal-close,.modal-prev,.modal-next{position:absolute;border:1px solid #444;background:rgba(20,20,25,.88);color:#fff;cursor:pointer;border-radius:999px;width:44px;height:44px;font-size:22px;font-weight:900}.modal-close{top:12px;right:12px}.modal-prev{left:12px;top:50%;transform:translateY(-50%);display:none}.modal-next{right:12px;top:50%;transform:translateY(-50%);display:none}.modal-count{text-align:center;color:#aaa;margin-top:9px;font-size:13px}.work-grid img{background:#050505}
.booking-success-modal{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;padding:20px}.booking-success-modal.open{display:flex}.booking-success-card{width:min(520px,100%);background:#15151a;border:1px solid #3a3a45;border-radius:24px;padding:30px 24px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.5)}.booking-success-icon{font-size:54px;margin-bottom:8px}.booking-success-card h3{font-size:27px;margin:5px 0 12px}.booking-success-card p{color:#bbb;line-height:1.6;margin:8px 0}.booking-success-card strong{color:#fff}.booking-whatsapp-btn{width:100%;margin-top:16px;border:0;border-radius:12px;background:#25d366;color:#061108;padding:14px 18px;font-weight:900;font-size:16px;cursor:pointer}.booking-whatsapp-btn:disabled{opacity:.55;cursor:not-allowed}.booking-success-close{width:100%;margin-top:10px;border:1px solid #3a3a45;border-radius:12px;background:#24242b;color:#fff;padding:13px 24px;font-weight:900;font-size:16px;cursor:pointer}
/* Galerías automáticas */
.auto-gallery{position:relative;overflow:hidden;isolation:isolate}.auto-gallery img{transition:opacity .7s ease,transform .7s ease}.auto-gallery.is-changing img{opacity:.15;transform:scale(1.015)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.review-card{background:#15151a;border:1px solid #2b2b33;border-radius:20px;padding:24px}.review-stars{color:#f6b73c;letter-spacing:2px;font-size:20px;margin-bottom:12px}.review-card blockquote{margin:0;color:#e7e7eb;line-height:1.6;font-size:16px}.review-name{margin-top:16px;color:#aaa;font-weight:800}.reviews-note{margin-top:16px;color:#999;font-size:13px}.whatsapp-contact{background:linear-gradient(135deg,#143c28,#102019);border:1px solid #235c3d;border-radius:20px;padding:26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.whatsapp-contact h3{margin:0 0 7px;font-size:24px}.whatsapp-contact p{margin:0;color:#b8b8c2;line-height:1.5}.whatsapp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#25d366;color:#061108;padding:14px 20px;border-radius:13px;font-weight:900;white-space:nowrap}.whatsapp-btn svg{width:25px;height:25px;fill:currentColor}.walk-in-note{margin:8px 0 0;color:#ffd21f;font-weight:800;font-size:16px}
footer{border-top:1px solid #29292f;text-align:center;padding:30px;color:#888}
@media(min-width:701px){.hero img{width:min(500px,55vw);margin-bottom:4px}.hero{padding-top:55px}}
@media(max-width:700px){.grid,.info,.gallery,.work-grid{grid-template-columns:1fr}nav .navlinks{display:none}.slogan{font-size:12px;white-space:normal;max-width:190px}.logo{height:42px}section{padding:55px 6%}.space-preview img{height:auto}.modal{padding:10px}.modal-prev,.modal-next{width:40px;height:40px}.modal img{max-height:76vh}}

.instagram-card{display:block;background:linear-gradient(135deg,#7c3aed,#e1306c 55%,#f9ce34);border:0;color:#fff;box-shadow:0 10px 30px rgba(225,48,108,.18);transition:transform .2s,filter .2s}.instagram-card:hover{transform:translateY(-2px);filter:brightness(1.08)}.instagram-card span{color:rgba(255,255,255,.88)!important}.admin-link{margin-top:10px;background:#27272f!important;border:1px solid #3b3b45!important}.customer-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.customer-fields label{display:block;color:#aaa;font-size:13px;margin-bottom:6px}.customer-fields input{width:100%;padding:13px;border-radius:10px;border:1px solid #34343d;background:#0f0f13;color:#fff;font:inherit}.admin-box{background:#111116;border:1px solid #30303a;border-radius:20px;padding:22px;margin-top:22px}.admin-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}.admin-toolbar select,.admin-toolbar button{padding:12px;border-radius:10px;border:1px solid #34343d;background:#0f0f13;color:#fff;font:inherit}.admin-list{display:grid;gap:12px}.booking-row{background:#17171d;border:1px solid #2d2d36;border-radius:16px;padding:16px}.booking-row .meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;color:#bbb;font-size:14px;margin:10px 0}.booking-row .meta b{color:#fff}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions button,.admin-actions a{border:0;border-radius:10px;padding:10px 13px;color:#fff;cursor:pointer;font-weight:700}.act-confirm{background:#146c3a}.act-reject{background:#713232}.act-cancel{background:#5d3b1e}.act-wa{background:#168a45}.login-form{display:grid;gap:10px;max-width:460px}.login-form input{width:100%;padding:12px;border-radius:10px;border:1px solid #34343d;background:#0f0f13;color:#fff;font:inherit}.login-form button{padding:12px;border:0;border-radius:10px;background:#7c3aed;color:#fff;font-weight:800}.muted{color:#999;font-size:13px}@media(min-width:701px){.hero img{width:min(500px,55vw);margin-bottom:4px}.hero{padding-top:55px}}
@media(max-width:700px){.customer-fields{grid-template-columns:1fr}.booking-row .meta{grid-template-columns:1fr}.location-map{height:330px}.location-address{padding:22px 20px 16px}.location-map-actions{padding:12px 20px 20px}.reviews-grid{grid-template-columns:1fr}.whatsapp-contact{flex-direction:column;align-items:stretch;text-align:center}.whatsapp-btn{width:100%}}

/* --- Añadidos fase 1: sin cambios visuales --- */
img{height:auto}  /* con width/height como atributos (anti-CLS) mantiene la proporción; las reglas por clase siguen ganando */
.card.card--center{text-align:center}
#administracion{display:none}
.skip-link{position:absolute;left:12px;top:-60px;z-index:300;padding:10px 16px;border-radius:10px;background:#fff;color:#09090b;font-weight:800}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #38bdf8;outline-offset:3px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
