
/* Campizo visual system — shared Booking Engine UI */
:root {
  --be-brand-orange: #ff6600;
  --be-brand-orange-dark: #e54800;
  --be-brand-cyan: #00bce8;
  --be-brand-cyan-dark: #009bc7;
  --be-brand-navy: #071426;
  --be-brand-ink: #172536;
  --be-brand-muted: #687789;
  --be-brand-border: #dce5ec;
  --be-brand-soft: #f4f8fb;
  --be-brand-orange-soft: #fff3e9;
  --be-brand-cyan-soft: #eafaff;
}

/* Buttons and actionable controls */
body :is(.be-booking-checkout,.be-checkout,.be-stay,.be-stays,.be-stay-collection,
.be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password,.be-booking-widget)
:is(button,input[type="submit"],input[type="button"],.button,a.button,
.be-btn,.be-button,.elementor-button) {
  border-radius: 10px;
  font-weight: 700;
  transition: background .18s ease, color .18s ease, border-color .18s ease,
              box-shadow .18s ease, transform .18s ease;
}
body :is(.be-booking-checkout,.be-checkout,.be-stay,.be-stays,.be-stay-collection,
.be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password,.be-booking-widget)
:is(button[type="submit"],input[type="submit"],.be-btn-primary,.be-button-primary,
a.button,button.button,.elementor-button) {
  color: #fff !important;
  border: 1px solid var(--be-brand-orange) !important;
  background: linear-gradient(135deg,var(--be-brand-orange),var(--be-brand-orange-dark)) !important;
  box-shadow: 0 5px 14px rgba(255,102,0,.18);
}
body :is(.be-booking-checkout,.be-checkout,.be-stay,.be-stays,.be-stay-collection,
.be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password,.be-booking-widget)
:is(button[type="submit"],input[type="submit"],.be-btn-primary,.be-button-primary,
a.button,button.button,.elementor-button):hover {
  color:#fff !important;
  background:linear-gradient(135deg,#ff7b1a,#d94100) !important;
  border-color:#d94100 !important;
  box-shadow:0 7px 18px rgba(255,102,0,.25);
  transform:translateY(-1px);
}
body :is(.be-booking-checkout,.be-checkout,.be-stay,.be-stays,.be-stay-collection,
.be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password,.be-booking-widget)
:is(.be-btn-secondary,.be-button-secondary,.be-filter-reset,.be-outline-button) {
  color:var(--be-brand-cyan-dark) !important;
  background:#fff !important;
  border:1px solid var(--be-brand-cyan) !important;
}
body :is(.be-booking-checkout,.be-checkout,.be-stay,.be-stays,.be-stay-collection,
.be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password,.be-booking-widget)
:is(.be-btn-secondary,.be-button-secondary,.be-filter-reset,.be-outline-button):hover {
  color:#07536a !important;
  background:var(--be-brand-cyan-soft) !important;
  border-color:var(--be-brand-cyan-dark) !important;
}

/* Links, active states, badges and icon accents */
body :is(.be-booking-checkout,.be-checkout,.be-stay,.be-stays,.be-stay-collection,
.be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password,.be-booking-widget)
a:not(.button):not(.elementor-button) { text-decoration-color:rgba(255,102,0,.35); }
body :is(.be-booking-checkout,.be-checkout,.be-stay,.be-stays,.be-stay-collection,
.be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password,.be-booking-widget)
:is(.active,.is-active,[aria-current="page"],.selected) {
  accent-color:var(--be-brand-orange);
}
body :is(.be-booking-checkout,.be-checkout,.be-stay,.be-stays,.be-stay-collection,
.be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password,.be-booking-widget)
:is(input,select,textarea):focus {
  border-color:var(--be-brand-cyan) !important;
  box-shadow:0 0 0 3px rgba(0,188,232,.14) !important;
  outline:0 !important;
}
body :is(.be-booking-checkout,.be-checkout,.be-stay,.be-stays,.be-stay-collection,
.be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password,.be-booking-widget)
:is(.be-badge,.be-tag,.be-label,.be-status-badge) {
  border-radius:999px;
}
body :is(.be-booking-checkout,.be-checkout,.be-stay,.be-stays,.be-stay-collection,
.be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password,.be-booking-widget)
:is(.be-price,.be-highlight,.be-accent,.be-section-kicker) {
  color:var(--be-brand-orange);
}

/* Booking forms and panels: consistent border radius and surfaces */
body.be-booking-checkout :is(input,select,textarea),
body :is(.be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password)
:is(input,select,textarea) {
  border-radius:9px;
}
body :is(.be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password)
:is(.be-card,.be-panel,.be-form-card,.be-login-card) {
  border-color:var(--be-brand-border);
  border-radius:16px;
  box-shadow:0 12px 32px rgba(7,20,38,.06);
}

/* Admin-side ACF/Booking Engine controls, scoped to plugin screens */
body.post-type-stay :is(.acf-button,.button-primary,.button.button-primary,
input[type="submit"]) {
  color:#fff !important;
  background:linear-gradient(135deg,var(--be-brand-orange),var(--be-brand-orange-dark)) !important;
  border-color:var(--be-brand-orange-dark) !important;
  border-radius:8px !important;
  box-shadow:0 3px 10px rgba(255,102,0,.14) !important;
}
body.post-type-stay :is(.acf-button,.button-primary,.button.button-primary):hover {
  background:linear-gradient(135deg,#ff7b1a,#d94100) !important;
  border-color:#d94100 !important;
}
body.post-type-stay .acf-field :is(input,select,textarea):focus {
  border-color:var(--be-brand-cyan) !important;
  box-shadow:0 0 0 2px rgba(0,188,232,.13) !important;
}
body.post-type-stay .acf-switch.-on {
  background:var(--be-brand-cyan-dark) !important;
  border-color:var(--be-brand-cyan-dark) !important;
}
@media (prefers-reduced-motion: reduce) {
  body :is(.be-booking-checkout,.be-checkout,.be-stay,.be-stays,.be-stay-collection,
  .be-guest-portal,.be-inventory-portal,.be-login,.be-lost-password,.be-booking-widget) * {
    transition-duration:.01ms !important;
  }
}
