/* Basia Sushi Reservas — adaptado de los recursos y el sitio oficial suministrados */
:root{--ink:#3e4144;--soft:#777;--grey:#a5a5a5;--grey-dark:#878787;--sand:#f7f7f5;--white:#fff;--border:#dadcdd;--danger:#a52e30}
*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light}body{margin:0;background:#fff;color:var(--ink);font:14px/1.65 'Poppins',Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}a:hover{color:#777}
.utility{height:44px;background:#aaa;color:#fff;display:flex;justify-content:flex-end;align-items:center;gap:28px;padding:0 max(5vw,35px);font-size:10px;letter-spacing:1.4px}.utility span{opacity:.8}
.top{height:82px;padding:0 max(6vw,34px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f9fafb;box-shadow:0 5px 18px #00000009;position:relative;z-index:5}.brand-image{display:inline-flex;align-items:center;flex:none}.brand-image img{display:block;width:145px;height:64px;object-fit:contain}.top nav{display:flex;gap:clamp(14px,2.3vw,30px);align-items:center;flex-wrap:wrap}.top nav a{font-size:14px;font-weight:500}.top nav a:first-child{background:#a5a5a5;color:#fff;padding:12px 18px;border-radius:8px;letter-spacing:.04em}.top nav a:first-child:hover{background:#888;color:#fff}
main{min-height:60vh}.public-main{max-width:none;padding:0 0 92px}.admin-main{max-width:1280px;margin:0 auto;padding:55px 30px 90px}
.hero{min-height:440px;padding:65px max(7%,25px);display:flex;align-items:center;background:linear-gradient(90deg,rgba(0,0,0,.60),rgba(0,0,0,.12) 80%),url('hero-bg.jpg') center center/cover no-repeat;color:white}.hero-inner{max-width:800px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;color:#999}.hero .eyebrow{color:white}.hero h1{font-size:clamp(40px,5vw,70px);line-height:1.13;letter-spacing:-.025em;font-weight:400;max-width:730px;margin:17px 0}.hero p{font-size:17px;color:#fff;margin:15px 0}
h1,h2,h3{font-weight:400;line-height:1.25}h1{font-size:clamp(30px,3.8vw,48px)}h2{font-size:clamp(26px,2.7vw,36px);margin:7px 0}h3{font-size:22px}.panel{background:#fff;border:1px solid #e7e7e7;border-radius:5px;padding:clamp(22px,4.5vw,48px);box-shadow:0 6px 26px #0000000b}.booking{max-width:1060px;margin:58px auto 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px}.muted{color:#777}.small{font-size:13px}.grid{display:grid;gap:19px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:block;font-size:13px;font-weight:600;color:#555}input,select,textarea{width:100%;margin-top:8px;padding:14px 15px;background:#fff;border:1px solid #d1d3d4;border-radius:5px;color:#3e4144;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #b8bbbc;border-color:#888}
.availability{margin:29px 0 22px}.hours{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.hour{padding:13px 19px;border:1px solid #cbd0d2;border-radius:5px;background:#fff;color:#3e4144;cursor:pointer}.hour:hover,.hour.selected{border-color:#878787;background:#878787;color:#fff}.hour:disabled{opacity:.42;cursor:not-allowed}.button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;background:#a5a5a5;color:#fff;border:1px solid #a5a5a5;border-radius:8px;padding:12px 19px;font-weight:700;font-size:12px;letter-spacing:1px;text-decoration:none;transition:background .2s}.button:hover{background:#878787;color:#fff}.button.outline{background:#fff;border-color:#aaa;color:#666}.button.outline:hover{background:#f5f5f3}.button.large{padding:17px 27px}.button:disabled{opacity:.5;cursor:not-allowed}.alert{padding:13px 17px;border-left:3px solid var(--danger);background:#fff4f3;color:#922;border-radius:4px;margin-bottom:20px}.notice{padding:13px 17px;border-left:3px solid #aaa;background:#f7f7f5;margin-bottom:18px}
.receipt{max-width:720px;margin:60px auto}.receipt h1{margin:8px 0}.code{font-size:clamp(24px,4vw,35px);letter-spacing:.08em;color:#555;border-block:1px solid #ddd;padding:25px 0;margin:24px 0}.summary p{margin:9px 0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;border-bottom:1px solid #e0e1e2;padding:10px 8px}td{vertical-align:middle}th{color:#666;background:#f7f7f5;font-weight:600}.table-wrap{overflow-x:auto}.tag{border:1px solid #ddd;border-radius:20px;padding:3px 9px;white-space:nowrap}.tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.tools input,.tools select{width:auto;max-width:100%;margin:0}.tools form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline{display:inline}.inline select{padding:6px;font-size:12px;width:auto}.inline button{padding:7px}.stats{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.stat{background:#f7f7f5;border:1px solid #e5e5e5;border-radius:6px;padding:16px;min-width:145px}.stat b{display:block;font-size:25px}.block{margin:26px 0}.actions-bottom{margin-top:15px}.hint{font-size:12px;color:var(--soft)}
footer{background:#878787;color:white}.footer-main{max-width:1400px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:60px;padding:70px 8%}.footer-main>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-brand img{width:175px;height:auto;max-width:100%}.footer-label{font-size:11px;letter-spacing:2px;font-weight:700}.footer-main p{font-size:13px;line-height:1.6;margin:0}.footer-main a{font-size:13px}.footer-bottom{border-top:1px solid #ffffff45;padding:23px 8%;font-size:10px;letter-spacing:1.3px;color:#f4f4f4}
@media(max-width:760px){.utility{height:30px;padding:0 16px;font-size:9px}.utility span{display:none}.top{height:auto;min-height:72px;padding:12px 20px;flex-wrap:wrap;gap:8px}.brand-image img{width:133px;height:57px}.top nav{gap:12px}.top nav a{font-size:12px}.top nav a:last-child{display:none}.top nav a:first-child{padding:9px 12px}.hero{min-height:330px;padding:55px 6%}.hero h1{font-size:40px}.hero p{font-size:15px}.booking{margin:28px 16px 0}.two{grid-template-columns:1fr}.section-heading{display:block}.receipt{margin:28px 16px}.panel{padding:22px}.admin-main{padding:30px 16px}.footer-main{grid-template-columns:1fr 1fr;gap:35px;padding:55px 7%}.footer-main>div:first-child{grid-column:span 2}}
@media(max-width:460px){.top nav{width:100%;justify-content:space-between}.top nav a{font-size:11px}.hero h1{font-size:36px}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}.tools form{width:100%}.tools form input{flex:1;min-width:0}}
@media print{.utility,.top,footer,.actions,.small a{display:none!important}.hero{display:none}.public-main,.admin-main{padding:0}body{background:white;color:black}.panel{box-shadow:none;border:none}.code{color:black}}
