/* Ajustes generales de la tienda pública */
.woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon,
.power-coupons-drawer-trigger-wrapper,
#power-coupons-drawer{display:none!important}

.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .shipping_address{display:none!important}

.woocommerce-checkout input[type="radio"],
.woocommerce-checkout input[type="checkbox"]{accent-color:#124e4a}

.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:13px;line-height:1.55}
.woocommerce-checkout #place_order{text-transform:none!important}
.cm-modal-botones button,.cm-modal-botones a{text-transform:none!important}

/* El panel de gestión no necesita elementos de compra públicos. */
.cm-gestion-page #moderncart-floating-cart,
.cm-gestion-page #moderncart-slide-out-modal{display:none!important}

/* Productos agotados: visibles para informar, pero no seleccionables. */
.products li.product.outofstock{position:relative;overflow:hidden;filter:grayscale(.45);opacity:.68}
.products li.product.outofstock a,
.products li.product.outofstock button{pointer-events:none!important;cursor:not-allowed!important}
.products li.product.outofstock .button{visibility:hidden}
.products li.product.outofstock .cm-no-stock-ribbon{visibility:visible}
.cm-no-stock-ribbon{position:absolute;z-index:15;top:42%;left:-7%;width:114%;padding:10px 8px;transform:rotate(-7deg);background:#8a2c26;color:#fff;text-align:center;text-transform:uppercase;font-size:14px;font-weight:900;letter-spacing:.12em;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.single-product .stock.out-of-stock{display:inline-block;padding:9px 14px;border-radius:999px;background:#f8dfdc;color:#8a2c26!important;font-weight:800}

/* Menú jerárquico de categorías de la tienda. */
.wpc-filters-section.cm-category-menu-ready{position:relative!important;z-index:40!important;overflow:visible!important;width:100%!important}
.cm-category-menu-ready>.wpc-filter-header,
.cm-category-menu-ready>.wpc-filter-content{display:none!important}
.cm-shop-categories{width:100%;margin:0 auto;text-align:center}
.cm-shop-main-categories{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}
.cm-shop-main-item{display:inline-flex;overflow:hidden;border:1px solid #176b68;border-radius:999px;background:transparent;transition:background .18s,color .18s}
.cm-shop-main-category{display:inline-flex;min-height:40px;align-items:center;padding:8px 19px;border:1px solid #176b68;border-radius:999px;background:transparent;color:#124e4a!important;text-decoration:none!important;font-size:15px;line-height:1.2}
.cm-shop-main-item>.cm-shop-main-category{border:0;border-radius:0;padding-right:10px}
.cm-shop-main-item:hover,.cm-shop-main-item.is-active,.cm-shop-main-item:has(.cm-shop-main-toggle[aria-expanded="true"]),.cm-shop-main-category:hover,.cm-shop-main-category.is-active{background:#125b57;color:#fff!important}
.cm-shop-main-item:hover>.cm-shop-main-category,.cm-shop-main-item.is-active>.cm-shop-main-category,.cm-shop-main-item:has(.cm-shop-main-toggle[aria-expanded="true"])>.cm-shop-main-category{color:#fff!important}
.cm-shop-main-toggle{display:grid;width:34px;flex:0 0 34px;place-items:center;padding:0 4px 0 0;border:0;background:transparent;color:#176b68;cursor:pointer}
.cm-shop-main-item:hover>.cm-shop-main-toggle,.cm-shop-main-item.is-active>.cm-shop-main-toggle,.cm-shop-main-toggle[aria-expanded="true"]{color:#fff}
.cm-shop-category-panel{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;margin:12px auto 2px;padding:12px 8px;border-top:1px solid #cbded9}
.cm-shop-category-panel[hidden],.cm-shop-subcategories[hidden]{display:none!important}
.cm-shop-category-row{display:inline-flex;overflow:hidden;align-items:center;border:1px solid #8ab6ae;border-radius:999px;background:#fff}
.cm-shop-category-row>a{display:block;padding:8px 13px;color:#174e4b!important;text-decoration:none!important;font-size:14px;font-weight:700}
.cm-shop-category-row:hover,.cm-shop-category-row.is-active{background:#dceee9}
.cm-shop-subtoggle:not(.cm-shop-main-toggle){display:grid;width:31px;height:34px;flex:0 0 31px;place-items:center;padding:0;border:0;background:transparent;color:#176b68;cursor:pointer}
.cm-chevron-icon{display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
.cm-shop-subtoggle[aria-expanded="true"] .cm-chevron-icon{transform:translateY(2px) rotate(225deg)}
.cm-shop-subcategories{display:flex;flex:0 0 100%;flex-wrap:wrap;justify-content:center;gap:7px;margin:3px 0;padding:10px 8px 2px;border-top:1px dashed #cbded9}
@media(max-width:600px){.cm-shop-main-categories{gap:7px}.cm-shop-main-category{min-height:38px;padding:7px 14px;font-size:14px}.cm-shop-category-panel{margin-top:10px;padding-inline:2px}.cm-shop-category-row>a{font-size:13px}}

/* Carrusel de categorías de la portada. */
.cm-category-carousel{position:relative!important}
.cm-category-card[hidden]{display:none!important}
.cm-category-controls{display:contents}
.cm-category-arrow{position:absolute;z-index:20;top:50%;display:block;width:34px;height:70px;padding:0;border:0;background:transparent;color:#176b68;font:400 52px/1 Georgia,serif;cursor:pointer;text-shadow:0 2px 8px rgba(23,107,104,.18);transition:color .2s,transform .2s}
.cm-category-prev{left:3px;transform:translateY(-50%)}
.cm-category-next{right:3px;transform:translateY(-50%)}
.cm-category-arrow:hover:not(:disabled){color:#0d4f4c}
.cm-category-prev:hover:not(:disabled){transform:translate(-3px,-50%)}
.cm-category-next:hover:not(:disabled){transform:translate(3px,-50%)}
.cm-category-arrow:disabled{visibility:hidden}
@media(max-width:782px){.cm-category-prev{left:5px}.cm-category-next{right:5px}}
@media(max-width:480px){.cm-category-prev{left:-2px}.cm-category-next{right:-2px}.cm-category-arrow{font-size:46px}}

/* Pago manual por alias o QR. */
.cm-transfer-intro{margin:10px 0;padding:14px;border:1px solid #bdd5cf;border-radius:10px;background:#f1f8f6;color:#173f3c;font-size:14px;line-height:1.5}
.cm-transfer-intro p{margin:5px 0}
.cm-transfer-payment{margin:12px 0 4px;padding:16px;border:1px solid #bdd5cf;border-radius:12px;background:#f1f8f6;color:#173f3c}
.cm-transfer-payment>p:first-child{margin-top:0}
.cm-transfer-grid{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:18px;margin:14px 0}
.cm-transfer-qr{display:block;width:180px;max-width:100%;height:auto;border:8px solid #fff;border-radius:8px}
.cm-transfer-data{display:grid;gap:5px}
.cm-transfer-alias{font-size:19px;color:#124e4a;word-break:break-word}
.cm-copy-alias{justify-self:start;margin-top:8px;padding:8px 12px;border:1px solid #176b68;border-radius:7px;background:#fff;color:#176b68;font-weight:800;cursor:pointer}
.cm-transfer-warning{margin-bottom:0!important;padding-top:10px;border-top:1px solid #d4e4e0;font-size:13px;line-height:1.5}
.cm-transfer-thanks{max-width:620px;margin:20px auto;padding:22px;border:1px solid #bdd5cf;border-radius:14px;background:#f1f8f6;text-align:center}
.cm-transfer-order{margin:14px 0;padding:12px;border-radius:9px;background:#fff;color:#124e4a;font-size:17px;line-height:1.5}
.cm-transfer-thanks .cm-transfer-grid{text-align:left}
.cm-change-payment{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #bdd5cf}
.cm-change-payment a{display:inline-block;padding:10px 14px;border-radius:8px;background:#124e4a;color:#fff!important;text-decoration:none!important;font-weight:800}
.cm-change-payment a:hover{background:#0d3e3b}
@media(max-width:560px){.cm-transfer-grid{grid-template-columns:1fr}.cm-transfer-qr{margin:auto}.cm-transfer-data{text-align:center}.cm-copy-alias{justify-self:center}}

/* Pantalla para cambiar el medio de pago de un pedido existente. */
.woocommerce-order-pay .entry-title{margin:34px 0 16px;text-align:center;color:#124e4a;font-size:34px}
.woocommerce-order-pay .woocommerce{width:min(900px,calc(100% - 32px));margin:0 auto 55px;padding:28px;background:#fff;border:1px solid #d5e3df;border-radius:18px;box-shadow:0 12px 34px rgba(18,78,74,.08)}
.cm-pay-order-header{position:relative;margin-bottom:22px;padding:4px 4px 20px;border-bottom:1px solid #dce8e5;text-align:center}
.cm-pay-order-header>span{display:inline-block;margin-bottom:5px;color:#6a817e;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.cm-pay-order-header h2{margin:3px 0 7px;color:#124e4a;font-size:28px}
.cm-pay-order-header p{margin:0;color:#5e7471}
.cm-pay-back{position:absolute;left:0;top:7px;color:#176b68!important;font-weight:800;text-decoration:none!important}
.woocommerce-order-pay table.shop_table{overflow:hidden;margin:0 0 24px;border:1px solid #d8e4e1!important;border-collapse:separate;border-spacing:0;border-radius:12px;background:#fff}
.woocommerce-order-pay table.shop_table th,.woocommerce-order-pay table.shop_table td{padding:12px 14px!important;border-color:#e1eae8!important}
.woocommerce-order-pay table.shop_table thead{background:#edf6f3}
.woocommerce-order-pay #payment{padding:0!important;background:transparent!important}
.woocommerce-order-pay #payment ul.payment_methods{display:grid;gap:12px;margin:0!important;padding:0!important;border:0!important}
.woocommerce-order-pay #payment ul.payment_methods>li{margin:0!important;padding:15px!important;border:1px solid #d5e3df;border-radius:12px;background:#fff;list-style:none}
.woocommerce-order-pay #payment ul.payment_methods>li:has(input:checked){border-color:#176b68;box-shadow:0 0 0 2px rgba(23,107,104,.1)}
.woocommerce-order-pay #payment div.payment_box{margin:13px 0 0!important;padding:14px!important;border-radius:9px!important;background:#f3f7f6!important}
.woocommerce-order-pay #payment div.payment_box:before{border-bottom-color:#f3f7f6!important}
.woocommerce-order-pay #payment .form-row{margin:18px 0 0!important;padding:0!important}
.woocommerce-order-pay #place_order{width:100%;min-height:52px;border-radius:9px!important;background:#124e4a!important;font-size:16px!important;font-weight:800!important;text-transform:none!important}
.woocommerce-order-pay #place_order:hover{background:#0d3e3b!important}
.woocommerce-order-pay .woocommerce-privacy-policy-text{font-size:13px;line-height:1.5;color:#637672}
@media(max-width:650px){.woocommerce-order-pay .woocommerce{width:min(100% - 20px,900px);padding:18px;border-radius:14px}.woocommerce-order-pay .entry-title{font-size:28px}.cm-pay-order-header{padding-top:38px}.cm-pay-back{top:0}.cm-pay-order-header h2{font-size:24px}.woocommerce-order-pay table.shop_table th,.woocommerce-order-pay table.shop_table td{padding:10px!important;font-size:13px}}

/* Sincronización silenciosa: el contenido sigue visible y utilizable. */
#moderncart-slide-out-modal.moderncart-slide-right #moderncart-slide-out{position:fixed!important;right:0!important;left:auto!important}
.cm-cart-syncing #moderncart-slide-out-modal .moderncart-default-slide-out:before{content:"Actualizando carrito…";position:absolute;z-index:9998;top:76px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:7px 13px;border:1px solid #c9dfda;border-radius:999px;background:#edf6f3;color:#124e4a;box-shadow:0 5px 16px rgba(18,78,74,.12);font-size:13px;font-weight:800;line-height:1.2;text-align:center;pointer-events:none}

/* Cuenta de clientes y registro de pedidos. */
.woocommerce-account .site-content{background:#edf8f5}
.woocommerce-account .entry-header{width:min(1120px,calc(100% - 32px));margin:42px auto 18px;text-align:center}
.woocommerce-account .entry-title{color:#124e4a;font-size:38px}
.woocommerce-account .entry-content>.woocommerce{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:24px;width:min(1120px,calc(100% - 32px));margin:0 auto 60px;padding:26px;border:1px solid #d5e5e1;border-radius:18px;background:#fff;box-shadow:0 14px 38px rgba(18,78,74,.08)}
.woocommerce-account .entry-content>.woocommerce:before,.woocommerce-account .entry-content>.woocommerce:after{display:none!important;content:none!important}
.woocommerce-account:not(.logged-in) .entry-content>.woocommerce{display:block;width:min(880px,calc(100% - 32px))}
.woocommerce-account:not(.logged-in) .entry-content>.woocommerce{padding:0;border:0;background:transparent;box-shadow:none}
.woocommerce-account .woocommerce-MyAccount-navigation{float:none!important;width:auto!important}
.woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:12px 14px;border-radius:9px;color:#174e4b;text-decoration:none;font-weight:800}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation a:hover{background:#dceee9;color:#0d4f4c}
.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:auto!important;min-width:0;color:#304b48}
.woocommerce-account .woocommerce-MyAccount-content>p{max-width:760px;line-height:1.65}
.woocommerce-account .woocommerce-MyAccount-content h2,.woocommerce-account .woocommerce-MyAccount-content h3{color:#124e4a}
.cm-account-welcome{margin-top:22px;padding:22px;border:1px solid #c8dfda;border-radius:14px;background:#f1f8f6}
.cm-account-welcome h2{margin:0 0 9px;font-size:24px}
.cm-account-welcome p{margin:0 0 18px;line-height:1.65}
.cm-account-orders-link,.woocommerce-account .button{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;padding:9px 15px!important;border:0!important;border-radius:8px!important;background:#125b57!important;color:#fff!important;text-decoration:none!important;font-weight:800!important;text-transform:none!important}
.cm-account-orders-link:hover,.woocommerce-account .button:hover{background:#0d4542!important}
.woocommerce-account table.shop_table{overflow:hidden;border:1px solid #d8e5e2!important;border-collapse:separate!important;border-spacing:0;border-radius:12px}
.woocommerce-account table.shop_table th{background:#edf6f3;color:#124e4a}
.woocommerce-account table.shop_table th,.woocommerce-account table.shop_table td{padding:13px!important;border-color:#e2ece9!important}
.woocommerce-account table.shop_table .button{min-height:36px;margin:2px;padding:7px 11px!important;font-size:13px!important}
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button,.woocommerce-account button[name="save_account_details"],.woocommerce-account button[name="save_address"],.woocommerce-account button[name="save_password"],.woocommerce-account button[name="woocommerce_checkout_place_order"]{box-shadow:0 5px 13px rgba(18,91,87,.2)!important;transition:transform .16s ease,box-shadow .16s ease!important}
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:hover,.woocommerce-account button[name="save_account_details"]:hover,.woocommerce-account button[name="save_address"]:hover,.woocommerce-account button[name="save_password"]:hover{transform:translateY(-1px);box-shadow:0 7px 17px rgba(18,91,87,.25)!important}
.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register{padding:24px!important;border:1px solid #d5e5e1!important;border-radius:14px!important;background:#f8fbfa}
.woocommerce-account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.woocommerce-account .u-columns:before,.woocommerce-account .u-columns:after{display:none!important;content:none!important}
.woocommerce-account .u-columns .col-1,.woocommerce-account .u-columns .col-2{float:none!important;width:auto!important;max-width:none!important;padding:25px;border:1px solid #d5e5e1;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(18,78,74,.07)}
.woocommerce-account .u-columns h2{margin:0 0 20px!important;color:#124e4a;text-align:left;font-size:27px}
.woocommerce-account .u-columns .woocommerce-form-login,.woocommerce-account .u-columns .woocommerce-form-register{margin:0!important;padding:0!important;border:0!important;background:transparent}
.woocommerce-account form .form-row input.input-text{min-height:46px;border:1px solid #b9d1cc;border-radius:8px;background:#fff}
.woocommerce-account .woocommerce-Address{padding:18px;border:1px solid #d9e6e3;border-radius:12px;background:#fafcfb}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout{margin-top:9px}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a,.woocommerce-account .woocommerce-MyAccount-content a[href*="customer-logout"]{border:1px solid #c95f58!important;background:#fff4f3!important;color:#9d2f2a!important;font-weight:900!important}
.woocommerce-account .woocommerce-MyAccount-content a[href*="customer-logout"]{display:inline-flex;align-items:center;margin-left:4px;padding:4px 9px;border-radius:7px;text-decoration:none!important;line-height:1.25}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover,.woocommerce-account .woocommerce-MyAccount-content a[href*="customer-logout"]:hover{background:#9d2f2a!important;color:#fff!important}
.woocommerce-account #cm-modal-cerrado{display:none!important}
@media(max-width:800px){.woocommerce-account .entry-content>.woocommerce{grid-template-columns:1fr;padding:18px}.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;overflow-x:auto;padding-bottom:5px}.woocommerce-account .woocommerce-MyAccount-navigation li{flex:0 0 auto}.woocommerce-account .u-columns{grid-template-columns:1fr}.woocommerce-account .entry-title{font-size:31px}}

/* Confirmación de cierre de sesión. */
html.cm-account-modal-open{overflow:hidden}
.cm-account-modal[hidden]{display:none!important}
.cm-account-modal{position:fixed;z-index:1000000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(10,48,45,.58);backdrop-filter:blur(3px)}
.cm-account-modal-card{width:min(470px,100%);padding:30px;border:1px solid #c9dfda;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(8,42,40,.25);text-align:center}
.cm-account-modal-icon{display:grid;width:52px;height:52px;margin:0 auto 14px;place-items:center;border-radius:50%;background:#fff0ee;color:#9d2f2a;font-size:27px;font-weight:900}
.cm-account-modal-card h2{margin:0 0 10px;color:#124e4a;font-size:27px}
.cm-account-modal-card p{margin:0;color:#526b68;line-height:1.6}
.cm-account-modal-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}
.cm-account-modal-actions button,.cm-account-modal-actions a{display:inline-flex;min-height:45px;align-items:center;justify-content:center;padding:10px 16px;border-radius:8px;font-weight:900;text-decoration:none!important;cursor:pointer}
.cm-logout-cancel{border:1px solid #176b68;background:#fff;color:#176b68}
.cm-confirm-logout{border:1px solid #9d2f2a;background:#9d2f2a;color:#fff!important}
.cm-logout-cancel:hover{background:#edf6f3}.cm-confirm-logout:hover{background:#79241f;color:#fff!important}
@media(max-width:520px){.cm-account-modal-card{padding:24px 19px}.cm-account-modal-actions{flex-direction:column}.cm-account-modal-actions button,.cm-account-modal-actions a{width:100%}}

/* Menú rápido del ícono de usuario del encabezado. */
.cm-account-menu-host{position:relative!important;overflow:visible!important}
.cm-account-quick-menu[hidden]{display:none!important}
.cm-account-quick-menu{position:absolute;z-index:100000;top:calc(100% + 12px);right:0;width:245px;padding:8px;border:1px solid #cbded9;border-radius:12px;background:#fff;box-shadow:0 14px 36px rgba(10,54,51,.18);text-align:left}
.cm-account-quick-menu:before{content:"";position:absolute;right:14px;top:-7px;width:12px;height:12px;border-left:1px solid #cbded9;border-top:1px solid #cbded9;background:#fff;transform:rotate(45deg)}
.cm-account-quick-menu a{position:relative;display:flex!important;flex-direction:column;gap:2px;padding:11px 12px!important;border-radius:8px;color:#124e4a!important;text-decoration:none!important;font-size:14px;line-height:1.3}
.cm-account-quick-menu a:hover{background:#edf6f3!important}
.cm-account-quick-menu a small{color:#687d79;font-size:11px;font-weight:500}
.cm-account-quick-menu .cm-account-logout-link{margin-top:5px;border-top:1px solid #e1eae8;border-radius:0 0 8px 8px;color:#9d2f2a!important;font-weight:900}
.cm-account-menu-host>[aria-expanded="true"]{color:#176b68!important}
@media(max-width:540px){.cm-account-quick-menu{position:fixed;top:72px;right:12px;width:min(245px,calc(100vw - 24px))}.cm-account-quick-menu:before{display:none}}
