/* NexCommerce · core: base, botones y clases nx-* para Elementor. Todo con tokens --nx-*. */

/* ---------- Base (0.23.0) ----------
   Reinicio de estilos de la tienda: el mismo del tema Hello Commerce, sin los colores de botones (#c36 al pasar o enfocar).
   Los selectores de etiqueta van dentro de :where() (peso cero), así cualquier regla de la tienda, Elementor o WooCommerce les gana; los de clase quedan con su peso de siempre. */
:where(html){line-height: 1.15; text-size-adjust: 100%;}
:where(*),::after,::before{box-sizing: border-box;}
:where(body){background-color: rgb(255, 255, 255); color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1rem; font-weight: 400; line-height: 1.5; margin: 0px; -webkit-font-smoothing: antialiased;}
:where(h1),:where(h2),:where(h3),:where(h4),:where(h5),:where(h6){color: inherit; font-family: inherit; font-weight: 500; line-height: 1.2; margin-block: 0.5rem 1rem;}
:where(h1){font-size: 2.5rem;}
:where(h2){font-size: 2rem;}
:where(h3){font-size: 1.75rem;}
:where(h4){font-size: 1.5rem;}
:where(h5){font-size: 1.25rem;}
:where(h6){font-size: 1rem;}
:where(p){margin-block: 0px 0.9rem;}
:where(hr){box-sizing: content-box; height: 0px; overflow: visible;}
:where(pre){font-family: monospace, monospace; font-size: 1em; white-space: pre-wrap;}
:where(a){background-color: transparent; color: rgb(204, 51, 102); text-decoration: none;}
:where(a:active),:where(a:hover){color: rgb(51, 51, 102);}
:where(a:not([href]):not([tabindex])),:where(a:not([href]):not([tabindex]):focus),:where(a:not([href]):not([tabindex]):hover){color: inherit; text-decoration: none;}
:where(a:not([href]):not([tabindex]):focus){outline: 0px;}
:where(abbr[title]){border-block-end: none; text-decoration: underline dotted;}
:where(b),:where(strong){font-weight: bolder;}
:where(code),:where(kbd),:where(samp){font-family: monospace, monospace; font-size: 1em;}
:where(small){font-size: 80%;}
:where(sub),:where(sup){font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
:where(sub){bottom: -0.25em;}
:where(sup){top: -0.5em;}
:where(img){border-style: none; height: auto; max-width: 100%;}
:where(details){display: block;}
:where(summary){display: list-item;}
:where(figcaption){color: rgb(51, 51, 51); font-size: 16px; font-style: italic; font-weight: 400; line-height: 1.4;}
:where([hidden]),:where(template){display: none;}
@media print{:where(*),::after,::before{background: transparent !important; box-shadow: none !important; color: rgb(0, 0, 0) !important; text-shadow: none !important;}
:where(a),:where(a:visited){text-decoration: underline;}
a[href]::after{content: " (" attr(href) ")";}
abbr[title]::after{content: " (" attr(title) ")";}
a[href^="#"]::after,a[href^="javascript:"]::after{content: "";}
:where(pre){white-space: pre-wrap !important;}
:where(blockquote),:where(pre){border: 1px solid rgb(204, 204, 204); break-inside: avoid;}
:where(thead){display: table-header-group;}
:where(img),:where(tr){break-inside: avoid;}
:where(h2),:where(h3),:where(p){orphans: 3; widows: 3;}
:where(h2),:where(h3){break-after: avoid;}}
:where(label){display: inline-block; line-height: 1; vertical-align: middle;}
:where(button),:where(input),:where(optgroup),:where(select),:where(textarea){font-family: inherit; font-size: 1rem; line-height: 1.5; margin: 0px;}
:where(input[type="date"]),:where(input[type="email"]),:where(input[type="number"]),:where(input[type="password"]),:where(input[type="search"]),:where(input[type="tel"]),:where(input[type="text"]),:where(input[type="time"]),:where(input[type="url"]),:where(select),:where(textarea){border: 1px solid rgb(102, 102, 102); border-radius: 3px; padding: 0.5rem 1rem; transition: 0.3s; width: 100%;}
:where(input[type="date"]:focus),:where(input[type="email"]:focus),:where(input[type="number"]:focus),:where(input[type="password"]:focus),:where(input[type="search"]:focus),:where(input[type="tel"]:focus),:where(input[type="text"]:focus),:where(input[type="time"]:focus),:where(input[type="url"]:focus),:where(select:focus),:where(textarea:focus){border-color: rgb(51, 51, 51);}
:where(button),:where(input){overflow: visible;}
:where(button),:where(select){text-transform: none;}
:where([type="button"]),:where([type="reset"]),:where([type="submit"]),:where(button){appearance: button; width: auto;}
:where([type="button"]),:where([type="submit"]),:where(button){background-color: transparent; border: 1px solid rgb(204, 51, 102); border-radius: 3px; color: rgb(204, 51, 102); display: inline-block; font-size: 1rem; font-weight: 400; padding: 0.5rem 1rem; text-align: center; transition: 0.3s; user-select: none; white-space: nowrap;}
:where([type="button"]:focus:not(:focus-visible)),:where([type="submit"]:focus:not(:focus-visible)),:where(button:focus:not(:focus-visible)){outline: none;}
:where([type="button"]:not(:disabled)),:where([type="submit"]:not(:disabled)),:where(button:not(:disabled)){cursor: pointer;}
:where(fieldset){padding: 0.35em 0.75em 0.625em;}
:where(legend){box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0px; white-space: normal;}
:where(progress){vertical-align: baseline;}
:where(textarea){overflow: auto; resize: vertical;}
:where([type="checkbox"]),:where([type="radio"]){box-sizing: border-box; padding: 0px;}
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height: auto;}
:where([type="search"]){appearance: textfield; outline-offset: -2px;}
[type="search"]::-webkit-search-decoration{appearance: none;}
::-webkit-file-upload-button{appearance: button; font: inherit;}
:where(select){display: block;}
:where(table){background-color: transparent; border-collapse: collapse; border-spacing: 0px; font-size: 0.9em; margin-block-end: 15px; width: 100%;}
:where(table td),:where(table th){border: 1px solid rgba(128, 128, 128, 0.5); line-height: 1.5; padding: 15px; vertical-align: top;}
:where(table th){font-weight: 700;}
:where(table tfoot th),:where(table thead th){font-size: 1em;}
:where(table caption + thead tr:first-child td),:where(table caption + thead tr:first-child th),:where(table colgroup + thead tr:first-child td),:where(table colgroup + thead tr:first-child th),:where(table thead:first-child tr:first-child td),:where(table thead:first-child tr:first-child th){border-block-start: 1px solid rgba(128, 128, 128, 0.5);}
:where(table tbody > tr:nth-child(2n+1) > td),:where(table tbody > tr:nth-child(2n+1) > th){background-color: rgba(128, 128, 128, 0.07);}
:where(table tbody tr:hover > td),:where(table tbody tr:hover > th){background-color: rgba(128, 128, 128, 0.1);}
:where(table tbody + tbody){border-block-start: 2px solid rgba(128, 128, 128, 0.5);}
@media (max-width: 767px){:where(table table){font-size: 0.8em;}
:where(table table td),:where(table table th){line-height: 1.3; padding: 7px;}
:where(table table th){font-weight: 400;}}
:where(dd),:where(dl),:where(dt),:where(li),:where(ol),:where(ul){background: transparent; border: 0px; font-size: 100%; margin-block: 0px; outline: 0px; vertical-align: baseline;}
.comments-area a,.page-content a{text-decoration: underline;}
.alignright{float: right; margin-left: 1rem;}
.alignleft{float: left; margin-right: 1rem;}
.aligncenter{clear: both; display: block; margin-inline: auto;}
.alignwide{margin-inline: -80px;}
.alignfull{margin-inline: calc(50% - 50vw); max-width: 100vw;}
.alignfull,.alignfull img{width: 100vw;}
.wp-caption{margin-block-end: 1.25rem; max-width: 100%;}
.wp-caption.alignleft{margin: 5px 20px 20px 0px;}
.wp-caption.alignright{margin: 5px 0px 20px 20px;}
.wp-caption img{display: block; margin-inline: auto;}
.wp-caption-text{margin: 0px;}
.gallery-caption{display: block; font-size: 0.8125rem; line-height: 1.5; margin: 0px; padding: 0.75rem;}
.pagination{display: flex; justify-content: space-between; margin: 20px auto;}
.sticky{display: block; position: relative;}
.bypostauthor{font-size: inherit;}
.hide{display: none !important;}
.post-password-form{margin: 50px auto; max-width: 500px;}
.post-password-form p{align-items: flex-end; display: flex; width: 100%;}
.post-password-form [type="submit"]{margin-inline-start: 3px;}
.screen-reader-text{clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; width: 1px; position: absolute !important; overflow-wrap: normal !important;}
.screen-reader-text:focus{background-color: rgb(238, 238, 238); clip-path: none; color: rgb(51, 51, 51); display: block; font-size: 1rem; height: auto; left: 5px; line-height: normal; padding: 12px 24px; text-decoration: none; top: 5px; width: auto; z-index: 100000; clip: auto !important;}
.post .entry-title a{text-decoration: none;}
.post .wp-post-image{max-height: 500px; object-fit: cover; width: 100%;}
@media (max-width: 991px){.post .wp-post-image{max-height: 400px;}}
@media (max-width: 575px){.post .wp-post-image{max-height: 300px;}}
#comments .comment-list{font-size: 0.9em; list-style: none; margin: 0px; padding: 0px;}
#comments .comment,#comments .pingback{position: relative;}
#comments .comment .comment-body,#comments .pingback .comment-body{border-block-end: 1px solid rgb(204, 204, 204); display: flex; flex-direction: column; padding-block: 30px; padding-inline: 60px 0px;}
#comments .comment .avatar,#comments .pingback .avatar{border-radius: 50%; left: 0px; margin-inline-end: 10px; position: absolute;}
body.rtl #comments .comment .avatar,body.rtl #comments .pingback .avatar,html[dir="rtl"] #comments .comment .avatar,html[dir="rtl"] #comments .pingback .avatar{left: auto; right: 0px;}
#comments .comment-meta{display: flex; justify-content: space-between; margin-block-end: 0.9rem;}
#comments .comment-metadata,#comments .reply{font-size: 11px; line-height: 1;}
#comments .children{list-style: none; margin: 0px; padding-inline-start: 30px; position: relative;}
#comments .children li:last-child{padding-block-end: 0px;}
#comments ol.comment-list .children::before{content: "↪"; display: inline-block; font-size: 1em; font-weight: 400; left: 0px; line-height: 100%; position: absolute; top: 45px; width: auto;}
body.rtl #comments ol.comment-list .children::before,html[dir="rtl"] #comments ol.comment-list .children::before{content: "↩"; left: auto; right: 0px;}
@media (min-width: 768px){#comments .comment-author,#comments .comment-metadata{line-height: 1;}}
@media (max-width: 767px){#comments .comment .comment-body{padding: 30px 0px;}
#comments .children{padding-inline-start: 20px;}
#comments .comment .avatar{float: left; position: inherit;}
body.rtl #comments .comment .avatar,html[dir="rtl"] #comments .comment .avatar{float: right;}}
.page-header .entry-title,.site-footer .footer-inner,.site-header .header-inner,body:not([class*="elementor-page-"]) .site-main{margin-inline: auto; width: 100%;}
@media (max-width: 575px){.page-header .entry-title,.site-footer .footer-inner,.site-header .header-inner,body:not([class*="elementor-page-"]) .site-main{padding-inline: 10px;}}
@media (min-width: 576px){.page-header .entry-title,.site-footer .footer-inner,.site-header .header-inner,body:not([class*="elementor-page-"]) .site-main{max-width: 500px;}
.site-footer.footer-full-width .footer-inner,.site-header.header-full-width .header-inner{max-width: 100%;}}
@media (min-width: 768px){.page-header .entry-title,.site-footer .footer-inner,.site-header .header-inner,body:not([class*="elementor-page-"]) .site-main{max-width: 600px;}
.site-footer.footer-full-width,.site-header.header-full-width{max-width: 100%;}}
@media (min-width: 992px){.page-header .entry-title,.site-footer .footer-inner,.site-header .header-inner,body:not([class*="elementor-page-"]) .site-main{max-width: 800px;}
.site-footer.footer-full-width,.site-header.header-full-width{max-width: 100%;}}
@media (min-width: 1200px){.page-header .entry-title,.site-footer .footer-inner,.site-header .header-inner,body:not([class*="elementor-page-"]) .site-main{max-width: 1140px;}
.site-footer.footer-full-width,.site-header.header-full-width{max-width: 100%;}}
.site-header + .elementor{min-height: calc(-320px + 100vh);}
.search-form{max-width: 294px; position: relative;}
.search-form label{width: 100%;}
.search-form .search-field{padding-inline-start: 2.5rem;}
.search-form .search-submit{border: unset; color: unset; inset-inline-start: -0.25rem; position: absolute; top: 0.1rem;}
.search-form .search-submit:focus,.search-form .search-submit:hover{background-color: unset; color: unset;}
.ehp-pagination .nav-links{display: flex;}
.ehp-pagination .page-numbers{align-items: center; display: inline-flex; height: 40px; justify-content: center; min-width: 40px; text-decoration: none;}
.ehp-pagination .page-numbers.current{background: rgb(51, 51, 102); border-radius: 4px; color: rgb(255, 255, 255);}
.ehp-pagination .page-numbers .meta-nav{align-items: center; display: inline-flex;}
.search .site-main{display: flex; gap: 60px; padding: 60px;}
.search .entry-title{font-size: 2rem; margin-top: 0px; padding: 0px;}
.search .entry-title span{font-weight: 700;}
.search .page-content{display: flex; flex: 1 0 0px; flex-direction: column; gap: 60px;}
.search .posts-container{align-items: flex-start; display: flex; flex-direction: column; gap: 32px;}
.search .posts-container .post{border-bottom: 1px solid rgb(204, 204, 204);}
.search.search-no-results .page-content{gap: 32px;}
@media (max-width: 992px){.search .site-main{flex-direction: column;}}
.error404 .site-main{margin-top: 5%; padding: 60px; text-align: center;}
.error404 .entry-title{font-size: 2rem; font-weight: 700;}
.error404 .search-form{margin: 0px auto; max-width: 270px;}
/* ---------- Fin de la base ---------- */

body.nx{background:var(--nx-paper);color:var(--nx-body);font-family:var(--nx-font-body)}
body.nx h1,body.nx h2,body.nx h3,body.nx h4{font-family:var(--nx-font-head);color:var(--nx-ink)}
.nx a{color:var(--nx-brand)}
.nx-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nx-i{flex:none;display:block}
.nx a:focus-visible,.nx button:focus-visible,.nx input:focus-visible,.nx select:focus-visible,.nx textarea:focus-visible{outline:2px solid var(--nx-brand);outline-offset:2px}

/* ---------- Botones ----------
   Solo en <a>/<button> con la clase, y en el botón interno de Elementor (la clase va en el contenedor del widget). */
.nx a.nx-btn,.nx button.nx-btn,.nx .nx-btn .elementor-button,
.nx .woocommerce a.button,.nx .woocommerce button.button,.nx .woocommerce input.button,.nx .woocommerce #respond input#submit,
.nx .woocommerce a.button.alt,.nx .woocommerce button.button.alt{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 calc(24px*var(--nx-space));
  border:2px solid var(--nx-brand);border-radius:var(--nx-btn-radius);background:var(--nx-brand);color:var(--nx-on-brand);
  font:700 16px/1.1 var(--nx-font-head);letter-spacing:.01em;text-transform:none;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.nx a.nx-btn:hover,.nx button.nx-btn:hover,.nx .nx-btn .elementor-button:hover,
.nx .woocommerce a.button:hover,.nx .woocommerce button.button:hover,.nx .woocommerce a.button.alt:hover,.nx .woocommerce button.button.alt:hover{
  background:color-mix(in srgb,var(--nx-brand) 86%,#000);border-color:color-mix(in srgb,var(--nx-brand) 86%,#000);color:var(--nx-on-brand)}
.nx a.nx-btn--ghost,.nx button.nx-btn--ghost,.nx .nx-btn--ghost .elementor-button{background:transparent;color:var(--nx-brand)}
.nx a.nx-btn--ghost:hover,.nx button.nx-btn--ghost:hover,.nx .nx-btn--ghost .elementor-button:hover{background:var(--nx-brand);color:var(--nx-on-brand)}
.nx a.nx-btn--accent,.nx button.nx-btn--accent,.nx .nx-btn--accent .elementor-button{background:var(--nx-accent);border-color:var(--nx-accent);color:var(--nx-on-accent)}
.nx a.nx-btn--accent:hover,.nx button.nx-btn--accent:hover,.nx .nx-btn--accent .elementor-button:hover{background:color-mix(in srgb,var(--nx-accent) 86%,#000);border-color:color-mix(in srgb,var(--nx-accent) 86%,#000);color:var(--nx-on-accent)}
.nx a.nx-btn--light,.nx button.nx-btn--light,.nx .nx-btn--light .elementor-button{background:transparent;border-color:#fff;color:#fff}
.nx a.nx-btn--light:hover,.nx button.nx-btn--light:hover,.nx .nx-btn--light .elementor-button:hover{background:#fff;border-color:#fff;color:var(--nx-brand)}
.nx a.nx-btn--block,.nx button.nx-btn--block{width:100%}
.nx-btn[disabled],.nx-btn.is-busy{opacity:.6;pointer-events:none}
.nx-btn.is-busy::after{content:"";width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:nx-spin .7s linear infinite}
@keyframes nx-spin{to{transform:rotate(360deg)}}
.nx-link{color:var(--nx-brand);font-weight:700;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 2px no-repeat;padding-bottom:2px}

/* ---------- Campos ---------- */
.nx .woocommerce form .form-row input.input-text,.nx .woocommerce form .form-row textarea,.nx .woocommerce form .form-row select,.nx-field{
  min-height:48px;padding:10px 14px;border:1.5px solid var(--nx-line);border-radius:var(--nx-radius-s);background:var(--nx-paper);color:var(--nx-ink);font:16px/1.3 var(--nx-font-body);box-shadow:none}
.nx .woocommerce form .form-row input.input-text:focus,.nx .woocommerce form .form-row select:focus,.nx .woocommerce form .form-row textarea:focus{border-color:var(--nx-brand);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--nx-brand) 18%,transparent)}
.nx .woocommerce form .form-row label{font-weight:600;color:var(--nx-ink);font-size:14px;margin-bottom:4px}
.nx .woocommerce form .form-row.woocommerce-invalid input.input-text,.nx .woocommerce form .form-row.woocommerce-invalid select{border-color:var(--nx-err)}

/* ---------- Avisos de WooCommerce ---------- */
.nx .woocommerce-message,.nx .woocommerce-info,.nx .woocommerce-error{border:0;border-left:4px solid var(--nx-brand);border-radius:var(--nx-radius-s);background:var(--nx-soft);color:var(--nx-ink);padding:14px 18px 14px 18px;font-size:15px;list-style:none}
.nx .woocommerce-message::before,.nx .woocommerce-info::before,.nx .woocommerce-error::before{display:none}
.nx .woocommerce-error{border-left-color:var(--nx-err);background:color-mix(in srgb,var(--nx-err) 8%,var(--nx-paper))}
.nx .woocommerce-message .button,.nx .woocommerce-info .button{min-height:36px;font-size:14px;float:right}

/* ---------- Precio ---------- */
.nx .price,.nx .price .amount{color:var(--nx-ink);font-family:var(--nx-font-head);font-weight:800}
.nx .price del{opacity:.6;font-weight:500;font-size:.8em;margin-right:6px}
.nx .price ins{text-decoration:none;color:var(--nx-accent-text)}

/* =========================================================
   Clases para Elementor (Avanzado › Clases CSS)
   ========================================================= */
/* Título con peso mezclado: texto liviano + <strong> en color primario */
.nx-title-mix,.nx-title-mix .elementor-heading-title{font-weight:500!important;letter-spacing:-.01em}
.nx-title-mix strong,.nx-title-mix b{font-weight:900;color:var(--nx-brand)}
/* Subrayado de pincel bajo un texto, link o la parte en <strong> */
.nx-brush strong,.nx-brush b,span.nx-brush,a.nx-brush{position:relative;display:inline-block;z-index:0}
.nx-brush strong::after,.nx-brush b::after,span.nx-brush::after,a.nx-brush::after{
  content:"";position:absolute;left:-2%;right:-2%;bottom:-.08em;height:.38em;z-index:-1;background:var(--nx-highlight);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9c30-5 62-6 95-4 34 2 66 1 99-3' fill='none' stroke='%23000' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9c30-5 62-6 95-4 34 2 66 1 99-3' fill='none' stroke='%23000' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
/* Estilo de la palabra destacada (Ajustes › Diseño): doble franja, marcador o solo color */
.nx-mark-stripe .nx-brush strong::after,.nx-mark-stripe .nx-brush b::after,.nx-mark-stripe span.nx-brush::after,.nx-mark-stripe a.nx-brush::after{
  left:0;right:0;bottom:-.2em;height:.25em;-webkit-mask:none;mask:none;border-radius:.03em;
  background:linear-gradient(var(--nx-mark-a,var(--nx-accent)) 0 34%,transparent 34% 66%,var(--nx-mark-b,var(--nx-brand)) 66% 100%)}
.nx-mark-marker .nx-brush strong::after,.nx-mark-marker .nx-brush b::after,.nx-mark-marker span.nx-brush::after,.nx-mark-marker a.nx-brush::after{
  left:-.06em;right:-.06em;bottom:.06em;height:.4em;-webkit-mask:none;mask:none;opacity:.42}
.nx-mark-color .nx-brush strong::after,.nx-mark-color .nx-brush b::after,.nx-mark-color span.nx-brush::after,.nx-mark-color a.nx-brush::after{content:none}
.nx-band--brand,.nx-hero,.nx-ink{--nx-mark-b:#fff}
.nx-band--accent{--nx-mark-a:#fff}
/* Rótulo chico sobre un título */
.nx-eyebrow,.nx-eyebrow .elementor-heading-title,.nx-eyebrow p{font:800 13px/1.2 var(--nx-font-head)!important;color:var(--nx-accent-text)!important}
/* Bandas */
.nx-surface{background-color:var(--nx-surface)}
.nx-ink{background-color:var(--nx-ink);color:var(--nx-paper)}
.nx .nx-ink h1,.nx .nx-ink h2,.nx .nx-ink h3,.nx .nx-ink .elementor-heading-title,.nx .nx-ink p{color:var(--nx-paper)}
.nx .nx-ink .nx-title-mix strong,.nx .nx-ink .nx-title-mix b{color:var(--nx-accent-light)}
/* Hero: texto claro sobre foto con velo para contraste */
.nx-hero{position:relative;isolation:isolate}
/* Velo del hero: sombra en tinta de la marca justo detrás del texto + degradado arriba y abajo, para leer sobre fotos con mucho detalle */
.nx-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 46% 40% at 50% 52%,rgba(8,20,40,.62) 0%,rgba(8,20,40,.38) 55%,rgba(8,20,40,0) 100%),linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.2) 40%,rgba(0,0,0,.55) 100%)}
.nx-hero>*{position:relative;z-index:1}
@media (max-width:767px){.nx-hero::before{background:radial-gradient(ellipse 80% 42% at 50% 50%,rgba(8,20,40,.6) 0%,rgba(8,20,40,0) 100%),linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.42) 45%,rgba(0,0,0,.62) 100%)}}
.nx .nx-hero .elementor-heading-title,.nx .nx-hero p,.nx .nx-hero h1,.nx .nx-hero h2{color:#fff}
.nx .nx-hero h1,.nx .nx-hero h2,.nx .nx-hero .elementor-widget-heading .elementor-heading-title{text-shadow:0 2px 24px rgba(0,0,0,.5),0 1px 3px rgba(0,0,0,.35)}
.nx .nx-hero .elementor-widget-text-editor p{font-weight:600;text-shadow:0 1px 12px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.4)}
body.nx-fx.nx .nx-hero .nx-ribbon .elementor-heading-title{text-shadow:none}
.nx .nx-hero .nx-title-mix strong,.nx .nx-hero .nx-title-mix b{color:inherit}
.nx .nx-hero .nx-eyebrow .elementor-heading-title{color:#fff!important;opacity:.9}
/* Imagen que sobresale de su tarjeta */
.nx-pop-out{overflow:visible!important}
.nx-pop-out img{margin-top:calc(-56px*var(--nx-space));filter:drop-shadow(0 18px 22px rgba(0,0,0,.18));transition:transform .35s ease}
.nx-pop-out:hover img{transform:translateY(-6px) rotate(-1.5deg)}
/* Tarjeta genérica */
.nx-card{background:var(--nx-paper);border-radius:var(--nx-radius-l);box-shadow:var(--nx-shadow)}
/* Llegada sutil al entrar en pantalla (core.js agrega .is-in). Sin JS o con «reducir movimiento», se ve todo. */
.nx-js .nx-reveal:not(.is-in){opacity:0;transform:translateY(18px)}
.nx-reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.nx-parallax-soft{will-change:transform}
@media (prefers-reduced-motion:reduce){.nx-js .nx-reveal:not(.is-in){opacity:1;transform:none}.nx-reveal,.nx-pop-out img{transition:none}.nx-parallax-soft{transform:none!important}}

/* Separadores de forma de Elementor con los colores de la marca */
.nx-wave-paper .elementor-shape-fill{fill:var(--nx-paper)}
.nx-wave-surface .elementor-shape-fill{fill:var(--nx-surface)}
.nx-wave-brand .elementor-shape-fill{fill:var(--nx-brand)}

/* Secciones de componentes */
.nx-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 calc(24px*var(--nx-space))}
.nx-section-head h2{margin:0;font-size:clamp(26px,3.4vw,40px);line-height:1.1}

/* =========================================================
   Quiebres de color y cortes de sección (clases para el contenedor de Elementor)
   ========================================================= */
.nx-band--brand{background-color:var(--nx-brand);color:var(--nx-on-brand)}
.nx-band--accent{background-color:var(--nx-accent);color:var(--nx-on-accent)}
.nx-band--surface{background-color:var(--nx-surface)}
.nx .nx-band--brand .elementor-heading-title,.nx .nx-band--brand p,.nx .nx-band--accent .elementor-heading-title,.nx .nx-band--accent p{color:#fff}
.nx .nx-band--brand .nx-title-mix strong,.nx .nx-band--accent .nx-title-mix strong{color:#fff}
.nx .nx-band--brand .nx-card .elementor-heading-title,.nx .nx-band--brand .nx-card p,.nx .nx-band--accent .nx-card .elementor-heading-title,.nx .nx-band--accent .nx-card p{color:var(--nx-ink)}
/* Color de la sección siguiente (--nx-next) y de la propia (--nx-self) */
body.nx-fx .nx-next-paper{--nx-next:var(--nx-paper)}body.nx-fx .nx-next-surface{--nx-next:var(--nx-surface)}body.nx-fx .nx-next-brand{--nx-next:var(--nx-brand)}body.nx-fx .nx-next-accent{--nx-next:var(--nx-accent)}body.nx-fx .nx-next-ink{--nx-next:var(--nx-ink)}
body.nx-fx .nx-self-paper{--nx-self:var(--nx-paper)}body.nx-fx .nx-self-surface{--nx-self:var(--nx-surface)}body.nx-fx .nx-self-brand{--nx-self:var(--nx-brand)}body.nx-fx .nx-self-accent{--nx-self:var(--nx-accent)}body.nx-fx .nx-self-ink{--nx-self:var(--nx-ink)}
body.nx-fx .nx-cut-ondas,body.nx-fx .nx-cut-fundido{position:relative}
body.nx-fx .nx-cut-ondas>.e-con-inner,body.nx-fx .nx-cut-ondas>.elementor-element,body.nx-fx .nx-cut-fundido>.e-con-inner,body.nx-fx .nx-cut-fundido>.elementor-element{position:relative;z-index:2}
/* Ondas con agujeros: el borde inferior toma el color de la sección siguiente */
body.nx-fx .nx-cut-ondas::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:var(--nx-cut-h,64px);z-index:1;pointer-events:none;background:var(--nx-next,var(--nx-paper));
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 120'%3E%3Cpath fill-rule='evenodd' d='M0,64C120,30 240,30 360,64C480,98 600,98 720,64L720,120L0,120ZM111,80a9,9 0 1,0 18,0a9,9 0 1,0 -18,0ZM218,98a12,12 0 1,0 24,0a12,12 0 1,0 -24,0ZM324,76a6,6 0 1,0 12,0a6,6 0 1,0 -12,0ZM463,108a7,7 0 1,0 14,0a7,7 0 1,0 -14,0ZM632,104a8,8 0 1,0 16,0a8,8 0 1,0 -16,0Z'/%3E%3C/svg%3E") 0 100%/auto 100% repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 120'%3E%3Cpath fill-rule='evenodd' d='M0,64C120,30 240,30 360,64C480,98 600,98 720,64L720,120L0,120ZM111,80a9,9 0 1,0 18,0a9,9 0 1,0 -18,0ZM218,98a12,12 0 1,0 24,0a12,12 0 1,0 -24,0ZM324,76a6,6 0 1,0 12,0a6,6 0 1,0 -12,0ZM463,108a7,7 0 1,0 14,0a7,7 0 1,0 -14,0ZM632,104a8,8 0 1,0 16,0a8,8 0 1,0 -16,0Z'/%3E%3C/svg%3E") 0 100%/auto 100% repeat-x}
/* Derretido: el color de la sección gotea sobre la siguiente */
body.nx-fx .nx-cut-fundido{z-index:3}
body.nx-fx .nx-cut-fundido::after{content:"";position:absolute;left:0;right:0;top:100%;height:var(--nx-cut-h,64px);z-index:3;pointer-events:none;background:var(--nx-self,var(--nx-surface));margin-top:-1px;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 120'%3E%3Cpath fill-rule='evenodd' d='M0,0H720V40C700,40 690,44 688,60C686,90 660,90 658,62C656,46 640,42 600,42C560,42 548,46 546,70C544,112 508,112 506,72C504,48 480,40 430,40C380,40 372,46 370,58C368,78 346,78 344,58C342,44 320,40 260,40C210,40 200,46 198,66C196,100 164,100 162,66C160,46 140,40 90,40C50,40 36,44 34,54C32,70 12,70 10,54C8,44 4,40 0,40Z'/%3E%3C/svg%3E") 0 0/auto 100% repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 120'%3E%3Cpath fill-rule='evenodd' d='M0,0H720V40C700,40 690,44 688,60C686,90 660,90 658,62C656,46 640,42 600,42C560,42 548,46 546,70C544,112 508,112 506,72C504,48 480,40 430,40C380,40 372,46 370,58C368,78 346,78 344,58C342,44 320,40 260,40C210,40 200,46 198,66C196,100 164,100 162,66C160,46 140,40 90,40C50,40 36,44 34,54C32,70 12,70 10,54C8,44 4,40 0,40Z'/%3E%3C/svg%3E") 0 0/auto 100% repeat-x}
body.nx-fx .nx-cut-fundido{--nx-cut-h:96px}
@media (max-width:767px){body.nx-fx .nx-cut-ondas{--nx-cut-h:40px}body.nx-fx .nx-cut-fundido{--nx-cut-h:60px}}
/* Corte con borde de capa (va en la sección de ABAJO): borde orgánico de un solo color, el de la propia sección (--nx-self, lo ponen las bandas solas).
   Con nx-cera--rind suma una capa de color en otro color (--nx-rind: acento por defecto; primario sobre bandas de acento), como el borde del footer. */
body.nx-fx .nx-cera{position:relative;z-index:1;--nx-cut-h:56px}
body.nx-fx .nx-cera--rind::before,body.nx-fx .nx-cera::after{content:"";position:absolute;left:0;right:0;bottom:100%;margin-bottom:-1px;height:var(--nx-cut-h);pointer-events:none}
.nx-cera--rind::before{background:var(--nx-rind,var(--nx-accent));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 70'%3E%3Cpath d='M0 30C60 38 150 42 240 32S390 16 470 26S640 40 720 28S840 22 900 30V70H0Z'/%3E%3C/svg%3E") 0 100%/auto 100% repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 70'%3E%3Cpath d='M0 30C60 38 150 42 240 32S390 16 470 26S640 40 720 28S840 22 900 30V70H0Z'/%3E%3C/svg%3E") 0 100%/auto 100% repeat-x}
body.nx-fx .nx-cera::after{background:var(--nx-self,var(--nx-paper));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 70'%3E%3Cpath d='M0 41C60 49 150 53 240 43S390 27 470 37S640 51 720 39S840 33 900 41V70H0Z'/%3E%3C/svg%3E") 0 100%/auto 100% repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 70'%3E%3Cpath d='M0 41C60 49 150 53 240 43S390 27 470 37S640 51 720 39S840 33 900 41V70H0Z'/%3E%3C/svg%3E") 0 100%/auto 100% repeat-x}
@media (max-width:767px){body.nx-fx .nx-cera{--nx-cut-h:34px}}
.nx-band--brand{--nx-self:var(--nx-brand)}.nx-band--accent{--nx-self:var(--nx-accent);--nx-rind:var(--nx-brand)}.nx-band--surface{--nx-self:var(--nx-surface)}.nx-ink{--nx-self:var(--nx-ink)}
body.nx-fx .nx-rind-brand{--nx-rind:var(--nx-brand)}body.nx-fx .nx-rind-accent{--nx-rind:var(--nx-accent)}body.nx-fx .nx-rind-highlight{--nx-rind:var(--nx-highlight)}
/* Imagen que entra por el borde derecho de una banda y cruza su corte (widget hijo directo de la banda) */
@media (min-width:1025px){body.nx-fx.nx .nx-edge-r{position:absolute!important;right:0;top:-90px;width:min(40vw,580px)!important;max-width:none!important;margin:0!important;z-index:3}}
@media (max-width:1024px){body.nx-fx.nx .nx-edge-r{width:calc(100% + 16px)!important;max-width:none!important;margin:24px -16px -24px 0!important;align-self:flex-end}}
body.nx-fx.nx .nx-edge-r img{width:100%;height:auto}
/* --xl: la foto es protagonista y sale de la banda por arriba y por abajo (la banda queda sobre las secciones vecinas) */
.nx .e-con:has(>.nx-edge-r--xl){position:relative;z-index:4;overflow:visible!important}
/* Al quedar sobre la sección siguiente, la banda dibuja ella misma el corte de abajo (color de la siguiente: --nx-next), bajo la foto */
.nx .e-con:has(>.nx-edge-r--xl)::before{content:"";position:absolute;top:auto;left:0;right:0;bottom:-1px;height:var(--nx-cut-h,56px);z-index:1;pointer-events:none;background:var(--nx-next,var(--nx-paper));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 70'%3E%3Cpath d='M0 41C60 49 150 53 240 43S390 27 470 37S640 51 720 39S840 33 900 41V70H0Z'/%3E%3C/svg%3E") 0 100%/auto 100% repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 70'%3E%3Cpath d='M0 41C60 49 150 53 240 43S390 27 470 37S640 51 720 39S840 33 900 41V70H0Z'/%3E%3C/svg%3E") 0 100%/auto 100% repeat-x}
.nx .nx-edge-r--xl img{max-width:none!important;width:100%!important;height:auto!important}
@media (min-width:1025px){.nx .nx-edge-r--xl{top:50%;right:-1vw;width:min(54vw,860px)!important;translate:0 -50%}.nx .e-con:has(>.nx-edge-r--xl) .e-con-inner>.e-con:first-child{max-width:44%}}
@media (max-width:1024px){.nx .nx-edge-r--xl{width:calc(100% + 48px)!important;margin:4px -24px -120px!important;align-self:center;position:relative;z-index:3}}
/* Salida del hero al hacer scroll (nx-hero-exit): la foto baja más lento y se oscurece, el texto sube, se desenfoca y se va por capas.
   core.js escribe --nx-exit (0 arriba → 1 cuando el hero salió). En reposo no hay transform. */
body.nx-fx .nx-hero-exit{background-position:center calc(50% + var(--nx-exit,0) * 26vh)!important}
body.nx-fx .nx-hero-exit::before{background-color:rgba(0,0,0,calc(var(--nx-exit,0) * .5))}
body.nx-fx .nx-hero-exit>.e-con-inner,body.nx-fx .nx-hero-exit>.e-con{opacity:calc(1 - var(--nx-exit,0) * 1.5);filter:blur(calc(var(--nx-exit,0) * 6px))}
body.nx-fx .nx-hero-exit .elementor-widget-heading{translate:0 calc(var(--nx-exit,0) * -140px)}
body.nx-fx .nx-hero-exit .elementor-widget-text-editor{translate:0 calc(var(--nx-exit,0) * -90px)}
body.nx-fx .nx-hero-exit .elementor-widget-button{translate:0 calc(var(--nx-exit,0) * -50px)}
@media (prefers-reduced-motion:reduce){body.nx-fx .nx-hero-exit{background-position:center center!important}body.nx-fx .nx-hero-exit>.e-con-inner,body.nx-fx .nx-hero-exit>.e-con{opacity:1;filter:none}body.nx-fx .nx-hero-exit .elementor-widget{translate:none}}
/* Foto grande que pasa bajo el texto (nx-img-xl en la imagen; nx-over en la columna del texto) */
@media (min-width:1025px){body.nx-fx.nx .nx-img-xl{width:112%!important;max-width:none!important;margin:-190px -2% -80px -10%!important;position:relative;z-index:0}body.nx-fx.nx .nx-over{position:relative;z-index:2}}
@media (max-width:1024px){body.nx-fx.nx .nx-img-xl{width:100%!important;max-width:100%!important;margin:8px 0 0!important}}
/* Shortcodes [nx_*] en contenedores flex de Elementor: ancho definido, si no las grillas con proporción calculan alto 0 y se montan sobre la sección siguiente */
.nx .e-con>.elementor-widget-shortcode,.nx .e-con-inner>.elementor-widget-shortcode{width:100%}
/* Disco de color detrás de una foto recortada (en el contenedor de la imagen) */
body.nx-fx .nx-disc{position:relative;isolation:isolate}
body.nx-fx .nx-disc::before{content:"";position:absolute;left:50%;top:50%;width:min(84%,520px);aspect-ratio:1/1;border-radius:50%;background:var(--nx-disc,var(--nx-surface));transform:translate(-50%,-50%);z-index:-1}
/* --pop: el disco queda más chico que el producto, que sobresale (solo con fotos recortadas sin bordes cortados) */
.nx-disc--pop::before{width:min(64%,400px)}
.nx .nx-disc--pop .elementor-widget-image img{width:100%;max-width:100%}
.nx-disc--brand{--nx-disc:var(--nx-brand)}.nx-disc--accent{--nx-disc:var(--nx-accent)}.nx-disc--surface{--nx-disc:var(--nx-surface)}.nx-disc--highlight{--nx-disc:var(--nx-highlight)}

/* Cinta para un título corto, para un título corto */
body.nx-fx .nx-ribbon .elementor-heading-title{display:inline-block;padding:7px 26px!important;background:var(--nx-accent);color:#fff!important;font:800 13px/1.2 var(--nx-font-head)!important;
  clip-path:polygon(0 0,100% 0,calc(100% - 12px) 50%,100% 100%,0 100%,12px 50%);box-shadow:inset 0 2px 0 var(--nx-highlight),inset 0 -2px 0 var(--nx-highlight)}

/* Movimiento para fotos recortadas (widget Imagen): flotar, girar y desplazarse con el scroll */
body.nx-fx .nx-float img{animation:nx-float 7s ease-in-out infinite}
.nx-float--b img{animation-duration:9s;animation-delay:-3s}
@keyframes nx-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(-3deg)}}
body.nx-fx .nx-spin-scroll,body.nx-fx .nx-drift{will-change:transform}
/* Entrada con fuerza (nx-pop-in en el contenedor de una foto recortada, con o sin nx-disc): el disco crece y la foto cae girando.
   Usa scale/rotate/translate propios, así convive con nx-float (animación) y nx-drift (transform en línea). */
body.nx-fx .nx-pop-in img{transition:opacity .5s ease .15s,scale .9s cubic-bezier(.34,1.56,.64,1) .15s,rotate .9s cubic-bezier(.34,1.56,.64,1) .15s,translate .9s cubic-bezier(.22,1,.36,1) .15s}
.nx-js body.nx-fx .nx-pop-in:not(.is-in) img{opacity:0;scale:.5;rotate:-18deg;translate:0 90px}
body.nx-fx .nx-pop-in.nx-disc::before{transition:scale .7s cubic-bezier(.34,1.56,.64,1),opacity .4s ease}
.nx-js body.nx-fx .nx-pop-in.nx-disc:not(.is-in)::before{scale:0;opacity:0}
body.nx-fx .nx-shadow-drop img{filter:drop-shadow(0 24px 28px rgba(0,0,0,.25))}
body.nx-fx .nx-deco{pointer-events:none}
@media (max-width:767px){.nx-deco-hide-m{display:none!important}}
@media (prefers-reduced-motion:reduce){body.nx-fx .nx-float img{animation:none}body.nx-fx .nx-spin-scroll,body.nx-fx .nx-drift{transform:none!important}.nx-js body.nx-fx .nx-pop-in:not(.is-in) img{opacity:1;scale:none;rotate:none;translate:none}.nx-js body.nx-fx .nx-pop-in.nx-disc:not(.is-in)::before{scale:none;opacity:1}}

/* Cuerpo sin desborde horizontal */
html,body.nx{overflow-x:clip}

/* 0.16.0 · Aviso de cookies: tarjeta abajo a la izquierda en escritorio, abajo a lo ancho en el celular. Aceptar y Rechazar con el mismo peso */
.nx-ck{position:fixed;left:16px;bottom:16px;z-index:99998;width:min(420px,calc(100vw - 32px));font-family:var(--nx-font-body)}
.nx-ck[hidden]{display:none}
.nx-ck__bar,.nx-ck__prefs{display:flex;flex-direction:column;gap:12px;padding:18px;background:#fff;color:var(--nx-body);border-radius:var(--nx-radius-l);box-shadow:0 12px 40px rgba(0,0,0,.22)}
.nx-ck__bar[hidden],.nx-ck__prefs[hidden]{display:none}
.nx-ck.is-prefs{max-height:calc(100dvh - 32px);overflow-y:auto;border-radius:var(--nx-radius-l)}
.nx-ck .nx-ck__t{margin:0;font:700 19px/1.2 var(--nx-font-head);color:var(--nx-ink)}
.nx-ck__d{margin:0;font-size:14px;line-height:1.45}
.nx-ck__d a{color:var(--nx-brand);font-weight:600}
.nx-ck__row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nx-ck .nx-ck__b{width:100%;min-height:46px!important;background:var(--nx-ink)!important;border-color:var(--nx-ink)!important;color:var(--nx-paper)!important}
.nx-ck .nx-ck__more{min-height:44px;padding:0 14px!important;border:1.5px solid var(--nx-line)!important;border-radius:var(--nx-btn-radius)!important;background:#fff!important;box-shadow:none!important;color:var(--nx-ink)!important;font:700 15px/1 var(--nx-font-body)!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}
.nx-ck .nx-ck__save{width:100%;min-height:46px!important}
.nx-ck__type{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid var(--nx-line)}
.nx-ck__type>div{flex:1;display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.4}
.nx-ck__type strong{font-size:15px;color:var(--nx-ink)}
.nx-ck__type small{font-size:12px;color:var(--nx-muted)}
.nx-ck__lock{padding:7px 10px;border-radius:999px;background:var(--nx-soft);color:var(--nx-body);font:700 12px/1 var(--nx-font-body);white-space:nowrap}
.nx-ck .nx-ck__sw{flex:none;display:flex;justify-content:flex-start;width:52px;height:32px;min-height:0!important;margin-top:2px;padding:3px!important;border:0!important;border-radius:999px!important;background:var(--nx-muted)!important;box-shadow:none!important;cursor:pointer}
.nx-ck .nx-ck__sw[aria-checked=true]{justify-content:flex-end;background:var(--nx-brand)!important}
.nx-ck__sw span{display:block;width:26px;height:26px;border-radius:50%;background:#fff}
.nx-ck button:focus-visible,.nx-ck a:focus-visible{outline:3px solid var(--nx-accent);outline-offset:2px}
@media (max-width:767px){.nx-ck{left:8px;right:8px;bottom:8px;width:auto}}

/* 0.20.1 · Toques y estados en el celular: sin el bloque azul del navegador al tocar, con respuesta propia */
body.nx{-webkit-tap-highlight-color:transparent}
body.nx a:focus:not(:focus-visible),body.nx button:focus:not(:focus-visible),body.nx [role="button"]:focus:not(:focus-visible){outline:none}
body.nx :is(a,button,[role="button"],summary,label):focus-visible{outline:2px solid var(--nx-brand);outline-offset:2px}
@media (hover:none){
  body.nx :is(.nx-btn,.nx-pc__add,.nx-cstep__b,.nx-pc__fmtb,.nx-tabbar a,.nx-tabbar button):active{transform:scale(.97)}
}
@media (prefers-reduced-motion:reduce){
  body.nx :is(.nx-btn,.nx-pc__add,.nx-cstep__b,.nx-pc__fmtb,.nx-tabbar a,.nx-tabbar button):active{transform:none}
}


/* ==== Base de tienda WooCommerce (0.25.0) ====
   Reglas que antes traía el tema Hello Commerce (hello-commerce-woocommerce.css), completas y en su orden.
   Ahora son del plugin: una actualización del tema ya no cambia la tienda.
   El CSS WooCommerce del tema queda apagado con core_own_base. */
:root { --ehc-button-background-color: #000; --ehc-button-color: #fff; --ehc-button-font-size: 16px; --ehc-button-font-weight: 500; --ehc-button-line-height: 18px; --ehc-button-text-transform: capitalize; --ehc-button-background-color-hover: #000; --ehc-button-color-hover: #fff; --ehc-button-border-color: #000; --ehc-button-border-width: 0; --ehc-button-text-decoration: none; --ehc-button-border-radius-default: 8px; --ehc-button-border-radius-sharp: 0; --ehc-button-border-radius-rounded: 12px; --ehc-button-border-radius-round: 32px; --ehc-button-border-radius-oval: 50%; --ehc-button-border-top-left-radius: 0; --ehc-button-border-top-right-radius: 0; --ehc-button-border-bottom-left-radius: 0; --ehc-button-border-bottom-right-radius: 0; --ehc-padding-inline-start: 24px; --ehc-padding-inline-end: 24px; --ehc-padding-block-start: 12px; --ehc-padding-block-end: 12px; --ehc-price-color: #000; --ehc-sale-color: #fff; --ehc-sale-background-color: #000; }
.woocommerce #respond input#submit, .woocommerce .woocommerce-message .button, .woocommerce button.button, .woocommerce button.button.alt, .woocommerce button.button.alt.disabled, .woocommerce ul.products li.product .button, .woocommerce-account .woocommerce-MyAccount-navigation-link.is-active, .woocommerce-account a.button, .woocommerce-account a.button.alt, .woocommerce-account button.button, .woocommerce-cart .cart .button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart a.button, .woocommerce-checkout button.button.alt, :is(.elementor-element .elementor-shortcode) :where(button, [type="submit"], [type="button"]), :where(:is(button, [type="submit"], [type="button"]):not(:is(.elementor-element *, [class*="wc-block-"] *))) { background-color: var(--ehc-button-background-color); border: var(--ehc-button-border-width) solid var(--ehc-button-border-color); border-bottom-left-radius: var(--ehc-button-border-bottom-left-radius); border-bottom-right-radius: var(--ehc-button-border-bottom-right-radius); border-top-left-radius: var(--ehc-button-border-top-left-radius); border-top-right-radius: var(--ehc-button-border-top-right-radius); color: var(--ehc-button-color); font-size: var(--ehc-button-font-size); font-weight: var(--ehc-button-font-weight); line-height: var(--ehc-button-line-height); padding-block: var(--ehc-padding-block-start) var(--ehc-padding-block-end); padding-inline: var(--ehc-padding-inline-start) var(--ehc-padding-inline-end); text-decoration: var(--ehc-button-text-decoration); text-transform: var(--ehc-button-text-transform); transition: 0.3s; }
.woocommerce #respond input#submit:focus, .woocommerce #respond input#submit:hover, .woocommerce .woocommerce-message .button:focus, .woocommerce .woocommerce-message .button:hover, .woocommerce button.button.alt.disabled:focus, .woocommerce button.button.alt.disabled:hover, .woocommerce button.button.alt:focus, .woocommerce button.button.alt:hover, .woocommerce button.button:focus, .woocommerce button.button:hover, .woocommerce ul.products li.product .button:focus, .woocommerce ul.products li.product .button:hover, .woocommerce-account .woocommerce-MyAccount-navigation-link.is-active:focus, .woocommerce-account .woocommerce-MyAccount-navigation-link.is-active:hover, .woocommerce-account a.button.alt:focus, .woocommerce-account a.button.alt:hover, .woocommerce-account a.button:focus, .woocommerce-account a.button:hover, .woocommerce-account button.button:focus, .woocommerce-account button.button:hover, .woocommerce-cart .cart .button:focus, .woocommerce-cart .cart .button:hover, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce-cart a.button:focus, .woocommerce-cart a.button:hover, .woocommerce-checkout button.button.alt:focus, .woocommerce-checkout button.button.alt:hover, :is(.elementor-element .elementor-shortcode) :where(button, [type="submit"], [type="button"]):focus, :is(.elementor-element .elementor-shortcode) :where(button, [type="submit"], [type="button"]):hover, :where(:is(button, [type="submit"], [type="button"]):not(:is(.elementor-element *, [class*="wc-block-"] *)):focus), :where(:is(button, [type="submit"], [type="button"]):not(:is(.elementor-element *, [class*="wc-block-"] *)):hover) { background-color: var(--ehc-button-background-color-hover); color: var(--ehc-button-color-hover); transition: 0.3s; }
.woocommerce #respond input#submit:disabled, .woocommerce #respond input#submit[disabled], .woocommerce .woocommerce-message .button:disabled, .woocommerce .woocommerce-message .button[disabled], .woocommerce button.button.alt.disabled:disabled, .woocommerce button.button.alt.disabled[disabled], .woocommerce button.button.alt:disabled, .woocommerce button.button.alt[disabled], .woocommerce button.button:disabled, .woocommerce button.button[disabled], .woocommerce ul.products li.product .button:disabled, .woocommerce ul.products li.product .button[disabled], .woocommerce-account .woocommerce-MyAccount-navigation-link.is-active:disabled, .woocommerce-account .woocommerce-MyAccount-navigation-link.is-active[disabled], .woocommerce-account a.button.alt:disabled, .woocommerce-account a.button.alt[disabled], .woocommerce-account a.button:disabled, .woocommerce-account a.button[disabled], .woocommerce-account button.button:disabled, .woocommerce-account button.button[disabled], .woocommerce-cart .cart .button:disabled, .woocommerce-cart .cart .button[disabled], .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:disabled, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button[disabled], .woocommerce-cart a.button:disabled, .woocommerce-cart a.button[disabled], .woocommerce-checkout button.button.alt:disabled, .woocommerce-checkout button.button.alt[disabled], :is(.elementor-element .elementor-shortcode) :where(button, [type="submit"], [type="button"]):disabled, :is(.elementor-element .elementor-shortcode) :where(button, [type="submit"], [type="button"])[disabled], :where(:is(button, [type="submit"], [type="button"]):not(:is(.elementor-element *, [class*="wc-block-"] *)):disabled), :where(:is(button, [type="submit"], [type="button"]):not(:is(.elementor-element *, [class*="wc-block-"] *))[disabled]) { background-color: rgb(231, 231, 231); padding-block: var(--ehc-padding-block-start) var(--ehc-padding-block-end); padding-inline: var(--ehc-padding-inline-start) var(--ehc-padding-inline-end); }
.woocommerce div.product .stock, .woocommerce div.product div.summary p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price { color: var(--ehc-price-color); }
.woocommerce div.product span.price { margin-bottom: 18px; }
.elementor-products-grid ul.products.elementor-grid li.product span.onsale, .woocommerce span.onsale, .woocommerce ul.products li.product span.onsale { background-color: var(--ehc-sale-background-color); border-radius: 0px; color: var(--ehc-sale-color); display: inline-flex; font-size: 14px; font-weight: 400; inset-inline-start: 0px; left: unset; line-height: 16px; min-height: unset; min-width: unset; padding: 0.5em 1em; top: 10px; }
#wc-block-components-totals-coupon__input-coupon, input[type="date"], input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], select, textarea { border: 1px solid rgb(0, 0, 0); border-radius: 0px; padding: 12px 24px; }
.woocommerce form .form-row .input-text { border-radius: 0px; }
select { appearance: none; background-image: url("data:image/svg+xml;utf8,<svg width=\"12\" height=\"7\" viewBox=\"0 0 12 7\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0.5 0.5L6 5.5L11.5 0.5\" stroke=\"black\"/></svg>"); background-position: right 12px center; background-repeat: no-repeat; }
.woocommerce table:is(.shop_table, .shop_attributes) { background-color: rgb(255, 255, 255); border: 1px solid rgb(231, 231, 231); border-collapse: collapse; border-radius: 0px; border-spacing: 0px; width: 100%; }
.woocommerce table:is(.shop_table, .shop_attributes) th { background-color: rgb(251, 251, 251); border-width: 0px 0px 2px; border-style: none none solid; border-color: currentcolor currentcolor rgb(231, 231, 231); border-image: none; border-inline: 0px; border-radius: 0px; font-weight: 700; line-height: 18px; padding: 18px; text-align: left; vertical-align: middle; }
.woocommerce table:is(.shop_table, .shop_attributes) thead:first-child tr:first-child th { border-block-start: 0px; }
.woocommerce table:is(.shop_table, .shop_attributes) > tbody > tr:nth-child(2n+1) > td, .woocommerce table:is(.shop_table, .shop_attributes) > tbody > tr:nth-child(2n+1) > th { background: none; }
.woocommerce table:is(.shop_table, .shop_attributes) > tbody > tr > td { border-bottom: 2px solid rgb(231, 231, 231); padding: 18px; }
.woocommerce table:is(.shop_table, .shop_attributes) > tbody > tr:last-child > td, .woocommerce table:is(.shop_table, .shop_attributes) > tbody > tr:last-child > th { border-bottom: 0px; }
.woocommerce table:is(.shop_table, .shop_attributes) > tfoot td, .woocommerce table:is(.shop_table, .shop_attributes) > tfoot th { background-color: rgb(251, 251, 251); border: 0px; padding: 16px; }
.woocommerce table:is(.shop_table, .shop_attributes) > tfoot > tr { border-bottom: 2px solid rgb(231, 231, 231); }
.woocommerce table:is(.shop_table, .shop_attributes) > tfoot > tr:last-child { border-bottom: 0px; }
.woocommerce table:is(.shop_table, .shop_attributes) td { border-bottom: 2px solid rgb(231, 231, 231); border-inline: 0px; font-style: normal; line-height: 18px; padding: 18px; text-align: left; }
.woocommerce table:is(.shop_table, .shop_attributes) tr:last-child td { border-bottom: 0px; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper { margin-bottom: 64px; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper .woocommerce-Reviews-title, .woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper .woocommerce-Tabs-panel--additional_information h2, .woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper .woocommerce-Tabs-panel--description h2 { display: none; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper ul.tabs { border-bottom: 1px solid rgb(231, 231, 231); display: flex; gap: 0px; padding: 0px; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper ul.tabs li { background-color: transparent; border-width: 1px 1px 0px; border-style: solid solid none; border-color: rgb(231, 231, 231) rgb(231, 231, 231) currentcolor; border-image: none; border-bottom-left-radius: var(--ehc-button-border-bottom-left-radius); border-bottom-right-radius: var(--ehc-button-border-bottom-right-radius); border-top-left-radius: var(--ehc-button-border-top-left-radius); border-top-right-radius: var(--ehc-button-border-top-right-radius); font-size: var(--ehc-button-font-size); font-style: var(--ehc-button-font-style); font-weight: var(--ehc-button-font-weight); line-height: var(--ehc-button-line-height); margin: 0px; padding-block: var(--ehc-padding-block-start) var(--ehc-padding-block-end); padding-inline: var(--ehc-padding-inline-start) var(--ehc-padding-inline-end); }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper ul.tabs li a { color: rgb(0, 0, 0); }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper ul.tabs li.active { background-color: var(--ehc-button-background-color); border: var(--ehc-button-border-width) solid var(--ehc-button-border-color); color: var(--ehc-button-color); }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper ul.tabs li.active a { color: inherit; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper ul.tabs li.active:focus, .woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper ul.tabs li.active:hover { background-color: var(--ehc-button-background-color-hover); color: var(--ehc-button-color-hover); }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper ul.tabs li::after, .woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper ul.tabs li::before { display: none; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper #review_form_wrapper { background-color: rgb(251, 251, 251); border: 1px solid rgb(231, 231, 231); padding: 32px; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper .comment-form-rating, .woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper .comment-reply-title { display: block; margin-bottom: 32px; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper .required { color: red; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper #comment-form-rating-label { margin-bottom: 10px; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper table.shop_attributes th { border-bottom: 1px solid rgb(231, 231, 231); width: 114px; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper table.shop_attributes td { border-bottom: 1px solid rgb(231, 231, 231); font-style: normal; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper table.shop_attributes td p { padding: 0px; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper table.shop_attributes tbody > tr:nth-child(2n+1) > td, .woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper table.shop_attributes tbody > tr:nth-child(2n+1) > th { background-color: rgb(251, 251, 251); }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper table.shop_attributes tbody > tr:nth-child(2n) > td, .woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper table.shop_attributes tbody > tr:nth-child(2n) > th { background-color: rgb(255, 255, 255); }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper table.shop_attributes .woocommerce-product-attributes-item__label { vertical-align: middle; }
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper table.shop_attributes .woocommerce-product-attributes-item__label::after { content: ":"; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { background-color: var(--ehc-notice-background-color); border: 1px solid var(--ehc-notice-color); color: rgb(0, 0, 0); }
.woocommerce-error { --ehc-notice-color: #b81c23; --ehc-notice-background-color: #f7cbcd; }
.woocommerce-message { --ehc-notice-color: #8fae1b; --ehc-notice-background-color: #edf7ca; }
.woocommerce-info { --ehc-notice-color: #3f84b9; --ehc-notice-background-color: #d8e6f2; }
.woocommerce-info, .woocommerce-message { align-items: center; display: flex; justify-content: space-between; }
.woocommerce-info::after, .woocommerce-message::after { display: none; }
.woocommerce-info::before, .woocommerce-message::before { top: 50%; transform: translateY(-50%); }
.woocommerce ul.products li.product { align-items: flex-start; display: flex; flex-direction: column; gap: 1em; }
.woocommerce ul.products li.product a img { border: 1px solid rgb(231, 231, 231); }
.woocommerce ul.products li.product .button { margin: 0px; }
.woocommerce ul.products a.woocommerce-loop-product__link { flex-grow: 1; position: relative; }
.woocommerce ul.products a.woocommerce-loop-product__link span.onsale { left: unset; margin: 0px; position: absolute; right: 0px; top: 10px; }
.woocommerce .woocommerce-product-gallery { border: 1px solid rgb(231, 231, 231); }
.woocommerce div.product div.images { margin-bottom: 64px; }
.woocommerce .woocommerce-breadcrumb { color: rgb(173, 173, 173); font-size: 16px; font-weight: 400; letter-spacing: 0px; line-height: 22px; margin-bottom: 10px; }
.woocommerce .woocommerce-loop-product__title, .woocommerce div.product .product_title { color: rgb(0, 0, 0); font-size: 32px; font-weight: 400; line-height: 34px; }
.woocommerce div.product .product_title { margin-bottom: 18px; }
.woocommerce .woocommerce-product-details__short-description { color: rgb(0, 0, 0); font-size: 16px; font-weight: 400; line-height: 22px; margin-bottom: 32px; }
.woocommerce div.product form.cart { margin-bottom: 32px; }
.woocommerce .product_meta { color: rgb(0, 0, 0); display: flex; flex-direction: column; font-size: 16px; font-weight: 400; gap: 10px; line-height: 22px; }
.woocommerce div.product form.cart div.quantity { margin-inline-end: 18px; }
.woocommerce .qty[type="number"] { border-radius: 0px; padding: 8px 12px; }
.woocommerce div.product form.cart .variations label { font-weight: 400; }
.woocommerce div.product form.cart .variations th { vertical-align: middle; }
.woocommerce table th { text-align: left; }
.woocommerce tbody > tr:nth-child(2n+1) > td, .woocommerce tbody > tr:nth-child(2n+1) > th { background-color: rgb(251, 251, 251); }
.woocommerce tbody > tr:nth-child(2n) > td, .woocommerce tbody > tr:nth-child(2n) > th { background-color: rgb(255, 255, 255); }
.woocommerce .woocommerce-variation-price { margin-bottom: 18px; }
.woocommerce td.value { position: relative; }
.woocommerce .reset_variations { display: none; }
.woocommerce .reset_variations[style="visibility: visible;"] { display: block; position: absolute; right: 15px; top: 100%; }
.woocommerce-cart .attachment-woocommerce_thumbnail { border: 1px solid rgb(231, 231, 231); }
.woocommerce-cart input[type="number"] { border-radius: 0px; padding: 8px; }
.woocommerce-cart table.shop_table .coupon .input-text { min-width: 200px; }
.woocommerce-cart table.shop_table a.remove { border: 1px solid rgb(0, 0, 0); border-radius: 50%; display: inline-block; font-size: 16px; height: 20px; line-height: 1; width: 20px; color: rgb(0, 0, 0) !important; }
.woocommerce-cart table.shop_table a.remove:hover { background: rgb(0, 0, 0) !important; color: rgb(255, 255, 255) !important; }
.woocommerce-cart .cart_totals table.shop_table > tbody tr > th { border: 0px; font-weight: 400; vertical-align: middle; }
.woocommerce-cart .cart_totals table.shop_table > tbody tr > td { border: 0px; padding: 18px; text-align: right; }
.woocommerce-cart .cart_totals table.shop_table > tbody tr:first-of-type > th { background: none; }
.woocommerce-cart .cart_totals table.shop_table > tbody tr:first-of-type > td, .woocommerce-cart .cart_totals table.shop_table > tbody tr:first-of-type > th { background: rgb(251, 251, 251); border-bottom: 2px solid rgb(231, 231, 231); }
.woocommerce-cart table.cart td.actions .coupon { align-items: center; display: flex; gap: 18px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { border: 1px solid rgb(0, 0, 0); border-radius: 0px; line-height: 18px; margin: 0px; padding: 12px; }
.woocommerce-cart .cart-collaterals { align-items: flex-end; display: flex; flex-direction: column; gap: 32px; }
.woocommerce-cart .cart-collaterals .cross-sells { order: 2; width: 100%; }
.woocommerce-cart .cart-collaterals .cross-sells ul.products { display: flex; flex-wrap: wrap; }
.woocommerce-cart .cart-collaterals .cross-sells ul.products::after, .woocommerce-cart .cart-collaterals .cross-sells ul.products::before { content: none; }
.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product { margin: 0px 3.8% 2.992em 0px; width: 22.05%; }
.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product.last { margin: 0px 3.8% 2.992em 0px; }
@media (min-width: 1025px) {
  .woocommerce-checkout .checkout { gap: 0px 64px; display: grid; grid-template: "left right1" "left right2" 1fr / 1fr 1fr; }
  .woocommerce-checkout .checkout #customer_details, .woocommerce-checkout .checkout .woocommerce-billing-fields { grid-area: left; }
  .woocommerce-checkout .checkout #customer_details::before, .woocommerce-checkout .checkout .woocommerce-billing-fields::before { display: none; }
  .woocommerce-checkout .checkout #order_review_heading { grid-area: right1; margin-bottom: 32px; }
  .woocommerce-checkout .checkout #order_review { grid-area: right2; }
  .woocommerce-checkout .checkout #customer_details { display: flex; flex-direction: column; gap: 32px; }
  .woocommerce-checkout .checkout .col2-set .col-1, .woocommerce-checkout .checkout .col2-set .col-2 { width: 100%; }
  .woocommerce-checkout .checkout #customer_details, .woocommerce-checkout .checkout .woocommerce-billing-fields { }
  .woocommerce-checkout .checkout #order_review_heading { }
  .woocommerce-checkout .checkout #order_review { }
}
.woocommerce-checkout .checkout .form-row .required { color: red; }
.woocommerce-checkout .checkout .form-row.woocommerce-invalid input.input-text { border-color: rgb(184, 28, 35); }
.woocommerce-checkout .checkout .form-row.woocommerce-invalid .required, .woocommerce-checkout .checkout .form-row.woocommerce-invalid label { color: rgb(184, 28, 35); }
.woocommerce-checkout .checkout .form-row .input-text, .woocommerce-checkout .checkout .select2-container .select2-selection, .woocommerce-checkout .checkout input.input-text { border-radius: 0px; }
.woocommerce-checkout .checkout textarea { resize: none; }
.woocommerce-checkout .checkout table.shop_table .product-total { text-align: right; }
.woocommerce-checkout .checkout table.shop_table > tfoot > tr:first-child { border-top: 2px solid rgb(231, 231, 231); }
.woocommerce-checkout .checkout table.shop_table > tfoot > tr > td { font-weight: 700; text-align: right; }
.woocommerce-checkout .checkout #payment { background: none; }
.woocommerce-checkout .checkout #payment .wc_payment_methods.methods.payment_methods { padding: 0px; }
.woocommerce-checkout .checkout #payment .woocommerce-info { background-color: rgb(251, 251, 251); border: 0px; color: rgb(0, 0, 0); font-size: 12px; line-height: 18px; padding: 18px; }
.woocommerce-checkout .checkout #payment .woocommerce-info::before { display: none; }
.woocommerce-checkout .checkout #payment #place_order { float: unset; margin-top: 32px; width: 100%; }
.woocommerce-checkout .checkout #payment .form-row.place-order { padding: 24px 0px 0px; }
.woocommerce-checkout .checkout #payment div.payment_box { background-color: rgb(251, 251, 251); }
.woocommerce-checkout .checkout #payment div.payment_box::before { border-width: 1em; border-style: solid; border-color: transparent transparent rgb(251, 251, 251); border-image: none; content: ""; display: block; left: 0px; margin: -1em 0px 0px 2em; position: absolute; top: -0.75em; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background-color: rgb(251, 251, 251); border: 0px; color: rgb(0, 0, 0); padding: 18px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
.woocommerce-checkout form.checkout_coupon { background-color: rgb(251, 251, 251); border: 0px; border-radius: 0px; display: flex; gap: 18px; margin: -32px 0px 32px; padding: 18px; }
.woocommerce-checkout form.checkout_coupon .form-row { margin: 0px; padding: 0px; }
.woocommerce-checkout form.checkout_coupon .form-row-first { width: 25%; }
.woocommerce-checkout form.checkout_coupon .form-row .input-text { border-radius: 0px; height: 100%; }
.woocommerce-checkout form.checkout_coupon .form-row .input-text.has-error { border-color: rgb(184, 28, 35); }
.woocommerce-checkout form.checkout_coupon .coupon-error-notice { display: flex; }
.woocommerce-checkout.woocommerce-order-received table.order_details tbody > tr:last-child > td { border-bottom: 2px solid rgb(231, 231, 231); }
.woocommerce-checkout.woocommerce-order-received table.order_details tr > td:last-child, .woocommerce-checkout.woocommerce-order-received table.order_details tr > th:last-child { text-align: right; }
.woocommerce-checkout.woocommerce-order-received .woocommerce-notice--success { font-size: 48px; }
.woocommerce-checkout.woocommerce-order-received ul.order_details { background-color: rgb(251, 251, 251); display: grid; gap: 0px; grid-template-columns: repeat(5, auto); padding: 18px; }
.woocommerce-checkout.woocommerce-order-received ul.order_details::after, .woocommerce-checkout.woocommerce-order-received ul.order_details::before { display: none; }
.woocommerce-checkout.woocommerce-order-received ul.order_details li { display: flex; flex-direction: column; float: none; margin: 0px; padding-inline: 18px; }
.woocommerce-checkout.woocommerce-order-received ul.order_details li:not(:last-child) { border-right: 1px dashed rgb(231, 231, 231); }
.woocommerce-checkout.woocommerce-order-received ul.order_details li:first-child { padding-left: 0px; }
.woocommerce-checkout.woocommerce-order-received ul.order_details li:last-child { padding-right: 0px; }
.woocommerce-checkout.woocommerce-order-received .woocommerce-customer-details address { background-color: rgb(251, 251, 251); border: 1px solid rgb(231, 231, 231); border-radius: 0px; padding: 18px; }
.woocommerce-account .woocommerce-MyAccount-content { width: 65%; }
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-MyAccount-orders tbody > tr:nth-child(2n) > td, .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-MyAccount-orders tbody > tr:nth-child(2n) > th, .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-downloads tbody > tr:nth-child(2n) > td, .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-downloads tbody > tr:nth-child(2n) > th { background-color: rgb(251, 251, 251); }
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tbody tr:last-child > td, .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-downloads tbody tr:last-child > td { border-bottom: 2px solid rgb(231, 231, 231); }
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tr > td:last-child, .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tr > th:last-child, .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-downloads tr > td:last-child, .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-downloads tr > th:last-child { text-align: right; }
.woocommerce-account .woocommerce-Address, .woocommerce-account .woocommerce-customer-details address { background-color: rgb(251, 251, 251); border: 1px solid rgb(231, 231, 231); border-radius: 0px; padding: 18px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: 0px; list-style: none; padding: 0px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link { border-bottom: 1px solid rgb(231, 231, 231); color: var(--ehc-button-color); padding: 0px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link a { display: block; padding-block: var(--ehc-padding-block-start) var(--ehc-padding-block-end); padding-inline: var(--ehc-padding-inline-start) var(--ehc-padding-inline-end); text-decoration: var(--ehc-button-text-decoration); }
.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active { background-color: var(--ehc-button-background-color); border: var(--ehc-button-border-width) solid var(--ehc-button-border-color); border-bottom-left-radius: var(--ehc-button-border-bottom-left-radius); border-bottom-right-radius: var(--ehc-button-border-bottom-right-radius); border-top-left-radius: var(--ehc-button-border-top-left-radius); border-top-right-radius: var(--ehc-button-border-top-right-radius); padding: 0px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a { color: inherit; }
.woocommerce-account .woocommerce-MyAccount-navigation-link::marker { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation-link::before { content: none; }
.woocommerce-account .woocommerce-Addresses { display: grid; gap: 18px; }
@media (min-width: 1025px) {
  .woocommerce-account .woocommerce-Addresses { grid-template-columns: repeat(2, 1fr); }
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { grid-column: span 1; }
.woocommerce-account .woocommerce-Addresses::after, .woocommerce-account .woocommerce-Addresses::before { display: none; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { width: auto; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title a.edit { display: block; float: none; margin-bottom: 16px; }
.woocommerce-account .woocommerce-EditAccountForm .woocommerce-form-row { margin-bottom: 32px; }
.woocommerce-account .woocommerce-EditAccountForm fieldset { border: 1px solid rgb(173, 173, 173); margin-bottom: 32px; padding: 32px; }
.woocommerce-account .woocommerce-EditAccountForm fieldset .woocommerce-form-row:last-child { margin-bottom: 0px; }
.woocommerce-account .woocommerce-EditAccountForm legend { padding-inline: 18px; }

/* 0.25.2: asterisco de campo obligatorio con el color de error de la tienda (el rojo puro de WooCommerce da 4:1). */
body.nx .woocommerce form .form-row .required, body.nx abbr.required { color: var(--nx-err); }

/* ============ 0.32.0 · Selector propio (NXSelect) ============ */
.nx-selw{position:relative;display:block;width:100%;min-width:0}
.nx-sel-native{position:absolute!important;left:0;bottom:0;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important}
/* Campo: el mismo de los formularios de la tienda */
body.nx .nx-sel{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:50px;padding:0 14px 0 16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--nx-ink) 22%,transparent);font:500 16px/1.25 var(--nx-font-body),sans-serif;color:var(--nx-ink);cursor:pointer;transition:box-shadow .15s ease}
body.nx .nx-sel:hover{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--nx-ink) 45%,transparent)}
body.nx .nx-sel:focus-visible,body.nx .nx-sel.is-open{box-shadow:inset 0 0 0 1.5px var(--nx-brand),0 0 0 3px color-mix(in srgb,var(--nx-brand) 16%,transparent);outline:0}
body.nx .nx-sel.is-empty{color:var(--nx-muted)}
body.nx .nx-sel:disabled{cursor:default;opacity:.55}
body.nx .nx-sel.is-invalid{box-shadow:inset 0 0 0 1.5px var(--nx-err)}
.nx-sel__v{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nx-sel__chev{flex:none;color:var(--nx-muted);transition:transform .2s ease}
.nx-sel.is-open .nx-sel__chev{transform:rotate(180deg)}
/* En los formularios de WooCommerce (pago) y en Mis direcciones, el alto y el borde de esos campos */
body.nx .woocommerce form .form-row .nx-sel{min-height:48px;border-radius:var(--nx-radius-s);background:var(--nx-paper);box-shadow:inset 0 0 0 1.5px var(--nx-line)}
body.nx .woocommerce form .form-row .nx-sel:is(:focus-visible,.is-open){box-shadow:inset 0 0 0 1.5px var(--nx-brand),0 0 0 3px color-mix(in srgb,var(--nx-brand) 18%,transparent)}
body.nx .woocommerce form .form-row.woocommerce-invalid .nx-sel{box-shadow:inset 0 0 0 1.5px var(--nx-err)}
body.nx .nx-addr__f .nx-sel{min-height:52px}
body.nx .nx-shipcalc__row .nx-sel{min-height:44px;border-radius:var(--nx-radius-s);font:600 14px/1.2 var(--nx-font-head),sans-serif}

/* Lista */
.nx-selp{position:fixed;z-index:100010;font-family:var(--nx-font-body),sans-serif}
.nx-selp__box{box-sizing:border-box;display:flex;flex-direction:column;max-height:min(480px,calc(100dvh - 24px));overflow:hidden;padding:8px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--nx-ink) 12%,transparent),0 24px 48px -20px rgba(28,28,28,.45);opacity:0;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease}
.nx-selp.is-up .nx-selp__box{transform:translateY(4px)}
.nx-selp.is-in .nx-selp__box{opacity:1;transform:none}
.nx-selp__q{flex:none;display:flex;align-items:center;gap:10px;height:44px;margin:0 0 6px;padding:0 12px;border-radius:12px;background:var(--nx-paper);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nx-ink) 12%,transparent);color:var(--nx-muted)}
.nx-selp__q:focus-within{box-shadow:inset 0 0 0 1.5px var(--nx-brand)}
body.nx .nx-selp__q input{all:unset;flex:1;min-width:0;height:100%;font:500 15px var(--nx-font-body),sans-serif;color:var(--nx-ink)}
body.nx .nx-selp__q input::placeholder{color:var(--nx-muted);opacity:1}
.nx-selp__l{flex:1 1 auto;min-height:0;list-style:none;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;max-height:440px;outline:0;display:flex;flex-direction:column;gap:2px}
.nx-selp__o{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;margin:0;padding:0 12px;border-radius:10px;font:500 15px/1.25 var(--nx-font-body),sans-serif;color:var(--nx-ink);cursor:pointer;scroll-margin:4px}
.nx-selp__o b{font-weight:700}
.nx-selp__o.is-hi{background:var(--nx-surface)}
.nx-selp__o.is-sel{font-weight:600;color:var(--nx-brand)}
.nx-selp__o svg{flex:none}
.nx-selp__none{padding:14px 12px;font:500 15px var(--nx-font-body),sans-serif;color:var(--nx-muted)}
.nx-selp__n{flex:none;margin:0;padding:8px 12px 4px;font:500 12px var(--nx-font-body),sans-serif;color:var(--nx-muted)}
.nx-selp__grip,.nx-selp__head,.nx-selp__scrim{display:none}
/* Celular y tablet: hoja desde abajo */
.nx-selp--sheet{inset:0}
.nx-selp--sheet .nx-selp__scrim{display:block;position:absolute;inset:0;background:rgba(28,28,28,.4);opacity:0;transition:opacity .2s ease}
.nx-selp--sheet.is-in .nx-selp__scrim{opacity:1}
.nx-selp--sheet .nx-selp__box{position:absolute;left:0;right:0;bottom:0;max-height:78dvh;padding:12px 16px calc(20px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;box-shadow:0 -12px 40px -20px rgba(28,28,28,.45);transform:translateY(32px);transition:opacity .2s ease,transform .22s cubic-bezier(.2,.7,.2,1)}
.nx-selp--sheet.is-in .nx-selp__box{transform:none}
.nx-selp--sheet .nx-selp__grip{display:block;flex:none;align-self:center;width:44px;height:5px;margin-bottom:10px;border-radius:9px;background:color-mix(in srgb,var(--nx-ink) 18%,transparent)}
.nx-selp--sheet .nx-selp__head{display:flex;flex:none;align-items:center;justify-content:space-between;padding:0 4px 8px}
.nx-selp__head b{font:600 22px var(--nx-font-head),sans-serif;color:var(--nx-ink)}
.nx-selp__x{all:unset;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--nx-muted);cursor:pointer}
.nx-selp--sheet .nx-selp__l{max-height:none;flex:1}
.nx-selp--sheet .nx-selp__o{min-height:46px;font-size:16px}
html.nx-selp-on{overflow:hidden}
@media (prefers-reduced-motion:reduce){.nx-selp__box,.nx-selp__scrim{transition:none}}

/* 0.34.0 · Retiro programado en el pedido (pedido recibido, Mi cuenta) */
.nx-pk-order{display:flex;flex-direction:column;gap:4px;margin:0 0 24px;padding:18px 22px;border-radius:16px;background:color-mix(in srgb,var(--nx-brand) 9%,#fff);color:var(--nx-body)}
.nx-pk-order b{font:600 18px/1.3 var(--nx-font-head),sans-serif;color:var(--nx-ink)}
.nx-pk-order small{font-size:14px}
.nx-pk-order em{font-style:normal;font-weight:600;color:var(--nx-brand)}

/* ============ 0.37.0 · Regla de la marca: sin rótulos en mayúsculas ni letras espaciadas ============
   Ningún texto chico en mayúsculas con letras separadas (el «rótulo» típico de plantilla e IA). Los rótulos que
   quedan (datos, títulos de menú y pie, totales) van en minúsculas normales, 14 px, sin espaciado. Excepción:
   las hojas de calendario (NOV, LUN), que imitan un calendario real. */
html body.nx :is(.nx-eyebrow,.nx-mega__k,.nx-menu__k,.nx-ft__h,.nx-qs__k,.nx-akick,.nx-aticket__num small,.nx-accm__live small,.nx-addr__n small,.nx-legal__toc-h,.nx-mesa__why,.nx-talon__n small,.nx-pc__meta,.nx-sort__k,.nx-chip__l,.nx-alert__k,.nx-buy-t__l,.nx-nk-h,.nx-pair__kind,.nxb__k,.nx-co__side .nx-co-row--total>span:first-child){text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:600!important;line-height:1.35}


/* 0.52.2 · Avisos sin barra de color al costado: borde fino, esquinas redondas y un sello dibujado (i · ! · ✓) */
.nx .woocommerce-message,.nx .woocommerce-info,.nx .woocommerce-error{position:relative;border:1px solid color-mix(in srgb,var(--nx-brand) 20%,transparent)!important;border-radius:14px;padding:14px 18px 14px 50px;background:color-mix(in srgb,var(--nx-brand) 5%,var(--nx-paper));line-height:1.45}
.nx .woocommerce-error{border-color:color-mix(in srgb,var(--nx-err) 28%,transparent)!important;background:color-mix(in srgb,var(--nx-err) 6%,var(--nx-paper))}
.nx .woocommerce-message{border-color:color-mix(in srgb,var(--nx-ok) 28%,transparent)!important;background:color-mix(in srgb,var(--nx-ok) 7%,var(--nx-paper))}
.nx .woocommerce-message::before,.nx .woocommerce-info::before,.nx .woocommerce-error::before{display:flex!important;position:absolute;left:16px;top:14px;width:22px;height:22px;margin:0;border-radius:50%;align-items:center;justify-content:center;font:700 13px/1 var(--nx-font-head),sans-serif!important;color:#fff;background:var(--nx-brand);content:"i"}
.nx .woocommerce-error::before{content:"!";background:var(--nx-err)}
.nx .woocommerce-message::before{content:"✓";background:var(--nx-ok)}
.nx ul.woocommerce-error li{margin:0;padding:0}
.nx ul.woocommerce-error li+li{margin-top:6px}
body.nx .woocommerce-message,body.nx .woocommerce-info,body.nx .woocommerce-error{padding:14px 18px 14px 50px!important;min-height:0}
body.nx .woocommerce-message::before,body.nx .woocommerce-info::before,body.nx .woocommerce-error::before{top:14px!important;left:16px!important}
body.nx .woocommerce-form-coupon-toggle .woocommerce-info{padding:14px 18px!important}
body.nx .woocommerce-form-coupon-toggle .woocommerce-info::before{display:none!important}
