.cruuzr-wrap{--orange:#ff7417;--black:#0b0b0b;--muted:#6b7280;max-width:1180px;margin:20px auto;font-family:Arial,Helvetica,sans-serif;color:#161616}.cruuzr-wrap *{box-sizing:border-box}.cruuzr-hero{background:var(--black);color:#fff;padding:34px;border-radius:16px;margin-bottom:18px}.cruuzr-hero span{color:var(--orange);font-weight:800;letter-spacing:.12em;font-size:13px}.cruuzr-hero h2{color:#fff;margin:7px 0 5px;font-size:34px}.cruuzr-hero p{margin:0;color:#d1d5db}.cruuzr-step{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px;margin-bottom:16px;box-shadow:0 4px 20px rgba(0,0,0,.04)}.cruuzr-step-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;margin-bottom:18px}.cruuzr-step-title b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--orange);color:#000}.cruuzr-period,.cruuzr-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cruuzr-details{grid-template-columns:repeat(3,minmax(0,1fr))}.cruuzr-wrap label{font-weight:700;font-size:14px}.cruuzr-wrap input{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d1d5db;border-radius:10px;font-size:16px;background:#fff}.cruuzr-secondary{margin-top:15px;background:#fff;border:2px solid #111;border-radius:10px;padding:11px 17px;font-weight:800;cursor:pointer}.cruuzr-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cruuzr-product{border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;background:#fff}.cruuzr-product img{width:100%;height:190px;object-fit:contain;background:#050505}.cruuzr-product .inside{padding:15px}.cruuzr-product h3{font-size:18px;margin:0 0 6px}.cruuzr-product .meta{font-size:13px;color:var(--muted);margin-bottom:10px}.cruuzr-product .row{display:flex;justify-content:space-between;align-items:center;gap:10px}.cruuzr-product .price{font-size:18px;font-weight:800}.cruuzr-qty{display:flex;align-items:center;border:1px solid #d1d5db;border-radius:9px;overflow:hidden}.cruuzr-qty button{border:0;background:#f3f4f6;width:34px;height:34px;font-size:20px;cursor:pointer}.cruuzr-qty span{min-width:34px;text-align:center;font-weight:800}.cruuzr-sold{opacity:.55}.cruuzr-terms{display:flex;gap:9px;align-items:flex-start;margin-top:18px}.cruuzr-terms input{width:auto;margin:2px 0 0}.cruuzr-summary{position:sticky;bottom:12px;background:#111;color:#fff;border-radius:14px;padding:18px 22px;display:flex;align-items:center;gap:22px;box-shadow:0 10px 35px rgba(0,0,0,.25);z-index:20}.cruuzr-summary>div{min-width:150px}.cruuzr-summary span{display:block;font-size:12px;color:#bbb;text-transform:uppercase}.cruuzr-summary strong{font-size:28px}.cruuzr-summary button{margin-left:auto;background:var(--orange);color:#080808;border:0;border-radius:11px;padding:15px 28px;font-size:16px;font-weight:900;cursor:pointer}.cruuzr-summary button:disabled{opacity:.45;cursor:not-allowed}.cruuzr-msg{font-size:13px;margin:12px 0 0;color:#b42318}.cruuzr-summary .cruuzr-msg{color:#ffb4ab;margin:0;max-width:360px}.cruuzr-return{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:45px;text-align:center}.cruuzr-return.confirmed h2{color:#18864b}.cruuzr-return.failed h2{color:#b42318}@media(max-width:800px){.cruuzr-products{grid-template-columns:1fr 1fr}.cruuzr-details{grid-template-columns:1fr}.cruuzr-hero h2{font-size:28px}}@media(max-width:520px){.cruuzr-period,.cruuzr-products{grid-template-columns:1fr}.cruuzr-step{padding:17px}.cruuzr-summary{flex-wrap:wrap}.cruuzr-summary button{width:100%;margin:0}.cruuzr-hero{padding:24px}}
.cruuzr-hours-note{margin:10px 0 14px;font-size:13px;line-height:1.45;opacity:.75}
.cruuzr-date-time{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:10px;margin-top:8px}.cruuzr-date-time input,.cruuzr-date-time select{width:100%;min-height:52px;border:1px solid #d7d7d7;border-radius:10px;background:#fff;padding:0 14px;font:inherit;color:#222}.cruuzr-hero h2{margin:0}.cruuzr-hero span,.cruuzr-hero p{display:none}@media(max-width:700px){.cruuzr-date-time{grid-template-columns:1fr 110px}}
/* v0.10.2 desktop alignment fixes */
@media (min-width:801px){
  .cruuzr-product .row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;}
  .cruuzr-product .price{grid-column:1;justify-self:start;}
  .cruuzr-product .cruuzr-qty{grid-column:2;justify-self:center;}
}

.cruuzr-partner-nav{max-width:1120px;margin:20px auto 12px;padding:12px 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#151515;border-radius:12px;color:#fff}.cruuzr-partner-nav span{flex:1}.cruuzr-partner-nav a{color:#fff;text-decoration:none;font-weight:700;padding:8px 10px;border-radius:7px}.cruuzr-partner-nav a:hover{background:#333}.cruuzr-partner-login{max-width:560px}.cruuzr-partner-login #loginform{background:#fff;padding:24px;border-radius:12px;box-shadow:0 3px 18px rgba(0,0,0,.08)}.cruuzr-partner-login input[type=text],.cruuzr-partner-login input[type=password]{width:100%;padding:12px;border:1px solid #ccc;border-radius:8px}.cruuzr-partner-login #wp-submit,.cruuzr-payment-link{display:inline-block;background:#ff7417;color:#111;border:0;border-radius:8px;padding:12px 18px;font-weight:800;text-decoration:none}.cruuzr-partner-totals{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:20px 0}.cruuzr-partner-totals div{background:#f6f6f6;border-radius:10px;padding:16px}.cruuzr-partner-totals span,.cruuzr-partner-totals strong{display:block}.cruuzr-partner-totals strong{font-size:24px;margin-top:5px}.cruuzr-partner-table{width:100%;min-width:900px;border-collapse:collapse}.cruuzr-partner-table th,.cruuzr-partner-table td{padding:10px;border-bottom:1px solid #ddd;text-align:left}.cruuzr-payment-card{text-align:center;background:#fff8f1;border:1px solid #ffc99f;border-radius:12px;padding:22px;margin-top:18px}.cruuzr-payment-card img,.cruuzr-payment-card canvas{display:block;margin:15px auto;background:#fff;padding:8px;border-radius:8px}.cruuzr-payment-card #cruuzr-payment-qr{display:flex;justify-content:center}@media(max-width:700px){.cruuzr-partner-nav span{display:none}.cruuzr-partner-totals{grid-template-columns:1fr 1fr}}
.cruuzr-summary>div{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:150px;}
.cruuzr-summary>div>span{position:static!important;display:block!important;margin:0!important;padding:0!important;line-height:1.1!important;}
.cruuzr-summary>div>strong{position:static!important;display:block!important;margin:0!important;padding:0!important;line-height:1.15!important;}

/* v0.10.3 product controls + confirmation layout */
.cruuzr-product .row{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
}
.cruuzr-product .price{
  align-self:flex-start!important;
  grid-column:auto!important;
  justify-self:auto!important;
}
.cruuzr-product .cruuzr-qty{
  align-self:center!important;
  grid-column:auto!important;
  justify-self:auto!important;
  margin:0 auto!important;
}
.cruuzr-qty button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
  text-align:center!important;
}
.cruuzr-return{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.cruuzr-return h2{
  margin:0!important;
  padding:0!important;
  line-height:1.15!important;
}
.cruuzr-return p{
  margin:0!important;
  padding:0!important;
  line-height:1.5!important;
  position:static!important;
}
.cruuzr-return strong{
  display:inline!important;
  position:static!important;
  line-height:inherit!important;
}
.cruuzr-return .cruuzr-confirm-ref{
  display:block!important;
  font-size:18px;
  line-height:1.45!important;
  margin:2px 0!important;
}

/* v0.10.4 product availability/price spacing */
.cruuzr-product .meta{
  margin-bottom:6px!important;
  line-height:1.3!important;
}
.cruuzr-product .price{
  margin-top:2px!important;
  line-height:1.15!important;
}

/* v0.12.1 standalone partner portal and mobile layout isolation */
body.cruuzr-partner-page{margin:0!important;background:#f3f3f3!important;color:#161616!important;font-family:Arial,Helvetica,sans-serif!important;line-height:1.5!important}
.cruuzr-partner-page *{box-sizing:border-box}
.cruuzr-partner-shell{width:100%;max-width:1220px;margin:0 auto;padding:24px 20px 48px}
.cruuzr-partner-brand{display:block;width:min(270px,60vw);margin:0 auto 22px}
.cruuzr-partner-brand img{display:block!important;position:static!important;width:100%!important;height:auto!important;max-height:90px!important;object-fit:contain!important;margin:0!important}
.cruuzr-partner-page .cruuzr-wrap{margin-left:auto!important;margin-right:auto!important}
.cruuzr-partner-page h1,.cruuzr-partner-page h2,.cruuzr-partner-page h3,.cruuzr-partner-page p,.cruuzr-partner-page span,.cruuzr-partner-page strong{position:static!important;transform:none!important}
.cruuzr-partner-login{max-width:500px!important;margin:0 auto!important}
.cruuzr-login-card{background:#fff;border:1px solid #e1e1e1;border-radius:18px;padding:32px;box-shadow:0 10px 36px rgba(0,0,0,.08)}
.cruuzr-login-card h1{font-size:32px!important;line-height:1.15!important;margin:0 0 10px!important;color:#111!important}
.cruuzr-login-card>p{margin:0 0 24px!important;color:#626262!important;font-size:15px!important;line-height:1.5!important}
.cruuzr-login-card label{display:block!important;margin:0 0 18px!important;color:#222!important;font-size:14px!important;font-weight:700!important}
.cruuzr-login-card input[type=email],.cruuzr-login-card input[type=password]{display:block!important;position:static!important;width:100%!important;height:50px!important;margin:7px 0 0!important;padding:0 14px!important;border:1px solid #cfcfcf!important;border-radius:9px!important;background:#fff!important;color:#111!important;font-size:16px!important}
.cruuzr-login-card .cruuzr-login-remember{display:flex!important;align-items:center!important;gap:9px!important;font-weight:400!important}
.cruuzr-login-card .cruuzr-login-remember input{position:static!important;width:18px!important;height:18px!important;margin:0!important}
.cruuzr-login-card button{display:block!important;width:100%!important;min-height:50px!important;border:0!important;border-radius:9px!important;background:#ff7417!important;color:#111!important;font-size:16px!important;font-weight:800!important;cursor:pointer}
.cruuzr-login-card .cruuzr-forgot{display:block;text-align:center;margin-top:18px;color:#333;font-weight:600}
.cruuzr-login-card .cruuzr-login-error{padding:11px 13px!important;margin:0 0 18px!important;border-radius:8px;background:#fff0f0;color:#a51d1d!important}
.cruuzr-partner-nav{margin-top:0!important;margin-bottom:20px!important;box-shadow:0 5px 20px rgba(0,0,0,.08)}
.cruuzr-monthly .cruuzr-step{padding:30px!important}
.cruuzr-monthly h1{font-size:38px!important;line-height:1.15!important;margin:0 0 26px!important;color:#111!important}
.cruuzr-month-filter{display:flex!important;align-items:flex-end!important;gap:12px!important;margin:0 0 28px!important}
.cruuzr-month-filter label{width:min(320px,70%)}
.cruuzr-month-filter input{height:52px!important;margin-top:7px!important}
.cruuzr-month-filter button{height:52px!important;padding:0 28px!important;border:0!important;border-radius:10px!important;background:#ff7417!important;color:#111!important;font-size:16px!important;font-weight:800!important}
.cruuzr-partner-totals{gap:16px!important;margin:0 0 30px!important}
.cruuzr-partner-totals div{display:flex!important;position:static!important;flex-direction:column!important;justify-content:center!important;min-height:112px!important;padding:18px!important;overflow:hidden!important}
.cruuzr-partner-totals span{display:block!important;position:static!important;margin:0 0 8px!important;color:#555!important;font-size:14px!important;line-height:1.3!important;text-transform:none!important}
.cruuzr-partner-totals strong{display:block!important;position:static!important;margin:0!important;color:#111!important;font-size:25px!important;line-height:1.15!important;white-space:nowrap!important}
.cruuzr-partner-table-wrap{width:100%;overflow-x:auto;padding-bottom:8px}
.cruuzr-partner-table th,.cruuzr-partner-table td{position:static!important;padding:14px!important;font-size:14px!important;line-height:1.4!important;vertical-align:top!important}
.cruuzr-payment-active .cruuzr-app>.cruuzr-hero,.cruuzr-payment-active .cruuzr-app>.cruuzr-step{display:none!important}
.cruuzr-payment-active .cruuzr-summary{display:block!important;position:static!important;bottom:auto!important;max-width:620px!important;margin:0 auto!important;padding:0!important;background:transparent!important;box-shadow:none!important;color:#111!important}
.cruuzr-payment-active .cruuzr-summary>div:not(#cruuzr-partner-payment),.cruuzr-payment-active #cruuzr-pay,.cruuzr-payment-active #cruuzr-book-msg{display:none!important}
.cruuzr-payment-active #cruuzr-partner-payment{display:block!important;position:static!important;width:100%!important;min-width:0!important;margin:0!important}
.cruuzr-payment-card{display:block!important;position:static!important;width:100%!important;margin:0!important;padding:34px!important;background:#fff8f1!important;color:#161616!important;overflow:hidden!important}
.cruuzr-payment-card h2{display:block!important;margin:0 0 8px!important;color:#111!important;font-size:30px!important;line-height:1.2!important}
.cruuzr-payment-amount{display:block!important;margin:0 0 18px!important;color:#111!important;font-size:40px!important;line-height:1.1!important;font-weight:800!important}
.cruuzr-payment-card p{display:block!important;position:static!important;margin:18px 0!important;padding:0!important;color:#333!important;font-size:15px!important;line-height:1.55!important}
.cruuzr-payment-card p strong{display:inline!important;color:#111!important;font-size:inherit!important;line-height:inherit!important}
.cruuzr-payment-card #cruuzr-payment-qr{display:flex!important;position:static!important;justify-content:center!important;margin:24px auto!important;padding:12px!important;max-width:284px!important;background:#fff!important;border-radius:12px!important}
.cruuzr-payment-card img,.cruuzr-payment-card canvas{display:block!important;position:static!important;max-width:100%!important;height:auto!important;margin:0!important;padding:0!important}
.cruuzr-payment-link{display:block!important;position:static!important;margin:0 auto!important;padding:13px 18px!important;line-height:1.3!important;text-align:center!important}
.cruuzr-payment-close{display:block!important;position:static!important;width:100%!important;min-height:48px!important;margin:24px 0 0!important;padding:12px 18px!important;border:2px solid #111!important;border-radius:9px!important;background:#fff!important;color:#111!important;font-size:15px!important;font-weight:800!important;cursor:pointer!important}
@media(max-width:700px){.cruuzr-partner-shell{padding:18px 12px 36px}.cruuzr-partner-brand{margin-bottom:16px}.cruuzr-login-card{padding:24px 20px}.cruuzr-partner-nav{justify-content:center!important;padding:10px!important}.cruuzr-partner-nav strong{width:100%;text-align:center}.cruuzr-partner-nav a{font-size:13px!important;padding:8px!important}.cruuzr-monthly .cruuzr-step{padding:20px!important}.cruuzr-monthly h1{font-size:30px!important;margin-bottom:20px!important}.cruuzr-month-filter{align-items:stretch!important}.cruuzr-month-filter label{width:auto!important;flex:1}.cruuzr-month-filter button{align-self:flex-end;padding:0 20px!important}.cruuzr-partner-totals{grid-template-columns:1fr 1fr!important;gap:10px!important}.cruuzr-partner-totals div{min-height:104px!important;padding:14px!important}.cruuzr-partner-totals span{font-size:12px!important}.cruuzr-partner-totals strong{font-size:21px!important}.cruuzr-payment-card{padding:25px 18px!important}.cruuzr-payment-card h2{font-size:25px!important}.cruuzr-payment-amount{font-size:34px!important}.cruuzr-payment-card #cruuzr-payment-qr{width:min(284px,100%)!important}}

/* Keep the native date text clear of theme padding and fixed input heights. */
#cruuzr-staff-form .cruuzr-date-time{align-items:center;min-width:0}
#cruuzr-staff-form .cruuzr-date-time input[type="date"],#cruuzr-staff-form .cruuzr-date-time select{box-sizing:border-box!important;display:block!important;width:100%!important;min-width:0!important;height:56px!important;min-height:56px!important;max-height:none!important;padding:0 14px!important;margin:0!important;font-family:Arial,sans-serif!important;font-size:16px!important;font-weight:600!important;line-height:normal!important;color:#222!important;-webkit-text-fill-color:#222!important;background:#fff!important;text-indent:0!important;opacity:1!important}
#cruuzr-staff-form input[type="date"]::-webkit-datetime-edit{padding:0!important;line-height:normal!important}
#cruuzr-staff-form input[type="date"]::-webkit-datetime-edit-fields-wrapper{padding:0!important}
#cruuzr-staff-form input[type="date"]::-webkit-date-and-time-value{min-height:1.4em;text-align:left}

/* Phone booking: readable text, visible hero translations and touch targets. */
#cruuzr-booking{line-height:1.5}
#cruuzr-booking p,#cruuzr-booking label,#cruuzr-booking .meta{line-height:1.5!important}
#cruuzr-booking h2,#cruuzr-booking h3{line-height:1.25!important}
#cruuzr-booking .cruuzr-hero h2 span{display:inline!important;color:inherit;font:inherit;letter-spacing:inherit}
#cruuzr-booking .cruuzr-summary>div:empty,#cruuzr-booking .cruuzr-summary>p:empty{display:none}
#cruuzr-booking .cruuzr-qty button{min-width:44px;min-height:44px}
#cruuzr-booking input,#cruuzr-booking select{min-width:0;font-size:16px!important}
@media(max-width:600px){
 .cruuzr-partner-nav[aria-label="Booking options"]{display:grid;grid-template-columns:1fr;padding:8px!important;gap:4px}
 .cruuzr-partner-nav[aria-label="Booking options"] a{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:15px!important;line-height:1.4!important;text-align:center}
 #cruuzr-booking .cruuzr-summary{position:static;gap:12px;padding:16px;margin-top:16px}
 #cruuzr-booking .cruuzr-summary>div{min-width:0}
 #cruuzr-booking .cruuzr-hero{padding:20px}
 #cruuzr-booking .cruuzr-hero h2{font-size:25px!important}
 #cruuzr-booking .cruuzr-step-title{line-height:1.35}
 #cruuzr-booking .cruuzr-step-title b{flex-shrink:0}
}
