:root{
  --bg:#fff7fb;
  --panel:#ffffff;
  --text:#271827;
  --muted:#7d6678;
  --brand:#d9368b;
  --brand-dark:#aa1e66;
  --brand-soft:#ffe2f0;
  --rose:#ff8fbe;
  --lilac:#f4d8ff;
  --cream:#fff9f1;
  --border:#f3c2dc;
  --ok:#18a15a;
  --warn:#b7791f;
  --danger:#d83a45;
  --shadow:0 24px 65px rgba(179,58,124,.16);
  --shadow-soft:0 14px 34px rgba(179,58,124,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.45;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}

/* Página principal */
.front-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 8%, rgba(255,214,234,.92), transparent 32%),
    radial-gradient(circle at 88% 16%, rgba(244,216,255,.72), transparent 30%),
    linear-gradient(180deg,#fff7fb 0%,#fff 55%,#fff7fb 100%);
}
.site-shell{width:min(1080px,92%);margin:0 auto}
.salon-hero{position:relative;overflow:hidden;padding:26px 0 48px}
.salon-bg{position:absolute;border-radius:999px;filter:blur(1px);opacity:.55;pointer-events:none}
.salon-bg-one{width:310px;height:310px;left:-110px;top:120px;background:linear-gradient(135deg,#ffd3e8,#fff)}
.salon-bg-two{width:260px;height:260px;right:-90px;top:210px;background:linear-gradient(135deg,#f3d2ff,#fff2f8)}
.salon-nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}
.salon-logo{
  font-family:'Dancing Script',cursive;
  font-size:42px;
  line-height:1;
  color:var(--brand);
  text-shadow:0 8px 22px rgba(217,54,139,.18);
  white-space:nowrap;
}
.salon-nav-links{display:flex;align-items:center;gap:10px;font-weight:700;color:#634b61;font-size:14px}
.salon-nav-links a{padding:10px 14px;border-radius:999px;transition:.18s ease}
.salon-nav-links a:hover{background:#fff;color:var(--brand-dark);box-shadow:var(--shadow-soft)}
.panel-pill{border:1px solid var(--border);background:#fff;color:var(--brand-dark)!important}

.salon-title-block{position:relative;text-align:center;margin:14px auto 28px;max-width:760px}
.salon-kicker{display:inline-flex;align-items:center;gap:8px;background:var(--brand-soft);color:var(--brand-dark);font-weight:800;font-size:13px;border-radius:999px;padding:8px 16px;margin-bottom:10px}
.salon-kicker:before{content:'✦'}
.salon-title-block h1{
  font-family:'Dancing Script',cursive;
  color:#2b1827;
  font-size:clamp(58px,9vw,104px);
  line-height:.88;
  margin:0 0 12px;
  letter-spacing:-1px;
}
.salon-title-block p{margin:0 auto;color:var(--muted);font-size:clamp(15px,2vw,18px);max-width:590px}

.booking-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.booking-card,.help-card,.empty-gallery{
  background:rgba(255,255,255,.9);
  border:1px solid var(--border);
  border-radius:32px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}
.booking-card{padding:26px}
.card-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.icon-bubble,.help-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#ffe1ef,#fff7fb);box-shadow:var(--shadow-soft);font-size:25px;flex:0 0 auto}
.card-heading h2{margin:0;color:#241625;font-size:clamp(25px,3vw,34px);line-height:1.05}
.card-heading p{margin:5px 0 0;color:var(--muted);font-size:14px}
.booking-form{display:grid;gap:16px}
.field-group{display:grid;gap:8px}
label{font-size:13px;font-weight:800;color:#4b3348;letter-spacing:.01em}
input,select,textarea{
  width:100%;
  min-height:52px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  color:var(--text);
  padding:13px 15px;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(217,54,139,.12)}
.slots-title{display:flex;align-items:end;justify-content:space-between;gap:10px}
.slots-title small{color:var(--ok);font-weight:800;font-size:12px;white-space:nowrap}
.status-line{display:none;background:#fff4e3;border:1px solid #f2cc86;color:#7a4d09;border-radius:18px;padding:13px 14px;font-weight:700}
.slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.slots p{grid-column:1/-1;margin:0;color:var(--muted);background:#fff;border:1px dashed var(--border);border-radius:18px;padding:14px;text-align:center}
.slot{
  appearance:none;
  border:0;
  border-radius:20px;
  padding:13px 10px;
  min-height:66px;
  text-align:center;
  cursor:pointer;
  font-weight:800;
  background:linear-gradient(135deg,#20b868,#139653);
  color:#fff;
  box-shadow:0 12px 26px rgba(24,161,90,.18);
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.slot small{display:block;margin-top:3px;font-size:11px;font-weight:700;color:rgba(255,255,255,.9)}
.slot:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(24,161,90,.24)}
.slot.unavailable{background:#fff2f6;color:#a5647a;border:1px solid #f1c1d2;box-shadow:none;cursor:not-allowed}
.slot.unavailable small{color:#925c6e}
.slot.selected{background:linear-gradient(135deg,var(--brand),var(--brand-dark));outline:4px solid rgba(217,54,139,.18);box-shadow:0 14px 30px rgba(217,54,139,.24)}
.btn{
  border:0;
  border-radius:999px;
  padding:13px 20px;
  font-weight:800;
  cursor:pointer;
  background:linear-gradient(135deg,var(--brand),var(--brand-dark));
  color:white;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:0 14px 30px rgba(217,54,139,.24);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.btn:hover{transform:translateY(-1px);filter:saturate(1.08);box-shadow:0 18px 34px rgba(217,54,139,.30)}
.main-submit{width:100%;min-height:54px;font-size:15px;margin-top:2px}
.main-submit:before{content:'💬'}
.alert{border-radius:18px;padding:14px 16px;font-weight:800}
.alert.ok{background:#e8fff1;color:#17693d}.alert.error{background:#fff0f0;color:#9b1c1c}

.help-card{padding:24px;position:sticky;top:18px;text-align:left}
.help-card h3{margin:14px 0 8px;color:#3a2434;font-size:23px;line-height:1.12}
.help-card p{margin:0 0 16px;color:var(--muted);font-size:14px}
.whatsapp-btn{width:100%;background:linear-gradient(135deg,#19b765,#0d8b49);box-shadow:0 14px 28px rgba(20,160,87,.20)}
.whatsapp-btn:before{content:'📲'}
.gallery-mini{display:block;text-align:center;margin-top:13px;font-weight:800;color:var(--brand-dark);font-size:14px}

.gallery-section{padding:42px 0 56px;background:rgba(255,255,255,.55)}
.section-heading{text-align:center;margin-bottom:22px}
.section-heading span{display:inline-flex;color:var(--brand-dark);background:var(--brand-soft);border-radius:999px;padding:7px 14px;font-size:12px;font-weight:800;margin-bottom:8px}
.section-heading h2{font-size:clamp(30px,5vw,46px);margin:0;line-height:1.05;color:#2b1827}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.gallery-item{margin:0;border-radius:26px;overflow:hidden;background:#fff;border:1px solid var(--border);aspect-ratio:1/1;box-shadow:var(--shadow-soft)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.gallery-item:hover img{transform:scale(1.04)}
.empty-gallery{padding:22px;text-align:center;color:var(--muted);font-weight:600}
.salon-footer{padding:26px 0 32px;text-align:center;color:var(--muted);font-size:14px}

/* Compatibilidad con páginas anteriores y panel */
.container{width:min(1120px,92%);margin:auto}.hero{position:relative;overflow:hidden;padding:42px 0 64px;background:radial-gradient(circle at top left,#ffd6e9,transparent 35%),linear-gradient(135deg,#fff7fb,#fff)}.nav{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:42px}.logo{font-weight:900;font-size:28px;letter-spacing:.5px;color:var(--brand)}.nav-links{display:flex;gap:18px;align-items:center;color:var(--muted);font-weight:650}.btn.secondary{background:white;color:var(--brand);box-shadow:none;border:1px solid var(--border)}.btn.danger{background:var(--danger)}.btn.small{padding:8px 12px;font-size:13px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.badge{display:inline-flex;background:var(--brand-soft);color:var(--brand-dark);font-weight:800;border-radius:999px;padding:8px 14px;margin-bottom:16px}.hero h1{font-size:clamp(38px,6vw,68px);line-height:1;margin:0 0 18px}p.lead{font-size:19px;color:var(--muted);line-height:1.65;margin:0 0 28px}.hero-card{background:var(--panel);border:1px solid var(--border);border-radius:32px;box-shadow:var(--shadow);padding:28px}.hero-card h2,.section-title{margin:0 0 10px;font-size:28px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .full{grid-column:1/-1}.section{padding:52px 0}.card{background:var(--panel);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:22px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:white;border:1px solid var(--border);border-radius:24px;padding:22px}.footer{padding:34px 0;color:var(--muted);text-align:center}
.admin-body{background:#f8f2f6}.admin-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#20131d;color:white;padding:24px;position:sticky;top:0;height:100vh}.sidebar .logo{color:#ff80bd;margin-bottom:24px}.sidebar a{display:block;padding:12px 14px;border-radius:14px;color:#f7d9e9;margin-bottom:6px;font-weight:750}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.1);color:white}.admin-main{padding:30px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat{background:white;border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.stat strong{font-size:26px;display:block;margin-top:4px;color:var(--brand)}table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden}th,td{padding:12px;border-bottom:1px solid #f1dbe6;text-align:left;vertical-align:top}th{background:#fff0f7;color:var(--brand-dark)}.actions{display:flex;gap:8px;flex-wrap:wrap}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,#ffd6e9,transparent 38%),#fff7fb}.login-card{width:min(420px,100%);background:white;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);padding:28px}.thumb-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.thumb{background:white;border:1px solid var(--border);border-radius:18px;overflow:hidden}.thumb img{height:150px;width:100%;object-fit:cover}.thumb div{padding:10px}

@media(max-width:920px){
  .site-shell{width:min(720px,92%)}
  .salon-hero{padding-top:18px}
  .salon-nav{margin-bottom:18px}
  .salon-logo{font-size:36px}
  .salon-nav-links{gap:6px;font-size:13px}
  .salon-nav-links a{padding:9px 10px}
  .salon-title-block{text-align:left;margin-bottom:20px}
  .salon-title-block h1{font-size:clamp(56px,16vw,82px)}
  .booking-layout{grid-template-columns:1fr}
  .help-card{position:relative;top:auto;text-align:center;order:2}
  .help-icon{margin:0 auto}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-grid,.grid-3,.admin-layout,.admin-grid,.stats{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.form-grid{grid-template-columns:1fr}.nav{align-items:flex-start}.nav-links{flex-wrap:wrap}
}
@media(max-width:560px){
  .site-shell{width:94%}
  .salon-hero{padding-bottom:32px}
  .salon-nav{align-items:flex-start}
  .salon-nav-links{flex-wrap:wrap;justify-content:flex-end}
  .salon-logo{font-size:33px}
  .salon-title-block{margin-top:8px;text-align:center}
  .salon-title-block h1{font-size:58px;margin-bottom:8px}
  .salon-title-block p{font-size:14px}
  .booking-card{padding:18px;border-radius:26px}
  .card-heading{align-items:flex-start;margin-bottom:16px}
  .icon-bubble{width:46px;height:46px;border-radius:16px}
  .card-heading h2{font-size:26px}
  .slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .slot{min-height:62px;border-radius:17px;font-size:13px;padding:10px 7px}
  .slot small{font-size:10px}
  .slots-title{align-items:flex-start;flex-direction:column;gap:2px}
  input{min-height:50px;font-size:16px}
  .help-card{padding:20px;border-radius:26px}
  .gallery-section{padding-top:30px}
  .salon-footer{font-size:12px}
}


/* Galería en página separada */
.gallery-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 10% 8%, rgba(255,214,234,.92), transparent 30%),
    radial-gradient(circle at 90% 14%, rgba(244,216,255,.72), transparent 28%),
    linear-gradient(180deg,#fff7fb 0%,#fff 55%,#fff7fb 100%);
}
.gallery-page .salon-hero{padding-bottom:18px}
.gallery-page .gallery-section{background:transparent;padding-top:10px}
.gallery-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.gallery-actions .btn{min-width:190px}
.gallery-back:before{content:'💅'}
.gallery-whatsapp:before{content:'📲'}

@media(max-width:560px){
  .gallery-actions .btn{width:100%}
  .gallery-page .gallery-section{padding-top:0}
}

/* Control de cupos por turno */
.slot-time{display:block}
.slot-cupos{
  display:inline-flex;
  margin-top:6px;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.slot.unavailable .slot-cupos{background:#fff;color:#925c6e}
.admin-help{background:linear-gradient(135deg,#fff,#fff7fb)}
.admin-slot-list{display:grid;gap:10px;margin-top:15px}
.admin-slot-item{
  display:grid;
  grid-template-columns:minmax(190px,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
}
.admin-slot-item.status-disponible{border-left:6px solid var(--ok)}
.admin-slot-item.status-ocupado{border-left:6px solid var(--danger)}
.admin-slot-item.status-reservado{border-left:6px solid var(--brand)}
.admin-slot-info strong{display:block;color:#2b1827;font-size:16px}
.admin-slot-info span{display:block;color:var(--brand-dark);font-weight:800;margin-top:2px}
.admin-slot-info small{display:block;color:var(--muted);margin-top:2px;font-weight:700}
.admin-slot-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.admin-slot-actions form{margin:0}

@media(max-width:700px){
  .admin-slot-item{grid-template-columns:1fr}
  .admin-slot-actions{justify-content:flex-start}
  .admin-main{padding:18px}
  table{display:block;overflow-x:auto;white-space:nowrap}
}

/* ================================
   Panel responsive Y & Y Nails
   Optimizado para celular y PC
================================ */
.admin-body{
  background:
    radial-gradient(circle at 18% 0%, rgba(255,211,232,.55), transparent 28%),
    radial-gradient(circle at 100% 16%, rgba(244,216,255,.52), transparent 30%),
    #fff7fb;
}
.admin-layout{grid-template-columns:260px minmax(0,1fr)}
.admin-main{min-width:0;max-width:1500px;width:100%;margin:0 auto}
.sidebar{z-index:40;box-shadow:18px 0 45px rgba(59,21,48,.12)}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.sidebar-head .logo{margin-bottom:0;font-size:28px;line-height:1.05}
.sidebar-close{display:none;color:#fff;font-size:36px;line-height:1;cursor:pointer;padding:2px 8px;border-radius:12px;background:rgba(255,255,255,.08)}
.admin-nav a{display:flex;align-items:center;gap:10px;line-height:1.15}
.admin-nav a span{width:22px;text-align:center;flex:0 0 22px}
.admin-mobile-bar,.admin-menu-checkbox,.admin-menu-overlay{display:none}

.panel-top-compact{align-items:flex-start;margin-bottom:16px}
.panel-top-compact h1{margin:3px 0 4px!important;font-size:clamp(26px,3.6vw,42px)!important;line-height:1.02;color:#241625}
.panel-top-compact p{margin:0;color:var(--muted);font-weight:600;max-width:850px}
.admin-kicker{display:inline-flex;align-items:center;gap:6px;background:var(--brand-soft);color:var(--brand-dark);font-weight:900;border-radius:999px;padding:6px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.admin-kicker:before{content:'✦'}
.admin-alert-sticky{margin-bottom:14px}
.admin-mobile-steps{display:none;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:18px;padding:13px 15px;color:#55364c;margin-bottom:14px}

.admin-date-card{padding:16px;margin-bottom:16px;position:sticky;top:0;z-index:8;border-radius:22px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.admin-date-form{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:10px;align-items:end}
.admin-date-form .btn{min-height:50px;white-space:nowrap}

.admin-control-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;margin-top:16px;align-items:start}
.admin-control-grid.no-margin{margin-top:10px}
.priority-grid{margin-top:0}
.control-card{overflow:hidden}
.primary-control{border-color:#f2add0;background:linear-gradient(180deg,#fff,#fff9fc)}
.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.card-title-row h2,.card h2{margin:5px 0 0;font-size:clamp(22px,2.3vw,30px);line-height:1.08;color:#241625}
.card p{line-height:1.55}
.form-grid.quick-create-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.compact-form{margin-top:13px}
.full-btn{width:100%;min-height:50px}
.admin-details{border:1px solid #f3d0e2;border-radius:18px;background:#fff;margin-top:14px;padding:0;overflow:hidden}
.admin-details summary{list-style:none;cursor:pointer;font-weight:900;color:var(--brand-dark);padding:14px 16px;background:#fff5fa;display:flex;align-items:center;justify-content:space-between;gap:10px}
.admin-details summary::-webkit-details-marker{display:none}
.admin-details summary:after{content:'+';font-size:22px;line-height:1;color:var(--brand)}
.admin-details[open] summary:after{content:'–'}
.admin-details > form,.admin-details > div,.admin-details > section{padding:14px 16px 16px}
.admin-advanced{margin-top:18px;padding:0}
.admin-advanced > summary{font-size:17px}

.admin-slot-list{gap:12px}
.admin-slot-item{grid-template-columns:minmax(190px,1fr) minmax(0,1.35fr);box-shadow:var(--shadow-soft)}
.admin-slot-info strong{font-size:18px}
.admin-slot-info span{font-size:14px}
.admin-slot-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,auto));justify-content:end;align-items:center}
.admin-slot-actions .confirm-inline{grid-column:1/-1;display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:8px;align-items:center}
.admin-slot-actions .confirm-inline input{min-height:43px;border-radius:14px}
.admin-slot-actions .btn.small{min-height:40px;justify-content:center}

.manual-edit-list{display:grid;gap:12px}
.manual-edit-card{display:grid;grid-template-columns:1.1fr .8fr .8fr .65fr .9fr 1fr auto;gap:9px;align-items:end;border:1px solid var(--border);border-radius:18px;padding:12px;background:#fff;box-shadow:var(--shadow-soft)}
.manual-edit-card input,.manual-edit-card select{min-height:44px;border-radius:14px;padding:9px 11px}
.manual-edit-card label{font-size:11px}
.manual-actions{display:flex;align-items:end}
.admin-table-scroll{width:100%;overflow-x:auto;border-radius:18px;border:1px solid #f1dbe6}
.admin-table-scroll table{min-width:720px;border-radius:0;border:0}

@media(max-width:1100px){
  .admin-layout{grid-template-columns:230px minmax(0,1fr)}
  .sidebar{padding:20px 14px}
  .admin-main{padding:22px}
  .admin-control-grid{grid-template-columns:1fr}
  .manual-edit-card{grid-template-columns:repeat(3,minmax(0,1fr))}
  .manual-actions{grid-column:1/-1}
  .manual-actions .btn{width:100%}
}

@media(max-width:900px){
  .admin-body{padding-top:62px}
  .admin-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;position:fixed;left:0;right:0;top:0;height:62px;background:rgba(32,19,29,.97);color:#fff;z-index:60;padding:10px 13px;box-shadow:0 10px 30px rgba(32,19,29,.18)}
  .admin-mobile-bar strong{font-size:18px;color:#ff80bd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .admin-mobile-bar a{font-size:13px;font-weight:900;background:rgba(255,255,255,.10);padding:8px 10px;border-radius:999px;white-space:nowrap}
  .admin-menu-btn{display:inline-flex;align-items:center;gap:6px;background:#ff80bd;color:#20131d;border-radius:999px;padding:9px 12px;font-weight:900;cursor:pointer;white-space:nowrap}
  .admin-layout{display:block;min-height:calc(100vh - 62px)}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:min(86vw,320px);height:100vh;transform:translateX(-105%);transition:transform .22s ease;overflow-y:auto;padding:22px 16px;z-index:70;border-radius:0 26px 26px 0}
  .admin-menu-checkbox:checked ~ .admin-layout .sidebar{transform:translateX(0)}
  .admin-menu-overlay{position:fixed;inset:0;background:rgba(32,19,29,.42);z-index:65;backdrop-filter:blur(2px)}
  .admin-menu-checkbox:checked ~ .admin-menu-overlay{display:block}
  .sidebar-close{display:inline-flex}
  .sidebar .logo{font-size:28px}
  .admin-nav a{font-size:16px;padding:14px 13px;margin-bottom:8px}
  .admin-main{padding:14px 12px 80px;max-width:none}
  .panel-top-compact{display:block;margin-bottom:12px}
  .admin-mobile-steps{display:block;font-size:13px}
  .admin-date-card{top:62px;margin-left:-12px;margin-right:-12px;border-radius:0;border-left:0;border-right:0;box-shadow:0 10px 24px rgba(179,58,124,.10)}
  .admin-date-form{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .admin-date-form > div{grid-column:1/-1}
  .admin-date-form .btn{min-height:46px;padding-left:10px;padding-right:10px}
  .card{border-radius:22px;padding:16px;box-shadow:var(--shadow-soft)}
  .form-grid,.form-grid.quick-create-grid{grid-template-columns:1fr 1fr;gap:10px}
  .form-grid .full{grid-column:1/-1}
  input,select,textarea{font-size:16px;min-height:49px;border-radius:15px}
  .admin-slot-item{grid-template-columns:1fr;padding:13px;border-radius:18px}
  .admin-slot-actions{grid-template-columns:1fr 1fr;justify-content:stretch;width:100%}
  .admin-slot-actions form{width:100%}
  .admin-slot-actions .btn{width:100%}
  .admin-slot-actions .confirm-inline{grid-template-columns:1fr;gap:8px}
  .manual-edit-card{grid-template-columns:1fr 1fr;padding:12px}
  .manual-edit-card > div:nth-child(6){grid-column:1/-1}
  .manual-actions{grid-column:1/-1}
  .stats{grid-template-columns:1fr 1fr!important}
  .admin-top .actions{width:100%}
}

@media(max-width:560px){
  .admin-mobile-bar{height:58px;padding:9px 10px}
  .admin-mobile-bar strong{font-size:16px;max-width:105px}
  .admin-mobile-bar a{font-size:12px;padding:7px 8px}
  .admin-menu-btn{padding:8px 10px;font-size:13px}
  .admin-body{padding-top:58px}
  .admin-date-card{top:58px}
  .panel-top-compact h1{font-size:28px!important}
  .panel-top-compact p{font-size:13px}
  .admin-kicker{font-size:10px;padding:5px 9px}
  .admin-date-form{grid-template-columns:1fr 1fr}
  .admin-date-form .btn:first-of-type{grid-column:1/-1}
  .form-grid,.form-grid.quick-create-grid{grid-template-columns:1fr}
  .card-title-row{display:block}
  .card-title-row form{margin-top:10px}
  .card-title-row form .btn{width:100%}
  .admin-slot-actions{grid-template-columns:1fr}
  .admin-slot-info strong{font-size:17px}
  .admin-slot-info small{font-size:12px}
  .manual-edit-card{grid-template-columns:1fr}
  .btn{min-height:46px;width:auto}
  .btn.small{min-height:40px}
  .stats{grid-template-columns:1fr!important}
  table{font-size:13px}
  th,td{padding:10px}
  .login-card{border-radius:24px;padding:22px}
}

/* =====================================================
   Ajuste móvil panel: la tarjeta de fecha YA NO queda fija
   Así no tapa el contenido al bajar desde el celular.
===================================================== */
@media(max-width:900px){
  .admin-date-card{
    position:relative!important;
    top:auto!important;
    z-index:auto!important;
    margin-left:0!important;
    margin-right:0!important;
    margin-bottom:12px!important;
    border-radius:20px!important;
    box-shadow:var(--shadow-soft)!important;
    backdrop-filter:none!important;
    padding:12px!important;
  }

  .panel-top-compact{
    margin-bottom:10px!important;
  }
  .panel-top-compact h1{
    font-size:24px!important;
    line-height:1.05!important;
    margin:0!important;
  }
  .panel-top-compact p,
  .panel-top-compact .admin-kicker,
  .admin-mobile-steps{
    display:none!important;
  }

  .admin-date-form{
    gap:7px!important;
  }
  .admin-date-form label{
    font-size:12px!important;
  }
  .admin-date-form input{
    min-height:44px!important;
    border-radius:14px!important;
  }
  .admin-date-form .btn{
    min-height:42px!important;
    font-size:13px!important;
    padding:9px 8px!important;
  }
}

@media(max-width:560px){
  .admin-main{
    padding:10px 10px 80px!important;
  }
  .admin-date-form{
    grid-template-columns:1fr 1fr 1fr!important;
  }
  .admin-date-form > div{
    grid-column:1/-1!important;
  }
  .admin-date-form .btn:first-of-type{
    grid-column:auto!important;
  }
  .admin-date-form .btn{
    width:100%!important;
    min-height:40px!important;
    font-size:12px!important;
  }
  .card{
    padding:14px!important;
  }
}

/* =====================================================
   Panel simplificado final: sin cabecera pegada y fácil desde celular
===================================================== */
.admin-simple-page{max-width:1120px;margin:0 auto}
.panel-simple-header{margin-bottom:12px!important}
.panel-simple-header h1{font-size:clamp(30px,4vw,48px)!important;letter-spacing:-.04em}
.panel-simple-header p{font-size:15px;max-width:760px}
.simple-date-card,
.admin-date-card.simple-date-card,
.admin-date-card{
  position:relative!important;
  top:auto!important;
  z-index:auto!important;
  backdrop-filter:none!important;
}
.simple-date-card{padding:14px!important;margin-bottom:14px!important;border-radius:24px!important}
.simple-date-form{grid-template-columns:minmax(220px,1fr) auto auto auto!important;gap:10px!important;align-items:end!important}
.simple-date-form input{min-height:50px}
.quick-mobile-card,.turns-card{margin-bottom:14px}
.simple-title-row{margin-bottom:10px!important}
.simple-title-row p.small-muted,.small-muted{margin:4px 0 0;color:var(--muted);font-weight:600;font-size:13px;line-height:1.4}
.easy-form label{font-size:12px;font-weight:900;color:#3a2438}
.easy-form input,.easy-form select{min-height:48px}
.mini-details{margin-top:12px!important}
.simple-slot-list{display:grid;gap:12px}
.simple-slot-card{grid-template-columns:minmax(170px,.95fr) minmax(0,1.6fr)!important;align-items:center!important;padding:14px!important;border-radius:22px!important}
.simple-slot-card.status-disponible{border-left:6px solid var(--ok)}
.simple-slot-card.status-ocupado,.simple-slot-card.status-reservado{border-left:6px solid var(--danger)}
.simple-slot-actions{display:grid!important;grid-template-columns:repeat(3,minmax(105px,auto))!important;gap:8px!important;justify-content:end!important}
.simple-slot-actions .confirm-inline{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(160px,1fr) auto!important;gap:8px!important}
.simple-slot-actions form{margin:0!important}
.simple-slot-actions .btn{width:100%;white-space:nowrap}
.edit-slot-details{grid-column:1/-1;margin-top:10px!important;background:#fff!important}
.empty-state{border:1px dashed var(--border);background:#fff8fc;border-radius:20px;padding:18px;display:grid;gap:5px;color:#55364c}
.empty-state strong{color:var(--brand-dark)}
.simple-admin-details{margin-bottom:14px!important}
.simple-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px 16px 16px!important}
.simple-options-grid section{border:1px solid #f3d0e2;border-radius:18px;padding:14px;background:#fff}
.simple-options-grid h3{margin:0 0 8px;font-size:18px;color:#241625}
.full-btn{width:100%}

@media(max-width:1100px){
  .admin-simple-page{max-width:none}
  .simple-options-grid{grid-template-columns:1fr}
  .simple-slot-card{grid-template-columns:1fr!important}
  .simple-slot-actions{justify-content:stretch!important}
}

@media(max-width:900px){
  .admin-main{padding:12px 10px 80px!important}
  .panel-simple-header h1{font-size:28px!important;margin:0 0 4px!important}
  .panel-simple-header p{display:block!important;font-size:13px!important;line-height:1.35!important}
  .panel-simple-header .admin-kicker{display:inline-flex!important}
  .simple-date-card{padding:10px!important;border-radius:18px!important;margin-bottom:10px!important}
  .simple-date-form{grid-template-columns:1fr 1fr 1fr!important;gap:7px!important}
  .simple-date-form > div{grid-column:1/-1!important}
  .simple-date-form input{min-height:44px!important}
  .simple-date-form .btn{min-height:40px!important;padding:8px 10px!important;font-size:13px!important}
  .quick-mobile-card,.turns-card,.simple-admin-details{padding:14px!important;border-radius:22px!important}
  .card-title-row.simple-title-row{display:block!important}
  .simple-title-row form{margin-top:10px}
  .simple-title-row form .btn{width:100%}
  .quick-create-grid.easy-form{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .easy-form .full{grid-column:1/-1!important}
  .simple-slot-actions{grid-template-columns:1fr 1fr!important}
  .simple-slot-actions .confirm-inline{grid-template-columns:1fr!important}
  .simple-options-grid{padding:12px 0 0!important}
}

@media(max-width:560px){
  .admin-main{padding:10px 8px 76px!important}
  .panel-simple-header{margin-bottom:8px!important}
  .panel-simple-header h1{font-size:24px!important}
  .panel-simple-header p{font-size:12px!important}
  .simple-date-form .btn{font-size:12px!important;padding:7px 6px!important}
  .quick-create-grid.easy-form,.form-grid.easy-form{grid-template-columns:1fr!important}
  .simple-slot-card{padding:12px!important;border-radius:18px!important}
  .simple-slot-actions{grid-template-columns:1fr!important}
  .admin-slot-info strong{font-size:18px!important}
  .admin-slot-info span{font-size:14px!important}
  .admin-slot-info small{font-size:12px!important;line-height:1.35!important}
  .simple-options-grid section{padding:12px}
}

/* === Parche agenda por mesas === */
.client-body{
  min-height:100vh;
  background:radial-gradient(circle at 10% 8%,rgba(255,217,237,.9),transparent 31%),radial-gradient(circle at 92% 10%,rgba(241,211,255,.72),transparent 30%),linear-gradient(180deg,#fff7fb 0%,#fff 65%,#fff7fb 100%);
}
.client-shell{width:min(1050px,92%);margin:0 auto;padding:22px 0 55px}.slim-hero{text-align:center;padding:20px 0 28px}.brand-script{font-family:'Pacifico','Dancing Script',cursive;font-size:clamp(46px,7vw,82px);line-height:1;color:#2b1827;text-shadow:0 10px 28px rgba(217,54,139,.12)}.slim-hero p{max-width:600px;margin:8px auto 12px;color:var(--muted);font-size:17px}.client-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.client-links a{background:#fff;border:1px solid var(--border);border-radius:999px;padding:9px 15px;font-weight:800;color:var(--brand-dark);box-shadow:var(--shadow-soft)}.single-focus{grid-template-columns:minmax(0,1fr) 320px;max-width:980px;margin:0 auto}.booking-title-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.nail-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:18px;background:var(--brand-soft);font-size:24px;flex:0 0 auto}.booking-title-row h1{margin:0;font-size:clamp(29px,4vw,38px);line-height:1.05}.booking-title-row p{margin:6px 0 0;color:var(--muted)}.slot-title-line{display:flex;justify-content:space-between;align-items:center;margin:14px 0 8px;gap:12px}.slot-title-line span{font-size:12px;color:var(--ok);font-weight:900}.slots-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.slot-btn{border:0;border-radius:20px;min-height:82px;padding:12px 10px;background:linear-gradient(135deg,#20ba68,#0d9853);color:#fff;font-weight:900;box-shadow:0 14px 28px rgba(24,161,90,.20);cursor:pointer;transition:.16s ease}.slot-btn strong{display:block;font-size:16px}.slot-btn span{display:block;margin-top:4px;font-size:12px;color:rgba(255,255,255,.92)}.slot-btn:hover{transform:translateY(-2px)}.slot-btn.selected{background:linear-gradient(135deg,var(--brand),var(--brand-dark));outline:4px solid rgba(217,54,139,.16)}.slot-btn.disabled,.slot-btn.status-ocupado,.slot-btn.status-reservado{background:#fff2f7;color:#936379;border:1px solid #f1bfd5;box-shadow:none;cursor:not-allowed}.slot-btn.disabled span,.slot-btn.status-ocupado span,.slot-btn.status-reservado span{color:#925c6e}.main-booking-btn{width:100%;min-height:58px;font-size:15px;margin-top:14px}.empty-slots{background:#fff;border:1px dashed var(--border);border-radius:18px;padding:16px;text-align:center;color:var(--muted);font-weight:700;margin:12px 0}.gallery-mini-link{display:block;text-align:center;margin-top:12px;font-weight:900;color:var(--brand-dark)}.client-footer{text-align:center;color:var(--muted);padding:18px;font-size:14px}.admin-kicker{display:inline-flex;background:var(--brand-soft);color:var(--brand-dark);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.admin-simple-page{width:min(1240px,94%);margin:0 auto}.panel-top-compact h1{font-size:clamp(32px,4vw,48px);line-height:1;margin:10px 0 6px}.panel-top-compact p{margin:0;color:#6f4767}.compact-date-card{position:static!important;top:auto!important;margin-bottom:16px;padding:16px}.date-inline-form label{display:block;margin-bottom:6px}.date-actions-row{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;align-items:center}.two-cols{grid-template-columns:1fr 1fr}.mesa-control-grid{align-items:start;margin-bottom:18px}.form-grid-mobile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.span-2{grid-column:1/-1}.full-btn{width:100%}.mt-12{margin-top:12px}.small-muted{color:var(--muted);font-size:13px}.small-details{margin-top:14px}.admin-details{border:1px solid var(--border);border-radius:18px;background:#fff7fb}.admin-details summary{cursor:pointer;padding:14px 16px;font-weight:900;color:var(--brand-dark)}.highlight-card{box-shadow:0 24px 55px rgba(217,54,139,.18);border-color:#eea9cd}.section-head-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}.section-head-row h2,.card h2{margin:8px 0 6px;font-size:clamp(24px,3vw,32px)}.simple-slot-list{display:grid;gap:12px}.admin-slot-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid var(--border);border-left:7px solid var(--ok);border-radius:22px;padding:16px;background:#fff;box-shadow:var(--shadow-soft)}.admin-slot-card.status-ocupado,.admin-slot-card.status-reservado{border-left-color:var(--danger)}.slot-admin-info h3{margin:0 0 4px;font-size:20px}.slot-availability-text{margin:0;color:var(--brand-dark);font-weight:900}.slot-actions-stack{display:grid;gap:8px;min-width:250px}.slot-actions-stack form{display:flex;gap:8px;flex-wrap:wrap}.mesa-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.mesa-column{border:1px solid var(--border);border-radius:20px;background:#fff7fb;padding:14px}.mesa-column h3{margin:0 0 10px}.mesa-appt{background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px;margin-bottom:10px;display:grid;gap:4px}.mesa-appt strong{color:var(--brand-dark)}.mesa-appt span{font-weight:900}.link-danger{border:0;background:transparent;color:var(--danger);font-weight:900;padding:0;cursor:pointer;text-align:left}hr{border:0;border-top:1px solid var(--border);margin:18px 0}.warning{background:#fff8e8;color:#8a5b0d;border:1px solid #f2ce83}.appointment-card-list{display:grid;gap:16px}.appointment-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:18px;box-shadow:var(--shadow-soft)}.appointment-main-info{display:flex;gap:15px;align-items:flex-start}.appointment-date-badge{min-width:112px;border-radius:18px;background:var(--brand-soft);padding:12px;text-align:center;color:var(--brand-dark);font-weight:900}.appointment-date-badge strong,.appointment-date-badge span{display:block}.appointment-details{margin-top:14px}.appointment-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px}.mini-action-box{border:1px solid var(--border);border-radius:18px;background:#fff;padding:12px;display:grid;gap:9px}.mini-action-box h3{margin:0;color:var(--brand-dark);font-size:16px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.whatsapp-ready-card textarea{width:100%;min-height:150px;margin:10px 0}.pay-fields{margin-top:8px}

@media(max-width:980px){.single-focus,.two-cols{grid-template-columns:1fr}.help-card{position:relative!important;top:auto}.slots-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-actions-grid{grid-template-columns:1fr 1fr}.admin-layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.admin-main{padding:18px}.date-actions-row{grid-template-columns:1fr;}.section-head-row{display:grid}.slot-actions-stack{min-width:0}.admin-slot-card{grid-template-columns:1fr}.slot-actions-stack form{display:grid;grid-template-columns:1fr 1fr}.slot-actions-stack .btn{width:100%}}
@media(max-width:620px){.client-shell{width:94%;padding-top:10px}.brand-script{font-size:48px}.slim-hero{padding-bottom:18px}.slim-hero p{font-size:14px}.booking-card,.help-card,.card{border-radius:24px;padding:18px}.booking-title-row{gap:10px}.nail-icon{width:42px;height:42px}.slots-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.slot-btn{min-height:76px;border-radius:18px;padding:10px 7px}.slot-btn strong{font-size:14px}.slot-btn span{font-size:11px}.slot-title-line{align-items:flex-start;flex-direction:column;gap:2px}input,select,textarea{font-size:16px;min-height:50px}.form-grid-mobile{grid-template-columns:1fr}.span-2{grid-column:auto}.panel-top-compact h1{font-size:32px}.admin-top{display:block}.appointment-filter-actions{margin-top:12px}.appointment-main-info{display:grid}.appointment-date-badge{width:100%;min-width:0}.appointment-actions-grid{grid-template-columns:1fr}.slot-actions-stack form{grid-template-columns:1fr}.date-actions-row .btn{width:100%}.mesa-columns{grid-template-columns:1fr}.client-footer{font-size:12px}.admin-main{padding:12px}.admin-simple-page{width:100%}}


/* Parche horas individuales: la clienta ve 09:00, 10:00, 11:00 como botones separados, no rangos pegados. */
.slot-hour-only{
  display:block;
  font-size:clamp(20px, 3vw, 25px) !important;
  line-height:1.05;
  letter-spacing:-.02em;
}
.slot-btn .slot-hour-only{
  margin-bottom:5px;
}
.admin-slot-card .slot-hour-only{
  font-size:28px !important;
  color:#241625;
}
@media(max-width:620px){
  .slot-hour-only{font-size:20px !important;}
  .slot-btn{min-height:78px;}
  .admin-slot-card .slot-hour-only{font-size:24px !important;}
}

/* =====================================================
   Parche galería: upload sin mime_content_type + miniaturas
===================================================== */
.admin-gallery-card h2{margin:0 0 6px;font-size:clamp(24px,3vw,32px)}
.admin-gallery-form{align-items:end}
.admin-gallery-form input[type="file"]{padding:13px;background:#fff;border:1px solid var(--border);border-radius:18px;width:100%;min-height:54px}
.admin-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-top:12px}
.admin-gallery-tile{background:#fff;border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;min-width:0}
.admin-gallery-tile.is-hidden{opacity:.62}
.admin-gallery-tile img{width:100%;height:155px;object-fit:cover;display:block;background:#fff1f7}
.admin-gallery-tile-body{padding:12px;display:grid;gap:6px}
.admin-gallery-tile-body strong{font-size:14px;line-height:1.2;color:#241625;word-break:break-word}
.admin-gallery-tile-body span{font-size:12px;font-weight:800;color:var(--muted)}
.admin-gallery-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:4px}
.admin-gallery-actions form{margin:0}.admin-gallery-actions .btn{width:100%;min-height:38px;font-size:12px;padding:8px}
.public-gallery-page .client-shell{max-width:1120px}.gallery-slim-hero{padding-bottom:18px}.gallery-public-card{background:rgba(255,255,255,.88);border:1px solid var(--border);border-radius:30px;box-shadow:var(--shadow-soft);padding:24px;margin:0 auto 26px}.gallery-public-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.gallery-public-head h1{margin:5px 0 0;font-size:clamp(32px,4vw,48px);line-height:1;color:#241625}.gallery-public-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px}.gallery-public-item{border:0;background:#fff;border-radius:22px;padding:0;overflow:hidden;box-shadow:0 14px 34px rgba(217,54,139,.13);cursor:pointer;transition:.16s ease;text-align:left;border:1px solid #f3c9dd}.gallery-public-item:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(217,54,139,.20)}.gallery-public-item img{display:block;width:100%;height:175px;object-fit:cover;background:#fff1f7}.gallery-public-item span{display:block;padding:10px 12px;font-size:13px;font-weight:800;color:#5a344e;line-height:1.25}.gallery-modal{position:fixed;inset:0;background:rgba(28,12,24,.82);display:none;align-items:center;justify-content:center;z-index:9999;padding:22px}.gallery-modal.open{display:flex}.gallery-modal img{max-width:min(96vw,1000px);max-height:82vh;object-fit:contain;border-radius:22px;box-shadow:0 25px 70px rgba(0,0,0,.45);background:#fff}.gallery-modal p{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);margin:0;background:rgba(255,255,255,.93);color:#241625;border-radius:999px;padding:9px 16px;font-weight:800;max-width:90vw;text-align:center}.gallery-modal-close{position:fixed;top:18px;right:18px;width:46px;height:46px;border:0;border-radius:999px;background:#fff;color:#241625;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 14px 34px rgba(0,0,0,.25)}
@media(max-width:720px){.gallery-public-card{padding:16px;border-radius:24px}.gallery-public-head{display:grid}.gallery-public-head .btn{width:100%}.gallery-public-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-public-item{border-radius:18px}.gallery-public-item img{height:145px}.admin-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-gallery-tile img{height:135px}.admin-gallery-actions{grid-template-columns:1fr}.gallery-modal{padding:12px}.gallery-modal img{max-height:78vh;border-radius:18px}.gallery-modal-close{top:10px;right:10px}}
@media(max-width:390px){.gallery-public-grid,.admin-gallery-grid{grid-template-columns:1fr 1fr}.gallery-public-item img,.admin-gallery-tile img{height:128px}.gallery-public-item span{font-size:12px;padding:8px}}


/* =====================================================
   Mejora visual solicitada: título rosado, brillo, agenda y botones vivos
   Fecha: 2026-06-28
===================================================== */
.client-body{
  position:relative;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 8% 7%, rgba(255, 184, 218, .98), transparent 30%),
    radial-gradient(circle at 86% 10%, rgba(239, 205, 255, .86), transparent 30%),
    radial-gradient(circle at 50% 95%, rgba(255, 230, 243, .9), transparent 38%),
    linear-gradient(180deg,#fff3fa 0%,#fff 48%,#fff4fb 100%) !important;
}
.client-body::before,
.client-body::after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
}
.client-body::before{
  opacity:.72;
  background:
    radial-gradient(circle at 18% 24%, rgba(255,255,255,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 74% 20%, rgba(255,255,255,.9) 0 2px, transparent 3px),
    radial-gradient(circle at 88% 66%, rgba(255,255,255,.82) 0 1.5px, transparent 3px),
    radial-gradient(circle at 34% 82%, rgba(255,255,255,.78) 0 1.5px, transparent 3px);
  animation:yySparkleFloat 7s ease-in-out infinite alternate;
}
.client-body::after{
  opacity:.38;
  background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.55) 38%, transparent 52%);
  transform:translateX(-130%);
  animation:yyPageShine 9s ease-in-out infinite;
}
.client-shell,
.client-footer{
  position:relative;
  z-index:1;
}
.slim-hero{
  position:relative;
  padding-top:18px !important;
}
.brand-script{
  font-family:'Baloo 2','Poppins',system-ui,sans-serif !important;
  font-weight:800 !important;
  text-transform:uppercase;
  letter-spacing:-.055em;
  color:#ff4fa8 !important;
  background:linear-gradient(180deg,#ff8ac8 0%,#ff3f9f 44%,#be1970 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:1.5px rgba(255,255,255,.72);
  filter:drop-shadow(0 8px 0 rgba(255,184,218,.38));
  text-shadow:
    0 2px 0 #fff,
    0 8px 22px rgba(217,54,139,.24),
    0 0 32px rgba(255,126,191,.34) !important;
  animation:yyTitleGlow 2.9s ease-in-out infinite alternate;
}
.slim-hero p{
  font-weight:600;
  color:#6f4261 !important;
}
.client-links a{
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.client-links a:hover{
  transform:translateY(-2px) scale(1.02);
}
.client-links .top-gallery-link{
  color:#fff !important;
  border:0 !important;
  background:linear-gradient(135deg,#ff69b8,#c91c7c) !important;
  box-shadow:0 14px 30px rgba(217,54,139,.25), 0 0 0 4px rgba(255,121,188,.12) !important;
}
.booking-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,154,205,.72) !important;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(135deg,#ffb7dc,#fff,#e6c2ff,#ff8fc6) border-box !important;
  box-shadow:0 28px 75px rgba(191,54,135,.20), 0 10px 25px rgba(255,151,205,.14) !important;
}
.booking-card::before{
  content:'';
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 12%, rgba(255,218,237,.85), transparent 20%),
    radial-gradient(circle at 88% 0%, rgba(245,218,255,.72), transparent 22%);
  opacity:.75;
}
.booking-card > *{
  position:relative;
  z-index:1;
}
.booking-title-row{
  align-items:center !important;
  padding:18px;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,236,247,.98),rgba(255,255,255,.94));
  border:1px solid rgba(255,185,220,.72);
  box-shadow:0 14px 28px rgba(217,54,139,.10);
}
.nail-icon{
  width:58px !important;
  height:58px !important;
  border-radius:22px !important;
  background:linear-gradient(135deg,#ffd5ea,#ff8fc6) !important;
  box-shadow:0 12px 28px rgba(217,54,139,.20), inset 0 1px 0 rgba(255,255,255,.82) !important;
  animation:yyIconPop 2.6s ease-in-out infinite;
}
.booking-title-row h1{
  font-family:'Baloo 2','Poppins',sans-serif;
  font-size:clamp(35px,4.8vw,50px) !important;
  font-weight:800;
  letter-spacing:-.04em;
  color:#cb1f7d;
  text-shadow:0 3px 0 #fff, 0 12px 22px rgba(217,54,139,.16);
}
.booking-title-row p{
  color:#71415f !important;
  font-weight:600;
}
#bookingForm label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:4px;
  color:#51233f;
}
#bookingForm label::before{
  content:'✦';
  color:#ff5dae;
}
#dateInput,
#clientName{
  border:1.5px solid #f6b9d8 !important;
  background:linear-gradient(180deg,#fff,#fff8fc) !important;
  box-shadow:0 10px 24px rgba(217,54,139,.08) !important;
}
.slot-title-line{
  padding:10px 12px;
  border-radius:18px;
  background:#fff6fb;
  border:1px solid #f8c7df;
}
.slot-title-line strong{
  font-family:'Baloo 2','Poppins',sans-serif;
  font-size:22px;
  color:#2a1527;
  line-height:1;
}
.slot-title-line span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#0d9853 !important;
}
.slot-title-line span::before{
  content:'●';
  font-size:12px;
}
.slot-btn{
  position:relative;
  overflow:hidden;
  transform:translateZ(0);
}
.slot-btn.status-disponible:not(.disabled){
  border:1px solid rgba(255,255,255,.45);
  background:
    radial-gradient(circle at 30% 15%, rgba(255,255,255,.36), transparent 22%),
    linear-gradient(135deg,#28d879 0%,#10ad5c 48%,#078542 100%) !important;
  box-shadow:0 16px 32px rgba(18,166,88,.26), 0 0 0 0 rgba(24,184,99,.30) !important;
  animation:yyAvailablePulse 2.2s ease-in-out infinite;
}
.slot-btn.status-disponible:not(.disabled)::before{
  content:'';
  position:absolute;
  top:-20%;
  bottom:-20%;
  left:-65%;
  width:42%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent);
  transform:skewX(-18deg);
  animation:yyButtonShine 3.2s ease-in-out infinite;
}
.slot-btn.status-disponible:not(.disabled)::after{
  content:'✦';
  position:absolute;
  right:12px;
  top:8px;
  color:rgba(255,255,255,.86);
  font-size:15px;
  text-shadow:0 0 10px rgba(255,255,255,.9);
  animation:yyTinySpark 1.8s ease-in-out infinite;
}
.slot-btn.status-disponible:not(.disabled):hover{
  transform:translateY(-4px) scale(1.03);
  box-shadow:0 22px 40px rgba(18,166,88,.34), 0 0 0 5px rgba(29,202,114,.12) !important;
}
.slot-btn .slot-hour-only{
  font-family:'Baloo 2','Poppins',sans-serif;
  font-size:clamp(25px,3vw,32px) !important;
  letter-spacing:-.045em;
  text-shadow:0 2px 0 rgba(0,0,0,.08);
}
.slot-btn span{
  font-weight:800 !important;
}
.slot-btn.selected{
  background:
    radial-gradient(circle at 30% 15%, rgba(255,255,255,.38), transparent 22%),
    linear-gradient(135deg,#ff6ab7,#bd176e) !important;
  outline:4px solid rgba(255,105,184,.20) !important;
  box-shadow:0 18px 38px rgba(217,54,139,.28) !important;
}
.main-booking-btn,
.whatsapp-btn{
  border-radius:24px !important;
  font-weight:900 !important;
  letter-spacing:.01em;
}
.main-booking-btn{
  background:linear-gradient(135deg,#ff66b5,#c91c7c) !important;
  box-shadow:0 16px 34px rgba(217,54,139,.24), 0 0 0 5px rgba(255,102,181,.10) !important;
}
.help-card{
  border:1px solid rgba(255,154,205,.72) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,247,252,.95)) !important;
  box-shadow:0 28px 75px rgba(191,54,135,.17) !important;
}
.help-card h2{
  font-family:'Baloo 2','Poppins',sans-serif;
  font-size:clamp(28px,3vw,35px);
  line-height:1;
  letter-spacing:-.035em;
  color:#281526;
}
.gallery-mini-link.gallery-cta-button,
.gallery-mini-link{
  position:relative;
  display:flex !important;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:14px 18px;
  border-radius:999px;
  color:#fff !important;
  font-family:'Baloo 2','Poppins',sans-serif;
  font-size:18px;
  font-weight:800 !important;
  text-align:center;
  background:linear-gradient(135deg,#ff7bc1 0%,#f02e96 48%,#b50f69 100%);
  box-shadow:0 18px 35px rgba(217,54,139,.30), 0 0 0 6px rgba(255,126,193,.14);
  overflow:hidden;
  animation:yyBlinkGallery 1.15s ease-in-out infinite;
}
.gallery-mini-link.gallery-cta-button::before,
.gallery-mini-link::before{
  content:'';
  position:absolute;
  inset:-40% auto -40% -65%;
  width:52%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.76),transparent);
  transform:skewX(-18deg);
  animation:yyButtonShine 2.4s ease-in-out infinite;
}
.gallery-mini-link.gallery-cta-button:hover,
.gallery-mini-link:hover{
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 24px 44px rgba(217,54,139,.38), 0 0 0 7px rgba(255,126,193,.16);
}
.client-footer{
  font-weight:700;
  color:#73435f !important;
}

@keyframes yyTitleGlow{
  from{filter:drop-shadow(0 8px 0 rgba(255,184,218,.32)); transform:translateY(0)}
  to{filter:drop-shadow(0 10px 0 rgba(255,184,218,.45)) drop-shadow(0 0 18px rgba(255,104,181,.22)); transform:translateY(-2px)}
}
@keyframes yySparkleFloat{
  from{transform:translate3d(0,0,0); opacity:.58}
  to{transform:translate3d(0,-14px,0); opacity:.9}
}
@keyframes yyPageShine{
  0%,60%{transform:translateX(-130%)}
  82%,100%{transform:translateX(130%)}
}
@keyframes yyIconPop{
  0%,100%{transform:scale(1) rotate(0deg)}
  50%{transform:scale(1.06) rotate(-3deg)}
}
@keyframes yyAvailablePulse{
  0%,100%{box-shadow:0 16px 32px rgba(18,166,88,.26), 0 0 0 0 rgba(24,184,99,.30)}
  50%{box-shadow:0 20px 38px rgba(18,166,88,.33), 0 0 0 9px rgba(24,184,99,0)}
}
@keyframes yyButtonShine{
  0%,48%{left:-70%}
  70%,100%{left:130%}
}
@keyframes yyTinySpark{
  0%,100%{opacity:.45; transform:scale(.85) rotate(0)}
  50%{opacity:1; transform:scale(1.2) rotate(18deg)}
}
@keyframes yyBlinkGallery{
  0%,100%{transform:scale(1); filter:saturate(1)}
  50%{transform:scale(1.045); filter:saturate(1.18) brightness(1.05)}
}

@media(max-width:980px){
  .single-focus{max-width:720px;}
  .booking-title-row{padding:16px;}
}
@media(max-width:620px){
  .brand-script{
    font-size:clamp(42px,13vw,58px) !important;
    -webkit-text-stroke:1px rgba(255,255,255,.74);
    letter-spacing:-.06em;
  }
  .booking-title-row{
    display:grid !important;
    text-align:left;
    padding:15px;
  }
  .booking-title-row h1{font-size:34px !important;}
  .nail-icon{width:50px !important;height:50px !important;}
  .slot-title-line strong{font-size:19px;}
  .slot-btn .slot-hour-only{font-size:24px !important;}
  .gallery-mini-link.gallery-cta-button,
  .gallery-mini-link{font-size:16px;min-height:54px;}
}
@media (prefers-reduced-motion: reduce){
  .client-body::before,
  .client-body::after,
  .brand-script,
  .nail-icon,
  .slot-btn.status-disponible:not(.disabled),
  .slot-btn.status-disponible:not(.disabled)::before,
  .slot-btn.status-disponible:not(.disabled)::after,
  .gallery-mini-link,
  .gallery-mini-link::before{
    animation:none !important;
  }
}


/* =====================================================
   Integración de logo oficial Y & Y
   Fecha: 2026-07-04
===================================================== */
.public-brand-block{
  display:grid;
  place-items:center;
  gap:10px;
  margin:0 auto 8px;
}
.brand-logo-img{
  display:block;
  width:min(176px,42vw);
  height:auto;
  border-radius:28px;
  object-fit:contain;
  background:#201712;
  border:1px solid rgba(255,210,134,.58);
  box-shadow:
    0 22px 45px rgba(75,35,22,.24),
    0 0 0 7px rgba(255,255,255,.55),
    0 0 34px rgba(255,177,78,.22);
}
.brand-logo-public{
  animation:yyLogoFloat 3.2s ease-in-out infinite alternate;
}
.public-brand-block .brand-script{
  font-size:clamp(34px,5.2vw,58px) !important;
  letter-spacing:-.045em;
}
.sidebar-brand{
  display:grid;
  gap:10px;
  align-items:center;
  justify-items:start;
}
.admin-sidebar-logo{
  width:94px;
  height:94px;
  object-fit:cover;
  border-radius:22px;
  border:1px solid rgba(255,204,120,.55);
  background:#201712;
  box-shadow:0 16px 30px rgba(0,0,0,.25), 0 0 0 5px rgba(255,128,189,.10);
}
.sidebar-brand .logo{
  margin:0 !important;
  max-width:190px;
}
.admin-mobile-brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.admin-mobile-brand img{
  width:36px;
  height:36px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid rgba(255,204,120,.45);
  flex:0 0 auto;
}
.login-brand-logo{
  width:130px;
  height:130px;
  object-fit:cover;
  margin:0 auto 14px;
  border-radius:28px;
  border:1px solid rgba(255,204,120,.58);
  background:#201712;
  box-shadow:0 20px 42px rgba(97,42,69,.22), 0 0 0 6px rgba(255,226,240,.70);
}
.login-brand-name{
  text-align:center;
  line-height:1.08;
  margin-bottom:10px;
}
@keyframes yyLogoFloat{
  from{transform:translateY(0); filter:saturate(1)}
  to{transform:translateY(-4px); filter:saturate(1.08)}
}
@media(max-width:620px){
  .brand-logo-img{width:min(138px,46vw);border-radius:23px;}
  .public-brand-block{gap:8px;margin-bottom:6px;}
  .public-brand-block .brand-script{font-size:clamp(28px,10vw,42px) !important;}
  .login-brand-logo{width:112px;height:112px;border-radius:24px;}
}
@media(max-width:420px){
  .admin-mobile-brand strong{max-width:115px;}
  .admin-mobile-brand img{width:32px;height:32px;}
}
@media (prefers-reduced-motion: reduce){
  .brand-logo-public{animation:none !important;}
}

/* =====================================================
   TEMA PREMIUM DORADO / NEGRO — integrado al logo Y & Y
   Fecha: 2026-07-04
   Objetivo: sustituir la estética rosa por una interfaz elegante
   que combine con el logo negro y dorado.
===================================================== */
:root{
  --bg:#fbf6ed;
  --panel:#fffaf1;
  --text:#21160f;
  --muted:#756555;
  --brand:#c79a45;
  --brand-dark:#7a521d;
  --brand-soft:#f7ead1;
  --rose:#d9b170;
  --lilac:#efe3d1;
  --cream:#fff7ea;
  --border:#dec48d;
  --ok:#139653;
  --warn:#a36c19;
  --danger:#b93a31;
  --black:#120d0a;
  --black-2:#20160f;
  --gold:#c79a45;
  --gold-light:#f4d896;
  --gold-soft:#f7ead1;
  --ivory:#fffaf1;
  --shadow:0 24px 70px rgba(43,25,10,.18);
  --shadow-soft:0 14px 34px rgba(43,25,10,.10);
}

body{
  color:var(--text);
  background:var(--bg);
}

/* Página pública */
.client-body,
.front-page,
.gallery-page,
.public-gallery-page{
  background:
    radial-gradient(circle at 50% 0%, rgba(244,216,150,.24) 0%, transparent 27%),
    radial-gradient(circle at 13% 9%, rgba(199,154,69,.20) 0%, transparent 25%),
    radial-gradient(circle at 88% 14%, rgba(74,45,20,.16) 0%, transparent 28%),
    linear-gradient(180deg,#17100c 0%,#24170e 28%,#fbf4e8 59%,#fffaf1 100%) !important;
  position:relative;
}
.client-body::before,
.client-body::after{
  background:
    radial-gradient(circle, rgba(244,216,150,.75) 0 2px, transparent 3px),
    radial-gradient(circle, rgba(255,250,241,.52) 0 1px, transparent 2px) !important;
  background-size:220px 220px,140px 140px !important;
  opacity:.35 !important;
}
.client-shell,
.site-shell{
  width:min(1080px,92%);
}
.slim-hero,
.salon-title-block{
  color:#fffaf1 !important;
  padding-top:34px !important;
}
.public-brand-block{
  gap:14px !important;
}
.brand-logo-img,
.brand-logo-public{
  width:min(190px,42vw) !important;
  border-radius:34px !important;
  background:#120d0a !important;
  border:1px solid rgba(244,216,150,.74) !important;
  box-shadow:
    0 30px 70px rgba(0,0,0,.40),
    0 0 0 1px rgba(255,250,241,.10),
    0 0 0 8px rgba(199,154,69,.10),
    0 0 55px rgba(244,216,150,.24) !important;
}
.brand-script,
.public-brand-block .brand-script,
.salon-title-block h1{
  font-family:'Poppins',system-ui,sans-serif !important;
  font-size:clamp(34px,5vw,64px) !important;
  font-weight:900 !important;
  line-height:.95 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  color:#fff6df !important;
  -webkit-text-stroke:0 !important;
  text-shadow:
    0 2px 0 rgba(122,82,29,.45),
    0 12px 32px rgba(0,0,0,.42),
    0 0 28px rgba(244,216,150,.24) !important;
  filter:none !important;
}
.slim-hero p,
.salon-title-block p{
  color:#efe1c7 !important;
  font-weight:650 !important;
  text-shadow:0 8px 20px rgba(0,0,0,.24);
}
.client-links a,
.salon-nav-links a,
.top-gallery-link,
.panel-pill{
  background:rgba(255,250,241,.94) !important;
  border:1px solid rgba(244,216,150,.62) !important;
  color:#5f3f16 !important;
  box-shadow:0 16px 34px rgba(0,0,0,.18) !important;
}
.client-links a:hover,
.salon-nav-links a:hover{
  color:#120d0a !important;
  background:linear-gradient(135deg,#fffaf1,#f3d68f) !important;
  transform:translateY(-1px);
}
.top-gallery-link,
.client-links a:first-child{
  background:linear-gradient(135deg,#f8df9d 0%,#c79a45 48%,#7a521d 100%) !important;
  color:#120d0a !important;
  border-color:rgba(255,250,241,.30) !important;
  text-shadow:0 1px 0 rgba(255,255,255,.35);
}

.booking-layout.single-focus,
.booking-layout{
  margin-top:26px !important;
}
.booking-card,
.help-card,
.empty-gallery,
.gallery-public-card,
.card,
.stat,
.login-card,
.service-card,
.hero-card{
  background:
    linear-gradient(180deg,rgba(255,250,241,.98),rgba(250,241,224,.96)) !important;
  border:1px solid rgba(199,154,69,.42) !important;
  box-shadow:
    0 28px 80px rgba(31,18,8,.18),
    inset 0 1px 0 rgba(255,255,255,.72) !important;
  color:var(--text) !important;
}
.booking-card{
  position:relative;
  overflow:hidden;
}
.booking-card::before{
  background:
    radial-gradient(circle at 12% 5%, rgba(244,216,150,.25), transparent 28%),
    radial-gradient(circle at 91% 0%, rgba(61,38,16,.08), transparent 22%) !important;
}
.booking-title-row{
  background:linear-gradient(135deg,rgba(32,22,15,.96),rgba(90,60,25,.90)) !important;
  border:1px solid rgba(244,216,150,.48) !important;
  box-shadow:0 18px 34px rgba(31,18,8,.22), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.booking-title-row h1,
.card-heading h2,
.help-card h2,
.help-card h3,
.section-heading h2,
.gallery-public-head h1,
.panel-top-compact h1,
.card h2,
.section-head-row h2,
.login-card h1{
  font-family:'Poppins',system-ui,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:-.035em !important;
  color:#24180f !important;
  text-shadow:none !important;
}
.booking-title-row h1{
  color:#f8df9d !important;
  text-shadow:0 2px 0 rgba(0,0,0,.22),0 0 22px rgba(244,216,150,.28) !important;
}
.booking-title-row p{
  color:#f5ead5 !important;
}
.nail-icon,
.icon-bubble,
.help-icon{
  background:linear-gradient(135deg,#f8df9d,#c79a45 54%,#8a5f22) !important;
  color:#120d0a !important;
  border:1px solid rgba(255,250,241,.42) !important;
  box-shadow:0 14px 30px rgba(122,82,29,.24), inset 0 1px 0 rgba(255,255,255,.52) !important;
}
label,
#bookingForm label,
.admin-details summary,
.mini-action-box h3,
.mesa-appt strong,
.appointment-date-badge,
.slot-availability-text{
  color:#5a3b14 !important;
}
#bookingForm label::before{
  color:#c79a45 !important;
}
input,
select,
textarea,
#dateInput,
#clientName{
  background:#fffdf8 !important;
  border:1.5px solid rgba(199,154,69,.48) !important;
  color:#21160f !important;
  box-shadow:0 10px 24px rgba(43,25,10,.06) !important;
}
input:focus,
select:focus,
textarea:focus{
  border-color:#c79a45 !important;
  box-shadow:0 0 0 4px rgba(199,154,69,.16) !important;
}
.slot-title-line,
.slots-title,
.admin-details,
.mesa-column,
.appointment-date-badge{
  background:#fbf0d8 !important;
  border-color:rgba(199,154,69,.36) !important;
}
.slot-title-line strong,
.slots-title strong{
  color:#20160f !important;
}
.slot-title-line span,
.slots-title small{
  color:#10824a !important;
}
.slot-btn.status-disponible:not(.disabled),
.slot:not(.unavailable){
  background:
    radial-gradient(circle at 30% 15%, rgba(255,255,255,.30), transparent 22%),
    linear-gradient(135deg,#25c974 0%,#129956 50%,#076b38 100%) !important;
  border:1px solid rgba(248,223,157,.55) !important;
  box-shadow:0 16px 32px rgba(18,153,86,.28),0 0 0 1px rgba(255,250,241,.16) !important;
}
.slot-btn.selected,
.slot.selected{
  background:
    radial-gradient(circle at 30% 15%, rgba(255,255,255,.34), transparent 22%),
    linear-gradient(135deg,#f8df9d,#c79a45 48%,#7a521d) !important;
  color:#120d0a !important;
  outline:4px solid rgba(199,154,69,.20) !important;
  box-shadow:0 18px 38px rgba(122,82,29,.26) !important;
}
.slot-btn.selected span,
.slot.selected small{
  color:#21160f !important;
}
.slot-btn.disabled,
.slot-btn.status-ocupado,
.slot-btn.status-reservado,
.slot.unavailable{
  background:#f1e5d3 !important;
  color:#7b6b5b !important;
  border:1px solid rgba(199,154,69,.28) !important;
}
.empty-slots,
.slots p,
.empty-state{
  background:#fffaf1 !important;
  color:#7b6b5b !important;
  border:1px dashed rgba(199,154,69,.45) !important;
}
.btn,
.main-booking-btn,
.gallery-mini-link.gallery-cta-button,
.gallery-mini-link,
.gallery-actions .btn,
.whatsapp-ready-card .btn{
  background:linear-gradient(135deg,#f8df9d 0%,#c79a45 48%,#7a521d 100%) !important;
  color:#120d0a !important;
  border:1px solid rgba(255,250,241,.30) !important;
  box-shadow:0 16px 34px rgba(122,82,29,.28),0 0 0 5px rgba(199,154,69,.10) !important;
  text-shadow:0 1px 0 rgba(255,255,255,.38);
}
.btn:hover,
.main-booking-btn:hover,
.gallery-mini-link:hover{
  filter:saturate(1.07) brightness(1.02) !important;
  transform:translateY(-2px) !important;
  box-shadow:0 22px 44px rgba(122,82,29,.32),0 0 0 6px rgba(199,154,69,.14) !important;
}
.btn.secondary{
  background:#fffaf1 !important;
  color:#5a3b14 !important;
  border:1px solid rgba(199,154,69,.48) !important;
  box-shadow:0 10px 22px rgba(43,25,10,.08) !important;
}
.btn.danger{
  background:linear-gradient(135deg,#d6574e,#9d2e27) !important;
  color:#fffaf1 !important;
  text-shadow:none;
}
.whatsapp-btn{
  background:linear-gradient(135deg,#1fc874,#0d8b49) !important;
  color:#fff !important;
  text-shadow:0 1px 0 rgba(0,0,0,.20) !important;
  box-shadow:0 16px 34px rgba(15,139,73,.24),0 0 0 5px rgba(31,200,116,.10) !important;
}
.help-card p,
.booking-title-row + p,
.card p,
.panel-top-compact p,
.small-muted,
.client-footer{
  color:#756555 !important;
}
.client-footer{
  font-weight:800;
  color:#fbf0d8 !important;
  text-shadow:0 8px 20px rgba(0,0,0,.28);
  background:#17100c;
}

/* Galería pública */
.gallery-public-item{
  background:#fffaf1 !important;
  border:1px solid rgba(199,154,69,.42) !important;
  box-shadow:0 14px 34px rgba(43,25,10,.12) !important;
}
.gallery-public-item span{
  color:#5a3b14 !important;
}
.gallery-modal{
  background:rgba(18,13,10,.88) !important;
}

/* Panel administrador */
.admin-body{
  background:
    radial-gradient(circle at 16% 0%, rgba(244,216,150,.24), transparent 24%),
    radial-gradient(circle at 100% 14%, rgba(199,154,69,.16), transparent 28%),
    linear-gradient(180deg,#fbf4e8 0%,#fffaf1 100%) !important;
  color:#21160f !important;
}
.sidebar,
.admin-mobile-bar{
  background:
    radial-gradient(circle at top left, rgba(244,216,150,.12), transparent 35%),
    linear-gradient(180deg,#17100c,#24170e) !important;
  color:#fffaf1 !important;
  border-right:1px solid rgba(244,216,150,.18);
}
.sidebar{
  box-shadow:20px 0 55px rgba(18,13,10,.22) !important;
}
.sidebar .logo,
.sidebar-head .logo,
.admin-mobile-bar strong,
.login-brand-name,
.logo{
  color:#f8df9d !important;
  text-shadow:0 10px 28px rgba(0,0,0,.30),0 0 18px rgba(244,216,150,.20) !important;
}
.admin-sidebar-logo,
.admin-mobile-brand img,
.login-brand-logo{
  border:1px solid rgba(244,216,150,.66) !important;
  background:#120d0a !important;
  box-shadow:0 18px 36px rgba(0,0,0,.28),0 0 0 5px rgba(199,154,69,.10) !important;
}
.admin-nav a,
.sidebar a{
  color:#efe1c7 !important;
  border:1px solid transparent;
}
.admin-nav a:hover,
.admin-nav a.active,
.sidebar a:hover,
.sidebar a.active{
  background:linear-gradient(135deg,rgba(248,223,157,.20),rgba(199,154,69,.13)) !important;
  color:#fffaf1 !important;
  border-color:rgba(244,216,150,.25) !important;
}
.admin-menu-btn{
  background:linear-gradient(135deg,#f8df9d,#c79a45) !important;
  color:#120d0a !important;
}
.admin-kicker,
.section-heading span{
  background:#fbf0d8 !important;
  color:#7a521d !important;
  border:1px solid rgba(199,154,69,.35);
}
.admin-top .btn,
.admin-date-form .btn,
.date-actions-row .btn,
.full-btn{
  background:linear-gradient(135deg,#f8df9d,#c79a45 52%,#7a521d) !important;
  color:#120d0a !important;
}
.stat strong{
  color:#7a521d !important;
}
table,
.admin-table-scroll{
  background:#fffaf1 !important;
  border-color:rgba(199,154,69,.34) !important;
}
th{
  background:#f5e5c5 !important;
  color:#5a3b14 !important;
}
td{
  border-bottom-color:#ead8b4 !important;
}
.admin-slot-card,
.admin-slot-item,
.manual-edit-card,
.appointment-card,
.mini-action-box,
.mesa-appt,
.thumb,
.simple-options-grid section{
  background:#fffaf1 !important;
  border-color:rgba(199,154,69,.42) !important;
  box-shadow:var(--shadow-soft) !important;
}
.admin-slot-card,
.admin-slot-item.status-disponible{
  border-left-color:#139653 !important;
}
.admin-slot-card.status-ocupado,
.admin-slot-card.status-reservado,
.admin-slot-item.status-ocupado,
.admin-slot-item.status-reservado{
  border-left-color:#b93a31 !important;
}
.alert.ok{
  background:#e8f8ed !important;
  color:#116539 !important;
}
.alert.error{
  background:#fff0eb !important;
  color:#8d281f !important;
}
.warning{
  background:#fff2d5 !important;
  color:#7a521d !important;
  border-color:#e0bd73 !important;
}

/* Login */
.login-wrap{
  background:
    radial-gradient(circle at 50% 0%, rgba(244,216,150,.26), transparent 28%),
    radial-gradient(circle at 10% 10%, rgba(199,154,69,.18), transparent 24%),
    linear-gradient(180deg,#17100c 0%,#24170e 42%,#fbf4e8 100%) !important;
}
.login-card{
  backdrop-filter:blur(10px);
}

/* Responsive */
@media(max-width:980px){
  .slim-hero{padding-top:22px !important;}
  .booking-layout.single-focus{margin-top:16px !important;}
}
@media(max-width:620px){
  .brand-logo-img,
  .brand-logo-public{width:min(145px,46vw) !important;border-radius:26px !important;}
  .brand-script,
  .public-brand-block .brand-script{font-size:clamp(28px,9vw,42px) !important;}
  .slim-hero p{font-size:14px !important;}
  .booking-title-row h1{font-size:31px !important;}
  .client-links a{padding:8px 13px !important;}
}
@media (prefers-reduced-motion: reduce){
  .brand-logo-public,
  .gallery-mini-link,
  .slot-btn.status-disponible:not(.disabled),
  .nail-icon{animation:none !important;}
}

/* =====================================================
   TEMA GLAM LUMINOSO — versión con más brillo y estilo salón
   Fecha: 2026-07-04
   Ajuste: logo más brillante, fondo champagne/blush y tipografía elegante.
===================================================== */
:root{
  --bg:#fff7ed;
  --panel:#fffdf7;
  --text:#26170d;
  --muted:#765d4d;
  --brand:#d69b32;
  --brand-dark:#7b4615;
  --brand-soft:#fff0d3;
  --rose:#f7b8cf;
  --lilac:#f7e9ff;
  --cream:#fff8e8;
  --border:#e7c985;
  --gold:#d6a040;
  --gold-light:#ffe6a7;
  --gold-hot:#ffc14e;
  --blush:#ffddec;
  --ivory:#fffdf7;
  --black:#120d0a;
  --shadow:0 28px 82px rgba(103,62,17,.18);
  --shadow-soft:0 16px 38px rgba(103,62,17,.11);
}

body{
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:#fff7ed;
}

.client-body,
.front-page,
.gallery-page,
.public-gallery-page{
  background:
    radial-gradient(circle at 50% 3%, rgba(255,216,122,.65) 0%, rgba(255,216,122,.20) 18%, transparent 34%),
    radial-gradient(circle at 12% 15%, rgba(255,189,215,.55) 0%, transparent 30%),
    radial-gradient(circle at 92% 9%, rgba(244,226,255,.60) 0%, transparent 28%),
    radial-gradient(circle at 78% 70%, rgba(255,238,187,.42) 0%, transparent 24%),
    linear-gradient(180deg,#fff7e5 0%,#fffaf1 33%,#fff2f7 70%,#fffdf8 100%) !important;
  color:var(--text) !important;
}
.client-body::before,
.client-body::after{
  opacity:.56 !important;
  background:
    radial-gradient(circle, rgba(255,199,80,.90) 0 1.7px, transparent 2.8px),
    radial-gradient(circle, rgba(255,255,255,.95) 0 1.1px, transparent 2.4px),
    radial-gradient(circle, rgba(255,168,207,.54) 0 1px, transparent 2px) !important;
  background-size:210px 210px,135px 135px,165px 165px !important;
  animation:yySparkleFloat 7s ease-in-out infinite alternate !important;
}

.client-shell,
.site-shell{
  width:min(1120px,92%) !important;
}
.slim-hero,
.salon-title-block{
  color:#3a220f !important;
  padding-top:32px !important;
  position:relative;
}
.public-brand-block{
  position:relative;
  gap:8px !important;
  margin-bottom:12px !important;
  isolation:isolate;
}
.public-brand-block::before{
  content:'';
  position:absolute;
  width:min(410px,78vw);
  height:min(410px,78vw);
  left:50%;
  top:5px;
  transform:translateX(-50%);
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,240,188,.86) 0%, rgba(255,214,112,.32) 30%, rgba(255,220,235,.20) 52%, transparent 72%);
  filter:blur(10px);
  z-index:-1;
  pointer-events:none;
}
.public-brand-block::after{
  content:'✦  ✨  ✦';
  position:absolute;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  width:min(520px,92vw);
  display:flex;
  justify-content:space-between;
  color:#e0a73a;
  font-size:22px;
  text-shadow:0 0 16px rgba(255,205,91,.70);
  animation:yyTinySpark 3.2s ease-in-out infinite;
  pointer-events:none;
  z-index:1;
}
.brand-logo-img,
.brand-logo-public{
  width:min(214px,42vw) !important;
  border-radius:38px !important;
  background:#130d09 !important;
  border:2px solid rgba(255,221,142,.92) !important;
  outline:8px solid rgba(255,255,255,.66) !important;
  box-shadow:
    0 34px 80px rgba(68,36,10,.26),
    0 0 0 1px rgba(255,255,255,.55),
    0 0 34px rgba(255,191,59,.56),
    0 0 78px rgba(255,206,91,.38) !important;
  filter:saturate(1.16) brightness(1.08) contrast(1.06) !important;
  transform:translateZ(0);
}
.brand-logo-public{
  animation:yyLogoGlow 3s ease-in-out infinite alternate !important;
}
.brand-logo-img:hover{
  transform:translateY(-3px) scale(1.015);
}

.brand-script,
.public-brand-block .brand-script,
.salon-title-block h1{
  font-family:'Great Vibes','Pacifico','Dancing Script',cursive !important;
  font-size:clamp(54px,7.3vw,96px) !important;
  line-height:.88 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:#7a4514 !important;
  background:linear-gradient(95deg,#3a1f0b 0%,#8c541b 18%,#f2c460 42%,#fff1b4 50%,#ce8d2d 62%,#62330d 86%,#261407 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:none !important;
  filter:drop-shadow(0 4px 0 rgba(255,255,255,.86)) drop-shadow(0 12px 20px rgba(149,94,29,.18)) !important;
}
.slim-hero p,
.salon-title-block p{
  color:#5f4331 !important;
  font-size:clamp(16px,1.8vw,20px) !important;
  font-weight:600 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.88) !important;
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
}

.client-links{
  gap:12px !important;
  margin-top:18px !important;
}
.client-links a,
.salon-nav-links a,
.top-gallery-link,
.panel-pill{
  border-radius:999px !important;
  background:rgba(255,253,247,.94) !important;
  border:1.5px solid rgba(215,166,68,.44) !important;
  color:#6d3d13 !important;
  box-shadow:0 14px 30px rgba(111,67,18,.11), inset 0 1px 0 rgba(255,255,255,.85) !important;
  backdrop-filter:blur(8px);
}
.top-gallery-link,
.client-links a:first-child{
  background:linear-gradient(135deg,#fff2bc 0%,#f3bf55 38%,#d48824 72%,#8e4c17 100%) !important;
  color:#211309 !important;
  border-color:rgba(255,255,255,.60) !important;
  box-shadow:0 18px 38px rgba(203,132,35,.26),0 0 0 5px rgba(255,205,91,.16) !important;
}
.client-links a:hover,
.salon-nav-links a:hover{
  transform:translateY(-2px) !important;
  filter:brightness(1.04) saturate(1.08);
}

.booking-layout.single-focus,
.booking-layout{
  margin-top:34px !important;
}
.booking-card,
.help-card,
.empty-gallery,
.gallery-public-card,
.card,
.stat,
.login-card,
.service-card,
.hero-card{
  background:
    linear-gradient(180deg,rgba(255,255,253,.98),rgba(255,249,239,.96)) !important;
  border:1.5px solid rgba(215,166,68,.42) !important;
  border-radius:34px !important;
  box-shadow:
    0 30px 90px rgba(111,67,18,.16),
    0 0 0 6px rgba(255,255,255,.48),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  color:var(--text) !important;
}
.booking-card,
.help-card,
.gallery-public-card{
  position:relative;
  overflow:hidden;
}
.booking-card::before,
.help-card::before,
.gallery-public-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,218,129,.26), transparent 28%),
    radial-gradient(circle at 100% 5%, rgba(255,195,218,.20), transparent 26%),
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,.42) 48%, transparent 58%) !important;
  pointer-events:none;
}
.booking-card > *,
.help-card > *,
.gallery-public-card > *{
  position:relative;
}
.booking-title-row{
  background:
    linear-gradient(135deg,rgba(255,252,245,.98),rgba(255,239,201,.90)) !important;
  border:1.5px solid rgba(215,166,68,.40) !important;
  border-radius:28px !important;
  box-shadow:0 18px 45px rgba(111,67,18,.10), inset 0 1px 0 rgba(255,255,255,.92) !important;
}
.booking-title-row h1,
.card-heading h2,
.help-card h2,
.help-card h3,
.section-heading h2,
.gallery-public-head h1,
.panel-top-compact h1,
.card h2,
.section-head-row h2,
.login-card h1{
  font-family:'Playfair Display','Cormorant Garamond',Georgia,serif !important;
  font-weight:800 !important;
  font-style:italic;
  letter-spacing:-.035em !important;
  color:#7a4514 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.92),0 10px 18px rgba(116,70,18,.08) !important;
}
.booking-title-row h1{
  font-size:clamp(38px,4.4vw,58px) !important;
  color:#8e4c17 !important;
}
.booking-title-row p,
.help-card p,
.card p,
.panel-top-compact p,
.small-muted{
  color:#6e5445 !important;
}
.nail-icon,
.icon-bubble,
.help-icon{
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.95), transparent 22%),
    linear-gradient(135deg,#fff2bd 0%,#f5c45c 42%,#d48a29 76%,#8d4b16 100%) !important;
  color:#211309 !important;
  border:1.5px solid rgba(255,255,255,.70) !important;
  box-shadow:0 16px 34px rgba(205,137,38,.26),0 0 22px rgba(255,210,96,.28), inset 0 1px 0 rgba(255,255,255,.75) !important;
}

label,
#bookingForm label,
.admin-details summary,
.mini-action-box h3,
.mesa-appt strong,
.appointment-date-badge,
.slot-availability-text{
  color:#724113 !important;
  font-weight:800 !important;
}
input,
select,
textarea,
#dateInput,
#clientName{
  background:linear-gradient(180deg,#ffffff,#fffaf1) !important;
  border:1.5px solid rgba(215,166,68,.46) !important;
  color:#25160c !important;
  border-radius:20px !important;
  box-shadow:0 10px 22px rgba(111,67,18,.06), inset 0 1px 0 rgba(255,255,255,.95) !important;
}
input:focus,
select:focus,
textarea:focus{
  border-color:#d59d35 !important;
  box-shadow:0 0 0 5px rgba(255,204,91,.20),0 14px 26px rgba(111,67,18,.10) !important;
}
.slot-title-line,
.slots-title,
.admin-details,
.mesa-column,
.appointment-date-badge{
  background:linear-gradient(135deg,#fffaf1,#fff0d3) !important;
  border-color:rgba(215,166,68,.36) !important;
  border-radius:20px !important;
}
.slot-title-line strong,
.slots-title strong{
  color:#28180c !important;
}
.slot-title-line span,
.slots-title small{
  color:#0f8b50 !important;
  font-weight:900 !important;
}
.slot-btn.status-disponible:not(.disabled),
.slot:not(.unavailable){
  background:
    radial-gradient(circle at 30% 12%, rgba(255,255,255,.42), transparent 24%),
    linear-gradient(135deg,#30dd83 0%,#13a660 48%,#08733e 100%) !important;
  border:1.5px solid rgba(255,236,174,.76) !important;
  color:#fff !important;
  box-shadow:0 18px 38px rgba(18,153,86,.30),0 0 0 5px rgba(31,200,116,.11) !important;
}
.slot-btn.status-disponible:not(.disabled):hover,
.slot:not(.unavailable):hover{
  transform:translateY(-3px) scale(1.01) !important;
  box-shadow:0 24px 46px rgba(18,153,86,.36),0 0 0 6px rgba(31,200,116,.14) !important;
}
.slot-btn.selected,
.slot.selected{
  background:
    radial-gradient(circle at 30% 15%, rgba(255,255,255,.55), transparent 24%),
    linear-gradient(135deg,#fff1b7 0%,#e8b149 42%,#c4741e 76%,#814312 100%) !important;
  color:#1b0f07 !important;
  outline:4px solid rgba(255,205,91,.24) !important;
}
.btn,
.main-booking-btn,
.gallery-mini-link.gallery-cta-button,
.gallery-mini-link,
.gallery-actions .btn,
.whatsapp-ready-card .btn{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 30% 10%, rgba(255,255,255,.70), transparent 24%),
    linear-gradient(135deg,#fff1b7 0%,#f0b84c 36%,#d88725 68%,#8b4815 100%) !important;
  color:#1c1008 !important;
  border:1.5px solid rgba(255,255,255,.68) !important;
  box-shadow:0 18px 40px rgba(205,137,38,.30),0 0 0 6px rgba(255,205,91,.13), inset 0 1px 0 rgba(255,255,255,.70) !important;
  text-shadow:0 1px 0 rgba(255,255,255,.44) !important;
}
.btn::after,
.main-booking-btn::after,
.gallery-mini-link::after{
  content:'';
  position:absolute;
  top:-35%;
  bottom:-35%;
  left:-75%;
  width:48%;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent);
  animation:yyButtonShine 4.2s ease-in-out infinite;
  pointer-events:none;
}
.btn:hover,
.main-booking-btn:hover,
.gallery-mini-link:hover{
  filter:saturate(1.1) brightness(1.04) !important;
  transform:translateY(-3px) !important;
  box-shadow:0 24px 52px rgba(205,137,38,.34),0 0 0 7px rgba(255,205,91,.16) !important;
}
.whatsapp-btn{
  background:
    radial-gradient(circle at 30% 10%, rgba(255,255,255,.42), transparent 24%),
    linear-gradient(135deg,#25d875,#0f9f57 58%,#076b3a) !important;
  color:#fff !important;
  text-shadow:0 1px 0 rgba(0,0,0,.24) !important;
  box-shadow:0 18px 42px rgba(15,159,87,.28),0 0 0 6px rgba(31,200,116,.10) !important;
}

.gallery-public-item{
  border-radius:26px !important;
  background:#fffdf7 !important;
  border:1.5px solid rgba(215,166,68,.38) !important;
  box-shadow:0 16px 38px rgba(111,67,18,.11),0 0 0 4px rgba(255,255,255,.42) !important;
}
.gallery-public-item:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 24px 52px rgba(111,67,18,.16),0 0 0 5px rgba(255,214,112,.16) !important;
}
.gallery-public-head .salon-kicker,
.admin-kicker,
.section-heading span{
  background:linear-gradient(135deg,#fff6d7,#ffe2a0) !important;
  color:#7a4514 !important;
  border:1px solid rgba(215,166,68,.42) !important;
}
.client-footer{
  color:#fff5d9 !important;
  background:linear-gradient(135deg,#130d09,#2b190b) !important;
  border-top:1px solid rgba(255,214,112,.24);
}

/* Panel administrador con brillo elegante */
.admin-body{
  background:
    radial-gradient(circle at 22% 0%, rgba(255,216,122,.42), transparent 30%),
    radial-gradient(circle at 100% 8%, rgba(255,196,220,.30), transparent 28%),
    linear-gradient(180deg,#fff7e6 0%,#fffaf1 45%,#fffdf8 100%) !important;
  color:#26170d !important;
}
.admin-main{
  background:transparent !important;
}
.sidebar,
.admin-mobile-bar{
  background:
    radial-gradient(circle at 0% 0%, rgba(255,205,91,.18), transparent 34%),
    linear-gradient(180deg,#120d0a 0%,#2a180b 100%) !important;
  color:#fffaf1 !important;
  border-right:1px solid rgba(255,214,112,.26) !important;
  box-shadow:20px 0 55px rgba(54,29,8,.22) !important;
}
.sidebar .logo,
.sidebar-head .logo,
.admin-mobile-bar strong,
.login-brand-name,
.logo{
  font-family:'Playfair Display',Georgia,serif !important;
  font-weight:800 !important;
  color:#ffe6a7 !important;
  text-shadow:0 8px 22px rgba(0,0,0,.30),0 0 28px rgba(255,205,91,.32) !important;
}
.admin-sidebar-logo,
.admin-mobile-brand img,
.login-brand-logo{
  border:2px solid rgba(255,221,142,.88) !important;
  background:#130d09 !important;
  box-shadow:0 18px 42px rgba(0,0,0,.32),0 0 28px rgba(255,205,91,.28),0 0 0 5px rgba(255,255,255,.08) !important;
  filter:saturate(1.15) brightness(1.08) contrast(1.05) !important;
}
.admin-sidebar-logo{
  width:104px !important;
  height:104px !important;
  border-radius:26px !important;
}
.admin-nav a,
.sidebar a{
  color:#fff1d2 !important;
  border:1px solid transparent !important;
}
.admin-nav a:hover,
.admin-nav a.active,
.sidebar a:hover,
.sidebar a.active{
  background:linear-gradient(135deg,rgba(255,230,167,.25),rgba(214,154,50,.18)) !important;
  color:#fff !important;
  border-color:rgba(255,221,142,.30) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.admin-top h1,
.panel-top-compact h1,
.admin-main h1,
.admin-main h2{
  font-family:'Playfair Display',Georgia,serif !important;
  font-style:italic;
  color:#7a4514 !important;
}
.stat,
.admin-slot-card,
.admin-slot-item,
.manual-edit-card,
.appointment-card,
.mini-action-box,
.mesa-appt,
.thumb,
.simple-options-grid section,
table,
.admin-table-scroll{
  background:#fffdf7 !important;
  border-color:rgba(215,166,68,.38) !important;
  box-shadow:0 16px 38px rgba(111,67,18,.09),0 0 0 4px rgba(255,255,255,.36) !important;
}
.stat strong{
  color:#d08424 !important;
  text-shadow:0 4px 12px rgba(208,132,36,.12);
}
th{
  background:linear-gradient(135deg,#fff2ce,#ffe5ab) !important;
  color:#724113 !important;
}
td{
  border-bottom-color:#f0dfbd !important;
}
.login-wrap{
  background:
    radial-gradient(circle at 50% 0%, rgba(255,216,122,.62), transparent 34%),
    radial-gradient(circle at 12% 12%, rgba(255,196,220,.38), transparent 30%),
    linear-gradient(180deg,#fff7e6 0%,#fffaf1 58%,#fffdf8 100%) !important;
}
.login-brand-logo{
  width:150px !important;
  height:150px !important;
  border-radius:34px !important;
  object-fit:cover;
}
.login-brand-name{
  color:#7a4514 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.90),0 10px 22px rgba(111,67,18,.12) !important;
}

@keyframes yyLogoGlow{
  from{
    transform:translateY(0) scale(1);
    filter:saturate(1.12) brightness(1.06) contrast(1.05) drop-shadow(0 0 12px rgba(255,205,91,.20));
  }
  to{
    transform:translateY(-5px) scale(1.012);
    filter:saturate(1.25) brightness(1.13) contrast(1.08) drop-shadow(0 0 28px rgba(255,205,91,.38));
  }
}

@media(max-width:980px){
  .slim-hero{padding-top:24px !important;}
  .brand-logo-img,.brand-logo-public{width:min(184px,45vw) !important;border-radius:32px !important;}
  .brand-script,.public-brand-block .brand-script{font-size:clamp(48px,11vw,78px) !important;}
  .booking-layout.single-focus{margin-top:22px !important;}
}
@media(max-width:620px){
  .client-shell,.site-shell{width:94% !important;}
  .public-brand-block::after{font-size:17px;width:min(360px,90vw);top:10px;}
  .brand-logo-img,.brand-logo-public{width:min(150px,46vw) !important;border-radius:28px !important;outline-width:6px !important;}
  .brand-script,.public-brand-block .brand-script{font-size:clamp(42px,13vw,62px) !important;}
  .slim-hero p{font-size:14.5px !important;}
  .booking-card,.help-card,.gallery-public-card{border-radius:28px !important;}
  .booking-title-row{padding:16px !important;border-radius:24px !important;}
  .booking-title-row h1{font-size:36px !important;}
  .client-links a{padding:10px 14px !important;}
  .login-brand-logo{width:126px !important;height:126px !important;border-radius:28px !important;}
}
@media (prefers-reduced-motion: reduce){
  .brand-logo-public,
  .public-brand-block::after,
  .btn::after,
  .main-booking-btn::after,
  .gallery-mini-link::after{
    animation:none !important;
  }
}


/* =====================================================
   FONDO WEB Y&Y FINAL - imagen + lluvia de brillos optimizada
   Motivo del ajuste:
   - La imagen existe en assets/img/fondo-web-yy.webp.
   - Se fuerza el fondo en la página pública y galería.
   - La lluvia de brillos usa solo CSS, sin JavaScript, para evitar lentitud.
===================================================== */

body.client-body {
  background-color: #fff7ed !important;
  background-image:
    linear-gradient(
      180deg,
      rgba(255, 249, 236, 0.50) 0%,
      rgba(255, 247, 236, 0.42) 38%,
      rgba(255, 242, 231, 0.56) 100%
    ),
    url("../img/fondo-web-yy.webp") !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  min-height: 100vh !important;
  overflow-x: hidden !important;
  position: relative !important;
  isolation: isolate !important;
}

body.client-body::before {
  content: "" !important;
  position: fixed !important;
  top: -120vh !important;
  left: 0 !important;
  width: 100% !important;
  height: 240vh !important;
  pointer-events: none !important;
  z-index: 0 !important;
  opacity: 0.42 !important;
  background-image:
    radial-gradient(circle, rgba(255, 225, 142, 0.95) 0 1.25px, transparent 2.7px),
    radial-gradient(circle, rgba(255, 255, 255, 0.92) 0 1px, transparent 2.35px),
    radial-gradient(circle, rgba(255, 191, 222, 0.50) 0 1px, transparent 2.4px) !important;
  background-size: 340px 470px, 250px 370px, 430px 560px !important;
  background-position: 40px 40px, 150px 110px, 90px 230px !important;
  animation: yyGoldGlitterRain 24s linear infinite !important;
  will-change: transform;
  transform: translate3d(0,0,0);
}

body.client-body::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  opacity: 0.82 !important;
  background:
    radial-gradient(circle at 50% 9%, rgba(255, 232, 163, 0.40), transparent 27%),
    radial-gradient(circle at 10% 27%, rgba(255, 205, 226, 0.22), transparent 26%),
    radial-gradient(circle at 92% 24%, rgba(255, 235, 186, 0.22), transparent 25%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 248, 238, 0.20));
}

.client-shell,
.client-footer {
  position: relative !important;
  z-index: 2 !important;
}

/* Tarjetas con efecto vidrio suave: se ve el fondo, pero el texto queda legible. */
.booking-card,
.help-card,
.gallery-public-card,
.empty-gallery {
  background: rgba(255, 255, 250, 0.90) !important;
  border-color: rgba(218, 167, 70, 0.50) !important;
  backdrop-filter: blur(7px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(7px) saturate(1.05) !important;
}

/* El logo queda más protagonista sobre el fondo nuevo. */
.public-brand-block::before {
  opacity: 0.90 !important;
}

.brand-logo-public {
  box-shadow:
    0 34px 90px rgba(68, 36, 10, 0.30),
    0 0 0 1px rgba(255, 255, 255, 0.60),
    0 0 34px rgba(255, 202, 80, 0.64),
    0 0 90px rgba(255, 210, 105, 0.42) !important;
}

@keyframes yyGoldGlitterRain {
  from { transform: translate3d(0, -17%, 0); }
  to   { transform: translate3d(0,  17%, 0); }
}

@media (max-width: 700px) {
  body.client-body {
    background-attachment: scroll !important;
    background-position: center top !important;
  }

  body.client-body::before {
    opacity: 0.25 !important;
    animation-duration: 32s !important;
    background-size: 420px 610px, 320px 480px, 520px 690px !important;
  }

  .booking-card,
  .help-card,
  .gallery-public-card,
  .empty-gallery {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(255, 255, 250, 0.94) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.client-body::before {
    animation: none !important;
  }
}
