/* JD Reservas — pantalla de reserva sin scroll */
@font-face{font-family:"JDR Sans";src:url(fonts/dm-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"JDR Sans";src:url(fonts/dm-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"JDR Sans";src:url(fonts/dm-sans-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"JDR Serif";src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}

html:has(body.jdr-body),body.jdr-body{margin:0;padding:0;height:100%;overflow:hidden;background:#4094A5}
body.jdr-body{-webkit-text-size-adjust:100%;overscroll-behavior:none}

.jdr-app{
	--teal:#4094A5;--teal-d:#2C6F7D;--teal-l:#E7F1F3;--ink:#1D2A2D;--muted:#647579;--line:#DFE8EA;--bg:#F7F9F9;--ok:#2E8B57;--err:#B3412E;
	--h:100vh;
	font-family:"JDR Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);
	position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
	background:var(--teal);z-index:1;
}
@supports(height:100dvh){.jdr-app{--h:100dvh}}
body.admin-bar .jdr-app{top:var(--wp-admin--admin-bar--height,32px)}
.jdr-app *,.jdr-app *::before,.jdr-app *::after{box-sizing:border-box}
.jdr-app button,.jdr-app input{font:inherit;color:inherit}
.jdr-app button{cursor:pointer;-webkit-tap-highlight-color:transparent}

.jdr-shell{width:100%;max-width:460px;height:100%;display:flex;flex-direction:column;position:relative}
@media (min-width:600px) and (min-height:700px){
	.jdr-shell{height:min(100%,860px);border-radius:28px;overflow:hidden;box-shadow:0 30px 80px -20px rgba(10,40,48,.45);background:var(--teal)}
}

/* Cabecera */
.jdr-top{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 18px 12px;color:#fff;min-height:68px}
.jdr-logo{height:46px;width:auto;display:block}
.jdr-top-txt{flex:1;min-width:0;line-height:1.15}
.jdr-top-txt b{display:block;font-family:"JDR Serif",Georgia,serif;font-size:21px;font-weight:600;letter-spacing:.02em}
.jdr-top-txt span{font-size:12.5px;opacity:.85}
.jdr-back{width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.16);display:grid;place-items:center;color:#fff;flex:0 0 auto;transition:background .15s}
.jdr-back:active{background:rgba(255,255,255,.3)}
.jdr-back[hidden]{display:none}
.jdr-back svg{width:20px;height:20px}
.jdr-steps{display:flex;gap:5px;flex:0 0 auto}
.jdr-steps i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);transition:all .25s}
.jdr-steps i.on{background:#fff;width:20px;border-radius:4px}

/* Hoja blanca */
.jdr-sheet{flex:1 1 auto;min-height:0;background:var(--bg);border-radius:24px;padding:20px 18px 14px;display:flex;flex-direction:column;overflow:hidden;position:relative}
.jdr-view{flex:1;min-height:0;display:flex;flex-direction:column;animation:jdrIn .28s ease both}
@keyframes jdrIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.jdr-view.back{animation-name:jdrBack}
@keyframes jdrBack{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}

.jdr-h1{font-family:"JDR Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:600;font-size:23px;line-height:1.15;margin:0 0 4px;letter-spacing:-.015em}
.jdr-sub{margin:0 0 14px;color:var(--muted);font-size:14px}

/* Paso 1: servicios */
.jdr-services{flex:1;min-height:0;display:flex;flex-direction:column;gap:7px;overflow-y:auto;margin:0 -2px;padding:2px}
.jdr-srv{flex:1 1 0;min-height:46px;max-height:66px;display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 14px;transition:border-color .15s,transform .1s}
.jdr-srv:active{transform:scale(.985);border-color:var(--teal)}
.jdr-srv-main{flex:1;min-width:0}
.jdr-srv-name{display:block;font-weight:600;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jdr-srv-dur{display:block;font-size:12.5px;color:var(--muted);margin-top:1px}
.jdr-srv-price{font-weight:600;font-size:16px;color:var(--teal-d);white-space:nowrap}
.jdr-srv-go{width:16px;height:16px;color:#A9BABE;flex:0 0 auto}
/* Muchas opciones (láser): rejilla de 2 columnas para que todo quepa sin scroll */
.jdr-services.grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-content:start}
.jdr-services.grid .jdr-srv{min-height:0;max-height:none;height:100%;flex-direction:column;align-items:stretch;justify-content:center;gap:2px;padding:5px 10px;border-radius:12px}
.jdr-services.grid .jdr-srv-main{flex:0 1 auto;min-height:0}
.jdr-services.grid .jdr-srv-name{font-size:13.5px;line-height:1.18;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jdr-services.grid .jdr-srv-dur{display:none}
.jdr-services.grid .jdr-srv-price{font-size:13px;font-weight:600}
.jdr-services.grid .jdr-srv-price::before{content:attr(data-dur) " · ";font-weight:400;color:var(--muted)}
.jdr-services.grid .jdr-srv-go{display:none}

/* Pestañas de tipo de servicio */
.jdr-tabs{display:flex;gap:2px;background:#EBF0F1;border-radius:12px;padding:3px;margin-bottom:12px;flex:0 0 auto}
.jdr-tab{flex:1 1 auto;border:0;background:transparent;border-radius:9px;padding:8px 6px;font-size:13.5px;letter-spacing:-.01em;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s,color .15s}
.jdr-tab.on{background:#fff;color:var(--teal-d);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.jdr-wip{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:0 24px;color:var(--muted);font-size:14px;line-height:1.45}
.jdr-wip b{color:var(--ink);font-size:18px;font-weight:600}
.jdr-wip-ico{width:58px;height:58px;border-radius:50%;background:var(--teal-l);color:var(--teal-d);display:grid;place-items:center;margin-bottom:4px}
.jdr-wip-ico svg{width:26px;height:26px}

.jdr-groups{display:flex;gap:6px;margin:-4px 0 10px;flex:0 0 auto}
.jdr-group{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:500;color:var(--muted)}
.jdr-group small{font-size:11px;opacity:.7;margin-left:2px}
.jdr-services.swap{animation:jdrFade .18s ease both}
@keyframes jdrFade{from{opacity:0}to{opacity:1}}
.jdr-group.on{background:var(--teal-d);border-color:var(--teal-d);color:#fff}

/* Paso 2: día y hora */
.jdr-chip{display:flex;align-items:center;gap:10px;background:var(--teal-l);border:0;border-radius:12px;padding:9px 12px;margin:0 0 12px;text-align:left;width:100%}
.jdr-chip b{flex:1;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jdr-chip span{font-size:13px;color:var(--teal-d);white-space:nowrap}
.jdr-month{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.jdr-month b{font-size:17px;font-weight:600;text-transform:capitalize}
.jdr-arrows{display:flex;gap:6px}
.jdr-arrow{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center}
.jdr-arrow:disabled{opacity:.3;cursor:default}
.jdr-arrow svg{width:16px;height:16px}
.jdr-week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:14px}
.jdr-day{border:1px solid var(--line);background:#fff;border-radius:12px;padding:6px 0 7px;display:flex;flex-direction:column;align-items:center;gap:1px;transition:all .15s;position:relative}
.jdr-day small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.jdr-day b{font-size:17px;font-weight:600}
.jdr-day:disabled{background:transparent;border-color:transparent;opacity:.35;cursor:default}
.jdr-day.on{background:var(--teal-d);border-color:var(--teal-d);color:#fff}
.jdr-day.on small{color:rgba(255,255,255,.8)}
.jdr-day.today::after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--teal)}
.jdr-day.on.today::after{background:#fff}

.jdr-slots-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;min-height:32px}
.jdr-slots-head b{font-size:14px;font-weight:600}
.jdr-seg{display:flex;background:#EBF0F1;border-radius:10px;padding:3px}
.jdr-seg button{border:0;background:transparent;font-size:13px;padding:5px 12px;border-radius:8px;color:var(--muted)}
.jdr-seg button.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.jdr-slots{flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(38px,46px);gap:7px;align-content:start;overflow-y:auto;padding:1px}
.jdr-slot{border:1px solid var(--line);background:#fff;border-radius:11px;font-weight:600;font-size:15px;font-variant-numeric:tabular-nums;transition:all .12s}
.jdr-slot:active{background:var(--teal-d);color:#fff;border-color:var(--teal-d)}
.jdr-empty-box{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:14px;gap:10px;padding:0 20px}
.jdr-link{background:none;border:0;color:var(--teal-d);font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:6px}
.jdr-loading{flex:1;display:grid;place-items:center}
.jdr-spin{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--teal);animation:jdrSpin .8s linear infinite}
@keyframes jdrSpin{to{transform:rotate(360deg)}}

/* Paso 3: datos */
.jdr-summary{background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 14px;margin-bottom:14px}
.jdr-sum-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #EEF3F4;font-size:14px}
.jdr-sum-row:first-child{border-top:0}
.jdr-sum-row span{color:var(--muted)}
.jdr-sum-row b{font-weight:600;text-align:right}
.jdr-sum-row.total b{color:var(--teal-d)}
.jdr-form{flex:1;min-height:0;display:flex;flex-direction:column}
.jdr-field{display:block;margin-bottom:9px}
.jdr-field span{display:block;font-size:12.5px;color:var(--muted);margin:0 0 4px 2px}
.jdr-field input{width:100%;height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 14px;font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}
.jdr-field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(64,148,165,.15)}
.jdr-field.bad input{border-color:var(--err)}
.jdr-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin:4px 2px 0;line-height:1.35}
.jdr-check input{width:20px;height:20px;margin:0;accent-color:var(--teal-d);flex:0 0 auto}
.jdr-check a{color:var(--teal-d)}
.jdr-check.bad{color:var(--err)}
.jdr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.jdr-error{background:#FBEDEA;color:var(--err);border-radius:10px;padding:9px 12px;font-size:13.5px;margin-bottom:10px}
.jdr-spacer{flex:1;min-height:8px}

.jdr-app .jdr-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;border:0;border-radius:14px;background:var(--teal-d);color:#fff;font-weight:600;font-size:16px;text-decoration:none;transition:transform .1s,opacity .15s;flex:0 0 auto}
.jdr-app .jdr-btn:active{transform:scale(.985)}
.jdr-app .jdr-btn:disabled{opacity:.6}
.jdr-app .jdr-btn + .jdr-btn{margin-top:8px}
.jdr-app .jdr-btn-ghost{background:transparent;color:var(--teal-d);border:1px solid var(--line);height:46px}
.jdr-app .jdr-btn-danger{background:var(--err)}
.jdr-foot{flex:0 0 auto;text-align:center;font-size:13px;line-height:1.5;color:var(--muted);padding-top:10px}
.jdr-foot b{color:var(--ink);font-weight:600}
.jdr-foot-links{white-space:nowrap}
.jdr-foot-links i{font-style:normal;margin:0 6px;opacity:.5}
.jdr-foot a{color:var(--teal-d);font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.jdr-note{text-align:center;font-size:12.5px;color:var(--muted);margin:8px 0 0}

/* Paso 4: confirmada */
.jdr-center{align-items:stretch;text-align:center}
.jdr-done-ico{width:64px;height:64px;border-radius:50%;background:var(--teal-l);color:var(--teal-d);display:grid;place-items:center;margin:6px auto 12px}
.jdr-done-ico svg{width:30px;height:30px}
.jdr-center .jdr-summary{text-align:left}
.jdr-actions2{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-bottom:10px}
.jdr-act{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 4px;font-size:12px;color:var(--ink);text-decoration:none}
.jdr-act svg{width:20px;height:20px;color:var(--teal-d)}

.jdr-toast{position:absolute;left:18px;right:18px;bottom:calc(84px + env(safe-area-inset-bottom));background:var(--ink);color:#fff;border-radius:12px;padding:11px 14px;font-size:14px;text-align:center;animation:jdrIn .2s ease both;z-index:5}

/* Pantallas bajitas (iPhone SE, etc.) */
@media (max-height:640px){
	.jdr-top{min-height:56px;padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:8px}
	.jdr-logo{height:38px}
	.jdr-sheet{padding-top:16px}
	.jdr-h1{font-size:21px}.jdr-tabs{margin-bottom:8px}.jdr-tab{padding:6px 4px;font-size:13px}
	.jdr-sub{margin-bottom:10px;font-size:13px}
	.jdr-services{gap:5px}
	.jdr-srv{min-height:42px}
	.jdr-field input{height:42px}
	.jdr-field{margin-bottom:7px}
	.jdr-sum-row{padding:6px 0}
	.jdr-btn{height:48px}
	.jdr-slots{grid-auto-rows:minmax(34px,42px);gap:6px}
	.jdr-done-ico{width:52px;height:52px;margin-bottom:8px}
}
@media (prefers-reduced-motion:reduce){.jdr-view,.jdr-toast{animation:none}}

/* Pie: copyright y autor */
.jdr-copy{flex:0 0 auto;text-align:center;font-size:11.5px;line-height:1.3;color:rgba(255,255,255,.82);padding:6px 12px calc(6px + env(safe-area-inset-bottom));background:var(--teal)}
.jdr-copy a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}

/* Cambiar cita (enlace del cliente) */
.jdr-move-now{font-size:14px;color:var(--muted);text-align:center;margin:-4px 0 12px}
.jdr-move-now b{color:var(--ink)}
.jdr-move-err{background:#FBEDEA;color:#B3412E;border-radius:10px;padding:8px 12px;font-size:14px;margin-bottom:10px;text-align:center}
.jdr-move-days{display:flex;gap:6px;overflow-x:auto;padding:1px 1px 6px;margin-bottom:8px;flex:0 0 auto;scrollbar-width:none}
.jdr-move-days::-webkit-scrollbar{display:none}
.jdr-move-days .jdr-day{flex:0 0 52px;text-decoration:none;color:inherit}
.jdr-center .jdr-slots{width:100%}

.jdr-move-label{font-size:12.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:left;margin:2px 0 6px}
.jdr-move-srv{display:flex;gap:6px;overflow-x:auto;padding:1px 1px 6px;margin-bottom:8px;flex:0 0 auto;scrollbar-width:none}
.jdr-move-srv::-webkit-scrollbar{display:none}
.jdr-move-chip{flex:0 0 auto;max-width:190px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:7px 11px;text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:600;text-align:left;line-height:1.25}
.jdr-move-chip small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:2px}
.jdr-move-chip.on{background:var(--teal-d);border-color:var(--teal-d);color:#fff}
.jdr-move-chip.on small{color:rgba(255,255,255,.8)}
