/* Happy Mojo Commerce v0.2.0 — Scoped. Checkout: styles only, no gateway layouts. */
.hmc-cart,.hmc-checkout {
  --hmc-bg:#f7f7f7;--hmc-soft:#f2efec;--hmc-ink:#231811;--hmc-muted:#7c7c7c;
  --hmc-pink:#ff93a0;--hmc-line:#e8e4e1;--hmc-white:#fff;
  --hmc-font:"Gotham-book","GothamSSm-Book",Arial,sans-serif;
  font-family:var(--hmc-font);color:var(--hmc-ink)
}
.hmc-cart,.hmc-cart *,.hmc-cart *::before,.hmc-cart *::after {box-sizing:border-box}
.hmc-cart {max-width:1240px;width:100%;margin:0 auto;padding:clamp(15px,3vw,42px) 0 clamp(56px,7vw,100px)}
.hmc-cart h1,.hmc-cart h2,.hmc-cart h3,.hmc-cart p,.hmc-cart a,.hmc-cart span,.hmc-cart strong,
.hmc-cart input,.hmc-cart button,.hmc-cart label,.hmc-cart .amount,.hmc-cart bdi {font-family:var(--hmc-font)!important}
.hmc-cart h1,.hmc-cart h2,.hmc-cart h3 {color:var(--hmc-ink)!important;letter-spacing:-.035em!important;text-transform:none!important}
.hmc-cart .hmc-eyebrow {font:600 10px/1.5 var(--hmc-font)!important;letter-spacing:.15em!important;color:var(--hmc-muted)!important}
.hmc-cart__hero{background:var(--hmc-bg);padding:clamp(30px,5vw,65px);border:1px solid var(--hmc-line);border-radius:4px 32px 4px 32px;position:relative;overflow:hidden;margin-bottom:clamp(22px,3.5vw,42px)}
.hmc-cart__hero::after{content:"";position:absolute;right:-58px;bottom:-78px;width:175px;height:175px;border:1px solid rgba(255,147,160,.40);border-radius:50%;pointer-events:none}
.hmc-cart__hero h1{font-size:clamp(34px,4.2vw,54px)!important;font-weight:600!important;line-height:1.14!important;margin:10px 0 12px!important}
.hmc-cart__hero p{font-size:15px!important;line-height:1.7!important;color:var(--hmc-muted)!important;margin:0!important}
.hmc-cart__layout{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(300px,1fr);align-items:start;gap:clamp(18px,3vw,35px)}
.hmc-cart__products,.hmc-cart__summary,.hmc-cart__empty{min-width:0;background:#fff;border:1px solid var(--hmc-line);border-radius:4px 24px 4px 24px;box-shadow:0 17px 45px rgba(35,24,17,.045);padding:clamp(20px,3vw,35px)}
.hmc-cart__panel-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;padding-bottom:22px}
.hmc-cart__panel-header h2,.hmc-cart__summary h2{margin:0!important;font-size:clamp(22px,2vw,28px)!important;line-height:1.25!important;font-weight:600!important}
.hmc-cart__count{display:inline-block;padding:6px 11px;border:1px solid var(--hmc-line);background:var(--hmc-bg);border-radius:30px;color:var(--hmc-muted);font:500 11px/1.3 var(--hmc-font)!important}
.hmc-item{display:grid;grid-template-columns:clamp(100px,11vw,145px) minmax(0,1fr) auto;gap:clamp(15px,2vw,25px);border-top:1px solid var(--hmc-line);padding:25px 0;align-items:center;min-width:0}
.hmc-item__image{background:var(--hmc-bg);border:1px solid var(--hmc-line);border-radius:5px 19px 5px 19px;aspect-ratio:1/1;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hmc-item__image a{display:block;width:100%;height:100%}
.hmc-item__image img{width:100%;height:100%;object-fit:contain;display:block;padding:8px}
.hmc-item__details{min-width:0}
.hmc-item__name,.hmc-item__name a{color:var(--hmc-ink)!important;text-decoration:none!important;font:600 clamp(15px,1.4vw,19px)/1.4 var(--hmc-font)!important}
.hmc-item__unit{margin-top:8px;color:var(--hmc-muted);font-size:12px!important;line-height:1.5!important}
.hmc-item__variations dl{margin:7px 0}.hmc-item__variations dt,.hmc-item__variations dd{display:inline-block;font-size:11px;color:var(--hmc-muted);margin:0 7px 0 0}
.hmc-item__actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:16px}
.hmc-qty{display:inline-flex!important;align-items:stretch;justify-content:center;overflow:hidden;min-height:45px;border:1px solid #d6d1cd;border-radius:9px;background:#fff;width:max-content;max-width:100%;opacity:1!important;visibility:visible!important}
.hmc-cart .hmc-qty__btn{display:flex!important;align-items:center;justify-content:center;flex:0 0 40px;width:40px!important;min-width:40px!important;min-height:45px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;color:var(--hmc-ink)!important;font:500 19px/1 var(--hmc-font)!important;cursor:pointer!important;opacity:1!important;visibility:visible!important}
.hmc-cart .hmc-qty__btn:hover:not(:disabled){background:#f3f1ef!important}
.hmc-cart .hmc-qty__btn:disabled{opacity:.35!important;cursor:not-allowed!important}
.hmc-cart .hmc-qty__input{display:block!important;position:static!important;opacity:1!important;visibility:visible!important;width:51px!important;min-width:51px!important;max-width:51px!important;min-height:45px!important;height:45px!important;margin:0!important;padding:0!important;background:white!important;border:0!important;border-left:1px solid var(--hmc-line)!important;border-right:1px solid var(--hmc-line)!important;border-radius:0!important;text-align:center!important;font:600 15px/1.3 var(--hmc-font)!important;color:var(--hmc-ink)!important;box-shadow:none!important;-moz-appearance:textfield!important;appearance:textfield!important}
.hmc-cart .hmc-qty__input::-webkit-inner-spin-button,.hmc-cart .hmc-qty__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.hmc-qty--locked{padding:0 15px;font:600 12px/45px var(--hmc-font)!important;color:var(--hmc-ink)!important;background:var(--hmc-bg)}
.hmc-cart .hmc-item__remove{font:500 12px/1.5 var(--hmc-font)!important;text-decoration:underline!important;text-underline-offset:4px;color:var(--hmc-muted)!important}
.hmc-cart .hmc-item__remove:hover{color:var(--hmc-ink)!important}
.hmc-item__subtotal{align-self:center;justify-self:end;min-width:94px;text-align:right}
.hmc-item__subtotal>span:first-child{display:block;color:var(--hmc-muted)!important;text-transform:uppercase;letter-spacing:.1em;font:500 9px/1.5 var(--hmc-font)!important;margin-bottom:7px}
.hmc-item__subtotal strong{display:block;font:600 16px/1.5 var(--hmc-font)!important;color:var(--hmc-ink)!important}
.hmc-cart .hmc-money,.hmc-cart .woocommerce-Price-amount,.hmc-cart .woocommerce-Price-amount bdi,.hmc-cart .woocommerce-Price-currencySymbol{display:inline!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;width:auto!important;letter-spacing:0!important;font-variant-numeric:tabular-nums}
.hmc-cart__form-bottom{display:flex;justify-content:flex-end;border-top:1px solid var(--hmc-line);padding-top:22px;margin-top:5px}
.hmc-cart .hmc-cart__update,.hmc-cart .hmc-cart__coupon button{background:var(--hmc-bg)!important;color:var(--hmc-ink)!important;border:1px solid var(--hmc-line)!important;padding:12px 17px!important;border-radius:8px!important;min-height:44px!important;font:600 12px/1.4 var(--hmc-font)!important;cursor:pointer}
.hmc-cart .hmc-cart__update:hover,.hmc-cart .hmc-cart__coupon button:hover{background:var(--hmc-soft)!important}
.hmc-cart__coupon{margin-top:21px;padding-top:24px;border-top:1px solid var(--hmc-line)}
.hmc-cart__coupon label{display:block;margin-bottom:10px;color:var(--hmc-muted);font-size:12px!important}
.hmc-cart__coupon-fields{display:flex;gap:8px}
.hmc-cart .hmc-cart__coupon input{min-width:0;flex:1;width:100%;padding:10px 12px!important;min-height:44px!important;height:44px!important;border:1px solid var(--hmc-line)!important;border-radius:8px!important;background:#fff!important;font:400 13px/1.3 var(--hmc-font)!important;color:var(--hmc-ink)!important}
.hmc-cart__summary{position:sticky;top:24px;background:var(--hmc-bg)}
.hmc-cart__summary h2{margin:12px 0 28px!important}
.hmc-summary__row{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:15px 0;border-bottom:1px solid #dfdad6;font-size:13px;color:var(--hmc-muted)}
.hmc-summary__row strong{font:600 15px/1.3 var(--hmc-font)!important;color:var(--hmc-ink)!important;white-space:nowrap}
.hmc-summary__hint{font-size:12px!important;line-height:1.7!important;color:var(--hmc-muted)!important;margin:17px 0}
.hmc-summary__total{margin:8px 0 20px;align-items:center;color:var(--hmc-ink);font-weight:600!important}
.hmc-summary__total strong{font-size:19px!important}
.hmc-cart .hmc-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid var(--hmc-ink)!important;border-radius:8px!important;background:var(--hmc-ink)!important;color:white!important;text-decoration:none!important;font:600 13px/1.5 var(--hmc-font)!important;padding:16px 20px;min-height:54px;transition:transform .2s ease,opacity .2s ease}
.hmc-cart .hmc-btn:hover{opacity:.92;transform:translateY(-2px)}
.hmc-btn--full{width:100%}
.hmc-cart .hmc-cart__continue{display:block;text-align:center;text-decoration:none!important;color:var(--hmc-muted)!important;font:500 12px/1.4 var(--hmc-font)!important;margin:22px auto}
.hmc-cart__safe{text-align:center;color:var(--hmc-muted)!important;font-size:11px!important;line-height:1.6!important;margin:0!important}
.hmc-cart__empty h2{font-size:26px!important;font-weight:600!important}.hmc-cart__empty p{color:var(--hmc-muted)!important;font-size:14px!important;margin-bottom:28px!important}
.hmc-cart :focus-visible {outline:2px solid var(--hmc-pink)!important;outline-offset:3px}
/* Elementor Checkout: appearance-only. Payment block layout, gateway inputs and iframes untouched. */
.hmc-checkout .elementor-widget-woocommerce-checkout-page,
.hmc-checkout .woocommerce-checkout {--hmc-font:"Gotham-book","GothamSSm-Book",Arial,sans-serif;color:var(--hmc-ink);font-family:var(--hmc-font)}
.hmc-checkout .elementor-widget-woocommerce-checkout-page .woocommerce h2,
.hmc-checkout .elementor-widget-woocommerce-checkout-page .woocommerce h3,
.hmc-checkout .woocommerce-checkout .woocommerce-billing-fields>h3,
.hmc-checkout .woocommerce-checkout .woocommerce-additional-fields>h3 {font-family:var(--hmc-font)!important;font-weight:600!important;color:var(--hmc-ink)!important;font-size:clamp(20px,2vw,26px)!important;line-height:1.3!important}
.hmc-checkout .woocommerce-checkout .woocommerce-billing-fields .form-row label,
.hmc-checkout .woocommerce-checkout .woocommerce-shipping-fields .form-row label,
.hmc-checkout .woocommerce-checkout .woocommerce-additional-fields .form-row label {font-family:var(--hmc-font)!important;font-weight:600!important;color:var(--hmc-ink)!important;font-size:12px!important;margin-bottom:7px!important}
.hmc-checkout .woocommerce-checkout .woocommerce-billing-fields .form-row input.input-text,
.hmc-checkout .woocommerce-checkout .woocommerce-shipping-fields .form-row input.input-text,
.hmc-checkout .woocommerce-checkout .woocommerce-additional-fields .form-row input.input-text,
.hmc-checkout .woocommerce-checkout .woocommerce-billing-fields .form-row select,
.hmc-checkout .woocommerce-checkout .woocommerce-shipping-fields .form-row select,
.hmc-checkout .woocommerce-checkout .woocommerce-additional-fields .form-row select,
.hmc-checkout .woocommerce-checkout .woocommerce-billing-fields .form-row textarea,
.hmc-checkout .woocommerce-checkout .woocommerce-shipping-fields .form-row textarea,
.hmc-checkout .woocommerce-checkout .woocommerce-additional-fields .form-row textarea,
.hmc-checkout .woocommerce-checkout .woocommerce-billing-fields .form-row .select2-selection--single,
.hmc-checkout .woocommerce-checkout .woocommerce-shipping-fields .form-row .select2-selection--single,
.hmc-checkout .woocommerce-checkout .woocommerce-additional-fields .form-row .select2-selection--single {font-family:var(--hmc-font)!important;font-size:13px!important;color:var(--hmc-ink)!important;border:1px solid var(--hmc-line)!important;background:#fbfaf9!important;border-radius:9px!important;min-height:47px!important;padding:10px 13px!important;box-shadow:none!important}
.hmc-checkout .woocommerce-checkout .woocommerce-billing-fields .form-row textarea,
.hmc-checkout .woocommerce-checkout .woocommerce-shipping-fields .form-row textarea,
.hmc-checkout .woocommerce-checkout .woocommerce-additional-fields .form-row textarea{min-height:90px!important}
.hmc-checkout .woocommerce-checkout .woocommerce-billing-fields .form-row .select2-selection--single,
.hmc-checkout .woocommerce-checkout .woocommerce-shipping-fields .form-row .select2-selection--single,
.hmc-checkout .woocommerce-checkout .woocommerce-additional-fields .form-row .select2-selection--single{padding:5px 13px!important}
.hmc-checkout .woocommerce-checkout .woocommerce-billing-fields .form-row input:focus,
.hmc-checkout .woocommerce-checkout .woocommerce-shipping-fields .form-row input:focus,
.hmc-checkout .woocommerce-checkout .woocommerce-additional-fields .form-row input:focus,
.hmc-checkout .woocommerce-checkout .woocommerce-billing-fields .form-row select,
.hmc-checkout .woocommerce-checkout .woocommerce-shipping-fields .form-row select,
.hmc-checkout .woocommerce-checkout .woocommerce-additional-fields .form-row select:focus {border-color:var(--hmc-pink)!important;outline:2px solid rgba(255,147,160,.20)!important}
.hmc-checkout .woocommerce-checkout .woocommerce-checkout-review-order-table th,
.hmc-checkout .woocommerce-checkout .woocommerce-checkout-review-order-table td {font-family:var(--hmc-font)!important;font-size:12px!important;color:var(--hmc-ink)!important}
.hmc-checkout .woocommerce-checkout #place_order {background:var(--hmc-ink)!important;color:#fff!important;border-radius:9px!important;min-height:49px!important;font:600 13px/1.4 var(--hmc-font)!important}
@media(max-width:1080px){.hmc-item{grid-template-columns:110px minmax(0,1fr)}.hmc-item__subtotal{grid-column:2;justify-self:start;text-align:left;display:flex;gap:12px;align-items:baseline}.hmc-item__subtotal>span:first-child{margin:0}}
@media(max-width:980px){.hmc-cart__layout{grid-template-columns:1fr}.hmc-cart__summary{position:static}}
@media(max-width:650px){.hmc-cart__hero{padding:30px 24px}.hmc-cart__products,.hmc-cart__summary{padding:22px 18px}.hmc-item{grid-template-columns:92px minmax(0,1fr);gap:13px}.hmc-item__image{align-self:start}.hmc-item__name,.hmc-item__name a{font-size:15px!important}.hmc-item__actions{gap:12px}.hmc-qty__btn{flex-basis:35px!important;width:35px!important;min-width:35px!important}.hmc-qty__input{width:45px!important;min-width:45px!important;max-width:45px!important}.hmc-item__subtotal{grid-column:2;justify-self:start}.hmc-cart__coupon-fields{flex-direction:column}.hmc-cart__coupon-fields button{width:100%}.hmc-cart__panel-header h2{font-size:22px!important}}
@media(prefers-reduced-motion:reduce){.hmc-cart *, .hmc-checkout .woocommerce-checkout *{animation:none!important;transition:none!important}}

/* 0.2.1 — Guardado automático, accesibilidad y fallback de formulario */
.hmc-cart__live{min-height:0;font:500 12px/1.5 var(--hmc-font)!important;color:var(--hmc-muted)!important;margin:0 0 5px}
.hmc-cart__live:empty{display:none}
.hmc-cart__live--error{color:#a62832!important;background:#fff3f3;padding:10px 15px;border-radius:8px}
.hmc-cart--loading .hmc-cart__summary,.hmc-cart--loading .hmc-item__subtotal{opacity:.55;transition:opacity .2s}
.hmc-cart--loading .hmc-qty{opacity:.60!important;cursor:progress}
.hmc-cart--async .hmc-cart__update{display:none!important}
@media(prefers-reduced-motion:reduce){.hmc-cart--loading .hmc-cart__summary{transition:none}}

/* v0.3.3 — Checkout access form and field feedback (does not style Fygaro). */
.hmc-checkout .woocommerce-form-login-toggle .woocommerce-info {
  border:1px solid #e7dfd9!important;border-left:3px solid #ff93a0!important;
  background:#f7f7f7!important;color:#231811!important;border-radius:12px!important;
  padding:17px 21px!important;font:500 13px/1.6 "Gotham-book","GothamSSm-Book",Arial,sans-serif!important;
}
.hmc-checkout .woocommerce-form-login-toggle a.showlogin {
  display:inline-block!important;color:#231811!important;text-decoration:underline!important;
  text-underline-offset:4px!important;font-weight:600!important;
}
.hmc-checkout form.woocommerce-form-login {
  border:1px solid #e7dfd9!important;background:#fff!important;border-radius:16px!important;
  padding:clamp(18px,3vw,30px)!important;margin:14px 0 22px!important;
  font:400 13px/1.7 "Gotham-book","GothamSSm-Book",Arial,sans-serif!important;
}
.hmc-checkout form.woocommerce-form-login p:first-child {
  color:#7c7c7c!important;line-height:1.7!important;margin-bottom:18px!important;
}
.hmc-checkout form.woocommerce-form-login .form-row {box-sizing:border-box!important;float:none!important;width:100%!important;margin-bottom:15px!important;}
.hmc-checkout form.woocommerce-form-login label {color:#231811!important;font:600 12px/1.5 "Gotham-book","GothamSSm-Book",Arial,sans-serif!important;}
.hmc-checkout form.woocommerce-form-login input.input-text {
  display:block!important;width:100%!important;max-width:100%!important;min-height:47px!important;
  border:1px solid #e5dfdb!important;border-radius:9px!important;background:#fbfaf9!important;
  padding:10px 13px!important;font:400 13px/1.5 "Gotham-book","GothamSSm-Book",Arial,sans-serif!important;
}
.hmc-checkout form.woocommerce-form-login button[type="submit"] {
  background:#231811!important;color:#fff!important;border:0!important;border-radius:9px!important;
  min-height:44px!important;padding:12px 24px!important;font:600 13px/1.4 "Gotham-book","GothamSSm-Book",Arial,sans-serif!important;
}
.hmc-checkout form.woocommerce-form-login .woocommerce-form-login__rememberme {
  display:inline-flex!important;align-items:center!important;gap:7px!important;vertical-align:middle!important;
  margin:8px 0 8px 14px!important;font-weight:400!important;
}
.hmc-checkout form.woocommerce-form-login .lost_password a {color:#7c7c7c!important;text-decoration:underline!important;text-underline-offset:3px;}
.hmc-checkout .woocommerce-account-fields .create-account label {font-family:"Gotham-book","GothamSSm-Book",Arial,sans-serif!important;color:#231811!important;}
.hmc-checkout #billing_phone_field .hmc-phone-hint {
  display:block;font:500 11px/1.5 "Gotham-book","GothamSSm-Book",Arial,sans-serif!important;color:#a33e3e!important;
  padding-top:5px;
}
.hmc-checkout #billing_phone_field .hmc-phone-hint:empty{display:none}
.hmc-checkout #billing_phone_field.hmc-phone-invalid input {border-color:#a33e3e!important;}
@media(max-width:650px){
  .hmc-checkout form.woocommerce-form-login{padding:20px 16px!important;}
  .hmc-checkout form.woocommerce-form-login button[type="submit"]{width:100%!important;}
  .hmc-checkout form.woocommerce-form-login .woocommerce-form-login__rememberme{margin:12px 0!important;display:flex!important;}
}

/* v0.3.6 — Checkout Elementor: acceso discreto; no modifica la pasarela. */
.hmc-checkout .woocommerce-login-section.hmc-login-managed:not(.hmc-login-open) .e-login-wrap,
.hmc-checkout .woocommerce-login-section.hmc-login-managed:not(.hmc-login-open) .e-woocommerce-login-nudge {display:none!important}
.hmc-checkout .woocommerce-login-section.hmc-login-managed .woocommerce-form-login-toggle a {cursor:pointer;text-decoration:underline!important;text-underline-offset:4px}
.hmc-checkout .woocommerce-login-section.hmc-login-managed .woocommerce-form-login-toggle a:focus-visible {outline:2px solid #231811!important;outline-offset:3px}

/* v0.3.9: ocultar únicamente el enlace redundante del AJAX nativo en fichas
   individuales. El carrito lateral de Elementor ya ofrece Ver carrito. */
.single-product form.cart a.added_to_cart.wc-forward { display: none !important; }
/* Mensajes de errores de sincronización solo dentro del carrito lateral. */
.elementor-menu-cart__main .hmc-cart-sync-status {
  margin: 10px 14px; font-size: 13px; line-height: 1.5;
  color: #9b3c3c; padding: 9px 12px; border: 1px solid #ead1d1;
  border-radius: 7px; background: #fff9f9;
}
