 :root{
  --blue:#0067d8;
  --blue2:#004fc4;
  --cyan:#12c4e8;
  --dark:#06183d;
  --text:#1f2f51;
  --muted:#64748b;
  --border:#e3ecf7;
  --light:#f7fbff;
  --shadow:0 18px 45px rgba(0,70,150,.12);
  --radius:22px;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#fff;
  color:var(--text);
}
.page{max-width:1500px;margin:0 auto;padding:0 42px 36px}
.topbar{
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
}
.brand{display:flex;align-items:center;gap:10px;color:var(--blue)}
.brand-icon{
  width:38px;height:38px;border:3px solid var(--blue);border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-weight:900;
}
.brand strong{display:block;font-size:26px;line-height:1;font-weight:900;letter-spacing:.3px}
.brand span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;font-weight:800}
.desktop-nav{display:flex;align-items:center;gap:28px}
.desktop-nav a{color:var(--dark);text-decoration:none;font-weight:800;font-size:14px}
.desktop-nav .phone,.desktop-nav .client{
  border:1px solid var(--border);
  padding:12px 18px;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.04)
}
.menu-btn{display:none}
.hero{
  min-height:420px;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  background:
    linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 36%,rgba(255,255,255,.55) 64%,rgba(255,255,255,0) 100%),
    url("/img/noia-header.png") right center/auto 100% no-repeat;
  border-radius:0 0 36px 36px;
  position:relative;
  overflow:hidden;
}
.hero-text{padding:40px 26px 60px}
.hero h1{font-size:56px;line-height:1.08;margin:0 0 22px;color:var(--dark);letter-spacing:-1.5px}
.hero h1 span{color:var(--blue)}
.hero p{font-size:20px;line-height:1.6;margin:0 0 30px;color:var(--dark)}
.trust-mini{display:flex;flex-wrap:wrap;gap:18px;color:var(--dark)}
.trust-mini span{font-size:14px;font-weight:700}
.trust-mini span:before{content:"✓";color:var(--blue);font-weight:900;margin-right:7px}
.hero-card{
  position:absolute;right:40px;bottom:30px;background:#fff;border-radius:18px;
  padding:22px 26px;width:260px;box-shadow:var(--shadow)
}
.stars{color:#ffb400;font-size:20px}.stars strong{color:var(--dark);margin-left:12px}
.hero-card p{font-size:16px;margin:12px 0 0;color:var(--dark)}
.booking-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(390px,.8fr);
  gap:24px;
  margin-top:-40px;
  position:relative;
  z-index:2;
}
.booking-card,.summary-card,.client-data,.trust-row,.stats,.cta{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)
}
.step{
  display:grid;
  grid-template-columns:42px 190px 1fr;
  gap:16px;
  align-items:center;
  padding:18px 22px;
  border-bottom:1px solid var(--border);
}
.step:last-child{border-bottom:0}
.step-number{
  width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:900
}
label{font-weight:900;color:var(--dark)}
input,select,textarea{
  width:100%;border:1px solid #d9e4f2;border-radius:11px;padding:14px 16px;
  font:inherit;color:var(--text);background:#fff;outline:none;
}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,103,216,.12)}
textarea{min-height:70px;resize:vertical}
.choice-row{display:grid;gap:16px}
.choice-row.two{grid-template-columns:1fr 1fr}
.choice-row.three{grid-template-columns:repeat(3,1fr)}
.choice{
  border:1px solid #d9e4f2;background:#fff;border-radius:14px;padding:18px 14px;
  cursor:pointer;font-weight:900;color:var(--dark);min-height:90px
}
.choice strong{display:block;margin:8px 0 4px}
.choice small{display:block;color:var(--muted);font-weight:600;line-height:1.35}
.choice.selected{background:#f1f7ff;border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.hours-control{
  display:flex;align-items:center;justify-content:center;gap:44px;
}
.hours-control button{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--blue);
  font-size:24px;font-weight:900;cursor:pointer
}
.hours-control strong{font-size:46px;color:var(--dark)}
.hours-control small{display:block;text-align:center;color:var(--muted);font-size:12px;margin-top:4px}
.hour-buttons{grid-column:3;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.hour-buttons button{
  border:1px solid #d9e4f2;background:#fff;border-radius:10px;padding:10px;font-weight:800;cursor:pointer
}
.hour-buttons button.selected{background:var(--blue);color:#fff;border-color:var(--blue)}
.counter{grid-column:3;text-align:right;color:var(--muted);font-size:12px}
.discount-row{display:grid;grid-template-columns:1fr 110px;gap:12px}
.discount-row button,.reserve-btn,.cta a{
  border:0;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--blue2));
  color:#fff;font-weight:900;cursor:pointer;text-decoration:none
}
.discount-row button{padding:0 20px}
#discountMessage{grid-column:3;color:#008a2e;font-weight:800}
.summary-panel{display:flex;flex-direction:column;gap:14px}
.summary-card{padding:24px}
.summary-card h2,.included h3{margin:0 0 18px;color:var(--dark)}
.summary-card{display:grid;gap:26px}
.summary-card dl{display:grid;gap:10px;margin:0}
.summary-card dt{color:var(--muted)}
.summary-card dd{margin:0;text-align:right;color:var(--blue);font-weight:900}
.included ul{list-style:none;padding:0;margin:0}
.included li{margin-bottom:12px}.included li:before{content:"✓";color:#00a63d;font-weight:900;margin-right:10px}
.total-box{grid-column:1 / -1;border-top:1px solid var(--border);padding-top:20px;display:flex;align-items:flex-end;justify-content:space-between}
.total-box span{font-size:20px;font-weight:900}.total-box strong{font-size:42px;color:var(--blue)}.total-box strong span{font-size:42px}
.total-box small{display:block;color:var(--blue)}
.reserve-btn{grid-column:1 / -1;padding:18px;font-size:16px}
.secure{grid-column:1 / -1;text-align:center;margin:0;color:var(--muted);font-size:13px}
.client-data{padding:20px;display:grid;gap:12px}
.client-data label{font-size:13px;color:var(--muted)}
.client-data input{margin-top:6px;padding:11px}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checkbox{display:flex;align-items:center;gap:8px;color:var(--dark)!important;font-weight:700!important}
.checkbox input{width:auto;margin:0}.checkbox a{color:var(--blue)}
.trust-row{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);padding:26px 18px;gap:16px}
.trust-row div{padding:10px 20px;border-right:1px solid var(--border);display:flex;align-items:flex-start;gap:12px}
.trust-row div:last-child{border-right:0}
.trust-row strong{display:block;color:var(--dark);margin-bottom:8px}.trust-row span{font-size:13px;color:var(--muted)}
.trust-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;font-size:18px;line-height:1;margin-top:4px}
.trust-icon--people{background:#e3f0ff}
.trust-icon--shield{background:#e3fbe9}
.trust-icon--quality{background:#fff6e0}
.trust-icon--fast{background:#ffeede}
.trust-text{display:flex;flex-direction:column}
.stats{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);padding:24px;text-align:center}
.stats strong{font-size:26px;color:var(--dark);display:block}.stats span{color:var(--muted);font-size:13px}
.cta{
  margin-top:24px;padding:28px 34px;background:linear-gradient(135deg,var(--blue),var(--blue2));
  display:flex;align-items:center;justify-content:space-between;color:#fff
}
.cta strong{display:block;font-size:24px}.cta span{display:block;opacity:.9}
.cta a{background:#fff;color:var(--blue);padding:16px 28px}
@media(max-width:980px){
  .page{padding:0 16px 24px}.desktop-nav{display:none}.menu-btn{display:block;border:0;background:var(--blue);color:#fff;border-radius:12px;width:46px;height:46px;font-size:24px}
  .desktop-nav.nav-open{display:flex;flex-direction:column;align-items:stretch;gap:14px;position:absolute;top:74px;right:0;left:0;background:#fff;padding:18px;border-radius:12px;box-shadow:0 8px 22px rgba(0,0,0,.12);z-index:60}
  .hero{display:block;min-height:560px;margin:0 -16px;border-radius:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.86) 48%,rgba(255,255,255,.25) 100%),url("/img/noia-header.png") right center / auto 100% no-repeat}
  .hero h1{font-size:40px}.hero-text{padding:34px 30px}.hero-card{right:28px;bottom:40px;width:220px}
  .booking-layout{display:block;margin-top:24px}
  .step{grid-template-columns:38px 1fr;padding:18px}.step label{grid-column:2}.step input,.step select,.step textarea,.choice-row,.hours-control,.discount-row{grid-column:2}
  .choice-row.three{grid-template-columns:1fr}.choice-row.two{grid-template-columns:1fr 1fr}
  .hour-buttons{grid-column:2;grid-template-columns:repeat(3,1fr)}
  .summary-panel{margin-top:18px}.summary-card{grid-template-columns:1fr}
  .trust-row,.stats{grid-template-columns:1fr 1fr}.cta{display:block;text-align:center}.cta a{display:inline-block;margin-top:20px}
}
@media(max-width:560px){
  .trust-row,.stats{grid-template-columns:1fr}
  .two-cols{grid-template-columns:1fr}
  .choice-row.two{grid-template-columns:1fr}
}

a{
    color: #0053C7;
    text-decoration: none;
}
.btn-link{
    color: #0053C7 !important;
}
.border-sosclean{
    border-color: #0053C7 !important;
}
.field-error{display:block;color:#c0392b;font-size:13px;margin-top:-6px;margin-bottom:6px}
