/* Bahia Palace native booking polish. Load after bahia-latepoint.css and local fonts.
 * References: approved PDF pages 2-5, 64-70 and 77-79.
 * Presentation only. No service defaults, field names, controls, step visibility,
 * hidden states, availability values, payment behavior or native events change.
 * Root adds bp-visual-polish only to the approved non-blog page family.
 */
body.bahia-redesign.bp-visual-polish :is(.latepoint-w, .latepoint, .latepoint-lightbox-w, .latepoint-lightbox-wrapper) {
  --bp-lp-paper: #fffdf9;
  --bp-lp-line: #d9cfbd;
  --bp-lp-muted: #62675f;
  --bp-lp-ink: #162235;
  --bp-lp-sans: var(--bp-sans, "DejaVu Sans", Arial, sans-serif);
  --latepoint-body-color: #162235;
  font-family: var(--bp-lp-sans);
  font-weight: 400;
}

/* One outer card on the homepage; the original native heading remains visible. */
body.bahia-redesign.bp-visual-polish .bp-booking-card .latepoint-w .latepoint-booking-form-element {
  border: 0;
}
body.bahia-redesign.bp-visual-polish .bp-booking-card .latepoint-w .latepoint-booking-form-element .latepoint-form-w .latepoint-heading-w {
  padding: 0 0 18px !important;
}
body.bahia-redesign.bp-visual-polish .bp-booking-card .latepoint-w .latepoint-heading-w :is(h3, .os-heading-text) {
  font-size: 26px !important;
  line-height: 1.22;
  letter-spacing: 0;
}
body.bahia-redesign.bp-visual-polish .bp-booking-card .latepoint-w .latepoint-booking-form-element .latepoint-form-w .latepoint-body {
  padding: 20px 0;
}
body.bahia-redesign.bp-visual-polish .bp-booking-card .latepoint-w .latepoint-booking-form-element .latepoint-form-w .latepoint-footer {
  padding: 16px 0 0 !important;
}

/* Cardo is the quiet title face; prices and short labels are regular DejaVu Sans. */
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-items .os-item .os-item-i .os-item-name {
  color: var(--bp-lp-ink) !important;
  font-size: 21px !important;
  line-height: 1.28 !important;
  text-align: start;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-items .os-item .os-item-i .os-item-desc {
  font-size: 13px !important;
  line-height: 1.55 !important;
  margin-top: 7px;
  text-align: start;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-items .os-item .os-item-i .os-item-price {
  font: 400 16px/1.4 var(--bp-lp-sans) !important;
  color: var(--bp-lp-ink) !important;
  font-variant-numeric: tabular-nums;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-items .os-item .os-item-i .os-item-price-label {
  font: 400 11px/1.4 var(--bp-lp-sans) !important;
  color: var(--bp-lp-muted) !important;
  margin-top: 3px;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-items .os-item.selected > .os-item-i {
  box-shadow: none !important;
  border-color: var(--bp-lp-gold) !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-service-extras .os-item .os-item-i .os-item-price-w {
  border: 0;
  text-align: start;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .item-quantity-selector-w .item-quantity-selector-input {
  text-align: center !important;
  font-weight: 400 !important;
  font-variant-numeric: tabular-nums;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-step-content-text-left p {
  font-weight: 400 !important;
  font-size: 13px !important;
  padding: 12px 14px !important;
  border-inline-start-width: 2px !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-step-content-text-left p :is(strong, b) {
  font-weight: 400 !important;
}

/* The month/year spans have native sizes, so override them explicitly. */
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-current-month-label-w {
  padding-inline: 0;
  margin-bottom: 12px;
  gap: 8px;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-current-month-label-w .os-current-month-label {
  font: 400 23px/1.3 var(--bp-lp-serif) !important;
  color: var(--bp-lp-ink) !important;
  letter-spacing: 0;
  margin-bottom: 0;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-current-month-label-w .os-current-month-label :is(.current-month, .current-year) {
  font: inherit !important;
  color: inherit !important;
  letter-spacing: 0;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-current-month-label-w .os-month-control-buttons-w {
  gap: 0;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-current-month-label-w :is(.os-month-prev-btn, .os-month-next-btn):not(.disabled):not(.os-loading) {
  color: var(--bp-lp-gold);
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-weekdays {
  gap: 0;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-weekdays .weekday,
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-weekdays .weekday:first-child {
  background: transparent;
  color: var(--bp-lp-muted);
  border: 0;
  margin: 0;
  padding: 7px 0 10px;
  font: 400 11px/1.3 var(--bp-lp-sans);
  letter-spacing: .025em;
  text-align: center;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-monthly-calendar-days .os-day {
  border-left: 0;
  font-weight: 400;
  text-align: center;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-monthly-calendar-days .os-day .os-day-box {
  min-height: 44px;
  padding: 10px 0 12px;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-monthly-calendar-days .os-day .os-day-number {
  font: 400 14px/1.4 var(--bp-lp-sans);
  text-align: center;
  font-variant-numeric: tabular-nums;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-monthly-calendar-days .os-day:hover .os-day-box .os-day-number,
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-monthly-calendar-days .os-day.selected .os-day-box .os-day-number {
  transform: none;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-monthly-calendar-days .os-day.os-today:not(.selected) .os-day-box .os-day-number {
  background: transparent;
  text-decoration: underline;
  text-decoration-color: var(--bp-lp-gold);
  text-underline-offset: 4px;
}
/* Retain availability bars and their calculated fill, with quieter geometry. */
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-monthly-calendar-days .os-day .os-day-status,
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-monthly-calendar-days .os-day:hover .os-day-status {
  height: 2px;
  left: 8px;
  right: 8px;
  bottom: 5px;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .time-selector-w.style-timebox .times-header .times-header-label {
  font: 400 12px/1.5 var(--bp-lp-sans);
  color: var(--bp-lp-muted);
  white-space: normal;
  margin-inline: 10px;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .time-selector-w.style-timebox .times-header .times-header-label span {
  color: var(--bp-lp-ink);
  border-bottom-color: var(--bp-lp-line);
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .time-selector-w.style-timebox .dp-timebox {
  font: 400 13px/1.4 var(--bp-lp-sans);
  min-height: 44px;
}

/* The input structure, floating labels, validation and phone widget stay native. */
body.bahia-redesign.bp-visual-polish .latepoint-w .os-form-group label {
  font-weight: 400 !important;
  color: var(--bp-lp-ink) !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .os-form-group :is(input, textarea)::placeholder {
  color: var(--bp-lp-muted) !important;
}

/* Review rows use a title/value hierarchy rather than the native 600 weight. */
body.bahia-redesign.bp-visual-polish .latepoint-w :is(.step-verify-w, .step-confirmation-w) .summary-box .sbc-big-item {
  font: 400 22px/1.28 var(--bp-lp-serif) !important;
  color: var(--bp-lp-ink);
}
body.bahia-redesign.bp-visual-polish .latepoint-w :is(.step-verify-w, .step-confirmation-w) .summary-box .sbc-main-item {
  font: 400 17px/1.4 var(--bp-lp-serif);
  color: var(--bp-lp-ink);
}
body.bahia-redesign.bp-visual-polish .latepoint-w :is(.step-verify-w, .step-confirmation-w) .summary-box .sbc-content-i {
  min-width: 0;
  line-height: 1.5;
}
body.bahia-redesign.bp-visual-polish .latepoint-w :is(.step-verify-w, .step-confirmation-w) .summary-box :is(.sbc-highlighted-item, .sbc-sub-item, .sbc-subtle-item) {
  font: 400 13px/1.55 var(--bp-lp-sans);
  color: var(--bp-lp-muted);
  overflow-wrap: anywhere;
}
body.bahia-redesign.bp-visual-polish .latepoint-w :is(.step-verify-w, .step-confirmation-w) :is(.sbh-item, .pbh-label) {
  font: 400 11px/1.45 var(--bp-lp-sans);
  color: var(--bp-lp-muted);
  text-transform: uppercase;
  letter-spacing: .055em;
}
body.bahia-redesign.bp-visual-polish .latepoint-w :is(.step-verify-w, .step-confirmation-w) :is(.sbh-line, .pbh-line) {
  height: 1px;
  background: var(--bp-lp-line);
  border-radius: 0;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-price-item-w {
  gap: 12px;
  font-family: var(--bp-lp-sans);
  font-size: 13px;
  line-height: 1.5;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-price-item-w .spi-name {
  min-width: 0;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-price-item-w .spi-price {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-price-item-w.spi-total {
  border-top: 1px solid var(--bp-lp-line);
  padding-top: 16px;
  margin-top: 16px;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-price-item-w.spi-total :is(.spi-name, .spi-price) {
  font: 400 25px/1.25 var(--bp-lp-serif);
  color: var(--bp-lp-ink);
}

/* Preserve real success messages and the native icon glyph, using the PDF olive. */
body.bahia-redesign.bp-visual-polish .latepoint-w .confirmation-info-w .summary-status-wrapper {
  border-bottom: 1px solid var(--bp-lp-line);
  padding-bottom: 26px;
  margin-bottom: 20px;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .confirmation-info-w .summary-status-wrapper .summary-status-inner .ss-title {
  font: 400 30px/1.2 var(--bp-lp-serif);
  color: var(--bp-lp-ink);
}
body.bahia-redesign.bp-visual-polish .latepoint-w .confirmation-info-w .summary-status-wrapper .summary-status-inner .ss-description {
  font: 400 14px/1.55 var(--bp-lp-sans);
  color: var(--bp-lp-muted);
  margin-top: 10px;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .confirmation-info-w .summary-status-wrapper.summary-status-style-green .ss-icon {
  background: #edf0e5;
  box-shadow: none;
  border: 1px solid var(--bp-lp-olive);
}
body.bahia-redesign.bp-visual-polish .latepoint-w .confirmation-info-w .summary-status-wrapper.summary-status-style-green .ss-icon::before {
  color: var(--bp-lp-olive);
}
body.bahia-redesign.bp-visual-polish .latepoint-w .confirmation-info-w .summary-status-wrapper .summary-status-inner .ss-confirmation-number {
  color: var(--bp-lp-muted);
  background: var(--bp-lp-ivory);
  padding: 8px 12px;
  letter-spacing: .035em;
}

@media (max-width: 600px) {
  body.bahia-redesign.bp-visual-polish .bp-booking-card .latepoint-w .latepoint-heading-w :is(h3, .os-heading-text) {
    font-size: 24px !important;
    padding-inline-end: 0;
  }
  body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-items .os-item .os-item-i {
    padding: 16px !important;
  }
  body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-items .os-item .os-item-i .os-item-name {
    font-size: 20px !important;
  }
  body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-current-month-label-w .os-current-month-label {
    font-size: 21px !important;
  }
  /* Time cells use two readable columns; native unavailable/single-message states remain. */
  body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .time-selector-w.style-timebox .timeslots:not(.slots-not-available) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  body.bahia-redesign.bp-visual-polish .latepoint-w .summary-price-item-w.spi-total :is(.spi-name, .spi-price) {
    font-size: 23px;
  }
}

/* Quantity extras already communicate selection through the count and border.
 * Keep native single-choice service and non-quantity extra markers intact. */
body.bahia-redesign.bp-visual-polish .latepoint-w .os-service-extras .os-item.has-quantity > .os-service-extra-selector.os-item-i::before {
  content: none !important;
}

/* Keep the native invalid-group label visibly distinct from ordinary field labels. */
body.bahia-redesign.bp-visual-polish .latepoint-w .os-form-group.os-invalid label {
  color: var(--bp-lp-error) !important;
}

/* Imported custom CSS also draws a second border on the outer native item. */
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-items .os-item{border:0!important;box-shadow:none!important}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-message.latepoint-message-error{background:#f6eae5!important;color:#963f36!important;border:1px solid #c8a394!important;font:400 14px/1.5 var(--bp-lp-sans)!important;padding:14px 18px!important;text-align:start}


/* Modern calendar keeps a native -15px outer gutter; align its heading with the day grid. */
body.bahia-redesign.bp-visual-polish .latepoint-w .os-dates-and-times-w.calendar-style-modern .os-current-month-label-w{padding-inline:15px!important}

/* Fit the modern calendar inside narrow mobile forms; retain native 44px month controls. */
@media(max-width:600px){
 body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-dates-and-times-w.calendar-style-modern{margin-inline:0!important;min-width:0;max-width:100%}
 body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-dates-and-times-w.calendar-style-modern .os-current-month-label-w{display:grid;grid-template-columns:minmax(0,1fr) auto;padding-inline:0!important;min-width:0;gap:8px;align-items:center}
 body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-dates-and-times-w.calendar-style-modern .os-current-month-label-w .os-current-month-label{min-width:0;flex-wrap:wrap;gap:0 5px;text-align:start}
 body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-dates-and-times-w.calendar-style-modern .os-current-month-label-w .current-year{margin-inline-start:0}
}


/* Keep the native customer grid inside the homepage form's scroll container. */
body.bahia-redesign.bp-visual-polish .latepoint-w .step-customer-w .os-row{margin-inline:0!important}
body.bahia-redesign.bp-visual-polish .latepoint-w .os-form-group.os-invalid input::placeholder{color:#963f36!important;opacity:1}


body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-body .os-row{margin-inline:0!important}
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-box{box-shadow:none!important}
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-box-content.os-cart-item{position:relative;padding-inline-end:36px}
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-box-content.os-cart-item .os-remove-item-from-cart{width:24px;height:24px;min-width:24px;min-height:24px;top:8px;right:8px;background:var(--bp-lp-paper)!important;color:var(--bp-lp-ink)!important;border:1px solid var(--bp-lp-line);box-shadow:none!important}
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-box-content.os-cart-item .os-remove-item-from-cart:hover:not(.os-loading){background:var(--bp-lp-navy)!important;color:var(--bp-lp-ivory)!important}
/* The native minus uses its own background; leave the loading glyph and spinner to LatePoint. */
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-box-content.os-cart-item .os-remove-item-from-cart:not(.os-loading) .os-remove-from-cart-icon{background-color:var(--bp-lp-ink)}
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-box-content.os-cart-item .os-remove-item-from-cart:hover:not(.os-loading) .os-remove-from-cart-icon{background-color:var(--bp-lp-ivory)}
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-box :is(strong,b){font-weight:400}
body.bahia-redesign.bp-visual-polish .latepoint-w .step-verify-w .cart-item-wrapper.multi-item{box-shadow:none;border:1px solid var(--bp-lp-line);background:var(--bp-lp-paper)}

/* Match the native cart sidebar and mobile summary to the booking palette. */
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-summary-w{background:var(--bp-lp-paper)!important;color:var(--bp-lp-ink)}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-summary-w .summary-header{border-bottom-color:var(--bp-lp-line)}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-summary-w .summary-header .summary-header-label{background:transparent;font:400 25px/1.25 var(--bp-lp-serif);color:var(--bp-lp-ink)}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-summary-w .summary-header .summary-header-inner{background-image:none}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-summary-w .summary-header .latepoint-lightbox-summary-trigger{background:var(--bp-lp-paper);color:var(--bp-lp-ink)}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-summary-w .checkout-from-summary-panel-btn{font:400 15px/1.4 var(--bp-lp-serif);color:var(--bp-lp-ink)}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-summary-w .checkout-from-summary-panel-btn-wrapper.os-mobile-only{background:var(--bp-lp-paper);border-bottom-color:var(--bp-lp-line)}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-summary-w .summary-box :is(.sbc-main-item,.sbc-big-item){font:400 17px/1.4 var(--bp-lp-serif);color:var(--bp-lp-ink)}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-summary-w .os-summary-contents-inner .cart-item-wrapper.multi-item:hover{background:var(--bp-lp-ivory);box-shadow:none}
@media(max-width:600px){
 body.bahia-redesign.bp-visual-polish .latepoint-w.latepoint-summary-is-open.show-summary-on-mobile .latepoint-summary-w{border:1px solid var(--bp-lp-line);box-shadow:0 12px 36px rgba(16,27,44,.16)!important}
}


/* Give service descriptions a readable column on narrow screens. */
@media(max-width:580px){
 body.bahia-redesign.bp-visual-polish .latepoint-w .step-services-w .os-items .os-item .os-item-i{display:grid!important;grid-template-columns:32px minmax(0,1fr);gap:10px 12px;align-items:start}
 body.bahia-redesign.bp-visual-polish .latepoint-w .step-services-w .os-item-i>.os-item-img-w{width:32px!important;height:32px!important;min-width:32px;margin:0;grid-column:1;grid-row:1}
 body.bahia-redesign.bp-visual-polish .latepoint-w .step-services-w .os-item-i>.os-item-name-w{grid-column:2;grid-row:1;width:100%;min-width:0;margin:0;padding:0;text-align:start}
 body.bahia-redesign.bp-visual-polish .latepoint-w .step-services-w .os-item-i>.os-item-price-w{grid-column:2;grid-row:2;width:auto;min-width:0;margin:0;padding:0;border:0;display:flex;align-items:baseline;gap:8px;text-align:start}
 body.bahia-redesign.bp-visual-polish .latepoint-w .step-services-w .os-item-i>.os-item-price-w .os-item-price{padding:0;margin:0}
body.bahia-redesign.bp-visual-polish .latepoint-w .step-services-w .os-item-i:not(:has(>.os-item-img-w))>.os-item-name-w{grid-column:1/-1}
}

/* A softer booking surface, using the same palace palette and native controls.
 * Layout widths, responsive grids, availability and validation stay unchanged. */
body.bahia-redesign.bp-visual-polish :is(.latepoint-w, .latepoint, .latepoint-lightbox-w, .latepoint-lightbox-wrapper) {
  --bp-lp-line: #e1d9ca;
  --latepoint-border-radius: 10px;
  --latepoint-border-radius-md: 12px;
}
body.bahia-redesign.bp-visual-polish .bp-home-hero .bp-booking-card {
  border: 1px solid #ded5c6;
  border-radius: 18px;
  box-shadow: 0 12px 36px rgba(16, 27, 44, .07), 0 2px 6px rgba(16, 27, 44, .025);
}
body.bahia-redesign.bp-visual-polish .latepoint-w :is(.latepoint-booking-form-element, .latepoint-transaction-payment-form),
body.bahia-redesign.bp-visual-polish .latepoint-lightbox-w .latepoint-lightbox-i {
  border-radius: 16px !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .latepoint-form-w .latepoint-heading-w {
  border-radius: 16px 16px 0 0;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .latepoint-form-w .latepoint-footer {
  border-radius: 0 0 16px 16px !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-items .os-item .os-item-i {
  border-radius: 12px !important;
  border-color: var(--bp-lp-line) !important;
  background: #fffefa !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-items .os-item .os-item-i:hover {
  background: #f9f5eb !important;
  border-color: #c7ae81 !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-items .os-item.selected > .os-item-i {
  background: #f6f0e3 !important;
  border-color: var(--bp-lp-gold) !important;
  box-shadow: 0 3px 12px rgba(172, 129, 60, .08) !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .os-items .os-item .os-item-i .os-item-img-w {
  border-radius: 8px !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .item-quantity-selector-w :is(.item-quantity-selector, .item-quantity-selector-input) {
  border-radius: 8px !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .os-form-group :is(input.os-form-control:not([type="hidden"]), select.os-form-control, textarea.os-form-control),
body.bahia-redesign.bp-visual-polish .latepoint-w .time-selector-w.style-timebox .dp-timebox,
body.bahia-redesign.bp-visual-polish .latepoint-w :is(.latepoint-btn, .latepoint-btn-primary, .lp-option),
body.bahia-redesign.bp-visual-polish .latepoint .latepoint-btn {
  border-radius: 10px !important;
}
/* Preserve the distinct native error treatment and visible keyboard outline. */
body.bahia-redesign.bp-visual-polish .latepoint-w .os-form-group:not(.os-invalid) .os-form-control:not(.os-invalid):not([aria-invalid="true"]):focus {
  box-shadow: 0 0 0 4px rgba(172, 129, 60, .09) !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .os-monthly-calendar-days .os-day .os-day-box,
body.bahia-redesign.bp-visual-polish .latepoint-w :is(.os-month-prev-btn, .os-month-next-btn) {
  border-radius: 8px !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w :is(.summary-box, .cart-item-wrapper, .summary-price-breakdown-wrapper),
body.bahia-redesign.bp-visual-polish .latepoint-w .lp-options .lp-option {
  border-radius: 12px !important;
}
body.bahia-redesign.bp-visual-polish .latepoint-w :is(.latepoint-step-content-text-left p, .os-form-message-w, .latepoint-message),
body.bahia-redesign.bp-visual-polish .latepoint-w .summary-box-content.os-cart-item .os-remove-item-from-cart {
  border-radius: 8px !important;
}
@media (max-width: 600px) {
  /* The existing 132px quantity grid stays intact at 320px; round its ends. */
  body.bahia-redesign.bp-visual-polish .latepoint-w .os-service-extras .item-quantity-selector-w .item-quantity-selector-minus {
    border-radius: 8px 0 0 8px !important;
  }
  body.bahia-redesign.bp-visual-polish .latepoint-w .os-service-extras .item-quantity-selector-w .item-quantity-selector-input {
    border-radius: 0 !important;
  }
  body.bahia-redesign.bp-visual-polish .latepoint-w .os-service-extras .item-quantity-selector-w .item-quantity-selector-plus {
    border-radius: 0 8px 8px 0 !important;
  }
}

/* Full-width primary action inside the native form footer at every viewport.
 * Back keeps its own row; native hidden, disabled and loading states are unchanged. */
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .latepoint-form-w .latepoint-footer {
  flex-wrap: wrap;
}
body.bahia-redesign.bp-visual-polish .latepoint-w .latepoint-booking-form-element .latepoint-form-w .latepoint-footer .latepoint-next-btn {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  margin-inline: 0;
  min-height: 52px;
  padding: 13px 28px;
  font-size: 16px !important;
}
