/* Integración WordPress + WooCommerce sobre la estética del concepto premium */
body.admin-bar .site-header{top:32px}.mac-content-shell{max-width:1360px;margin:0 auto;padding:70px 42px 110px;min-height:55vh}.mac-page-heading{margin-bottom:45px}.mac-page-heading h1,.mac-404 h1,.woocommerce-products-header__title.page-title,.product_title.entry-title{font:400 clamp(46px,6vw,82px)/.98 var(--serif);letter-spacing:-.045em;color:var(--forest);margin:0}.mac-entry{max-width:900px}.mac-entry h2 a{color:var(--forest);text-decoration:none}.entry-content{line-height:1.75}.entry-content a{color:var(--forest)}
.mac-product-card h3 a{color:inherit;text-decoration:none}.product-image{text-decoration:none;color:inherit;display:block}.add-product{display:block;text-align:center;text-decoration:none}.mac-shop-more{text-align:center;margin-top:55px}.signature-card{text-decoration:none;color:inherit}.mac-product-card[hidden]{display:none!important}
.woocommerce .woocommerce-breadcrumb{font-size:11px;color:var(--muted);margin:0 0 30px;text-transform:uppercase;letter-spacing:.08em}.woocommerce .woocommerce-breadcrumb a{color:var(--forest);text-decoration:none}.woocommerce .woocommerce-result-count{color:var(--muted);font-size:12px}.woocommerce .woocommerce-ordering select{border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 24px 10px 4px;color:var(--ink)}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 18px;margin:38px 0 0}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important}.woocommerce ul.products li.product a img{aspect-ratio:4/5;object-fit:cover;margin:0 0 16px;background:#e7f2f6}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:400 22px/1.2 var(--serif);color:var(--ink);padding:0;margin:7px 0 10px}.woocommerce ul.products li.product .price{color:var(--ink);font-size:13px;font-weight:700}.woocommerce span.onsale{min-height:0;min-width:0;line-height:1;border-radius:0;background:#fff;color:var(--forest);padding:8px 10px;font-size:9px;letter-spacing:.09em;text-transform:uppercase;top:12px!important;left:12px!important;right:auto!important}.woocommerce ul.products li.product .button{width:100%;margin-top:14px;border:1px solid var(--forest);background:transparent;color:var(--forest);border-radius:0;padding:12px 10px;min-height:0;font-size:10px}.woocommerce ul.products li.product .button:hover{background:var(--forest);color:#fff}
.woocommerce div.product{display:block}.woocommerce div.product div.images,.woocommerce div.product div.summary{margin-bottom:60px}.woocommerce div.product .summary{padding:25px 0}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--forest);font-size:24px}.woocommerce div.product form.cart .button,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt,.wc-block-components-button{background:var(--forest)!important;color:#fff!important;border-radius:0!important;min-height:48px!important;padding:0 24px!important;font-size:11px!important;letter-spacing:.1em!important;text-transform:uppercase!important}.woocommerce div.product form.cart .button:hover,.woocommerce button.button.alt:hover{background:var(--forest-2)!important}.woocommerce div.product form.cart .variations select{margin:0}.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{padding:6px 0}.woocommerce-product-details__short-description{color:var(--muted);line-height:1.75}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0}.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:0;background:transparent;border-color:var(--line)}
.woocommerce table.shop_table{border-radius:0;border-color:var(--line)}.woocommerce table.shop_table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.woocommerce table.shop_table td{border-color:var(--line)}.woocommerce a.remove{color:var(--forest)!important}.woocommerce a.remove:hover{background:var(--forest)!important}.woocommerce-cart table.cart img{width:78px}.woocommerce .cart_totals h2,.woocommerce-checkout h3,#order_review_heading{font:400 32px var(--serif)}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single{border-radius:0;border:1px solid var(--line);min-height:44px;background:#fff}.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top-color:var(--gold);background:#fff}.woocommerce-info::before,.woocommerce-message::before{color:var(--gold)}
@media(max-width:1050px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:782px){body.admin-bar .site-header{top:46px}}@media(max-width:760px){.mac-content-shell{padding:45px 16px 80px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 9px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:18px}.woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%;float:none}}@media(max-width:390px){.woocommerce ul.products{grid-template-columns:1fr}}

.main-nav li{list-style:none;margin:0;padding:0}.catalog-toolbar>select{width:auto;margin-top:0}.search-box input{margin-top:0}.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}.woocommerce-account .woocommerce-MyAccount-navigation a{color:var(--forest);text-decoration:none}.woocommerce-account .woocommerce-MyAccount-navigation li{padding:10px 0;border-bottom:1px solid var(--line)}
@media(max-width:760px){.catalog-toolbar>select{width:100%}}

/* =========================================================
   1.4.0 · Tienda WooCommerce completa y agradable de explorar
   ========================================================= */
.mac-woo-shop-shell{width:100%;min-height:60vh;background:var(--cream);padding:0 0 112px}
.mac-woo-shop-shell>.woocommerce-products-header{margin:0}
.mac-woo-shop-shell>.woocommerce-products-header .page-description{margin:0}
.mac-woo-shop-shell>.woocommerce-result-count,.mac-woo-shop-shell>.woocommerce-ordering,.mac-woo-shop-shell>ul.products,.mac-woo-shop-shell>.woocommerce-pagination,.mac-woo-shop-shell>.woocommerce-notices-wrapper,.mac-woo-shop-shell>p.woocommerce-info{width:min(1356px,calc(100% - 84px));max-width:1356px;margin-left:auto;margin-right:auto}
.mac-woo-shop-shell>.woocommerce-result-count{margin-top:40px;margin-bottom:20px;padding-top:22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.mac-woo-shop-shell>.woocommerce-ordering{float:none!important;display:flex;justify-content:flex-end;margin-top:-52px;margin-bottom:25px}
.mac-woo-shop-shell>.woocommerce-ordering select{min-width:220px}
.mac-woo-shop-shell>ul.products{clear:both;margin-top:10px!important}
.mac-woo-shop-shell>.woocommerce-pagination{margin-top:62px}
.mac-woo-shop-shell>.woocommerce-pagination ul.page-numbers{border:0!important;display:flex;justify-content:center;gap:6px}
.mac-woo-shop-shell>.woocommerce-pagination ul.page-numbers li{border:0!important}
.mac-woo-shop-shell>.woocommerce-pagination .page-numbers a,.mac-woo-shop-shell>.woocommerce-pagination .page-numbers span{display:grid!important;place-items:center;min-width:40px;height:40px;border:1px solid var(--line);background:transparent!important;color:var(--forest)!important}
.mac-woo-shop-shell>.woocommerce-pagination .page-numbers .current{background:var(--forest)!important;border-color:var(--forest);color:#fff!important}
.mac-woo-shop-shell>.woocommerce-products-header>.woocommerce-products-header__title.page-title,.mac-woo-shop-shell>h1.page-title{width:min(1356px,calc(100% - 84px));margin:72px auto 28px}
.mac-woo-shop-shell .term-description{width:min(900px,calc(100% - 84px));margin:0 auto 45px;color:var(--muted);line-height:1.75}
.mac-woo-shop-shell ul.products li.product{padding-bottom:2px}
.mac-woo-shop-shell ul.products li.product a.woocommerce-LoopProduct-link{display:block;text-decoration:none}
.mac-woo-loop-category{display:block;margin-top:2px;color:#8b6a43;font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.mac-woo-shop-shell ul.products li.product .woocommerce-loop-product__title{margin-top:6px}
.mac-woo-shop-shell ul.products li.product a img{transition:transform .55s ease,filter .55s ease;filter:saturate(.97) contrast(1.02)}
.mac-woo-shop-shell ul.products li.product:hover a img{transform:scale(1.018)}
.mac-woo-shop-shell ul.products li.product .button{transition:background .2s ease,color .2s ease,transform .2s ease}
.mac-woo-shop-shell ul.products li.product .button:hover{transform:translateY(-1px)}

@media(max-width:1050px){.mac-woo-shop-shell>.woocommerce-result-count,.mac-woo-shop-shell>.woocommerce-ordering,.mac-woo-shop-shell>ul.products,.mac-woo-shop-shell>.woocommerce-pagination,.mac-woo-shop-shell>.woocommerce-notices-wrapper,.mac-woo-shop-shell>p.woocommerce-info,.mac-woo-shop-shell>.woocommerce-products-header>.woocommerce-products-header__title.page-title,.mac-woo-shop-shell>h1.page-title{width:min(100% - 44px,1356px)}}
@media(max-width:760px){.mac-woo-shop-shell{padding-bottom:80px}.mac-woo-shop-shell>.woocommerce-result-count,.mac-woo-shop-shell>.woocommerce-ordering,.mac-woo-shop-shell>ul.products,.mac-woo-shop-shell>.woocommerce-pagination,.mac-woo-shop-shell>.woocommerce-notices-wrapper,.mac-woo-shop-shell>p.woocommerce-info,.mac-woo-shop-shell>.woocommerce-products-header>.woocommerce-products-header__title.page-title,.mac-woo-shop-shell>h1.page-title{width:calc(100% - 32px)}.mac-woo-shop-shell>.woocommerce-result-count{margin-top:30px}.mac-woo-shop-shell>.woocommerce-ordering{margin-top:0;justify-content:flex-start}.mac-woo-shop-shell>.woocommerce-ordering select{width:100%;min-width:0}.mac-woo-shop-shell .term-description{width:calc(100% - 32px)}.mac-woo-shop-shell>ul.products{margin-top:22px!important}}

/* =========================================================
   1.6.6 · Mi cuenta — acceso y registro editorial / responsive
   ========================================================= */
body.woocommerce-account:not(.logged-in) .mac-content-shell{
  max-width:1240px;
  padding-top:clamp(48px,5.5vw,82px);
  padding-bottom:clamp(76px,8vw,120px);
}
body.woocommerce-account:not(.logged-in) .mac-entry{
  max-width:none;
  width:100%;
}
body.woocommerce-account:not(.logged-in) .mac-page-heading{
  width:min(1120px,100%);
  margin:0 auto clamp(38px,4vw,58px);
}
body.woocommerce-account:not(.logged-in) .mac-page-heading h1{
  max-width:760px;
}

body.woocommerce-account:not(.logged-in) #customer_login{
  width:min(1120px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(22px,3vw,38px);
  align-items:stretch;
}
body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after{
  display:none!important;
  content:none!important;
}
body.woocommerce-account:not(.logged-in) #customer_login>.u-column1,
body.woocommerce-account:not(.logged-in) #customer_login>.u-column2{
  width:auto!important;
  float:none!important;
  margin:0!important;
  min-width:0;
  padding:clamp(28px,3.5vw,46px);
  border:1px solid rgba(7,54,79,.16);
  background:rgba(255,255,255,.52);
  display:flex;
  flex-direction:column;
}
body.woocommerce-account:not(.logged-in) #customer_login h2{
  margin:0 0 28px;
  padding:0 0 19px;
  border-bottom:1px solid rgba(7,54,79,.13);
  color:var(--forest);
  font:400 clamp(30px,2.8vw,40px)/1.05 var(--serif);
  letter-spacing:-.025em;
}
body.woocommerce-account:not(.logged-in) #customer_login form.login,
body.woocommerce-account:not(.logged-in) #customer_login form.register{
  flex:1;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  display:flex;
  flex-direction:column;
}
body.woocommerce-account:not(.logged-in) #customer_login .form-row{
  width:100%!important;
  float:none!important;
  margin:0 0 20px!important;
  padding:0!important;
}
body.woocommerce-account:not(.logged-in) #customer_login .form-row label:not(.woocommerce-form__label-for-checkbox){
  display:block;
  margin:0 0 8px;
  color:#36576a;
  font-size:9px;
  line-height:1.45;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.woocommerce-account:not(.logged-in) #customer_login .input-text,
body.woocommerce-account:not(.logged-in) #customer_login input[type="text"],
body.woocommerce-account:not(.logged-in) #customer_login input[type="email"],
body.woocommerce-account:not(.logged-in) #customer_login input[type="password"]{
  width:100%!important;
  min-height:54px;
  box-sizing:border-box;
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid rgba(7,54,79,.20)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--ink);
  font-size:15px;
  box-shadow:none!important;
  transition:border-color .2s ease,box-shadow .2s ease;
}
body.woocommerce-account:not(.logged-in) #customer_login .input-text:focus,
body.woocommerce-account:not(.logged-in) #customer_login input:focus{
  outline:none;
  border-color:var(--forest)!important;
  box-shadow:0 0 0 2px rgba(7,54,79,.06)!important;
}
body.woocommerce-account:not(.logged-in) #customer_login .password-input{
  display:block;
  width:100%;
}
body.woocommerce-account:not(.logged-in) #customer_login .show-password-input{
  top:50%!important;
  right:15px!important;
  transform:translateY(-50%);
}
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme{
  display:flex!important;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin:2px 0 14px!important;
  color:#36576a;
  font-size:12px;
  letter-spacing:0;
  text-transform:none;
}
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme input{
  width:16px!important;
  height:16px;
  min-height:0;
  margin:0!important;
  accent-color:var(--forest);
}
body.woocommerce-account:not(.logged-in) #customer_login button.woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) #customer_login button.woocommerce-form-register__submit{
  width:100%;
  min-height:52px;
  margin:8px 0 0!important;
  padding:0 22px!important;
  border:1px solid var(--forest)!important;
  border-radius:0!important;
  background:var(--forest)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
body.woocommerce-account:not(.logged-in) #customer_login button.woocommerce-form-login__submit:hover,
body.woocommerce-account:not(.logged-in) #customer_login button.woocommerce-form-register__submit:hover{
  background:var(--forest-2)!important;
  transform:translateY(-1px);
}
body.woocommerce-account:not(.logged-in) #customer_login .lost_password{
  margin:18px 0 0;
  text-align:center;
  font-size:13px;
}
body.woocommerce-account:not(.logged-in) #customer_login .lost_password a,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-privacy-policy-text a{
  color:var(--forest);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-privacy-policy-text,
body.woocommerce-account:not(.logged-in) #customer_login form.register>p:not(.form-row){
  color:#36576a;
  font-size:14px;
  line-height:1.75;
}
body.woocommerce-account:not(.logged-in) #customer_login form.register .woocommerce-privacy-policy-text{
  margin:4px 0 18px;
}
body.woocommerce-account:not(.logged-in) #customer_login form.register .form-row:last-child{
  margin-top:auto!important;
  margin-bottom:0!important;
}

@media(max-width:860px){
  body.woocommerce-account:not(.logged-in) #customer_login{
    grid-template-columns:1fr;
    max-width:620px;
    gap:18px;
  }
  body.woocommerce-account:not(.logged-in) .mac-page-heading{
    max-width:620px;
  }
}
@media(max-width:760px){
  body.woocommerce-account:not(.logged-in) .mac-content-shell{
    padding:38px 16px 78px;
  }
  body.woocommerce-account:not(.logged-in) .mac-page-heading{
    margin-bottom:30px;
  }
  body.woocommerce-account:not(.logged-in) .mac-page-heading h1{
    font-size:clamp(48px,16vw,64px);
  }
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column2{
    padding:26px 20px 28px;
  }
  body.woocommerce-account:not(.logged-in) #customer_login h2{
    margin-bottom:22px;
    font-size:32px;
  }
  body.woocommerce-account:not(.logged-in) #customer_login .input-text,
  body.woocommerce-account:not(.logged-in) #customer_login input[type="text"],
  body.woocommerce-account:not(.logged-in) #customer_login input[type="email"],
  body.woocommerce-account:not(.logged-in) #customer_login input[type="password"]{
    min-height:52px;
    font-size:16px; /* evita zoom automático en iOS */
  }
}

/* =========================================================
   1.6.7 · Mi cuenta móvil — registro siempre visible
   ========================================================= */
@media (max-width:860px){
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column2{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body.woocommerce-account:not(.logged-in) #customer_login form.login,
  body.woocommerce-account:not(.logged-in) #customer_login form.register{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body.woocommerce-account:not(.logged-in) #customer_login form.register .form-row:last-child{
    display:block!important;
    width:100%!important;
    clear:both!important;
    margin:18px 0 0!important;
    padding:0!important;
  }
  body.woocommerce-account:not(.logged-in) #customer_login button.woocommerce-form-register__submit,
  body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:static!important;
    float:none!important;
    width:100%!important;
    min-height:54px!important;
    margin:0!important;
    opacity:1;
    visibility:visible!important;
    transform:none!important;
  }
  body.woocommerce-account:not(.logged-in) #customer_login button.woocommerce-form-register__submit:disabled,
  body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit:disabled{
    display:flex!important;
    opacity:.55!important;
    cursor:not-allowed;
  }
}

@media (max-width:760px){
  body.woocommerce-account:not(.logged-in) .mac-content-shell{
    padding-bottom:96px;
  }
  body.woocommerce-account:not(.logged-in) #customer_login{
    gap:24px;
  }
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column2{
    padding:24px 18px 26px;
  }
  body.woocommerce-account:not(.logged-in) #customer_login form.register .woocommerce-privacy-policy-text{
    margin-bottom:12px;
  }
}

/* =========================================================
   1.6.8 · Registro móvil garantizado
   ========================================================= */
.mac-register-mobile-submit{
  display:none;
}

@media (max-width:860px){
  /* En móvil usamos un control propio del tema dentro del mismo form de WooCommerce. */
  body.woocommerce-account:not(.logged-in) #customer_login form.register button.woocommerce-form-register__submit{
    display:none!important;
  }
  body.woocommerce-account:not(.logged-in) #customer_login form.register .mac-register-mobile-submit{
    display:block!important;
    width:100%;
    margin:18px 0 0!important;
    padding:0!important;
    clear:both;
    position:relative!important;
    visibility:visible!important;
    opacity:1!important;
  }
  body.woocommerce-account:not(.logged-in) #customer_login form.register .mac-register-submit-fallback{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:56px!important;
    margin:0!important;
    padding:0 22px!important;
    border:1px solid var(--forest)!important;
    border-radius:0!important;
    background:var(--forest)!important;
    color:#fff!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    position:static!important;
    float:none!important;
    transform:none!important;
    cursor:pointer!important;
  }
  body.woocommerce-account:not(.logged-in) #customer_login form.register .mac-register-submit-fallback:hover,
  body.woocommerce-account:not(.logged-in) #customer_login form.register .mac-register-submit-fallback:focus{
    background:var(--forest-2)!important;
    color:#fff!important;
  }
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column2{
    padding-bottom:28px!important;
  }
}


/* =========================================================
   1.6.9 · Mi cuenta — composición desktop ordenada
   ========================================================= */
body.woocommerce-account:not(.logged-in) .mac-content-shell{
  max-width:1180px;
  padding-top:42px;
  padding-bottom:96px;
}
body.woocommerce-account:not(.logged-in) .mac-page-heading{
  width:min(1040px,100%);
  margin:0 auto 34px;
  padding-bottom:26px;
  border-bottom:1px solid rgba(7,54,79,.11);
}
body.woocommerce-account:not(.logged-in) .mac-page-heading .kicker{
  margin-bottom:14px;
}
body.woocommerce-account:not(.logged-in) .mac-page-heading h1{
  max-width:none;
  font-size:clamp(58px,6vw,84px);
  line-height:.96;
}
body.woocommerce-account:not(.logged-in) .entry-content{
  width:100%;
}
body.woocommerce-account:not(.logged-in) #customer_login{
  width:min(1040px,100%);
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
  align-items:stretch;
}
body.woocommerce-account:not(.logged-in) #customer_login>.u-column1,
body.woocommerce-account:not(.logged-in) #customer_login>.u-column2{
  padding:38px 40px 40px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(7,54,79,.14);
  box-shadow:0 16px 46px rgba(6,59,91,.035);
}
body.woocommerce-account:not(.logged-in) #customer_login h2{
  margin:0 0 26px;
  padding:0 0 18px;
  font-size:clamp(34px,3vw,44px);
  line-height:1;
}

/* Neutraliza floats / layouts heredados de WooCommerce o plugins. */
body.woocommerce-account:not(.logged-in) #customer_login form.login,
body.woocommerce-account:not(.logged-in) #customer_login form.register{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
body.woocommerce-account:not(.logged-in) #customer_login .form-row,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-row{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:both!important;
  text-align:left!important;
  margin:0 0 18px!important;
  padding:0!important;
}
body.woocommerce-account:not(.logged-in) #customer_login .form-row::before,
body.woocommerce-account:not(.logged-in) #customer_login .form-row::after{
  display:none!important;
  content:none!important;
}
body.woocommerce-account:not(.logged-in) #customer_login .form-row label:not(.woocommerce-form__label-for-checkbox),
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-row label:not(.woocommerce-form__label-for-checkbox){
  display:block!important;
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 8px!important;
  padding:0!important;
  text-align:left!important;
  font-size:9px!important;
  line-height:1.45!important;
  letter-spacing:.13em!important;
}
body.woocommerce-account:not(.logged-in) #customer_login .input-text,
body.woocommerce-account:not(.logged-in) #customer_login input[type="text"],
body.woocommerce-account:not(.logged-in) #customer_login input[type="email"],
body.woocommerce-account:not(.logged-in) #customer_login input[type="password"],
body.woocommerce-account:not(.logged-in) #customer_login .password-input{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  float:none!important;
}
body.woocommerce-account:not(.logged-in) #customer_login .input-text,
body.woocommerce-account:not(.logged-in) #customer_login input[type="text"],
body.woocommerce-account:not(.logged-in) #customer_login input[type="email"],
body.woocommerce-account:not(.logged-in) #customer_login input[type="password"]{
  min-height:52px!important;
  padding:12px 14px!important;
}

/* Acceso: controles en una secuencia clara. */
body.woocommerce-account:not(.logged-in) #customer_login form.login .woocommerce-form-login__rememberme{
  order:20;
  align-self:flex-start;
  margin:2px 0 18px!important;
}
body.woocommerce-account:not(.logged-in) #customer_login form.login button.woocommerce-form-login__submit{
  order:30;
  width:100%!important;
  margin:0!important;
}
body.woocommerce-account:not(.logged-in) #customer_login form.login .lost_password{
  order:40;
  margin:16px 0 0!important;
}

/* Registro: texto y CTA sin huecos artificiales. */
body.woocommerce-account:not(.logged-in) #customer_login form.register .woocommerce-privacy-policy-text,
body.woocommerce-account:not(.logged-in) #customer_login form.register>p:not(.form-row){
  width:100%;
  margin:2px 0 18px!important;
  font-size:13px;
  line-height:1.7;
}
body.woocommerce-account:not(.logged-in) #customer_login form.register .form-row:last-child{
  margin-top:0!important;
}
body.woocommerce-account:not(.logged-in) #customer_login form.register button.woocommerce-form-register__submit{
  width:100%!important;
  margin:0!important;
}

@media (min-width:861px){
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column2{
    min-height:515px;
  }
  body.woocommerce-account:not(.logged-in) #customer_login form.login,
  body.woocommerce-account:not(.logged-in) #customer_login form.register{
    min-height:0!important;
  }
  body.woocommerce-account:not(.logged-in) #customer_login form.login .lost_password{
    margin-top:16px!important;
  }
}

@media (max-width:860px){
  body.woocommerce-account:not(.logged-in) .mac-content-shell{
    padding-top:32px;
  }
  body.woocommerce-account:not(.logged-in) .mac-page-heading{
    max-width:620px;
    margin-bottom:24px;
    padding-bottom:20px;
  }
  body.woocommerce-account:not(.logged-in) #customer_login{
    max-width:620px;
    grid-template-columns:1fr;
    gap:20px;
  }
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column2{
    padding:28px 24px 30px;
    min-height:0!important;
  }
  body.woocommerce-account:not(.logged-in) #customer_login h2{
    font-size:34px;
    margin-bottom:22px;
  }
}

@media (max-width:520px){
  body.woocommerce-account:not(.logged-in) .mac-content-shell{
    padding:28px 15px 88px;
  }
  body.woocommerce-account:not(.logged-in) .mac-page-heading h1{
    font-size:clamp(48px,15vw,62px);
  }
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login>.u-column2{
    padding:24px 18px 26px;
  }
  body.woocommerce-account:not(.logged-in) #customer_login .form-row label:not(.woocommerce-form__label-for-checkbox),
  body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-row label:not(.woocommerce-form__label-for-checkbox){
    font-size:9px!important;
  }
  body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-privacy-policy-text,
  body.woocommerce-account:not(.logged-in) #customer_login form.register>p:not(.form-row){
    font-size:13px;
    line-height:1.65;
  }
}

/* =========================================================
   1.6.11 · Tarjetas de producto alineadas en todas las vistas
   Mantiene parejos imagen, título, precio, variaciones y CTA
   en archivos WooCommerce, relacionados, upsells y bloques.
   ========================================================= */

/* El grid estira todos los productos de una misma fila. */
.woocommerce ul.products{
  align-items:stretch;
}

/* Cada producto funciona como una columna de altura completa. */
.woocommerce ul.products li.product{
  display:flex!important;
  flex-direction:column;
  align-self:stretch;
  height:100%;
  min-width:0;
}

/* El enlace principal conserva una estructura vertical estable. */
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a.woocommerce-loop-product__link,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex!important;
  flex-direction:column;
  width:100%;
  min-width:0;
  text-decoration:none;
}

/* Fotografías siempre con la misma caja visual. */
.woocommerce ul.products li.product a img{
  display:block;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/5;
  object-fit:cover;
}

/* Reserva tres líneas para que nombres cortos y largos comiencen/terminen parejos. */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height:3.6em;
  margin-bottom:10px!important;
}

/* Precio simple u oferta ocupa una línea estable. */
.woocommerce ul.products li.product .price{
  display:flex!important;
  flex-wrap:wrap;
  align-items:baseline;
  gap:5px;
  min-height:22px;
  margin:0 0 8px!important;
}

/* Variation Swatches y selectores de archivo: ordenados sin alterar su lógica. */
.woocommerce ul.products li.product .wvs-archive-variation-wrapper,
.woocommerce ul.products li.product .woo-variation-items-wrapper,
.woocommerce ul.products li.product .variations_form,
.woocommerce ul.products li.product .variations{
  width:100%;
  margin-left:0!important;
  margin-right:0!important;
}
.woocommerce ul.products li.product .variable-items-wrapper{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start;
  gap:6px;
  margin-top:4px!important;
  margin-bottom:4px!important;
}

/* El CTA siempre cae al fondo de la tarjeta, incluso si hay más tallas/colores. */
.woocommerce ul.products li.product > .button,
.woocommerce ul.products li.product > a.button,
.woocommerce ul.products li.product .added_to_cart{
  margin-top:auto!important;
}
.woocommerce ul.products li.product > .button,
.woocommerce ul.products li.product > a.button{
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  min-height:46px;
}

/* Nuestro catálogo Gutenberg / Novedades usa la misma lógica de altura. */
.product-grid{
  align-items:stretch;
}
.product-grid .product-card,
.mac-product-card{
  display:flex;
  flex-direction:column;
  align-self:stretch;
  height:100%;
}
.product-grid .product-card .product-info,
.mac-product-card .product-info{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  width:100%;
}
.product-grid .product-card .product-topline,
.mac-product-card .product-topline{
  flex:0 0 auto;
}
.product-grid .product-card .product-info h3,
.mac-product-card .product-info h3{
  min-height:3.6em;
}
.product-grid .product-card .product-price,
.mac-product-card .product-price{
  min-height:22px;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:5px;
}
.product-grid .product-card .add-product,
.mac-product-card .add-product{
  margin-top:auto!important;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Compatibilidad con cuadrículas creadas mediante bloques WooCommerce. */
.wc-block-grid__products{
  align-items:stretch;
}
.wc-block-grid__product{
  display:flex!important;
  flex-direction:column;
  height:100%;
}
.wc-block-grid__product-link{
  display:flex!important;
  flex-direction:column;
  flex:1 1 auto;
}
.wc-block-grid__product-title{
  min-height:3.6em;
}
.wc-block-grid__product-price{
  min-height:22px;
}
.wc-block-grid__product-add-to-cart{
  margin-top:auto!important;
}

/* En móvil permitimos un poco menos de reserva para no crear huecos excesivos. */
@media(max-width:760px){
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .product-grid .product-card .product-info h3,
  .mac-product-card .product-info h3,
  .wc-block-grid__product-title{
    min-height:3.4em;
  }
  .woocommerce ul.products li.product > .button,
  .woocommerce ul.products li.product > a.button,
  .product-grid .product-card .add-product,
  .mac-product-card .add-product{
    min-height:44px;
  }
}

/* =========================================================
   1.6.12 · Precios con mayor presencia, sin perder sutileza
   ========================================================= */

/* Catálogos nativos de WooCommerce. */
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price{
  font-size:15px!important;
  line-height:1.35;
  font-weight:700;
  color:var(--forest)!important;
  letter-spacing:.005em;
}

/* Catálogo editorial del tema (Inicio / Novedades / shortcodes). */
.product-grid .product-card .product-price,
.mac-product-card .product-price{
  font-size:15px;
  line-height:1.35;
  font-weight:700;
  color:var(--forest);
}

/* En ofertas, el precio vigente es el protagonista y el anterior queda más discreto. */
.woocommerce ul.products li.product .price del,
.product-grid .product-card .product-price del,
.mac-product-card .product-price del,
.wc-block-grid__product-price del,
.mac-news-spotlight-copy em del{
  opacity:.55;
  font-size:.84em;
  font-weight:500;
}

.woocommerce ul.products li.product .price ins,
.product-grid .product-card .product-price ins,
.mac-product-card .product-price ins,
.wc-block-grid__product-price ins,
.mac-news-spotlight-copy em ins{
  text-decoration:none;
  font-weight:700;
  color:var(--forest);
}

/* Ficha individual: un paso arriba del catálogo, sin convertirse en un elemento agresivo. */
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-size:28px!important;
  line-height:1.2;
  font-weight:600;
  letter-spacing:-.015em;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del{
  opacity:.52;
  font-size:.72em;
  font-weight:400;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins{
  text-decoration:none;
  font-weight:700;
}

/* Precio dentro de los destacados editoriales de Novedades. */
.mac-news-spotlight-copy em{
  font-size:14px!important;
  line-height:1.3;
  font-weight:700;
}
.mac-news-spotlight-copy em ins{color:#fff;}

/* Conserva buena lectura en pantallas pequeñas sin exagerar. */
@media(max-width:760px){
  .woocommerce ul.products li.product .price,
  .product-grid .product-card .product-price,
  .mac-product-card .product-price,
  .wc-block-grid__product-price{
    font-size:14px!important;
  }

  .woocommerce div.product p.price,
  .woocommerce div.product span.price{
    font-size:25px!important;
  }
}

/* =========================================================
   1.6.15 · Precios claramente visibles, todavía elegantes
   ========================================================= */

/* Catálogos WooCommerce, bloques y tarjetas editoriales. */
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price,
.product-grid .product-card .product-price,
.mac-product-card .product-price{
  font-size:18px!important;
  line-height:1.28!important;
  font-weight:800!important;
  color:var(--forest)!important;
  letter-spacing:-.01em;
  min-height:28px;
  margin-top:2px;
}

/* En oferta, el precio anterior acompaña; el vigente manda. */
.woocommerce ul.products li.product .price del,
.wc-block-grid__product-price del,
.product-grid .product-card .product-price del,
.mac-product-card .product-price del{
  font-size:.76em!important;
  font-weight:500!important;
  opacity:.52!important;
  color:var(--muted)!important;
  text-decoration-thickness:1px;
}

.woocommerce ul.products li.product .price ins,
.wc-block-grid__product-price ins,
.product-grid .product-card .product-price ins,
.mac-product-card .product-price ins{
  font-size:1.08em!important;
  font-weight:800!important;
  line-height:1.15;
  color:var(--forest)!important;
  text-decoration:none!important;
}

/* Producto individual: precio suficientemente importante para decidir sin dominar la ficha. */
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-size:34px!important;
  line-height:1.12!important;
  font-weight:700!important;
  color:var(--forest)!important;
  letter-spacing:-.025em;
  margin-top:14px;
  margin-bottom:24px;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del{
  font-size:.65em!important;
  font-weight:500!important;
  color:var(--muted)!important;
  opacity:.58!important;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins{
  font-size:1em!important;
  font-weight:800!important;
  color:var(--forest)!important;
  text-decoration:none!important;
}

/* Novedades: conserva el tono editorial, con el precio bien identificable. */
.mac-news-feature-price,
.mac-news-spotlight-copy em{
  font-size:24px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:-.015em;
}
.mac-news-feature-price del,
.mac-news-spotlight-copy em del{
  font-size:.68em!important;
  font-weight:500!important;
  opacity:.58!important;
}
.mac-news-feature-price ins,
.mac-news-spotlight-copy em ins{
  font-size:1em!important;
  font-weight:800!important;
  text-decoration:none!important;
}

/* Carrito, checkout, cuenta y pedidos: importes más fáciles de localizar. */
.woocommerce-cart-form .product-price .amount,
.woocommerce-cart-form .product-subtotal .amount,
.woocommerce-checkout-review-order-table .product-total .amount,
.woocommerce-order-details .product-total .amount,
.woocommerce-MyAccount-content .woocommerce-Price-amount,
.woocommerce-mini-cart .woocommerce-Price-amount,
.wc-block-cart-items__row .wc-block-components-product-price,
.wc-block-components-order-summary-item__total-price{
  font-size:17px;
  font-weight:700;
  color:var(--forest);
}

.woocommerce .cart_totals .order-total .amount,
.woocommerce-checkout-review-order-table .order-total .amount,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount,
.wc-block-components-totals-item__value{
  font-size:21px;
  font-weight:800;
  color:var(--forest);
}

@media(max-width:760px){
  .woocommerce ul.products li.product .price,
  .wc-block-grid__product-price,
  .product-grid .product-card .product-price,
  .mac-product-card .product-price{
    font-size:17px!important;
    min-height:26px;
  }

  .woocommerce div.product p.price,
  .woocommerce div.product span.price{
    font-size:29px!important;
  }

  .mac-news-feature-price,
  .mac-news-spotlight-copy em{
    font-size:21px!important;
  }
}

/* =========================================================
   1.6.22 · Colección — MISMO contenedor REAL que productos
   =========================================================
   .mac-shop-categories se imprime ahora como hijo directo de
   .mac-woo-shop-shell, igual que ul.products. Ambos comparten
   literalmente esta regla para que ancho y ejes sean idénticos.
 */
.mac-woo-shop-shell > .mac-shop-categories,
.mac-woo-shop-shell > ul.products{
  box-sizing:border-box;
  width:min(1356px,calc(100% - 84px))!important;
  max-width:1356px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:1050px){
  .mac-woo-shop-shell > .mac-shop-categories,
  .mac-woo-shop-shell > ul.products{
    width:min(100% - 44px,1356px)!important;
  }
}

@media(max-width:760px){
  .mac-woo-shop-shell > .mac-shop-categories,
  .mac-woo-shop-shell > ul.products{
    width:calc(100% - 32px)!important;
  }
}


/* =========================================================
   1.6.28 · Carrito + Pedido / Checkout premium y responsive
   ========================================================= */

/* Estas páginas necesitan el ancho útil del sitio, no el límite editorial de .mac-entry. */
body.woocommerce-cart .mac-entry,
body.woocommerce-checkout .mac-entry{
  width:100%;
  max-width:none;
}
body.woocommerce-cart .mac-content-shell,
body.woocommerce-checkout .mac-content-shell{
  max-width:1440px;
  padding-left:42px;
  padding-right:42px;
}

/* ---------- CARRITO ---------- */
body.woocommerce-cart .mac-page-heading{
  margin-bottom:clamp(38px,4.5vw,64px);
}
body.woocommerce-cart .mac-entry > .woocommerce{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(330px,.72fr);
  gap:clamp(34px,4.5vw,68px);
  align-items:start;
}
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error{
  grid-column:1/-1;
}
body.woocommerce-cart .woocommerce-cart-form{
  grid-column:1;
  min-width:0;
}
body.woocommerce-cart .cart-collaterals{
  grid-column:2;
  width:100%;
}
body.woocommerce-cart .cart-collaterals .cart_totals{
  width:100%!important;
  float:none!important;
  margin:0!important;
  padding:clamp(24px,2.5vw,34px);
  border:1px solid rgba(7,54,79,.16);
  background:rgba(255,255,255,.48);
  position:sticky;
  top:118px;
  box-sizing:border-box;
}
body.woocommerce-cart .cart_totals h2{
  margin:0 0 22px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(7,54,79,.14);
  font-size:clamp(30px,3vw,42px);
  line-height:1.05;
}
body.woocommerce-cart table.shop_table{
  margin:0;
  border:1px solid rgba(7,54,79,.16);
  background:rgba(255,255,255,.30);
}
body.woocommerce-cart table.shop_table thead th{
  padding:14px 12px;
  background:rgba(255,255,255,.42);
  color:#315568;
  font-size:9px;
  letter-spacing:.13em;
}
body.woocommerce-cart table.shop_table td{
  padding:17px 12px;
  vertical-align:middle;
}
body.woocommerce-cart table.cart img{
  width:82px;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:10px;
}
body.woocommerce-cart .product-name a{
  color:var(--forest);
  text-decoration:none;
  font-weight:500;
  line-height:1.45;
}
body.woocommerce-cart .product-name .variation{
  margin-top:6px;
  color:var(--muted);
  font-size:11px;
}
body.woocommerce-cart .quantity .qty{
  width:64px;
  min-height:46px;
  border:1px solid rgba(7,54,79,.18);
  background:#fff;
  text-align:center;
  font-size:14px;
}
body.woocommerce-cart table.cart td.actions{
  padding:14px 12px;
}
body.woocommerce-cart table.cart td.actions .coupon{
  display:grid;
  grid-template-columns:minmax(150px,1fr) auto;
  gap:10px;
  max-width:430px;
}
body.woocommerce-cart table.cart td.actions .coupon .input-text{
  width:100%!important;
  min-height:48px;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid rgba(7,54,79,.18)!important;
  background:#fff!important;
  box-sizing:border-box;
}
body.woocommerce-cart table.cart td.actions button.button,
body.woocommerce-cart table.cart td.actions input.button{
  min-height:48px;
  border:1px solid var(--forest)!important;
  border-radius:0!important;
  padding:0 20px!important;
  background:transparent!important;
  color:var(--forest)!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
body.woocommerce-cart table.cart td.actions button.button:hover,
body.woocommerce-cart table.cart td.actions input.button:hover{
  background:var(--forest)!important;
  color:#fff!important;
}
body.woocommerce-cart table.cart td.actions button.button:disabled,
body.woocommerce-cart table.cart td.actions input.button:disabled{
  opacity:.38!important;
}
body.woocommerce-cart .cart_totals table.shop_table{
  border-left:0;
  border-right:0;
  background:transparent;
}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td{
  padding:15px 0;
}
body.woocommerce-cart .cart_totals table.shop_table th{
  width:44%;
  color:#315568;
  font-size:9px;
}
body.woocommerce-cart .wc-proceed-to-checkout{
  padding:18px 0 0!important;
  margin:0!important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart a.checkout-button.button.alt{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:58px!important;
  margin:0!important;
  padding:0 24px!important;
  border:1px solid var(--forest)!important;
  border-radius:0!important;
  background:var(--forest)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.13em!important;
  text-align:center!important;
  text-transform:uppercase!important;
  box-sizing:border-box;
  transition:background .2s ease,transform .2s ease;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background:var(--forest-2)!important;
  transform:translateY(-1px);
}

/* ---------- CHECKOUT / PEDIDO ---------- */
body.woocommerce-checkout .mac-page-heading{
  margin-bottom:clamp(34px,4vw,54px);
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-login-toggle{
  margin-bottom:12px;
}
body.woocommerce-checkout .woocommerce-info{
  margin:0 0 12px!important;
  padding:16px 18px 16px 48px!important;
  border:1px solid rgba(185,134,71,.30)!important;
  border-top-width:1px!important;
  background:rgba(255,255,255,.55)!important;
  color:#315568;
  font-size:13px;
  line-height:1.5;
}
body.woocommerce-checkout .woocommerce-info::before{
  top:16px;
  left:18px;
}
body.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1.36fr) minmax(360px,.74fr);
  grid-template-areas:
    "customer review-title"
    "customer review";
  gap:0 clamp(42px,5vw,76px);
  align-items:start;
  margin-top:34px;
}
body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
body.woocommerce-checkout form.checkout > .woocommerce-error,
body.woocommerce-checkout form.checkout > .woocommerce-message{
  grid-column:1/-1;
}
body.woocommerce-checkout #customer_details{
  grid-area:customer;
  width:100%;
  margin:0!important;
}
body.woocommerce-checkout #customer_details::before,
body.woocommerce-checkout #customer_details::after{
  display:none!important;
  content:none!important;
}
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{
  width:100%!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-checkout #customer_details .col-2{
  margin-top:42px!important;
}
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields{
  padding:clamp(24px,3vw,36px);
  border:1px solid rgba(7,54,79,.16);
  background:rgba(255,255,255,.42);
  box-sizing:border-box;
}
body.woocommerce-checkout .woocommerce-additional-fields{
  padding-bottom:28px;
}
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout #order_review_heading{
  margin:0 0 24px;
  padding-bottom:17px;
  border-bottom:1px solid rgba(7,54,79,.14);
  color:var(--forest);
  font-size:clamp(28px,2.7vw,38px);
  line-height:1.06;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 16px;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row{
  width:100%!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row-wide,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_address_1_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_country_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_state_field,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper #order_comments_field{
  grid-column:1/-1;
}
body.woocommerce-checkout form .form-row label{
  display:block;
  margin:0 0 7px;
  color:#315568;
  font-size:9px;
  font-weight:700;
  line-height:1.45;
  letter-spacing:.11em;
  text-transform:uppercase;
}
body.woocommerce-checkout form .form-row .required{
  color:#a0523c;
}
body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout .select2-container--default .select2-selection--single,
body.woocommerce-checkout form .form-row select{
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid rgba(7,54,79,.20)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--ink)!important;
  font-size:14px!important;
  box-shadow:none!important;
  box-sizing:border-box;
}
body.woocommerce-checkout form .form-row textarea{
  min-height:122px!important;
  resize:vertical;
  line-height:1.55;
}
body.woocommerce-checkout .select2-container{
  width:100%!important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding:0!important;
  line-height:26px!important;
  color:var(--ink)!important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:50px!important;
  right:8px!important;
}
body.woocommerce-checkout #order_review_heading{
  grid-area:review-title;
  margin:0;
  padding:0 0 17px;
  align-self:end;
}
body.woocommerce-checkout #order_review{
  grid-area:review;
  min-width:0;
  margin-top:20px;
  padding:clamp(24px,2.6vw,34px);
  border:1px solid rgba(7,54,79,.16);
  background:rgba(255,255,255,.52);
  box-sizing:border-box;
  position:sticky;
  top:118px;
}
body.woocommerce-checkout #order_review table.shop_table{
  margin:0 0 24px;
  border:0!important;
  background:transparent;
}
body.woocommerce-checkout #order_review table.shop_table thead th{
  padding:0 0 13px;
  border-bottom:1px solid rgba(7,54,79,.14);
}
body.woocommerce-checkout #order_review table.shop_table td,
body.woocommerce-checkout #order_review table.shop_table th{
  padding:13px 0;
  vertical-align:top;
}
body.woocommerce-checkout #order_review .product-name{
  padding-right:18px;
  color:var(--forest);
  font-size:13px;
  line-height:1.5;
}
body.woocommerce-checkout #order_review .product-quantity{
  color:var(--muted);
}
body.woocommerce-checkout #payment{
  margin:0;
  border-radius:0!important;
  background:rgba(7,54,79,.045)!important;
}
body.woocommerce-checkout #payment ul.payment_methods{
  padding:20px!important;
  border-bottom:1px solid rgba(7,54,79,.12)!important;
}
body.woocommerce-checkout #payment div.payment_box{
  margin:14px 0 0!important;
  padding:14px 16px!important;
  border-radius:0!important;
  background:rgba(255,255,255,.66)!important;
  color:#315568!important;
  font-size:12px;
  line-height:1.65;
}
body.woocommerce-checkout #payment div.payment_box::before{
  display:none!important;
}
body.woocommerce-checkout #payment .place-order{
  padding:20px!important;
  margin:0!important;
}
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout #payment .form-row{
  font-size:11px;
  line-height:1.65;
  color:#526f7f;
}
body.woocommerce-checkout #place_order{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:58px!important;
  margin:18px 0 0!important;
  padding:0 24px!important;
  border:1px solid var(--forest)!important;
  border-radius:0!important;
  background:var(--forest)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.13em!important;
  text-align:center!important;
  text-transform:uppercase!important;
  box-sizing:border-box;
}
body.woocommerce-checkout #place_order:hover{
  background:var(--forest-2)!important;
}

/* Tablet: conserva dos zonas, pero da más aire al formulario. */
@media(max-width:1100px){
  body.woocommerce-cart .mac-content-shell,
  body.woocommerce-checkout .mac-content-shell{
    padding-left:22px;
    padding-right:22px;
  }
  body.woocommerce-cart .mac-entry > .woocommerce{
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.7fr);
    gap:30px;
  }
  body.woocommerce-checkout form.checkout{
    grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
    gap:0 32px;
  }
}

/* Móvil: una sola columna, botones y campos cómodos. */
@media(max-width:820px){
  body.woocommerce-cart .mac-content-shell,
  body.woocommerce-checkout .mac-content-shell{
    padding-left:16px;
    padding-right:16px;
  }
  body.woocommerce-cart .mac-entry > .woocommerce{
    display:block;
  }
  body.woocommerce-cart .cart-collaterals{
    margin-top:34px;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals{
    position:static;
    padding:24px 18px;
  }
  body.woocommerce-cart table.cart td.actions .coupon{
    grid-template-columns:1fr;
    max-width:none;
  }
  body.woocommerce-cart table.cart td.actions .coupon button,
  body.woocommerce-cart table.cart td.actions .coupon input.button{
    width:100%!important;
  }
  body.woocommerce-cart table.cart td.actions > button.button,
  body.woocommerce-cart table.cart td.actions > input.button{
    width:100%!important;
    margin-top:10px!important;
  }

  body.woocommerce-checkout form.checkout{
    display:flex;
    flex-direction:column;
    gap:0;
    margin-top:28px;
  }
  body.woocommerce-checkout #customer_details{
    order:1;
  }
  body.woocommerce-checkout #order_review_heading{
    order:2;
    margin-top:40px;
  }
  body.woocommerce-checkout #order_review{
    order:3;
    position:static;
    width:100%;
    margin-top:18px;
    padding:22px 16px;
  }
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-additional-fields{
    padding:22px 16px;
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{
    grid-template-columns:1fr;
    gap:16px;
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
  body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row{
    grid-column:1!important;
  }
  body.woocommerce-checkout form .form-row input.input-text,
  body.woocommerce-checkout form .form-row textarea,
  body.woocommerce-checkout form .form-row select,
  body.woocommerce-checkout .select2-container--default .select2-selection--single{
    font-size:16px!important;
  }
  body.woocommerce-checkout #place_order,
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    min-height:58px!important;
    font-size:11px!important;
  }
}

/* WooCommerce convierte la tabla de carrito en bloques en móvil; se mejora jerarquía y separación. */
@media(max-width:768px){
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr,
  body.woocommerce-cart .woocommerce-page table.shop_table_responsive tr{
    display:block;
    padding:14px 0;
    border-bottom:1px solid rgba(7,54,79,.14);
  }
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr td,
  body.woocommerce-cart .woocommerce-page table.shop_table_responsive tr td{
    min-height:34px;
    padding:9px 12px;
    border:0;
  }
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr td::before,
  body.woocommerce-cart .woocommerce-page table.shop_table_responsive tr td::before{
    color:#315568;
    font-size:9px;
    font-weight:700;
    letter-spacing:.10em;
    text-transform:uppercase;
  }
  body.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail{
    display:block!important;
    text-align:left!important;
  }
  body.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail::before{
    display:none!important;
  }
  body.woocommerce-cart table.cart img{
    width:88px;
  }
}

/* ============================================================
   1.6.29 · Checkout: formulario ordenado, etiquetas a la izquierda
   ============================================================ */
body.woocommerce-checkout #customer_details{
  text-align:left!important;
}
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields{
  padding:clamp(28px,3vw,40px)!important;
  background:rgba(255,255,255,.58)!important;
  border-color:rgba(7,54,79,.14)!important;
}
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3{
  text-align:left!important;
  margin:0 0 28px!important;
  padding:0 0 18px!important;
}

/* Solo nombre y apellidos comparten fila en escritorio. El resto respira a ancho completo. */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px 18px!important;
  align-items:start!important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row{
  grid-column:1 / -1!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:both!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_first_name_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_last_name_field{
  grid-column:auto!important;
  clear:none!important;
}
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{
  display:block!important;
}
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper > .form-row{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}

/* WooCommerce envuelve el control en .woocommerce-input-wrapper: este era el origen del ancho corto. */
body.woocommerce-checkout form.checkout .form-row .woocommerce-input-wrapper,
body.woocommerce-checkout form.checkout .form-row > span.woocommerce-input-wrapper{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  float:none!important;
  margin:0!important;
  text-align:left!important;
}
body.woocommerce-checkout form.checkout .form-row label,
body.woocommerce-checkout form.checkout .form-row label[for],
body.woocommerce-checkout .woocommerce-additional-fields label{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:both!important;
  margin:0 0 8px!important;
  padding:0!important;
  color:#274f64!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.45!important;
  letter-spacing:.10em!important;
  text-align:left!important;
  text-transform:uppercase!important;
}
body.woocommerce-checkout form.checkout .form-row input.input-text,
body.woocommerce-checkout form.checkout .form-row textarea,
body.woocommerce-checkout form.checkout .form-row select,
body.woocommerce-checkout form.checkout .select2-container,
body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single{
  width:100%!important;
  max-width:none!important;
  float:none!important;
}
body.woocommerce-checkout form.checkout .form-row input.input-text,
body.woocommerce-checkout form.checkout .form-row select,
body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single{
  min-height:54px!important;
}
body.woocommerce-checkout form.checkout .form-row input.input-text,
body.woocommerce-checkout form.checkout .form-row textarea,
body.woocommerce-checkout form.checkout .form-row select{
  padding:13px 15px!important;
  color:#173f54!important;
  font-size:14px!important;
  line-height:1.45!important;
}
body.woocommerce-checkout form.checkout .form-row input.input-text::placeholder,
body.woocommerce-checkout form.checkout .form-row textarea::placeholder{
  color:#8096a1!important;
  opacity:1!important;
}
body.woocommerce-checkout form.checkout .form-row input.input-text:focus,
body.woocommerce-checkout form.checkout .form-row textarea:focus,
body.woocommerce-checkout form.checkout .form-row select:focus,
body.woocommerce-checkout form.checkout .select2-container--open .select2-selection--single{
  border-color:#0a5775!important;
  outline:2px solid rgba(10,87,117,.08)!important;
  outline-offset:0!important;
}
body.woocommerce-checkout #billing_address_2_field{
  margin-top:-6px!important;
}
body.woocommerce-checkout #billing_address_2_field > label{
  display:none!important;
}
body.woocommerce-checkout .woocommerce-additional-fields textarea{
  min-height:132px!important;
}
body.woocommerce-checkout #customer_details .col-2{
  margin-top:30px!important;
}

/* Tablet y móvil: una sola columna real, sin campos desplazados. */
@media(max-width:700px){
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-additional-fields{
    padding:24px 18px!important;
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
    grid-template-columns:1fr!important;
    gap:17px!important;
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_first_name_field,
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_last_name_field{
    grid-column:1!important;
  }
  body.woocommerce-checkout form.checkout .form-row label,
  body.woocommerce-checkout form.checkout .form-row label[for]{
    font-size:10px!important;
  }
  body.woocommerce-checkout form.checkout .form-row input.input-text,
  body.woocommerce-checkout form.checkout .form-row textarea,
  body.woocommerce-checkout form.checkout .form-row select,
  body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single{
    font-size:16px!important;
  }
}

/* ============================================================
   1.6.30 · Checkout: privacidad y CTA final equilibrados
   ============================================================ */
body.woocommerce-checkout #payment .place-order{
  display:block!important;
  width:100%!important;
  padding:24px!important;
  margin:0!important;
  box-sizing:border-box!important;
  text-align:left!important;
}
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
  color:#486879!important;
  font-size:13px!important;
  line-height:1.72!important;
  text-align:left!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text p{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  text-align:left!important;
}
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text a{
  color:var(--forest)!important;
  font-weight:600!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}
body.woocommerce-checkout #payment #place_order{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  min-height:62px!important;
  margin:24px 0 0!important;
  padding:0 28px!important;
  float:none!important;
  clear:both!important;
  box-sizing:border-box!important;
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.14em!important;
  text-align:center!important;
}
body.woocommerce-checkout #payment .form-row.place-order::before,
body.woocommerce-checkout #payment .form-row.place-order::after{
  display:none!important;
  content:none!important;
}

@media(max-width:820px){
  body.woocommerce-checkout #payment .place-order{
    padding:20px 18px!important;
  }
  body.woocommerce-checkout #payment .woocommerce-privacy-policy-text{
    font-size:13px!important;
    line-height:1.68!important;
  }
  body.woocommerce-checkout #payment #place_order{
    min-height:60px!important;
    margin-top:20px!important;
    font-size:11px!important;
  }
}


/* ============================================================
   1.6.32 · Producto individual desktop — cantidad y CTA alineados
   ============================================================ */
@media (min-width: 761px){
  /* Mantiene cantidad y CTA sobre la misma línea y con la misma altura. */
  body.single-product .woocommerce div.product form.cart:not(.variations_form),
  body.single-product .woocommerce div.product form.cart .woocommerce-variation-add-to-cart{
    display:flex!important;
    align-items:stretch!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }

  body.single-product .woocommerce div.product form.cart .quantity{
    display:flex!important;
    align-items:stretch!important;
    float:none!important;
    margin:0!important;
  }

  body.single-product .woocommerce div.product form.cart .quantity .qty{
    width:58px!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 8px!important;
    box-sizing:border-box!important;
    text-align:center!important;
    line-height:54px!important;
  }

  body.single-product .woocommerce div.product form.cart .single_add_to_cart_button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    float:none!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 28px!important;
    box-sizing:border-box!important;
    line-height:1!important;
    vertical-align:middle!important;
  }

  /* El stock conserva su propia línea y una separación limpia respecto al CTA. */
  body.single-product .woocommerce div.product p.stock{
    width:100%!important;
    margin:0 0 16px!important;
    line-height:1.45!important;
  }
}

/* ============================================================
   1.6.33 · Producto individual desktop — alineación real cantidad + CTA
   Corrige selectores previos que dependían de un wrapper `.woocommerce`.
   En single-product WooCommerce suele estar en <body>, no como ancestro.
   ============================================================ */
@media (min-width: 761px){
  body.single-product.woocommerce div.product form.cart:not(.variations_form),
  body.single-product div.product form.cart:not(.variations_form),
  body.single-product.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
  body.single-product div.product form.cart .woocommerce-variation-add-to-cart{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    flex-wrap:wrap!important;
  }

  body.single-product.woocommerce div.product form.cart .quantity,
  body.single-product div.product form.cart .quantity{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    float:none!important;
    width:58px!important;
    height:56px!important;
    min-height:56px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    vertical-align:top!important;
  }

  body.single-product.woocommerce div.product form.cart .quantity .qty,
  body.single-product div.product form.cart .quantity .qty{
    display:block!important;
    width:58px!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    margin:0!important;
    padding:0 8px!important;
    border:1px solid var(--line)!important;
    border-radius:0!important;
    box-sizing:border-box!important;
    text-align:center!important;
    line-height:normal!important;
    appearance:textfield;
  }

  body.single-product.woocommerce div.product form.cart .single_add_to_cart_button,
  body.single-product div.product form.cart .single_add_to_cart_button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
    float:none!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    margin:0!important;
    padding:0 30px!important;
    border:1px solid var(--forest)!important;
    box-sizing:border-box!important;
    line-height:1!important;
    vertical-align:top!important;
  }

  body.single-product.woocommerce div.product form.cart::before,
  body.single-product.woocommerce div.product form.cart::after,
  body.single-product div.product form.cart::before,
  body.single-product div.product form.cart::after{
    display:none!important;
    content:none!important;
  }

  body.single-product.woocommerce div.product p.stock,
  body.single-product div.product p.stock{
    width:100%!important;
    flex:0 0 100%!important;
    margin:0 0 16px!important;
  }
}


/* =========================================================
   1.6.34 · Barra de orden de tienda alineada con el catálogo
   =========================================================
   WooCommerce deja .woocommerce-result-count flotando a la izquierda
   por defecto. Ese float ignoraba el centrado del contenedor y hacía
   que “Mostrando…” se pegara al borde de la ventana. En desktop ambos
   controles comparten ahora exactamente el mismo eje que ul.products.
 */
@media (min-width:761px){
  .mac-woo-shop-shell > .woocommerce-result-count{
    float:none!important;
    clear:both!important;
    box-sizing:border-box!important;
    width:min(1356px,calc(100% - 84px))!important;
    max-width:1356px!important;
    min-height:46px;
    margin:36px auto 0!important;
    padding:18px 290px 0 0!important;
    border-top:1px solid var(--line);
    display:flex!important;
    align-items:center;
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
    text-align:left!important;
  }

  .mac-woo-shop-shell > .woocommerce-ordering{
    float:none!important;
    clear:none!important;
    box-sizing:border-box!important;
    width:min(1356px,calc(100% - 84px))!important;
    max-width:1356px!important;
    min-height:46px;
    margin:-46px auto 30px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    position:relative;
    z-index:2;
  }

  .mac-woo-shop-shell > .woocommerce-ordering select{
    box-sizing:border-box!important;
    width:258px!important;
    min-width:258px!important;
    max-width:258px!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 38px 0 14px!important;
    border:1px solid var(--line)!important;
    border-radius:0!important;
    background-color:rgba(255,255,255,.72)!important;
    color:var(--ink)!important;
    font-size:13px!important;
    font-weight:500;
    line-height:40px!important;
    cursor:pointer;
    box-shadow:none!important;
  }

  .mac-woo-shop-shell > .woocommerce-ordering select:hover,
  .mac-woo-shop-shell > .woocommerce-ordering select:focus{
    border-color:var(--forest)!important;
    outline:none!important;
  }
}

@media (min-width:761px) and (max-width:1050px){
  .mac-woo-shop-shell > .woocommerce-result-count,
  .mac-woo-shop-shell > .woocommerce-ordering{
    width:min(100% - 44px,1356px)!important;
  }
}

/* =========================================================
   1.6.35 · Toolbar estructural del catálogo
   ========================================================= */
.mac-woo-shop-shell .mac-shop-toolbar{
  box-sizing:border-box;
  width:min(1356px,calc(100% - 84px));
  max-width:1356px;
  margin:34px auto 26px;
  padding:18px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  clear:both;
}

.mac-woo-shop-shell .mac-shop-toolbar__count,
.mac-woo-shop-shell .mac-shop-toolbar__sort{
  min-width:0;
}

.mac-woo-shop-shell .mac-shop-toolbar .woocommerce-result-count{
  float:none!important;
  clear:none!important;
  width:auto!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  display:block!important;
  color:var(--muted)!important;
  font-size:12px!important;
  line-height:1.5!important;
  text-align:left!important;
}

.mac-woo-shop-shell .mac-shop-toolbar__sort{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}

.mac-woo-shop-shell .mac-shop-toolbar__label{
  color:var(--muted);
  font-size:11px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.mac-woo-shop-shell .mac-shop-toolbar .woocommerce-ordering{
  float:none!important;
  clear:none!important;
  width:auto!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
}

.mac-woo-shop-shell .mac-shop-toolbar .woocommerce-ordering select,
.mac-woo-shop-shell .mac-shop-toolbar .woocommerce-ordering .orderby{
  box-sizing:border-box!important;
  width:246px!important;
  min-width:246px!important;
  max-width:246px!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 38px 0 14px!important;
  border:1px solid var(--line)!important;
  border-radius:0!important;
  background-color:rgba(255,255,255,.76)!important;
  color:var(--ink)!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:42px!important;
  box-shadow:none!important;
  cursor:pointer;
}

.mac-woo-shop-shell .mac-shop-toolbar .woocommerce-ordering select:hover,
.mac-woo-shop-shell .mac-shop-toolbar .woocommerce-ordering select:focus{
  border-color:var(--forest)!important;
  outline:none!important;
}

/* Si algún plugin vuelve a imprimir los controles nativos fuera del toolbar,
   se ocultan para evitar una segunda fila desalineada. */
.mac-woo-shop-shell > .woocommerce-result-count,
.mac-woo-shop-shell > .woocommerce-ordering{
  display:none!important;
}

@media (max-width:1050px){
  .mac-woo-shop-shell .mac-shop-toolbar{
    width:min(1356px,calc(100% - 44px));
  }
}

@media (max-width:760px){
  .mac-woo-shop-shell .mac-shop-toolbar{
    width:calc(100% - 32px);
    margin:26px auto 22px;
    padding:16px 0;
    grid-template-columns:1fr;
    gap:14px;
  }
  .mac-woo-shop-shell .mac-shop-toolbar__sort{
    display:grid;
    grid-template-columns:1fr;
    justify-content:stretch;
    gap:8px;
  }
  .mac-woo-shop-shell .mac-shop-toolbar .woocommerce-ordering,
  .mac-woo-shop-shell .mac-shop-toolbar .woocommerce-ordering select,
  .mac-woo-shop-shell .mac-shop-toolbar .woocommerce-ordering .orderby{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}

/* =========================================================
   1.6.38 · Mi cuenta — Detalles de cuenta estable y limpio
   Usa el formulario NATIVO de WooCommerce. No template override.
   ========================================================= */
body.woocommerce-account.logged-in .mac-content-shell{
  max-width:1360px;
  padding:64px 42px 110px;
}
body.woocommerce-account.logged-in .mac-entry{
  max-width:none;
}
body.woocommerce-account.logged-in .mac-page-heading{
  margin-bottom:clamp(34px,3.5vw,52px);
}

/* Retícula principal: navegación lateral + contenido de cuenta. */
body.woocommerce-account.logged-in .entry-content > .woocommerce{
  display:grid!important;
  grid-template-columns:220px minmax(0,820px)!important;
  justify-content:start!important;
  align-items:start!important;
  gap:clamp(34px,4vw,58px)!important;
  width:100%!important;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* Navegación lateral sobria. */
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
  position:sticky;
  top:116px;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{
  margin:0!important;
  padding:0!important;
  border-top:1px solid rgba(7,54,79,.15);
  list-style:none!important;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li{
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid rgba(7,54,79,.15)!important;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a{
  display:flex!important;
  align-items:center!important;
  min-height:48px;
  padding:0 2px!important;
  color:#17465e!important;
  font-size:14px!important;
  font-weight:500!important;
  text-decoration:none!important;
  transition:color .2s ease,padding-left .2s ease;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a:hover{
  color:var(--forest)!important;
  padding-left:7px!important;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a{
  color:var(--forest)!important;
  font-weight:700!important;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a::before{
  content:"";
  flex:0 0 18px;
  width:18px;
  height:1px;
  margin-right:9px;
  background:var(--forest);
}

/* Formulario nativo: dos columnas solo donde aporta claridad. */
body.woocommerce-account.logged-in .woocommerce-MyAccount-content form.woocommerce-EditAccountForm.edit-account{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px 24px!important;
  width:100%!important;
  max-width:820px!important;
  margin:0!important;
  padding:34px 36px 36px!important;
  border:1px solid rgba(7,54,79,.16)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.52)!important;
  box-sizing:border-box!important;
}
body.woocommerce-account.logged-in form.edit-account .clear{
  display:none!important;
}
body.woocommerce-account.logged-in form.edit-account .woocommerce-form-row,
body.woocommerce-account.logged-in form.edit-account .form-row{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body.woocommerce-account.logged-in form.edit-account .form-row-first,
body.woocommerce-account.logged-in form.edit-account .form-row-last{
  grid-column:auto!important;
}
body.woocommerce-account.logged-in form.edit-account .form-row-wide,
body.woocommerce-account.logged-in form.edit-account .woocommerce-form-row--wide,
body.woocommerce-account.logged-in form.edit-account > fieldset,
body.woocommerce-account.logged-in form.edit-account > p:not(.form-row):not(.woocommerce-form-row){
  grid-column:1/-1!important;
}

/* Etiquetas siempre encima del campo. */
body.woocommerce-account.logged-in form.edit-account label{
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 8px!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
  color:#315568!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.4!important;
  letter-spacing:.11em!important;
  text-align:left!important;
  text-transform:uppercase!important;
  transform:none!important;
}
body.woocommerce-account.logged-in form.edit-account .required{
  color:#a0523c!important;
}
body.woocommerce-account.logged-in form.edit-account input.input-text,
body.woocommerce-account.logged-in form.edit-account input[type="text"],
body.woocommerce-account.logged-in form.edit-account input[type="email"],
body.woocommerce-account.logged-in form.edit-account input[type="password"]{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:54px!important;
  margin:0!important;
  padding:13px 15px!important;
  float:none!important;
  border:1px solid rgba(7,54,79,.20)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--ink)!important;
  font-size:15px!important;
  line-height:1.35!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
body.woocommerce-account.logged-in form.edit-account input:focus{
  outline:0!important;
  border-color:rgba(7,54,79,.62)!important;
  box-shadow:0 0 0 3px rgba(7,54,79,.055)!important;
}

/* Ayuda de “Nombre visible” siempre debajo, nunca al costado. */
body.woocommerce-account.logged-in form.edit-account #account_display_name + span,
body.woocommerce-account.logged-in form.edit-account .woocommerce-form-row em{
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:8px 0 0!important;
  padding:0!important;
  color:#607987!important;
  font-size:12px!important;
  font-style:normal!important;
  line-height:1.55!important;
  text-align:left!important;
}

/* Seguridad: una sección separada, lineal y fácil de escanear. */
body.woocommerce-account.logged-in form.edit-account fieldset{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:10px 0 0!important;
  padding:28px 28px 10px!important;
  border:1px solid rgba(7,54,79,.14)!important;
  background:rgba(7,54,79,.025)!important;
  box-sizing:border-box!important;
}
body.woocommerce-account.logged-in form.edit-account fieldset legend{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  margin:0 0 22px!important;
  padding:0 12px 0 0!important;
  background:var(--paper,#f4f8fa)!important;
  color:var(--forest)!important;
  font:400 28px/1.05 var(--serif)!important;
  letter-spacing:-.025em!important;
}
body.woocommerce-account.logged-in form.edit-account fieldset .form-row{
  margin:0 0 18px!important;
}
body.woocommerce-account.logged-in form.edit-account fieldset .form-row:last-child{
  margin-bottom:8px!important;
}
body.woocommerce-account.logged-in form.edit-account .password-input{
  position:relative!important;
  display:block!important;
  width:100%!important;
}
body.woocommerce-account.logged-in form.edit-account .password-input input{
  padding-right:50px!important;
}
body.woocommerce-account.logged-in form.edit-account .show-password-input{
  position:absolute!important;
  top:50%!important;
  right:16px!important;
  left:auto!important;
  margin:0!important;
  transform:translateY(-50%)!important;
}

/* Fila final de guardado. */
body.woocommerce-account.logged-in form.edit-account > p:last-of-type{
  grid-column:1/-1!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:2px 0 0!important;
}
body.woocommerce-account.logged-in form.edit-account button[type="submit"],
body.woocommerce-account.logged-in form.edit-account .woocommerce-Button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:56px!important;
  margin:0!important;
  padding:0 24px!important;
  border:1px solid var(--forest)!important;
  border-radius:0!important;
  background:var(--forest)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  text-align:center!important;
  text-transform:uppercase!important;
  box-sizing:border-box!important;
}
body.woocommerce-account.logged-in form.edit-account button[type="submit"]:hover,
body.woocommerce-account.logged-in form.edit-account .woocommerce-Button:hover{
  background:var(--forest-2)!important;
}

@media(max-width:980px){
  body.woocommerce-account.logged-in .entry-content > .woocommerce{
    grid-template-columns:185px minmax(0,1fr)!important;
    gap:28px!important;
  }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-content form.woocommerce-EditAccountForm.edit-account{
    padding:28px!important;
  }
}

@media(max-width:760px){
  body.woocommerce-account.logged-in .mac-content-shell{
    padding:42px 16px 78px;
  }
  body.woocommerce-account.logged-in .mac-page-heading{
    margin-bottom:28px;
  }
  body.woocommerce-account.logged-in .entry-content > .woocommerce{
    display:block!important;
  }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
    position:static!important;
    margin:0 0 28px!important;
  }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 12px!important;
  }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a{
    min-height:46px!important;
    font-size:14px!important;
  }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-content form.woocommerce-EditAccountForm.edit-account{
    display:block!important;
    max-width:none!important;
    padding:22px 18px 24px!important;
  }
  body.woocommerce-account.logged-in form.edit-account .woocommerce-form-row,
  body.woocommerce-account.logged-in form.edit-account .form-row{
    margin-bottom:18px!important;
  }
  body.woocommerce-account.logged-in form.edit-account input.input-text,
  body.woocommerce-account.logged-in form.edit-account input[type="text"],
  body.woocommerce-account.logged-in form.edit-account input[type="email"],
  body.woocommerce-account.logged-in form.edit-account input[type="password"]{
    min-height:54px!important;
    font-size:16px!important;
  }
  body.woocommerce-account.logged-in form.edit-account fieldset{
    margin:4px 0 20px!important;
    padding:24px 18px 8px!important;
  }
  body.woocommerce-account.logged-in form.edit-account fieldset legend{
    margin-bottom:18px!important;
    font-size:25px!important;
  }
  body.woocommerce-account.logged-in form.edit-account > p:last-of-type{
    margin:0!important;
  }
}
