/* FUKEI Product Page — WooCommerce Cart & Checkout visual layer.
 * CSS-only: preserves WooCommerce Blocks, Store API and payment gateway behavior.
 */

body.woocommerce-cart,
body.woocommerce-checkout{
  color:var(--fukei-color-text, #000000);
  font-family:var(--fukei-font-body, inherit);
}

body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout{
  color:var(--fukei-color-text, #000000);
  font-family:var(--fukei-font-body, inherit);
}

body.woocommerce-cart .wc-block-cart *,
body.woocommerce-checkout .wc-block-checkout *{
  box-sizing:border-box;
}

body.woocommerce-cart .wc-block-cart h2,
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-checkout .wc-block-checkout h2,
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text{
  color:var(--fukei-color-text, #000000);
  font-family:var(--fukei-font-heading, inherit);
  font-weight:700;
  letter-spacing:0;
}

/* ===== Shared Controls ===== */
body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .wc-block-components-totals-coupon__input input,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-totals-coupon__input input{
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000) !important;
  border-radius:var(--fukei-radius-control, 10px) !important;
  background:var(--fukei-background-color, #FFFFFF) !important;
  color:var(--fukei-color-text, #000000) !important;
  font-family:var(--fukei-font-body, inherit) !important;
  box-shadow:none !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input input,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-totals-coupon__input input{
  min-height:48px;
}

body.woocommerce-cart .wc-block-components-quantity-selector{
  display:inline-grid !important;
  grid-template-columns:44px minmax(40px, 1fr) 44px;
  min-width:132px;
  min-height:44px;
  overflow:visible;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button{
  min-width:44px;
  min-height:44px;
  color:var(--fukei-color-text, #000000) !important;
  font-weight:700;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button:hover,
body.woocommerce-cart .wc-block-components-quantity-selector__button:focus-visible{
  background:var(--fukei-color-accent, #DD6749) !important;
  color:var(--fukei-color-on-accent, #FFFFFF) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector:focus-within,
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-blocks-components-select__select:focus,
body.woocommerce-checkout .wc-block-components-combobox-control input:focus,
body.woocommerce-cart .wc-block-components-totals-coupon__input input:focus,
body.woocommerce-checkout .wc-block-components-totals-coupon__input input:focus{
  outline:none !important;
  border-color:var(--fukei-selected-border-color, var(--fukei-color-accent, #DD6749)) !important;
  box-shadow:none !important;
}

body.woocommerce-checkout .wc-blocks-components-select:focus-within,
body.woocommerce-checkout .wc-block-components-combobox-control:focus-within{
  border-color:var(--fukei-selected-border-color, var(--fukei-color-accent, #DD6749)) !important;
  box-shadow:none !important;
}

body.woocommerce-checkout .wc-block-components-checkbox__input,
body.woocommerce-checkout .wc-block-components-radio-control__input{
  accent-color:var(--fukei-color-accent, #DD6749);
}

body.woocommerce-cart .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle{
  min-height:44px;
  color:var(--fukei-color-text, #000000) !important;
  font-family:var(--fukei-font-body, inherit) !important;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:var(--fukei-color-accent, #DD6749);
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}

body.woocommerce-cart .wc-block-components-panel__button{
  text-decoration:none !important;
}

body.woocommerce-cart .wc-block-components-panel__button:focus-visible,
body.woocommerce-checkout .wc-block-components-panel__button:focus-visible,
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle:focus-visible,
body.woocommerce-cart .wc-block-cart-item__remove-link:focus-visible{
  outline:3px solid var(--fukei-color-accent, #DD6749) !important;
  outline-offset:2px;
  border-radius:var(--fukei-radius-control, 10px);
}

/* ===== Cart ===== */
body.woocommerce-cart .wc-block-cart-items{
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000) !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  width:100% !important;
  border-radius:var(--fukei-radius-surface, 16px);
  background:var(--fukei-background-color, #FFFFFF);
  box-shadow:var(--fukei-shadow-surface, 8px 8px 0 0 #000000);
}

body.woocommerce-cart .fukei-cart-items-shell{
  margin-right:8px;
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000) !important;
  border-radius:var(--fukei-radius-surface, 16px);
  background:var(--fukei-background-color, #FFFFFF);
  box-shadow:var(--fukei-shadow-surface, 8px 8px 0 0 #000000);
  overflow:hidden;
}

body.woocommerce-cart .fukei-cart-items-shell > .wc-block-cart-items{
  margin:0 !important;
  border:0 !important;
  border-radius:0;
  box-shadow:none;
}

body.woocommerce-cart .wc-block-cart-items__header,
body.woocommerce-cart .wc-block-cart-items__row{
  border-color:var(--fukei-border-color, #000000) !important;
}

body.woocommerce-cart .wc-block-cart-items__header{
  background:var(--fukei-color-accent, #DD6749);
  color:var(--fukei-color-on-accent, #FFFFFF) !important;
}

body.woocommerce-cart .wc-block-cart-items__header th,
body.woocommerce-cart .wc-block-cart-items__header span{
  color:var(--fukei-color-on-accent, #FFFFFF) !important;
}

body.woocommerce-cart .wc-block-cart-item__image img{
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000);
  border-radius:var(--fukei-radius-control, 10px);
  background:var(--fukei-color-surface-subtle, #F6F6F6);
}

body.woocommerce-cart .wc-block-components-product-name{
  color:var(--fukei-color-text, #000000) !important;
  font-family:var(--fukei-font-heading, inherit);
  font-weight:700;
  text-decoration:none !important;
}

body.woocommerce-cart .wc-block-components-product-name:hover{
  color:var(--fukei-color-accent, #DD6749) !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  color:var(--fukei-color-text, #000000) !important;
  font-weight:700;
  text-decoration-color:var(--fukei-color-accent, #DD6749) !important;
  text-underline-offset:3px;
}

body.woocommerce-cart .wc-block-cart__sidebar{
  align-self:flex-start;
  padding:22px !important;
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000);
  border-radius:var(--fukei-radius-surface, 16px);
  background:var(--fukei-background-color, #FFFFFF);
  box-shadow:var(--fukei-shadow-surface, 8px 8px 0 0 #000000);
}

body.woocommerce-cart .wc-block-cart__totals-title{
  padding:0 0 14px !important;
  border-bottom:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000) !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper{
  border-color:var(--fukei-border-color, #000000) !important;
}

body.woocommerce-cart .wc-block-cart__submit-container{
  border-top:0 !important;
}

body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout #page-container .wc-block-components-checkout-place-order-button.wc-block-components-button,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button.wc-block-components-button{
  min-height:54px !important;
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000) !important;
  border-radius:var(--fukei-radius-control, 10px) !important;
  background:var(--fukei-color-accent, #DD6749) !important;
  box-shadow:var(--fukei-shadow-control, 4px 4px 0 0 #000000) !important;
  color:var(--fukei-color-on-accent, #FFFFFF) !important;
  font-family:var(--fukei-font-heading, inherit) !important;
  font-size:17px !important;
  font-weight:800 !important;
  transition:transform var(--fukei-motion-duration, 200ms) ease, box-shadow var(--fukei-motion-duration, 200ms) ease !important;
}

@media (hover:hover) and (pointer:fine){
  body.woocommerce-cart .wc-block-cart__submit-button:hover,
  body.woocommerce-checkout #page-container .wc-block-components-checkout-place-order-button.wc-block-components-button:hover,
  body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button.wc-block-components-button:hover{
    transform:translateY(-2px);
  }
}

body.woocommerce-cart .wc-block-cart__submit-button:active,
body.woocommerce-checkout #page-container .wc-block-components-checkout-place-order-button.wc-block-components-button:active,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button.wc-block-components-button:active{
  transform:scale(var(--fukei-active-scale, .98));
  box-shadow:2px 2px 0 var(--fukei-shadow-color, #000000) !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:focus-visible,
body.woocommerce-checkout #page-container .wc-block-components-checkout-place-order-button.wc-block-components-button:focus-visible,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button.wc-block-components-button:focus-visible{
  outline:3px solid var(--fukei-color-accent, #DD6749) !important;
  outline-offset:4px !important;
}

/* ===== Checkout ===== */
body.woocommerce-checkout .wc-block-components-checkout-step{
  margin:0 8px 24px 0 !important;
  padding:20px !important;
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000) !important;
  border-radius:var(--fukei-radius-surface, 16px);
  background:var(--fukei-background-color, #FFFFFF);
  box-shadow:var(--fukei-shadow-surface, 8px 8px 0 0 #000000);
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading-container{
  margin-bottom:16px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__content{
  padding:0 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title{
  font-size:20px !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option{
  min-height:56px;
  margin:8px 0;
  padding:14px 14px 14px 46px !important;
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000) !important;
  border-radius:var(--fukei-radius-control, 10px) !important;
  background:var(--fukei-background-color, #FFFFFF) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option-checked{
  border-color:var(--fukei-selected-border-color, var(--fukei-color-accent, #DD6749)) !important;
  border-width:var(--fukei-selected-border-width, 2px) !important;
  background:var(--fukei-selected-background-color, #FBE6E0) !important;
  color:var(--fukei-selected-text-color, #000000) !important;
  box-shadow:var(--fukei-shadow-selected, 4px 4px 0 0 #000000) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control-accordion-content{
  margin:0 0 10px !important;
  padding:14px !important;
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000);
  border-top:0;
  border-radius:0 0 var(--fukei-radius-control, 10px) var(--fukei-radius-control, 10px);
  background:var(--fukei-color-surface-subtle, #F6F6F6);
}

body.woocommerce-checkout .wc-block-checkout__sidebar{
  padding:20px !important;
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000);
  border-radius:var(--fukei-radius-surface, 16px);
  background:var(--fukei-background-color, #FFFFFF);
  box-shadow:var(--fukei-shadow-surface, 8px 8px 0 0 #000000);
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title{
  padding:0 0 16px !important;
  border-bottom:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000) !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img{
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000);
  border-radius:var(--fukei-radius-control, 10px);
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity{
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000);
  background:var(--fukei-background-color, #FFFFFF) !important;
  color:var(--fukei-color-text, #000000) !important;
  font-weight:800;
}

body.woocommerce-checkout .wc-block-checkout__order-notes .wc-block-components-textarea__help{
  display:none !important;
}

body.woocommerce-checkout .wc-block-checkout__order-notes label[for="wc-order-notes"]{
  font-size:0;
}

body.woocommerce-checkout .wc-block-checkout__order-notes label[for="wc-order-notes"]::after{
  content:"Añadir una nota sobre el pedido";
  color:var(--fukei-color-text, #000000);
  font-family:var(--fukei-font-body, inherit);
  font-size:16px;
  font-weight:700;
}

body.woocommerce-checkout .wc-block-checkout__terms{
  padding:14px 16px !important;
  border:var(--fukei-border-width, 2px) solid var(--fukei-border-color, #000000) !important;
  border-radius:var(--fukei-radius-control, 10px);
  background:var(--fukei-color-surface-subtle, #F6F6F6);
}

@media (max-width:781px){
  body.woocommerce-cart .wc-block-cart-items,
  body.woocommerce-cart .fukei-cart-items-shell,
  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wc-block-checkout__sidebar{
    box-shadow:6px 6px 0 var(--fukei-shadow-color, #000000);
  }

  body.woocommerce-cart .wc-block-cart__sidebar{
    margin:24px 6px 0 0;
    padding:16px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step{
    margin-right:6px !important;
    padding:16px !important;
  }

  body.woocommerce-checkout .wc-block-checkout__sidebar{
    margin-right:6px;
    padding:16px !important;
  }

  /* Woo Blocks places its collapsed order summary above Contact on mobile.
     Álvaro's mobile checkout intentionally omits that duplicated surface. */
  body.woocommerce-checkout #page-container #et-boc .wc-block-checkout__sidebar{
    display:none !important;
  }

  body.woocommerce-checkout .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block:empty,
  body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title:empty{
    display:none !important;
  }
}

/* Divi loads some Block styles after the generic commerce layer. Keep these
 * visual overrides scoped to its real page-builder chain. */
body.woocommerce-cart #page-container #et-boc .wc-block-cart-items__header,
body.woocommerce-cart #page-container #et-boc .wc-block-cart-items__header tr,
body.woocommerce-cart #page-container #et-boc .wc-block-cart-items__header th{
  background:var(--fukei-color-accent, #DD6749) !important;
  color:var(--fukei-color-on-accent, #FFFFFF) !important;
}

body.woocommerce-cart #page-container #et-boc .wc-block-cart-items__header th *{
  color:var(--fukei-color-on-accent, #FFFFFF) !important;
}

/* The visible mobile Cart title is injected above the table by the Cart shell. */
body.woocommerce-cart #page-container #et-boc .fukei-cart-items-shell > .fukei-cart-items-title{
  margin:0 !important;
  padding:14px 16px !important;
  border:0 !important;
  font-size:17px !important;
  line-height:1.2 !important;
  border-radius:calc(var(--fukei-radius-surface, 16px) - var(--fukei-border-width, 2px)) calc(var(--fukei-radius-surface, 16px) - var(--fukei-border-width, 2px)) 0 0 !important;
  background:var(--fukei-color-accent, #DD6749) !important;
  color:var(--fukei-color-on-accent, #FFFFFF) !important;
  font-family:var(--fukei-font-heading, inherit) !important;
  font-weight:800 !important;
}

body.woocommerce-cart #page-container #et-boc .wc-block-components-panel__button,
body.woocommerce-checkout #page-container #et-boc .wc-block-components-panel__button{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-height:44px;
  line-height:1.2 !important;
  text-decoration:none !important;
}

body.woocommerce-cart #page-container #et-boc .wc-block-components-panel__button,
body.woocommerce-checkout #page-container #et-boc .wc-block-components-panel__button{
  font-weight:400 !important;
}

/* Checkout order-summary quantity badge. */
body.woocommerce-checkout #page-container #et-boc .wc-block-components-order-summary-item__quantity{
  background:var(--fukei-color-accent, #DD6749) !important;
  color:var(--fukei-color-on-accent, #FFFFFF) !important;
  border-color:var(--fukei-border-color, #000000) !important;
}
body.woocommerce-checkout #page-container #et-boc .wc-block-components-order-summary-item__quantity > span{
  color:var(--fukei-color-on-accent, #FFFFFF) !important;
}

body.woocommerce-cart #page-container #et-boc .wc-block-components-panel__button svg,
body.woocommerce-checkout #page-container #et-boc .wc-block-components-panel__button svg{
  flex:0 0 auto;
  margin-left:12px;
}

body.woocommerce-cart #page-container #et-boc .wc-block-components-totals-wrapper,
body.woocommerce-cart #page-container #et-boc .wc-block-components-totals-footer-item,
body.woocommerce-cart #page-container #et-boc .wc-block-cart__submit-container{
  border-bottom:0 !important;
  border-top:0 !important;
}

body.woocommerce-cart #page-container #et-boc .wc-block-components-totals-wrapper{
  padding-bottom:0 !important;
}

body.woocommerce-cart #page-container #et-boc .wp-block-woocommerce-cart-order-summary-block,
body.woocommerce-cart #page-container #et-boc .wp-block-woocommerce-cart-order-summary-totals-block{
  border-top:0 !important;
  border-bottom:0 !important;
}

body.woocommerce-checkout #page-container #et-boc .wc-block-components-radio-control__option.wc-block-components-radio-control__option-checked{
  background:var(--fukei-color-surface-subtle, #F6F6F6) !important;
  color:var(--fukei-color-text, #000000) !important;
  border-color:var(--fukei-border-color, #000000) !important;
  box-shadow:var(--fukei-shadow-selected, 4px 4px 0 0 #000000) !important;
}

body.woocommerce-checkout #page-container #et-boc .wc-block-components-radio-control__option.wc-block-components-radio-control__option-checked *{
  color:var(--fukei-color-text, #000000) !important;
}

body.woocommerce-checkout #page-container #et-boc #order-notes .wc-block-components-checkbox__label,
body.woocommerce-checkout #page-container #et-boc #order-notes label[for="wc-order-notes"]{
  font-size:0 !important;
}

body.woocommerce-checkout #page-container #et-boc #order-notes .wc-block-components-checkbox__label::after,
body.woocommerce-checkout #page-container #et-boc #order-notes label[for="wc-order-notes"]::after{
  content:"Añadir una nota sobre el pedido";
  color:var(--fukei-color-text, #000000);
  font-family:var(--fukei-font-body, inherit);
  font-size:16px;
  font-weight:700;
}

body.woocommerce-checkout #page-container #et-boc #order-notes .wc-block-components-textarea__help,
body.woocommerce-checkout #page-container #et-boc #order-notes .wc-block-components-checkbox__help{
  display:none !important;
}

body.woocommerce-checkout #page-container #et-boc #order-notes .wc-block-components-textarea::placeholder{
  color:transparent !important;
  opacity:0 !important;
}

@media (max-width:781px){
  body.woocommerce-cart #page-container #et-boc .wc-block-cart-item__quantity{
    display:flex;
    justify-content:flex-end;
    margin:10px 0 0 auto !important;
    width:132px;
  }
}

@media (prefers-reduced-motion: reduce){
  body.woocommerce-cart .wc-block-cart__submit-button,
  body.woocommerce-checkout #page-container .wc-block-components-checkout-place-order-button.wc-block-components-button,
  body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button.wc-block-components-button{
    transition:none !important;
    transform:none !important;
  }

  body.woocommerce-cart .wc-block-cart__submit-button:hover,
  body.woocommerce-cart .wc-block-cart__submit-button:active,
  body.woocommerce-checkout #page-container .wc-block-components-checkout-place-order-button.wc-block-components-button:hover,
  body.woocommerce-checkout #page-container .wc-block-components-checkout-place-order-button.wc-block-components-button:active,
  body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button.wc-block-components-button:hover,
  body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button.wc-block-components-button:active{
    transform:none !important;
  }
}
