/* Flujos Ya Veo: checkout, carrito y reserva de cita */

html:has(body.yaveo-flow){
  background:#082534;
}

body.yaveo-booking-flow,
body.yaveo-cart-flow,
body.yaveo-checkout-flow{
  background:linear-gradient(165deg,#082534 0%,#0E3B4E 42%,#13495F 100%);
  color:var(--paper);
  min-height:100vh;
  overflow-x:clip;
}

body.yaveo-flow{
  --flow-field-bg:#FFFFFF;
  --flow-field-border:rgba(14,59,78,.34);
  --flow-field-text:#0E3B4E;
  --flow-field-focus:#13495F;
  --flow-panel-bg:#F8F4E9;
  --flow-panel-border:rgba(248,244,233,.28);
  --flow-label:#5A7280;
}

/* Cabecera invertida en flujos (carrito, checkout, reserva) */
.topbar--flow,
.topbar--flow.scrolled,
body.menu-open .topbar--flow{
  top:0 !important;
  background:rgba(8,37,52,.98) !important;
  border-bottom:1px solid rgba(248,244,233,.16);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 32px rgba(0,0,0,.18);
}

body.admin-bar .topbar--flow{
  top:var(--yv-admin-offset) !important;
}

.topbar--flow .brand,
.topbar--flow .brand-name{color:var(--paper)}
.topbar--flow .brand .mark{border-color:rgba(248,244,233,.92)}
.topbar--flow .brand .mark::before{background:var(--paper)}
.topbar--flow .brand .mark::after{border-color:rgba(248,244,233,.45)}
.topbar--flow .brand-name .ya{color:var(--accent)}

.topbar--flow .nav a{color:rgba(248,244,233,.9)}
.topbar--flow .nav a:hover{color:var(--accent)}
.topbar--flow .nav a::after{background:var(--accent)}

.topbar--flow .cart-pill{color:var(--paper)}
.topbar--flow .cart-pill:hover{color:var(--accent)}

.topbar--flow .cta-pill{
  background:var(--accent);
  color:var(--ink-deep);
}
.topbar--flow .cta-pill:hover{
  background:#D4A05A;
  color:var(--ink-deep);
}

.topbar--flow .menu-toggle{
  border-color:rgba(248,244,233,.38);
  background:rgba(248,244,233,.1);
}
.topbar--flow .menu-toggle span{background:var(--paper)}

.mobile-menu--flow{
  background:linear-gradient(180deg,#082534 0%,#0E3B4E 100%);
  color:var(--paper);
  top:calc(var(--yv-topbar-h) + var(--yv-admin-offset));
}
.mobile-menu--flow .mobile-nav a{color:var(--paper)}
.mobile-menu--flow .mobile-menu-phone{color:rgba(248,244,233,.82)}
.mobile-menu--flow .btn-primary{background:var(--accent);color:var(--ink-deep);border:0}
.mobile-menu--flow .btn-ghost{
  border-color:rgba(248,244,233,.42);
  color:var(--paper);
  background:transparent;
}

.site-masthead--flow{
  padding:calc(var(--yv-topbar-h) + var(--yv-admin-offset) + 10px) 32px 0;
  position:relative;
  z-index:2;
}
.site-masthead--flow .masthead{
  margin:0;
  border-bottom:1px solid rgba(248,244,233,.18);
  color:rgba(248,244,233,.88);
  padding-bottom:18px;
}
.site-masthead--flow .masthead .m-issue{
  background:var(--accent);
  color:var(--ink-deep);
}
.site-masthead--flow .masthead .m-dot::before{background:var(--accent)}
.site-masthead--flow .masthead .m-stamp{color:var(--accent)}

.site-masthead--flow + .page-shell,
.site-masthead--flow + main.page-shell{
  padding-top:56px;
}

body.yaveo-flow main.flow-shell{
  position:relative;
  isolation:isolate;
}

body.yaveo-flow main.flow-shell::before{
  content:"";
  position:absolute;
  inset:-40px -20px auto;
  height:280px;
  background:radial-gradient(ellipse at 24% 0%,rgba(120,186,214,.22),transparent 64%),
    radial-gradient(ellipse at 88% 12%,rgba(201,146,74,.12),transparent 48%);
  pointer-events:none;
  z-index:0;
}

body.yaveo-flow main.flow-shell > *{position:relative;z-index:1}

body.yaveo-cart-flow main.flow-shell::before,
body.yaveo-checkout-flow main.flow-shell::before,
body.yaveo-booking-flow main.flow-shell::before{
  display:none;
}

/* Panel crema (solo páginas fuera de flujos azules) */
body.yaveo-flow:not(.yaveo-booking-flow):not(.yaveo-cart-flow):not(.yaveo-checkout-flow) .flow-panel{
  background:linear-gradient(180deg,#F8F4E9 0%,#F2EDE0 100%);
  border:1px solid rgba(248,244,233,.28);
  border-radius:24px;
  padding:var(--form-space-panel, clamp(24px,3vw,32px));
  box-shadow:0 28px 64px -28px rgba(0,0,0,.48);
  color:var(--ink);
}

/* Variables compartidas — carrito, checkout y reserva */
body.yaveo-booking-flow,
body.yaveo-cart-flow,
body.yaveo-checkout-flow{
  --flow-main-bg:linear-gradient(180deg,#13495F 0%,#0E3B4E 52%,#082534 100%);
  --flow-main-border:rgba(248,244,233,.18);
  --flow-side-bg:linear-gradient(180deg,#13495F 0%,#0E3B4E 52%,#082534 100%);
  --flow-side-border:rgba(248,244,233,.18);
  --flow-field-contrast-bg:rgba(248,244,233,.12);
  --flow-field-contrast-border:rgba(248,244,233,.34);
  --flow-field-contrast-text:rgba(248,244,233,.96);
  --flow-field-contrast-label:rgba(186,224,240,.88);
  --flow-field-contrast-placeholder:rgba(186,224,240,.62);
  --flow-field-contrast-focus-bg:rgba(248,244,233,.18);
  --flow-field-contrast-focus-border:rgba(201,146,74,.58);
  --flow-sale-field-bg:var(--flow-field-contrast-bg);
  --flow-sale-field-border:var(--flow-field-contrast-border);
  --flow-sale-field-text:var(--flow-field-contrast-text);
  --flow-panel-radius:14px;
  --flow-panel-shadow:none;
  --flow-on-blue:rgba(248,244,233,.94);
  --flow-on-blue-muted:rgba(186,224,240,.82);
  --flow-space-panel:clamp(28px,3.5vw,36px);
  --flow-space-field-y:13px;
  --flow-space-field-x:16px;
  --flow-space-label-gap:10px;
  --flow-space-field-stack:18px;
  --flow-space-section:32px;
  --flow-space-control-gap:16px;
  --flow-space-inner:18px;
  --flow-field-min-height:56px;
  --flow-field-radius:10px;
  --flow-wc-input-x:16px;
}

/* ── Espaciado uniforme — carrito, checkout y reserva ── */
body.yaveo-booking-flow .booking-card,
body.yaveo-cart-flow .wc-block-cart__main,
body.yaveo-cart-flow .wp-block-woocommerce-cart-items-block,
body.yaveo-checkout-flow .wc-block-checkout__main,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-fields-block,
body.yaveo-cart-flow .wc-block-cart__sidebar,
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block,
body.yaveo-checkout-flow .wc-block-checkout__sidebar,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-block,
body.yaveo-checkout-flow #customer_details,
body.yaveo-checkout-flow #order_review{
  padding:var(--flow-space-panel) !important;
}

body.yaveo-booking-flow .ea-standard .step:not(.ea-step-hidden):not(.final.disabled),
body.yaveo-booking-flow .ea-standard .step.calendar:not(.ea-step-hidden){
  display:flex;
  flex-direction:column;
  gap:var(--flow-space-label-gap);
  padding-bottom:var(--flow-space-section);
  margin-bottom:var(--flow-space-section);
}

body.yaveo-booking-flow .ea-standard .step.final.disabled{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
}

body.yaveo-booking-flow .ea-standard .step.calendar:not(.ea-step-hidden),
body.yaveo-booking-flow .ea-standard .step.final:not(.disabled){
  padding-bottom:0;
  margin-bottom:0;
}

body.yaveo-booking-flow .ea-standard .step .ea-label,
body.yaveo-booking-flow .ea-standard .step label,
body.yaveo-booking-flow .ea-standard label.ea-label,
body.yaveo-booking-flow .ea-standard .final p label{
  margin:0 0 var(--flow-space-label-gap) !important;
  padding:0 !important;
}

body.yaveo-booking-flow .ea-standard select,
body.yaveo-booking-flow .ea-standard input[type="text"],
body.yaveo-booking-flow .ea-standard input[type="email"],
body.yaveo-booking-flow .ea-standard input[type="tel"],
body.yaveo-booking-flow .ea-standard textarea,
body.yaveo-booking-flow .ea-standard .filter,
body.yaveo-booking-flow .ea-standard .custom-field,
body.yaveo-booking-flow .ea-standard .form-control{
  padding:var(--flow-space-field-y) var(--flow-space-field-x) !important;
  min-height:var(--flow-field-min-height);
  border-radius:var(--flow-field-radius) !important;
}

body.yaveo-booking-flow .ea-standard textarea{
  min-height:112px;
  padding-top:var(--flow-space-field-y) !important;
}

body.yaveo-booking-flow .ea-standard .final p{
  display:flex;
  flex-direction:column;
  gap:var(--flow-space-label-gap);
  margin:0 0 var(--flow-space-field-stack) !important;
}

body.yaveo-booking-flow .ea-standard p.section{
  margin:var(--flow-space-section) 0 var(--flow-space-label-gap) !important;
}

body.yaveo-booking-flow .ea-standard p.section:first-child{
  margin-top:0 !important;
}

body.yaveo-booking-flow .ea-standard .final small{
  margin:0 0 var(--flow-space-control-gap);
}

body.yaveo-booking-flow .ea-standard .time{
  padding:var(--flow-space-inner);
  margin-top:var(--flow-space-label-gap);
}

body.yaveo-booking-flow .ea-standard .time-value{
  padding:10px 14px;
  margin:4px;
}

body.yaveo-booking-flow .ea-standard #booking-overview{
  margin-top:var(--flow-space-control-gap);
  padding:var(--flow-space-inner) calc(var(--flow-space-inner) + 2px);
}

body.yaveo-booking-flow .ea-standard #booking-overview td,
body.yaveo-booking-flow .ea-standard #booking-overview th{
  padding:10px 0;
}

body.yaveo-booking-flow .ea-standard .ui-datepicker,
body.yaveo-booking-flow .ea-bootstrap .ui-datepicker{
  padding:var(--flow-space-inner);
  margin-top:var(--flow-space-label-gap);
}

body.yaveo-cart-flow .wc-block-components-text-input input[type="email"],
body.yaveo-cart-flow .wc-block-components-text-input input[type="number"],
body.yaveo-cart-flow .wc-block-components-text-input input[type="password"],
body.yaveo-cart-flow .wc-block-components-text-input input[type="tel"],
body.yaveo-cart-flow .wc-block-components-text-input input[type="text"],
body.yaveo-cart-flow .wc-block-components-text-input input[type="url"],
body.yaveo-checkout-flow .wc-block-components-text-input input[type="email"],
body.yaveo-checkout-flow .wc-block-components-text-input input[type="number"],
body.yaveo-checkout-flow .wc-block-components-text-input input[type="password"],
body.yaveo-checkout-flow .wc-block-components-text-input input[type="tel"],
body.yaveo-checkout-flow .wc-block-components-text-input input[type="text"],
body.yaveo-checkout-flow .wc-block-components-text-input input[type="url"]{
  height:var(--flow-field-min-height) !important;
  min-height:var(--flow-field-min-height) !important;
  padding:14px var(--flow-wc-input-x) !important;
  line-height:1.4 !important;
  border-radius:var(--flow-field-radius) !important;
  box-sizing:border-box !important;
}

body.yaveo-cart-flow .wc-block-components-text-input.is-active input,
body.yaveo-cart-flow .wc-block-components-text-input input:-webkit-autofill,
body.yaveo-checkout-flow .wc-block-components-text-input.is-active input,
body.yaveo-checkout-flow .wc-block-components-text-input input:-webkit-autofill{
  padding:14px var(--flow-wc-input-x) !important;
}

body.yaveo-cart-flow .wc-block-components-text-input label,
body.yaveo-checkout-flow .wc-block-components-text-input label{
  position:static !important;
  display:block !important;
  left:auto !important;
  top:auto !important;
  max-width:none !important;
  transform:none !important;
  transform-origin:initial !important;
  line-height:1.35 !important;
  padding:0 !important;
  margin:0 0 10px !important;
  font-size:13px !important;
}

body.yaveo-checkout-flow .wc-block-components-text-input label,
body.yaveo-checkout-flow .wc-block-components-text-input.is-active label,
body.yaveo-checkout-flow .wc-block-components-text-input input:-webkit-autofill+label,
body.yaveo-checkout-flow .has-dark-controls .wc-block-components-text-input label{
  order:-1 !important;
  overflow:visible !important;
  text-overflow:unset !important;
  transition:none !important;
  cursor:default !important;
}

body.yaveo-cart-flow .wc-block-components-text-input.is-active label,
body.yaveo-cart-flow .wc-block-components-text-input input:-webkit-autofill+label,
body.yaveo-checkout-flow .wc-block-components-text-input.is-active label,
body.yaveo-checkout-flow .wc-block-components-text-input input:-webkit-autofill+label{
  position:static !important;
  top:auto !important;
  transform:none !important;
  font-size:13px !important;
}

body.yaveo-cart-flow .wc-block-components-text-input textarea,
body.yaveo-checkout-flow .wc-block-components-text-input textarea,
body.yaveo-checkout-flow .wc-block-components-textarea{
  padding:14px var(--flow-wc-input-x) !important;
  min-height:112px;
  line-height:1.45 !important;
  border-radius:var(--flow-field-radius) !important;
}

body.yaveo-cart-flow .wc-blocks-components-select__select,
body.yaveo-checkout-flow .wc-blocks-components-select__select,
body.yaveo-cart-flow .wc-block-components-combobox .wc-block-components-combobox-control input,
body.yaveo-checkout-flow .wc-block-components-combobox .wc-block-components-combobox-control input,
body.yaveo-checkout-flow #customer_details .input-text,
body.yaveo-checkout-flow #customer_details select,
body.yaveo-checkout-flow #customer_details textarea,
body.yaveo-checkout-flow .checkout_coupon .input-text{
  padding:14px var(--flow-wc-input-x) !important;
  min-height:var(--flow-field-min-height);
  border-radius:var(--flow-field-radius) !important;
  line-height:1.35 !important;
  box-sizing:border-box !important;
}

body.yaveo-cart-flow .wc-blocks-components-select .wc-blocks-components-select__label,
body.yaveo-checkout-flow .wc-blocks-components-select .wc-blocks-components-select__label{
  margin:0 0 10px !important;
  display:block !important;
  position:static !important;
  transform:none !important;
  font-size:13px !important;
  line-height:1.35 !important;
  max-width:none !important;
  white-space:normal !important;
}

body.yaveo-cart-flow .wc-block-components-text-input,
body.yaveo-cart-flow .wc-blocks-components-select,
body.yaveo-cart-flow .wc-block-components-combobox,
body.yaveo-checkout-flow .wc-block-components-text-input,
body.yaveo-checkout-flow .wc-blocks-components-select,
body.yaveo-checkout-flow .wc-block-components-combobox,
body.yaveo-checkout-flow .wc-block-components-textarea{
  margin-top:var(--flow-space-field-stack) !important;
  line-height:1.35 !important;
  white-space:normal !important;
}

body.yaveo-checkout-flow .wc-block-components-text-input,
body.yaveo-checkout-flow .wc-blocks-components-select,
body.yaveo-checkout-flow .wc-block-components-combobox{
  display:flex !important;
  flex-direction:column !important;
  margin-top:0 !important;
}

body.yaveo-checkout-flow .wc-block-components-address-form{
  gap:var(--flow-space-field-stack) var(--flow-space-inner) !important;
}

body.yaveo-checkout-flow .wc-block-components-address-form__address_2-toggle{
  display:inline-block !important;
  margin:10px 0 2px !important;
  padding:4px 0 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  color:var(--accent) !important;
  text-decoration:none !important;
}

body.yaveo-checkout-flow .wc-block-components-checkout-step__title,
body.yaveo-checkout-flow .wc-block-components-title{
  margin:0 !important;
  padding:0 !important;
}

body.yaveo-checkout-flow .wc-block-components-checkout-step__content > .wc-block-components-text-input:first-child,
body.yaveo-checkout-flow .wc-block-components-checkout-step__content > .wc-blocks-components-select:first-child,
body.yaveo-checkout-flow .wc-block-components-checkout-step__content > .wc-block-components-address-form:first-child{
  margin-top:0 !important;
}

body.yaveo-cart-flow .wc-block-components-text-input:first-child,
body.yaveo-cart-flow .wc-blocks-components-select:first-child{
  margin-top:0 !important;
}

body.yaveo-checkout-flow .wc-block-components-radio-control__option,
body.yaveo-checkout-flow .wc-block-components-checkbox{
  margin-top:0 !important;
}

body.yaveo-cart-flow .wc-block-components-totals-coupon,
body.yaveo-checkout-flow .wc-block-components-totals-coupon{
  margin:18px 0 20px !important;
  padding:16px 18px !important;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-cart__totals-title,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-cart__totals-title{
  margin:0 0 20px !important;
  padding:0 0 14px !important;
  border-bottom:1px solid rgba(248,244,233,.14);
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-item,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-totals-item{
  padding-top:14px !important;
  padding-bottom:14px !important;
}

body.yaveo-cart-flow .wp-block-woocommerce-proceed-to-checkout-block{
  margin-top:28px !important;
  padding-top:6px !important;
}

body.yaveo-booking-flow .ea-standard .ea-btn,
body.yaveo-booking-flow .ea-standard button,
body.yaveo-cart-flow .wc-block-components-button,
body.yaveo-checkout-flow .wc-block-components-button{
  padding:14px 24px !important;
  min-height:var(--flow-field-min-height);
}

body.yaveo-booking-flow .ea-standard .ea_hide_show > div[style*="inline-flex"],
body.yaveo-booking-flow .ea-standard .final .ea_hide_show > div:last-child{
  gap:var(--flow-space-control-gap);
  margin-top:var(--flow-space-section);
  padding-top:var(--flow-space-label-gap);
}

/* ── Layout común: carrito + checkout (2 columnas) ── */
body.yaveo-cart-flow main.cart-shell,
body.yaveo-checkout-flow main.checkout-shell{
  max-width:1120px;
}

body.yaveo-cart-flow .wc-block-components-sidebar-layout,
body.yaveo-checkout-flow .wc-block-components-sidebar-layout,
body.yaveo-cart-flow .wp-block-woocommerce-filled-cart-block{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  column-gap:28px;
  row-gap:24px;
  align-items:start;
  width:100%;
  max-width:100%;
  margin:0 !important;
  flex-wrap:nowrap !important;
}

body.yaveo-cart-flow .wc-block-components-sidebar-layout .wc-block-components-main,
body.yaveo-cart-flow .wc-block-components-sidebar-layout .wc-block-cart__main,
body.yaveo-cart-flow .wp-block-woocommerce-filled-cart-block > .wp-block-woocommerce-cart-items-block,
body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wc-block-components-main,
body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wc-block-checkout__main{
  grid-column:1;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  box-sizing:border-box;
}

body.yaveo-cart-flow .wc-block-components-sidebar-layout .wc-block-components-sidebar,
body.yaveo-cart-flow .wc-block-components-sidebar-layout .wc-block-cart__sidebar,
body.yaveo-cart-flow .wp-block-woocommerce-filled-cart-block > .wp-block-woocommerce-cart-totals-block,
body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wc-block-components-sidebar,
body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wc-block-checkout__sidebar,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-totals-block{
  grid-column:2;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  position:sticky;
  top:calc(var(--yv-topbar-h) + var(--yv-admin-offset) + 12px);
  align-self:start;
  box-sizing:border-box;
}

body.yaveo-cart-flow .wc-block-cart__main,
body.yaveo-cart-flow .wp-block-woocommerce-cart-items-block{
  background:linear-gradient(180deg,rgba(19,73,95,.55) 0%,rgba(14,59,78,.42) 100%) !important;
  border:1px solid var(--flow-main-border) !important;
  border-radius:var(--flow-panel-radius) !important;
  padding:var(--flow-space-panel) !important;
}

body.yaveo-checkout-flow .wc-block-checkout__main,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-fields-block{
  background:linear-gradient(180deg,rgba(19,73,95,.55) 0%,rgba(14,59,78,.42) 100%) !important;
  border:1px solid var(--flow-main-border) !important;
  border-radius:var(--flow-panel-radius) !important;
  padding:var(--flow-space-panel) !important;
  box-shadow:none !important;
}

body.yaveo-cart-flow .wc-block-cart:has(.wc-block-components-sidebar-layout) .wp-block-woocommerce-empty-cart-block,
body.yaveo-cart-flow .wc-block-cart:has(.wp-block-woocommerce-filled-cart-block) .wp-block-woocommerce-empty-cart-block{
  display:none !important;
}

/* Filas del carrito — compactas en desktop */
body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header{
  display:table-header-group !important;
}

body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header th{
  padding:6px 12px 16px 0;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.14em;
  color:rgba(186,224,240,.82);
  border-bottom:1px solid rgba(248,244,233,.14);
}

body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-product{
  visibility:visible !important;
}

body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row{
  border-bottom:1px solid rgba(248,244,233,.12);
}

body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items td{
  padding:18px 12px 18px 0;
  vertical-align:middle !important;
}

body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image{
  width:72px;
}

body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image img{
  width:72px;
  height:72px;
  object-fit:cover;
}

body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__product{
  min-width:0;
}

body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-components-product-name{
  font-size:15px !important;
  font-weight:600;
  line-height:1.35;
  margin-bottom:4px;
}

body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__prices{
  font-size:13px;
  opacity:.85;
}

body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__quantity{
  white-space:nowrap;
}

body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total{
  text-align:right;
  font-weight:600;
  font-size:15px;
  white-space:nowrap;
}

@media (min-width:901px){
  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row{
    display:table-row !important;
  }
}

@media (max-width:900px){
  body.yaveo-booking-flow,
  body.yaveo-cart-flow,
  body.yaveo-checkout-flow{
    --flow-space-panel:clamp(20px,4.5vw,28px);
    --flow-space-field-x:14px;
    --flow-space-section:26px;
    --flow-space-field-stack:16px;
    --flow-wc-input-x:14px;
  }

  body.yaveo-flow main.page-shell,
  body.yaveo-flow main.flow-shell{
    padding:20px 16px 48px;
    max-width:100%;
    overflow-x:clip;
  }

  body.yaveo-flow .site-masthead--flow + main.page-shell,
  body.yaveo-flow .site-masthead--flow + main.flow-shell{
    padding-top:20px;
  }

  .site-masthead--flow{
    padding:calc(var(--yv-topbar-h) + var(--yv-admin-offset) + 8px) 16px 0;
  }

  .site-masthead--flow .masthead{
    gap:6px 8px;
    font-size:9px;
    letter-spacing:.1em;
  }

  .site-masthead--flow .masthead .m-spacer{
    flex-basis:100%;
    height:0;
    min-height:0;
  }

  .site-masthead--flow .masthead .m-stamp{
    margin-left:auto;
  }

  body.yaveo-flow .page-title,
  body.yaveo-flow .woocommerce h1{
    font-size:clamp(32px,9vw,48px);
    margin-bottom:12px;
    word-break:break-word;
  }

  body.yaveo-flow .entry-content,
  body.yaveo-flow .booking-card,
  body.yaveo-flow .wc-block-cart,
  body.yaveo-flow .wc-block-checkout,
  body.yaveo-flow .wc-block-components-sidebar-layout,
  body.yaveo-flow .wp-block-woocommerce-filled-cart-block{
    max-width:100%;
    min-width:0;
    overflow-x:clip;
  }

  body.yaveo-cart-flow .wc-block-components-sidebar-layout,
  body.yaveo-checkout-flow .wc-block-components-sidebar-layout,
  body.yaveo-cart-flow .wp-block-woocommerce-filled-cart-block{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    column-gap:0 !important;
    row-gap:20px !important;
    width:100% !important;
    max-width:100% !important;
  }

  body.yaveo-cart-flow .wc-block-components-sidebar-layout .wc-block-components-main,
  body.yaveo-cart-flow .wc-block-components-sidebar-layout .wc-block-cart__main,
  body.yaveo-cart-flow .wp-block-woocommerce-filled-cart-block > .wp-block-woocommerce-cart-items-block,
  body.yaveo-cart-flow .wc-block-components-sidebar-layout .wc-block-components-sidebar,
  body.yaveo-cart-flow .wc-block-components-sidebar-layout .wc-block-cart__sidebar,
  body.yaveo-cart-flow .wp-block-woocommerce-filled-cart-block > .wp-block-woocommerce-cart-totals-block,
  body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wc-block-components-main,
  body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wc-block-checkout__main,
  body.yaveo-checkout-flow .wp-block-woocommerce-checkout-fields-block,
  body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wc-block-components-sidebar,
  body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wc-block-checkout__sidebar,
  body.yaveo-checkout-flow .wp-block-woocommerce-checkout-totals-block{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    position:static !important;
    top:auto !important;
  }

  body.yaveo-cart-flow .wc-block-cart__main,
  body.yaveo-cart-flow .wp-block-woocommerce-cart-items-block,
  body.yaveo-checkout-flow .wc-block-checkout__main,
  body.yaveo-checkout-flow .wp-block-woocommerce-checkout-fields-block{
    order:1;
  }

  body.yaveo-cart-flow .wc-block-cart__sidebar,
  body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block,
  body.yaveo-checkout-flow .wc-block-checkout__sidebar{
    order:2;
  }

  body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-block,
  body.yaveo-checkout-flow .checkout-order-summary-block-fill,
  body.yaveo-checkout-flow .checkout-order-summary-block-fill-wrapper{
    border:none !important;
    background:transparent !important;
    padding:0 !important;
    margin:0 !important;
    box-shadow:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items{
    display:block;
    width:100%;
    max-width:100%;
    overflow:visible;
  }

  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items tbody{
    display:block;
    width:100%;
  }

  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header{
    display:none !important;
  }

  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row{
    display:block !important;
    padding:16px 0;
    width:100%;
    max-width:100%;
  }

  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__image{
    display:block;
    width:72px;
    margin-bottom:10px;
  }

  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__product{
    display:block;
    margin-bottom:12px;
  }

  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__quantity,
  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__total{
    display:inline-block;
    width:auto;
    vertical-align:middle;
  }

  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items td{
    padding:0;
    box-sizing:border-box;
  }

  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector,
  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector{
    max-width:100%;
  }

  body.yaveo-checkout-flow .wc-block-components-address-form,
  body.yaveo-checkout-flow .wc-block-components-address-form__wrapper,
  body.yaveo-checkout-flow .wc-block-components-text-input,
  body.yaveo-checkout-flow .wc-blocks-components-select{
    max-width:100%;
    min-width:0;
  }

  body.yaveo-cart-flow .wc-block-components-totals-coupon__content,
  body.yaveo-checkout-flow .wc-block-components-totals-coupon__content,
  body.yaveo-cart-flow .wc-block-components-totals-coupon__form,
  body.yaveo-checkout-flow .wc-block-components-totals-coupon__form{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
  }

  body.yaveo-cart-flow .wc-block-components-totals-coupon .wc-block-components-button,
  body.yaveo-checkout-flow .wc-block-components-totals-coupon .wc-block-components-button{
    width:100% !important;
  }

  body.yaveo-booking-flow .ea-standard .ui-datepicker,
  body.yaveo-booking-flow .ea-bootstrap .ui-datepicker,
  body.yaveo-booking-flow .ea-standard .ui-datepicker-inline,
  body.yaveo-booking-flow .ea-standard .date{
    max-width:100% !important;
    box-sizing:border-box;
  }

  body.yaveo-booking-flow .ea-standard .time-value{
    min-width:0;
    text-align:center;
  }

  body.yaveo-booking-flow .ea-standard .time{
    gap:8px;
  }

  body.yaveo-booking-flow .ea-standard #booking-overview{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  body.yaveo-booking-flow .ea-standard .ea_hide_show > div[style*="inline-flex"],
  body.yaveo-booking-flow .ea-standard .final .ea_hide_show > div:last-child{
    flex-direction:column;
    align-items:stretch;
  }

  body.yaveo-checkout-flow form.woocommerce-checkout{
    grid-template-columns:minmax(0,1fr);
    gap:20px;
  }

  body.yaveo-checkout-flow #customer_details,
  body.yaveo-checkout-flow #order_review_heading,
  body.yaveo-checkout-flow #order_review{
    grid-column:1;
    grid-row:auto;
    max-width:100%;
  }
}

/* Campos WooCommerce Blocks — reserva (fondo claro) */
body.yaveo-booking-flow .wc-block-components-text-input input,
body.yaveo-booking-flow .wc-block-components-text-input textarea,
body.yaveo-booking-flow .wc-blocks-components-select__select,
body.yaveo-booking-flow .wc-block-components-combobox .wc-block-components-combobox-control input{
  background:var(--flow-field-bg) !important;
  color:var(--flow-field-text) !important;
  border-color:var(--flow-field-border) !important;
}

body.yaveo-booking-flow .wc-block-components-text-input label,
body.yaveo-booking-flow .wc-blocks-components-select .wc-blocks-components-select__label,
body.yaveo-booking-flow .wc-block-components-checkbox__label,
body.yaveo-booking-flow .wc-block-components-radio-control__label{
  color:var(--flow-label) !important;
}

body.yaveo-booking-flow .wc-block-components-text-input input:focus,
body.yaveo-booking-flow .wc-blocks-components-select__select:focus{
  border-color:var(--flow-field-focus) !important;
  box-shadow:0 0 0 2px rgba(19,73,95,.18) !important;
}

/* Campos WooCommerce Blocks — carrito + checkout (contraste sobre azul) */
body.yaveo-cart-flow .wc-block-components-text-input input,
body.yaveo-cart-flow .wc-block-components-text-input textarea,
body.yaveo-cart-flow .wc-blocks-components-select__select,
body.yaveo-cart-flow .wc-block-components-combobox .wc-block-components-combobox-control input,
body.yaveo-cart-flow .wc-block-components-combobox .wc-block-components-combobox-control input[type=text],
body.yaveo-checkout-flow .wc-block-components-text-input input,
body.yaveo-checkout-flow .wc-block-components-text-input textarea,
body.yaveo-checkout-flow .wc-blocks-components-select__select,
body.yaveo-checkout-flow .wc-block-components-combobox .wc-block-components-combobox-control input,
body.yaveo-checkout-flow .wc-block-components-combobox .wc-block-components-combobox-control input[type=text],
body.yaveo-checkout-flow .wc-block-components-textarea{
  background:var(--flow-field-contrast-bg) !important;
  background-color:var(--flow-field-contrast-bg) !important;
  color:var(--flow-field-contrast-text) !important;
  border-color:var(--flow-field-contrast-border) !important;
  box-shadow:none !important;
}

body.yaveo-cart-flow .wc-block-components-text-input input::placeholder,
body.yaveo-cart-flow .wc-block-components-text-input textarea::placeholder,
body.yaveo-checkout-flow .wc-block-components-text-input input::placeholder,
body.yaveo-checkout-flow .wc-block-components-text-input textarea::placeholder,
body.yaveo-checkout-flow .wc-block-components-textarea::placeholder{
  color:var(--flow-field-contrast-placeholder) !important;
  opacity:1;
}

body.yaveo-cart-flow .wc-block-components-text-input label,
body.yaveo-cart-flow .wc-blocks-components-select .wc-blocks-components-select__label,
body.yaveo-cart-flow .wc-block-components-checkbox__label,
body.yaveo-cart-flow .wc-block-components-radio-control__label,
body.yaveo-checkout-flow .wc-block-components-text-input label,
body.yaveo-checkout-flow .wc-blocks-components-select .wc-blocks-components-select__label,
body.yaveo-checkout-flow .wc-block-components-checkbox__label,
body.yaveo-checkout-flow .wc-block-components-radio-control__label,
body.yaveo-checkout-flow .wc-block-components-radio-control__secondary-label,
body.yaveo-checkout-flow .wc-block-components-radio-control__secondary-description,
body.yaveo-checkout-flow .wc-block-components-address-form__address_2-toggle{
  color:var(--flow-field-contrast-label) !important;
}

body.yaveo-cart-flow .wc-block-components-text-input input:focus,
body.yaveo-cart-flow .wc-blocks-components-select__select:focus,
body.yaveo-checkout-flow .wc-block-components-text-input input:focus,
body.yaveo-checkout-flow .wc-block-components-text-input textarea:focus,
body.yaveo-checkout-flow .wc-blocks-components-select__select:focus,
body.yaveo-checkout-flow .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.yaveo-checkout-flow .wc-block-components-textarea:focus{
  background:var(--flow-field-contrast-focus-bg) !important;
  background-color:var(--flow-field-contrast-focus-bg) !important;
  border-color:var(--flow-field-contrast-focus-border) !important;
  box-shadow:0 0 0 2px rgba(201,146,74,.16) !important;
  color:var(--flow-field-contrast-text) !important;
}

body.yaveo-cart-flow .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox],
body.yaveo-checkout-flow .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{
  background-color:var(--flow-field-contrast-bg) !important;
  border-color:var(--flow-field-contrast-border) !important;
}

body.yaveo-cart-flow .wc-block-components-radio-control__input,
body.yaveo-checkout-flow .wc-block-components-radio-control__input{
  border-color:var(--flow-field-contrast-border) !important;
}

body.yaveo-checkout-flow .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.yaveo-checkout-flow .wc-block-components-radio-control-accordion-option:hover{
  background:rgba(248,244,233,.08) !important;
}

/* ── Reserva de cita — mismo flujo azul que carrito / checkout ── */
body.yaveo-booking-flow .booking-flow-kicker,
body.yaveo-checkout-flow .checkout-flow-kicker,
body.yaveo-cart-flow .cart-flow-kicker{
  display:block;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:12px;
}

body.yaveo-booking-flow .booking-flow-kicker{
  color:rgba(186,224,240,.95);
}

body.yaveo-booking-flow .page-title,
body.yaveo-booking-flow .entry-content{
  color:var(--flow-on-blue);
}

body.yaveo-booking-flow .page-title{
  max-width:none;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(40px,5.5vw,72px);
  line-height:.98;
  margin-bottom:10px;
}
body.yaveo-booking-flow .page-title em{color:rgba(248,244,233,.9)}

body.yaveo-booking-flow main.page-shell,
body.yaveo-booking-flow main.booking-shell{
  max-width:1120px;
}

body.yaveo-booking-flow .entry-content{
  max-width:100%;
  background:transparent !important;
}

body.yaveo-booking-flow .entry-content p{
  color:rgba(248,244,233,.86);
  max-width:560px;
}
body.yaveo-booking-flow .entry-content a:not(.btn):not(.ea-btn):not(.time-value):not(.time-disabled){color:var(--accent)}
body.yaveo-booking-flow .entry-content strong{color:var(--paper)}

body.yaveo-booking-flow .booking-card{
  margin-top:4px;
  overflow:visible;
  max-width:100%;
  background:linear-gradient(180deg,rgba(19,73,95,.55) 0%,rgba(14,59,78,.42) 100%) !important;
  border:1px solid var(--flow-main-border);
  border-radius:var(--flow-panel-radius);
  box-shadow:none;
  color:var(--flow-on-blue);
}

body.yaveo-booking-flow .booking-card .ea-standard,
body.yaveo-booking-flow .booking-card .ea-bootstrap,
body.yaveo-booking-flow .ea-standard,
body.yaveo-booking-flow .ea-bootstrap{
  color:var(--flow-on-blue) !important;
}

body.yaveo-booking-flow .ea-standard form{margin:0}

body.yaveo-booking-flow .ea-standard .step{
  position:relative;
  border-bottom:1px solid rgba(248,244,233,.12);
  padding:0 0 var(--flow-space-section);
  margin:0 0 var(--flow-space-section);
  gap:var(--flow-space-label-gap);
}

body.yaveo-booking-flow .ea-standard .step.calendar,
body.yaveo-booking-flow .ea-standard .step.final{
  border-bottom:none;
  margin-bottom:0;
  padding-bottom:0;
}

body.yaveo-booking-flow .ea-standard .step .ea-label,
body.yaveo-booking-flow .ea-standard .step label,
body.yaveo-booking-flow .ea-standard label.ea-label,
body.yaveo-booking-flow .ea-standard .final p label{
  color:var(--flow-field-contrast-label) !important;
}

body.yaveo-booking-flow .ea-standard h3,
body.yaveo-booking-flow .ea-standard legend,
body.yaveo-booking-flow .ea-standard p.section{
  color:var(--paper) !important;
  margin-top:var(--flow-space-section) !important;
  margin-bottom:var(--flow-space-label-gap) !important;
}

body.yaveo-booking-flow .ea-standard p.section:first-child{margin-top:0 !important}

body.yaveo-booking-flow .ea-standard .final small{
  color:rgba(186,224,240,.78);
}

body.yaveo-booking-flow .ea-standard .final p{margin-bottom:var(--flow-space-field-stack) !important}

body.yaveo-booking-flow .ea-standard select,
body.yaveo-booking-flow .ea-standard input[type="text"],
body.yaveo-booking-flow .ea-standard input[type="email"],
body.yaveo-booking-flow .ea-standard input[type="tel"],
body.yaveo-booking-flow .ea-standard textarea,
body.yaveo-booking-flow .ea-standard .filter,
body.yaveo-booking-flow .ea-standard .custom-field,
body.yaveo-booking-flow .ea-standard .form-control,
body.yaveo-booking-flow .ea-bootstrap select,
body.yaveo-booking-flow .ea-bootstrap input[type="text"],
body.yaveo-booking-flow .ea-bootstrap input[type="email"],
body.yaveo-booking-flow .ea-bootstrap textarea{
  background:var(--flow-field-contrast-bg) !important;
  background-color:var(--flow-field-contrast-bg) !important;
  color:var(--flow-field-contrast-text) !important;
  border:1px solid var(--flow-field-contrast-border) !important;
  border-radius:10px !important;
  box-shadow:none !important;
}

body.yaveo-booking-flow .ea-standard select option{
  background:var(--ink-deep);
  color:var(--paper);
}

body.yaveo-booking-flow .ea-standard select:focus,
body.yaveo-booking-flow .ea-standard input[type="text"]:focus,
body.yaveo-booking-flow .ea-standard input[type="email"]:focus,
body.yaveo-booking-flow .ea-standard input[type="tel"]:focus,
body.yaveo-booking-flow .ea-standard textarea:focus,
body.yaveo-booking-flow .ea-standard .filter:focus,
body.yaveo-booking-flow .ea-standard .custom-field:focus,
body.yaveo-booking-flow .ea-standard .form-control:focus{
  background:var(--flow-field-contrast-focus-bg) !important;
  background-color:var(--flow-field-contrast-focus-bg) !important;
  border-color:var(--flow-field-contrast-focus-border) !important;
  box-shadow:0 0 0 2px rgba(201,146,74,.16) !important;
  outline:none !important;
  color:var(--flow-field-contrast-text) !important;
}

body.yaveo-booking-flow .ea-standard .time{
  background:rgba(248,244,233,.06);
  border:1px solid rgba(248,244,233,.18);
  border-radius:12px;
  min-height:88px;
  padding:var(--flow-space-inner);
  margin-top:var(--flow-space-label-gap);
}

body.yaveo-booking-flow .ea-standard .step.disabled .time:empty,
body.yaveo-booking-flow .ea-standard .step.disabled:has(.time:empty){
  display:none;
  min-height:0;
  padding:0;
  margin:0;
  border:0;
}

body.yaveo-booking-flow .ea-standard .step.disabled:has(.time:empty){
  padding:0;
  margin:0;
  border-bottom:none;
}

body.yaveo-booking-flow .ea-standard .time-value{
  background:var(--flow-field-contrast-bg);
  border:1px solid var(--flow-field-contrast-border);
  color:var(--flow-field-contrast-text);
  border-radius:10px;
}

body.yaveo-booking-flow .ea-standard .time-value.selected-time,
body.yaveo-booking-flow .ea-standard .time-value:hover{
  background:var(--accent) !important;
  color:var(--ink-deep) !important;
  border-color:var(--accent) !important;
}

body.yaveo-booking-flow .ea-standard .ui-datepicker,
body.yaveo-booking-flow .ea-bootstrap .ui-datepicker{
  background:rgba(8,37,52,.72);
  border:1px solid rgba(248,244,233,.22);
  border-radius:16px;
  overflow:hidden;
}

body.yaveo-booking-flow .ea-standard .ui-datepicker th{
  color:rgba(186,224,240,.82);
}

body.yaveo-booking-flow .ea-standard .ui-datepicker .ui-state-default,
body.yaveo-booking-flow .ea-bootstrap .ui-datepicker .ui-state-default{
  background:rgba(248,244,233,.1);
  border:1px solid rgba(248,244,233,.18);
  color:var(--paper);
}

body.yaveo-booking-flow .ea-standard .ui-datepicker .ui-state-hover,
body.yaveo-booking-flow .ea-bootstrap .ui-datepicker .ui-state-hover,
body.yaveo-booking-flow .ea-standard .ui-datepicker .ui-state-active,
body.yaveo-booking-flow .ea-bootstrap .ui-datepicker .ui-state-active{
  background:var(--accent) !important;
  color:var(--ink-deep) !important;
  border-color:var(--accent) !important;
}

body.yaveo-booking-flow .ea-standard .ui-datepicker .ui-state-highlight,
body.yaveo-booking-flow .ea-bootstrap .ui-datepicker .ui-state-highlight{
  background:rgba(201,146,74,.28) !important;
  border-color:rgba(201,146,74,.45) !important;
  color:var(--paper) !important;
}

body.yaveo-booking-flow .ea-standard #booking-overview{
  background:rgba(248,244,233,.08);
  border:1px solid rgba(248,244,233,.18);
  border-radius:14px;
  margin-top:8px;
}

body.yaveo-booking-flow .ea-standard #booking-overview td,
body.yaveo-booking-flow .ea-standard #booking-overview th{
  border-bottom-color:rgba(248,244,233,.12);
}

body.yaveo-booking-flow .ea-standard #booking-overview .ea-label{
  color:var(--flow-field-contrast-label) !important;
}

body.yaveo-booking-flow .ea-standard #booking-overview .value{
  color:var(--paper);
}

body.yaveo-booking-flow .ea-standard .disabled .block{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  left:0;
  top:0;
  opacity:1;
  background-color:rgba(8,37,52,.42);
  z-index:101;
  border-radius:12px;
}

body.yaveo-booking-flow .ea-standard .step:not(.disabled) > .block{
  display:none !important;
}

body.yaveo-booking-flow .ea-standard .ea_hide_show > div[style*="inline-flex"],
body.yaveo-booking-flow .ea-standard .final .ea_hide_show > div:last-child{
  display:flex !important;
  flex-wrap:wrap;
  gap:var(--flow-space-control-gap);
  margin-top:var(--flow-space-section);
}

body.yaveo-booking-flow .ea-standard .ea-btn,
body.yaveo-booking-flow .ea-standard button:not(.ea-cancel),
body.yaveo-booking-flow .ea-bootstrap .btn:not(.ea-cancel),
body.yaveo-booking-flow .ea-bootstrap button:not(.ea-cancel){
  background:var(--accent) !important;
  color:var(--ink-deep) !important;
  border:none !important;
  border-radius:999px !important;
  font-weight:700 !important;
  box-shadow:0 14px 32px -10px rgba(201,146,74,.75);
}

body.yaveo-booking-flow .ea-standard .ea-btn:hover,
body.yaveo-booking-flow .ea-standard button:not(.ea-cancel):hover,
body.yaveo-booking-flow .ea-bootstrap .btn:not(.ea-cancel):hover,
body.yaveo-booking-flow .ea-bootstrap button:not(.ea-cancel):hover{
  background:#D4A05A !important;
  color:var(--ink-deep) !important;
}

body.yaveo-booking-flow .ea-standard .ea-cancel,
body.yaveo-booking-flow .ea-standard button.ea-cancel{
  background:transparent !important;
  color:rgba(248,244,233,.88) !important;
  border:1px solid rgba(248,244,233,.34) !important;
  border-radius:999px !important;
  box-shadow:none !important;
}

body.yaveo-booking-flow .ea-standard label.error,
body.yaveo-booking-flow .booking-card label.error{
  color:#ffb4b4 !important;
}

body.yaveo-booking-flow .ea-standard input.error,
body.yaveo-booking-flow .ea-standard textarea.error,
body.yaveo-booking-flow .ea-standard select.error{
  border-color:#ffb4b4 !important;
  background:rgba(192,57,43,.14) !important;
  color:var(--paper) !important;
}

body.yaveo-booking-flow .ea-confirmation-card{
  background:rgba(248,244,233,.1) !important;
  border:1px solid rgba(248,244,233,.2) !important;
  color:var(--paper) !important;
}

body.yaveo-booking-flow .ea-confirmation-title{color:var(--accent) !important}
body.yaveo-booking-flow .ea-status-note{color:rgba(248,244,233,.82) !important}

body.yaveo-booking-flow footer.site-footer{
  margin-top:48px;
  border-top:1px solid rgba(248,244,233,.1);
}

/* ── Finalizar compra (/finalizar-compra/) — azul integrado, sin caja blanca ── */
body.yaveo-checkout-flow .checkout-flow-kicker{
  color:rgba(186,224,240,.95);
}

body.yaveo-checkout-flow main.page-shell,
body.yaveo-checkout-flow main.checkout-shell{
  max-width:1120px;
}

body.yaveo-checkout-flow .entry-content{
  background:transparent !important;
  color:var(--flow-on-blue);
}

body.yaveo-checkout-flow .woocommerce-breadcrumb{
  color:rgba(248,244,233,.58);
}
body.yaveo-checkout-flow .woocommerce-breadcrumb a{
  color:rgba(248,244,233,.72);
}
body.yaveo-checkout-flow .woocommerce-breadcrumb a:hover{color:var(--accent)}

body.yaveo-checkout-flow .checkout-flow-kicker,
body.yaveo-checkout-flow .woocommerce h1,
body.yaveo-checkout-flow .entry-content > h1,
body.yaveo-checkout-flow .page-title{
  color:var(--paper);
}

body.yaveo-checkout-flow .woocommerce h1,
body.yaveo-checkout-flow .entry-content > h1,
body.yaveo-checkout-flow .page-title{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(40px,5.5vw,72px);
  line-height:.98;
  margin-bottom:10px;
}

body.yaveo-checkout-flow .entry-content > .wp-block-woocommerce-checkout,
body.yaveo-checkout-flow .entry-content .wp-block-woocommerce-checkout.wc-block-checkout,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout.wc-block-checkout,
body.yaveo-checkout-flow .wc-block-checkout,
body.yaveo-checkout-flow .wc-block-components-sidebar-layout,
body.yaveo-checkout-flow .wc-block-checkout__form,
body.yaveo-checkout-flow .wc-block-components-form,
body.yaveo-checkout-flow .wc-block-components-checkout-step,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-contact-information-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-shipping-address-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-billing-address-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-shipping-method-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-payment-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-actions-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-additional-information-block{
  color:var(--flow-on-blue);
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

body.yaveo-checkout-flow .wc-block-checkout__form,
body.yaveo-checkout-flow .wc-block-components-form,
body.yaveo-checkout-flow .wc-block-components-checkout-step,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-contact-information-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-shipping-address-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-billing-address-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-shipping-method-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-payment-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-actions-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-additional-information-block{
  padding:0 !important;
}

body.yaveo-checkout-flow .wc-block-checkout__sidebar,
body.yaveo-checkout-flow .wc-block-components-sidebar.wc-block-checkout__sidebar,
body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wc-block-checkout__sidebar{
  background:var(--flow-side-bg) !important;
  border:1px solid var(--flow-side-border);
  border-radius:var(--flow-panel-radius);
  padding:var(--flow-space-panel) !important;
  box-shadow:none !important;
  color:var(--flow-on-blue);
}

body.yaveo-checkout-flow .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
body.yaveo-checkout-flow .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block{
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
}

/* Resumen del pedido — una sola caja (sidebar) */
body.yaveo-checkout-flow .wc-block-checkout__sidebar{
  display:flex;
  flex-direction:column;
  min-width:0;
  width:100%;
  box-sizing:border-box;
}

body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-block{
  display:flex;
  flex-direction:column;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
  min-width:0;
  width:100%;
}

body.yaveo-checkout-flow .wc-block-components-checkout-order-summary__title,
body.yaveo-checkout-flow .wc-block-components-checkout-order-summary__title-text,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-heading-block .wc-block-components-checkout-order-summary__title{
  margin:0 0 20px !important;
  margin-left:0 !important;
  padding:0 0 14px !important;
  border-bottom:1px solid rgba(248,244,233,.14);
  font-family:var(--serif);
  font-size:clamp(22px,2.4vw,28px);
  font-weight:400;
  line-height:1.15;
  color:var(--paper) !important;
}

body.yaveo-checkout-flow .checkout-order-summary-block-fill,
body.yaveo-checkout-flow .checkout-order-summary-block-fill-wrapper,
body.yaveo-checkout-flow .wc-block-components-order-summary,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper{
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}

body.yaveo-checkout-flow .wc-block-components-order-summary-item{
  padding:12px 0 !important;
  gap:12px !important;
}

body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-totals-block,
body.yaveo-checkout-flow .wc-block-components-totals-wrapper{
  padding:0 !important;
  margin-top:8px !important;
}

body.yaveo-checkout-flow .wc-block-checkout__sidebar .wc-block-components-totals-item,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item{
  padding-top:14px !important;
  padding-bottom:14px !important;
}

body.yaveo-checkout-flow .wc-block-checkout__sidebar .wc-block-components-totals-footer-item,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item{
  margin-top:12px !important;
  padding-top:18px !important;
  padding-bottom:12px !important;
  border-top:1px solid rgba(248,244,233,.18);
}

body.yaveo-checkout-flow .wc-block-checkout__sidebar .wc-block-components-totals-coupon,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-totals-coupon{
  margin:18px 0 20px !important;
  padding:16px 18px !important;
}

body.yaveo-checkout-flow .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.yaveo-cart-flow .wc-block-components-totals-coupon .wc-block-components-panel__button{
  padding:8px 2px !important;
}

body.yaveo-checkout-flow .wp-block-woocommerce-checkout-actions-block,
body.yaveo-checkout-flow .wc-block-checkout__actions{
  margin-top:24px !important;
  padding-top:8px !important;
}

body.yaveo-checkout-flow .wc-block-components-checkout-place-order-button{
  margin-top:8px !important;
  width:100% !important;
  justify-content:center !important;
}

body.yaveo-checkout-flow .wc-block-components-checkout-place-order-button::after{
  content:none !important;
  display:none !important;
}

body.yaveo-checkout-flow .wc-block-checkout__actions::after{
  content:"Pago seguro · Recogida en tienda disponible";
  display:block;
  width:100%;
  margin-top:14px;
  text-align:center;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(186,224,240,.72);
  line-height:1.45;
}
  background:transparent !important;
}

body.yaveo-checkout-flow .wc-block-components-checkout-step{
  margin:0 !important;
  padding:0 0 var(--flow-space-section) !important;
  border-bottom:1px solid rgba(248,244,233,.12);
}

body.yaveo-checkout-flow .wc-block-components-checkout-step:last-child{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:none;
}

body.yaveo-checkout-flow .wc-block-checkout__main .wc-block-components-title,
body.yaveo-checkout-flow .wc-block-checkout__main .wc-block-components-checkout-step__title,
body.yaveo-checkout-flow .wc-block-checkout__main h2,
body.yaveo-checkout-flow .wc-block-checkout__main legend{
  color:var(--flow-on-blue) !important;
}

body.yaveo-checkout-flow .wc-block-checkout__main .wc-block-components-text-input label,
body.yaveo-checkout-flow .wc-block-checkout__main .wc-block-components-checkbox__label,
body.yaveo-checkout-flow .wc-block-checkout__main .wc-block-components-radio-control__label,
body.yaveo-checkout-flow .wc-block-checkout__main .wc-blocks-components-select .wc-blocks-components-select__label,
body.yaveo-checkout-flow .wc-block-checkout__main .wc-block-components-address-form__address_2-toggle,
body.yaveo-checkout-flow .wc-block-components-form .wc-block-components-text-input label,
body.yaveo-checkout-flow .wc-block-components-form .wc-blocks-components-select .wc-blocks-components-select__label{
  color:var(--flow-field-contrast-label) !important;
}

body.yaveo-checkout-flow .wc-block-checkout__sidebar .wc-block-components-product-name,
body.yaveo-checkout-flow .wc-block-checkout__sidebar .wc-block-components-order-summary-item__description,
body.yaveo-checkout-flow .wc-block-checkout__sidebar .wc-block-components-formatted-money-amount,
body.yaveo-checkout-flow .wc-block-checkout__sidebar .wc-block-components-total-value,
body.yaveo-checkout-flow .wc-block-checkout__sidebar .wc-block-components-totals-item,
body.yaveo-checkout-flow .wc-block-checkout__sidebar table.wc-block-cart-items,
body.yaveo-checkout-flow .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-total-value,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-formatted-money-amount{
  color:rgba(248,244,233,.94);
}

body.yaveo-checkout-flow .wc-block-checkout__sidebar .wc-block-components-text-input label,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-text-input label{
  color:var(--flow-field-contrast-label) !important;
}

body.yaveo-checkout-flow .wc-block-components-order-summary-item__image img{
  border-radius:10px;
  border:1px solid rgba(248,244,233,.22);
}

body.yaveo-checkout-flow .wc-block-components-checkout-place-order-button .wc-block-components-button,
body.yaveo-checkout-flow .wc-block-components-checkout-place-order-button .wc-block-components-button{
  background:var(--accent) !important;
  color:var(--ink-deep) !important;
  box-shadow:0 14px 32px -10px rgba(201,146,74,.75),0 0 0 1px rgba(248,244,233,.12);
  min-height:3.35em !important;
  font-weight:700 !important;
  letter-spacing:.02em;
}

body.yaveo-checkout-flow .wc-block-components-checkout-place-order-button .wc-block-components-button:hover,
body.yaveo-checkout-flow .wc-block-components-checkout-place-order-button .wc-block-components-button:focus{
  background:#D4A05A !important;
  color:var(--ink-deep) !important;
  transform:translateY(-1px);
}

body.yaveo-checkout-flow .wc-block-checkout__actions{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:0 !important;
  margin-top:8px !important;
}

body.yaveo-checkout-flow .wc-block-checkout__actions .wc-block-checkout__actions_row{
  width:100% !important;
}

body.yaveo-checkout-flow .wc-block-components-notice-banner,
body.yaveo-checkout-flow .woocommerce-message,
body.yaveo-checkout-flow .woocommerce-info,
body.yaveo-checkout-flow .woocommerce-error{
  background:var(--paper) !important;
  border-color:var(--line) !important;
  color:var(--ink) !important;
}

body.yaveo-checkout-flow .wc-block-components-notice-banner .wc-forward,
body.yaveo-checkout-flow .woocommerce-message .button,
body.yaveo-checkout-flow .woocommerce-message a.wc-forward{
  background:transparent !important;
  color:var(--ink) !important;
  border:1px solid var(--line-strong) !important;
  border-radius:999px !important;
  float:none !important;
  opacity:1 !important;
  text-decoration:none !important;
  padding:8px 16px !important;
}

/* Cupones — carrito y checkout (bloques + clásico) */
body.yaveo-cart-flow .wc-block-components-totals-coupon,
body.yaveo-checkout-flow .wc-block-components-totals-coupon,
body.yaveo-cart-flow .wp-block-woocommerce-cart-order-summary-coupon-form-block,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-order-summary-coupon-form-block{
  display:block !important;
  margin:16px 0;
  padding:14px 16px;
  background:rgba(248,244,233,.1);
  border:1px dashed rgba(186,224,240,.5);
  border-radius:12px;
}

body.yaveo-cart-flow .wc-block-components-totals-coupon .wc-block-components-totals-coupon-link,
body.yaveo-checkout-flow .wc-block-components-totals-coupon .wc-block-components-totals-coupon-link{
  color:rgba(186,224,240,.95) !important;
  font-weight:600;
}

body.yaveo-cart-flow .wc-block-cart__main .wc-block-components-totals-coupon,
body.yaveo-cart-flow .wc-block-cart__main .wp-block-woocommerce-cart-order-summary-coupon-form-block{
  background:rgba(248,244,233,.08);
  border-color:rgba(248,244,233,.28);
}

body.yaveo-cart-flow .wc-block-cart__main .wc-block-components-totals-coupon .wc-block-components-totals-coupon-link{
  color:var(--flow-on-blue-muted) !important;
}

body.yaveo-checkout-flow .wc-block-components-totals-coupon .wc-block-components-text-input input,
body.yaveo-cart-flow .wc-block-components-totals-coupon .wc-block-components-text-input input{
  color:var(--flow-field-contrast-text) !important;
}

body.yaveo-checkout-flow .wc-block-components-totals-coupon .wc-block-components-button,
body.yaveo-cart-flow .wc-block-components-totals-coupon .wc-block-components-button{
  background:var(--accent) !important;
  color:var(--ink-deep) !important;
  border-radius:999px !important;
  font-weight:600 !important;
}

body.yaveo-checkout-flow .woocommerce form.checkout_coupon,
body.yaveo-checkout-flow .checkout_coupon{
  display:block !important;
  background:var(--flow-main-bg);
  border:1px dashed var(--flow-main-border);
  border-radius:16px;
  padding:var(--flow-space-inner) var(--flow-space-panel);
  color:var(--flow-on-blue);
  margin-bottom:var(--flow-space-section);
}

body.yaveo-checkout-flow #customer_details .form-row{
  margin-bottom:var(--flow-space-field-stack);
}

body.yaveo-checkout-flow #customer_details .form-row label{
  margin-bottom:var(--flow-space-label-gap);
  display:block;
}

body.yaveo-checkout-flow .woocommerce form.checkout_coupon .input-text,
body.yaveo-checkout-flow .checkout_coupon .input-text,
body.yaveo-checkout-flow #customer_details .input-text,
body.yaveo-checkout-flow #customer_details select,
body.yaveo-checkout-flow #customer_details textarea{
  background:var(--flow-field-contrast-bg) !important;
  border:1px solid var(--flow-field-contrast-border) !important;
  color:var(--flow-field-contrast-text) !important;
  border-radius:var(--flow-field-radius) !important;
  box-shadow:none !important;
  padding:var(--flow-space-field-y) var(--flow-space-field-x) !important;
  min-height:var(--flow-field-min-height);
}

body.yaveo-checkout-flow #customer_details .input-text:focus,
body.yaveo-checkout-flow #customer_details select:focus,
body.yaveo-checkout-flow #customer_details textarea:focus,
body.yaveo-checkout-flow .checkout_coupon .input-text:focus{
  background:var(--flow-field-contrast-focus-bg) !important;
  border-color:var(--flow-field-contrast-focus-border) !important;
  box-shadow:0 0 0 2px rgba(201,146,74,.16) !important;
  outline:none !important;
}

body.yaveo-checkout-flow .woocommerce form.checkout_coupon .button,
body.yaveo-checkout-flow .checkout_coupon .button{
  background:var(--accent) !important;
  color:var(--ink-deep) !important;
  border-radius:999px !important;
}

body.yaveo-checkout-flow .woocommerce form.checkout_coupon p,
body.yaveo-checkout-flow .checkout_coupon p{
  color:var(--muted);
}

/* Checkout clásico (fallback) */
body.yaveo-checkout-flow form.woocommerce-checkout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:24px;
  align-items:start;
  color:var(--ink);
}

body.yaveo-checkout-flow #customer_details{
  grid-column:1;
  grid-row:1;
  background:var(--flow-main-bg) !important;
  border:1px solid var(--flow-main-border);
  border-radius:var(--flow-panel-radius);
  padding:var(--flow-space-panel);
  box-shadow:none !important;
  color:var(--flow-on-blue);
}

body.yaveo-checkout-flow #customer_details label,
body.yaveo-checkout-flow #customer_details h3{
  color:var(--flow-on-blue-muted);
}

body.yaveo-checkout-flow #order_review_heading{
  grid-column:2;
  grid-row:1;
  align-self:end;
  color:var(--paper);
  font-family:var(--serif);
  font-size:clamp(28px,3vw,38px);
  font-weight:400;
  margin:0 0 14px;
}

body.yaveo-checkout-flow #order_review{
  grid-column:2;
  grid-row:2;
  background:var(--flow-side-bg);
  border:1px solid var(--flow-side-border);
  border-radius:var(--flow-panel-radius);
  padding:var(--flow-space-panel);
  box-shadow:var(--flow-panel-shadow);
  color:var(--paper);
}

body.yaveo-checkout-flow #order_review .shop_table th,
body.yaveo-checkout-flow #order_review .shop_table td,
body.yaveo-checkout-flow #order_review .product-name,
body.yaveo-checkout-flow #order_review .woocommerce-Price-amount{
  color:rgba(248,244,233,.94);
}

body.yaveo-checkout-flow #place_order{
  width:100%;
  background:var(--accent) !important;
  color:var(--ink-deep) !important;
  box-shadow:0 14px 32px -10px rgba(201,146,74,.75);
  font-weight:700 !important;
}

body.yaveo-checkout-flow footer.site-footer{
  margin-top:48px;
  border-top:1px solid rgba(248,244,233,.1);
}

/* ── Carrito (/carrito/) — pantalla azul como el desplegable ── */
body.yaveo-cart-flow .cart-flow-kicker{
  color:rgba(186,224,240,.95);
}

body.yaveo-cart-flow main.page-shell,
body.yaveo-cart-flow main.cart-shell{
  max-width:1120px;
}

body.yaveo-cart-flow .page-title,
body.yaveo-cart-flow .woocommerce h1{
  color:var(--paper);
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(40px,5.5vw,72px);
  line-height:.98;
  margin-bottom:10px;
}

body.yaveo-cart-flow .entry-content{
  background:transparent !important;
  color:var(--flow-on-blue);
}

body.yaveo-cart-flow .entry-content > .wp-block-woocommerce-cart,
body.yaveo-cart-flow .entry-content .wp-block-woocommerce-cart.wc-block-cart,
body.yaveo-cart-flow .wp-block-woocommerce-cart.wc-block-cart,
body.yaveo-cart-flow .wc-block-cart,
body.yaveo-cart-flow .wc-block-components-sidebar-layout,
body.yaveo-cart-flow .wp-block-woocommerce-filled-cart-block{
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  color:var(--flow-on-blue);
}

body.yaveo-cart-flow table.wc-block-cart-items,
body.yaveo-cart-flow table.wc-block-cart-items td,
body.yaveo-cart-flow table.wc-block-cart-items th{
  background:transparent !important;
  border-color:rgba(248,244,233,.14) !important;
  color:var(--flow-on-blue);
}

body.yaveo-cart-flow .wp-block-woocommerce-filled-cart-block{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}

body.yaveo-cart-flow .wc-block-cart__main,
body.yaveo-cart-flow .wp-block-woocommerce-cart-items-block,
body.yaveo-cart-flow .wc-block-components-main.wc-block-cart__main{
  background:linear-gradient(180deg,rgba(19,73,95,.55) 0%,rgba(14,59,78,.42) 100%) !important;
  border:1px solid var(--flow-main-border) !important;
  border-radius:var(--flow-panel-radius) !important;
  padding:var(--flow-space-panel) !important;
  box-shadow:none !important;
  color:var(--flow-on-blue);
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block{
  margin-top:0 !important;
}

body.yaveo-cart-flow .wc-block-cart__main .wc-block-components-product-name,
body.yaveo-cart-flow .wc-block-cart__main .wc-block-cart-item__prices,
body.yaveo-cart-flow .wc-block-cart__main .wc-block-components-formatted-money-amount,
body.yaveo-cart-flow .wc-block-cart__main table.wc-block-cart-items,
body.yaveo-cart-flow .wc-block-cart__main .wc-block-components-total-value,
body.yaveo-cart-flow .wc-block-cart__main .wc-block-components-totals-item,
body.yaveo-cart-flow .wc-block-cart__main a{
  color:var(--flow-on-blue) !important;
}

body.yaveo-cart-flow .wc-block-cart__sidebar,
body.yaveo-cart-flow .wc-block-components-sidebar.wc-block-cart__sidebar,
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block{
  background:var(--flow-side-bg) !important;
  border:1px solid var(--flow-side-border);
  border-radius:var(--flow-panel-radius);
  padding:var(--flow-space-panel) !important;
  box-shadow:none !important;
  color:var(--flow-on-blue);
}

/* Checkout — panel formulario = booking-card / carrito */
body.yaveo-checkout-flow .wc-block-checkout__main,
body.yaveo-checkout-flow .wp-block-woocommerce-checkout-fields-block,
body.yaveo-checkout-flow .wc-block-components-main.wc-block-checkout__main,
body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wc-block-checkout__main,
body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wp-block-woocommerce-checkout-fields-block,
body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wc-block-components-main.wc-block-checkout__main{
  background:linear-gradient(180deg,rgba(19,73,95,.55) 0%,rgba(14,59,78,.42) 100%) !important;
  border:1px solid var(--flow-main-border) !important;
  border-radius:var(--flow-panel-radius) !important;
  padding:var(--flow-space-panel) !important;
  box-shadow:none !important;
  color:var(--flow-on-blue);
}

body.yaveo-checkout-flow .wc-block-checkout__sidebar,
body.yaveo-checkout-flow .wc-block-components-sidebar.wc-block-checkout__sidebar,
body.yaveo-checkout-flow .wc-block-components-sidebar-layout .wc-block-checkout__sidebar{
  background:var(--flow-side-bg) !important;
  border:1px solid var(--flow-side-border) !important;
  border-radius:var(--flow-panel-radius) !important;
  padding:var(--flow-space-panel) !important;
  box-shadow:none !important;
  color:var(--flow-on-blue);
}

body.yaveo-checkout-flow .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
body.yaveo-checkout-flow .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block{
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
}

body.yaveo-checkout-flow .wc-block-components-sidebar-layout{
  background:transparent !important;
}

body.yaveo-cart-flow .wc-block-components-sidebar-layout{
  background:transparent !important;
}

body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-product-name,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-cart-item__prices,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-formatted-money-amount,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-total-value,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-totals-item,
body.yaveo-cart-flow .wc-block-cart__sidebar table.wc-block-cart-items,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-cart__totals-title,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-order-summary-item__description,
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-cart__totals-title,
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-total-value,
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-item,
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-formatted-money-amount{
  color:rgba(248,244,233,.94);
}

body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-text-input label,
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-text-input label{
  color:var(--flow-field-contrast-label) !important;
}

body.yaveo-cart-flow .wc-block-cart-item__image img,
body.yaveo-cart-flow .wc-block-components-order-summary-item__image img{
  border-radius:10px;
  border:1px solid rgba(248,244,233,.22);
}

body.yaveo-cart-flow .wc-block-cart__submit-button .wc-block-components-button,
body.yaveo-cart-flow .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button{
  background:var(--accent) !important;
  color:var(--ink-deep) !important;
  box-shadow:0 14px 32px -10px rgba(201,146,74,.75),0 0 0 1px rgba(248,244,233,.12);
  min-height:3.35em !important;
  font-weight:700 !important;
  letter-spacing:.02em;
}

body.yaveo-cart-flow .wc-block-cart__submit-button .wc-block-components-button:hover,
body.yaveo-cart-flow .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover{
  background:#D4A05A !important;
  color:var(--ink-deep) !important;
  transform:translateY(-1px);
}

body.yaveo-cart-flow .wp-block-woocommerce-proceed-to-checkout-block{
  margin-top:28px !important;
  padding-top:6px !important;
}

body.yaveo-cart-flow .wp-block-woocommerce-proceed-to-checkout-block::after{
  content:"Pago seguro · Recogida en tienda disponible";
  display:block;
  margin-top:18px;
  padding-bottom:2px;
  text-align:center;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(186,224,240,.72);
}

/* Totales del carrito — espaciado interno de la card */
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block,
body.yaveo-cart-flow .wc-block-cart__sidebar{
  display:flex;
  flex-direction:column;
  gap:0;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block > *,
body.yaveo-cart-flow .wc-block-cart__sidebar > *{
  margin-left:0;
  margin-right:0;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-cart__totals-title,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-cart__totals-title{
  margin:0 0 20px !important;
  padding:0 0 14px !important;
  border-bottom:1px solid rgba(248,244,233,.14);
  font-family:var(--serif);
  font-size:clamp(22px,2.4vw,28px);
  font-weight:400;
  letter-spacing:-.01em;
  text-transform:none;
  line-height:1.15;
  color:var(--paper) !important;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-order-summary-block{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:none !important;
  font-size:14px;
  line-height:1.45;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-order-summary-heading-block:empty,
body.yaveo-cart-flow .wp-block-woocommerce-cart-order-summary-coupon-form-block:empty,
body.yaveo-cart-flow .wp-block-woocommerce-cart-express-payment-block:empty,
body.yaveo-cart-flow .wp-block-woocommerce-cart-accepted-payment-methods-block:empty{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-order-summary-totals-block{
  padding:0 !important;
  border-top:none !important;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-wrapper,
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-panel,
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-item,
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-coupon,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-totals-item,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-panel,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-totals-coupon{
  padding-left:0 !important;
  padding-right:0 !important;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-item,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-totals-item{
  padding-top:11px;
  padding-bottom:11px;
  gap:12px;
  border-bottom:1px solid rgba(248,244,233,.08);
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-item__label,
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-item__value,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-totals-item__label,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-totals-item__value{
  line-height:1.35;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-footer-item,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-totals-footer-item{
  margin-top:12px !important;
  padding-top:18px !important;
  padding-bottom:10px !important;
  border-top:1px solid rgba(248,244,233,.18);
  border-bottom:none !important;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.yaveo-cart-flow .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-size:clamp(18px,2vw,22px) !important;
  font-weight:600;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-coupon,
body.yaveo-cart-flow .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon{
  margin:18px 0 20px !important;
  padding:16px 18px !important;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-shipping .wc-block-components-totals-shipping__options{
  margin-top:10px;
}

body.yaveo-cart-flow .wc-block-cart__submit{
  margin:0 !important;
}

body.yaveo-cart-flow .wp-block-woocommerce-cart-express-payment-block:not(:empty){
  margin:16px 0 4px;
}

body.yaveo-cart-flow .wp-block-woocommerce-empty-cart-block{
  background:var(--flow-main-bg);
  border:1px solid var(--flow-main-border);
  border-radius:var(--flow-panel-radius);
  padding:clamp(28px,4vw,48px) clamp(20px,3vw,32px);
  box-shadow:var(--flow-panel-shadow);
  color:var(--ink);
}

body.yaveo-cart-flow .wc-block-cart__empty-cart__title,
body.yaveo-cart-flow .wp-block-woocommerce-empty-cart-block > .wp-block-heading{
  color:var(--ink);
  font-family:var(--serif);
  font-weight:400;
}

body.yaveo-cart-flow .wp-block-woocommerce-empty-cart-block .wp-block-separator{
  border-color:rgba(19,73,95,.16);
  margin:28px auto;
  max-width:120px;
}

body.yaveo-cart-flow .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{
  gap:18px;
  margin-top:28px;
}

body.yaveo-cart-flow .wp-block-woocommerce-empty-cart-block .wc-block-grid__product{
  background:#fff;
  border:1px solid rgba(19,73,95,.14);
  border-radius:14px;
  padding:14px;
  box-shadow:0 12px 28px -20px rgba(8,37,52,.28);
  transition:transform .3s ease,box-shadow .3s ease;
}

body.yaveo-cart-flow .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px -18px rgba(8,37,52,.34);
}

body.yaveo-cart-flow .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
body.yaveo-cart-flow .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price{
  color:var(--ink);
}

body.yaveo-cart-flow .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link{
  background:var(--accent) !important;
  color:var(--ink-deep) !important;
  border-radius:999px !important;
  font-weight:600 !important;
  padding:10px 16px !important;
}

body.yaveo-cart-flow .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover{
  background:#D4A05A !important;
}

body.yaveo-cart-flow .woocommerce-message,
body.yaveo-cart-flow .woocommerce-info,
body.yaveo-cart-flow .woocommerce-error,
body.yaveo-cart-flow .wc-block-components-notice-banner{
  background:var(--paper) !important;
  border-color:var(--line) !important;
  color:var(--ink) !important;
}

body.yaveo-cart-flow footer.site-footer{
  margin-top:48px;
  border-top:1px solid rgba(248,244,233,.1);
}

/* Carrito clásico (fallback) */
body.yaveo-cart-flow .woocommerce-cart-form{
  background:var(--flow-main-bg) !important;
  border:1px solid var(--flow-main-border);
  border-radius:var(--flow-panel-radius);
  padding:var(--flow-space-panel);
  color:var(--flow-on-blue);
  box-shadow:none !important;
}

body.yaveo-cart-flow .cart-collaterals .cart_totals{
  background:var(--flow-side-bg);
  border:1px solid var(--flow-side-border);
  border-radius:var(--flow-panel-radius);
  padding:var(--flow-space-panel);
  color:var(--paper);
  box-shadow:var(--flow-panel-shadow);
}

body.yaveo-cart-flow .woocommerce-cart-form .shop_table th,
body.yaveo-cart-flow .woocommerce-cart-form .shop_table td{
  color:var(--flow-on-blue);
}

body.yaveo-cart-flow .cart-collaterals .cart_totals th,
body.yaveo-cart-flow .cart-collaterals .cart_totals td,
body.yaveo-cart-flow .cart-collaterals .cart_totals .woocommerce-Price-amount{
  color:rgba(248,244,233,.94);
}

body.yaveo-cart-flow .wc-proceed-to-checkout a.checkout-button{
  background:var(--accent) !important;
  color:var(--ink-deep) !important;
  box-shadow:0 14px 32px -10px rgba(201,146,74,.75);
  font-weight:700 !important;
}

@media (max-width:980px){
  body.yaveo-checkout-flow form.woocommerce-checkout{
    grid-template-columns:1fr;
  }
  body.yaveo-checkout-flow #customer_details,
  body.yaveo-checkout-flow #order_review_heading,
  body.yaveo-checkout-flow #order_review{
    grid-column:1;
    grid-row:auto;
  }
}

@media (max-width:680px){
  body.yaveo-flow main.page-shell,
  body.yaveo-flow main.flow-shell{
    padding:16px 14px 40px;
  }

  body.yaveo-flow .site-masthead--flow + main.page-shell,
  body.yaveo-flow .site-masthead--flow + main.flow-shell{
    padding-top:16px;
  }

  body.yaveo-booking-flow .page-title{
    max-width:none;
  }

  body.yaveo-booking-flow .ea-standard .ea-btn,
  body.yaveo-booking-flow .ea-standard button:not(.ea-cancel),
  body.yaveo-booking-flow .ea-standard .ea-cancel,
  body.yaveo-cart-flow .wc-block-components-button,
  body.yaveo-checkout-flow .wc-block-components-button,
  body.yaveo-checkout-flow .woocommerce form.checkout_coupon .button,
  body.yaveo-checkout-flow .checkout_coupon .button{
    width:100% !important;
    justify-content:center !important;
  }

  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image,
  body.yaveo-cart-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image img{
    width:64px;
    height:64px;
  }
}
