/* Tienda (WooCommerce) con la línea gráfica del sitio: fondo #06091c, acento #27c93f, Syne + DM Sans */
:root{--ov-bg:#06091c;--ov-card:#0d1236;--ov-line:rgba(255,255,255,.12);--ov-mute:#aab0d6;--ov-green:#27c93f;--ov-text:#eef0ff}

/* Contador del carrito en cabecera */
.ov-cart-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:999px;background:var(--ov-green);color:var(--ov-bg);font-size:11px;font-weight:800;display:grid;place-items:center;padding:0 5px}
.ov-cart-link{transition:border-color .25s,color .25s}.ov-cart-link:hover{border-color:var(--ov-green)!important;color:var(--ov-green)!important}
@media (max-width:899px){.ov-cart-link{margin-left:auto;margin-right:10px}}

/* Contenedor de páginas de tienda (la cabecera es fija, 84px) */
body.woocommerce .ov-main,body.woocommerce-page .ov-main{max-width:1280px;margin:0 auto;padding:clamp(120px,14vw,160px) clamp(16px,4vw,48px) 80px;color:var(--ov-text)}
body.woocommerce .ov-main h1,body.woocommerce-page .ov-main h1,.woocommerce-products-header__title{font-family:Syne,sans-serif;font-weight:800;letter-spacing:-.02em;font-size:clamp(36px,6vw,64px);line-height:1.05;margin:0 0 32px;color:#fff}
.ov-main h2,.ov-main h3{font-family:Syne,sans-serif;font-weight:800;letter-spacing:-.01em;color:#fff}
.ov-main p,.ov-main li,.ov-main td,.ov-main th,.ov-main label{color:var(--ov-text)}

/* Migas y avisos */
.woocommerce-breadcrumb{font-size:13px;letter-spacing:.06em;color:var(--ov-mute);margin:0 0 24px}
.woocommerce-breadcrumb a{color:var(--ov-mute)}.woocommerce-breadcrumb a:hover{color:var(--ov-green)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 24px;padding:16px 20px;border-radius:16px;background:var(--ov-card);border:1px solid var(--ov-line);border-left:4px solid var(--ov-green);color:var(--ov-text);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.woocommerce-error{border-left-color:#ff5d73}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-message .button,.woocommerce-info .button{order:2}

/* Botones */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button.alt,.woocommerce button.button.alt{display:inline-flex;align-items:center;justify-content:center;background:var(--ov-green);color:var(--ov-bg)!important;border:1px solid var(--ov-green);border-radius:999px;padding:14px 26px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:#6ff28e;border-color:#6ff28e;color:var(--ov-bg);box-shadow:0 0 28px rgba(39,201,63,.45);transform:translateY(-1px)}
.woocommerce a.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button.disabled{opacity:.45;pointer-events:none}
.woocommerce a.added_to_cart{display:inline-flex;margin-left:8px;padding:10px 18px;border:1px solid var(--ov-green);border-radius:999px;color:var(--ov-green);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

/* Listado de productos */
.woocommerce .woocommerce-result-count{color:var(--ov-mute);font-size:14px;float:none;display:inline-block;margin:0 16px 24px 0}
.woocommerce .woocommerce-ordering{float:none;display:inline-block;margin:0 0 24px}
.woocommerce ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:24px}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{float:none;width:auto;margin:0;border-radius:28px;border:1px solid var(--ov-line);background:var(--ov-card);overflow:hidden;display:flex;flex-direction:column;padding:0 0 22px;transition:transform .3s,border-color .3s;position:relative}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);border-color:rgba(39,201,63,.5)}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;color:var(--ov-text)}
.woocommerce ul.products li.product img{width:100%;aspect-ratio:4/3;object-fit:cover;margin:0;display:block;filter:saturate(.9)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Syne,sans-serif;font-size:19px;font-weight:700;color:#fff;padding:18px 22px 6px;margin:0}
.woocommerce ul.products li.product .price{display:block;padding:0 22px;margin:0 0 16px;color:var(--ov-green);font-weight:700;font-size:18px}
.woocommerce ul.products li.product .button{margin:auto 22px 0;align-self:flex-start}
.woocommerce span.onsale{position:absolute;top:14px;left:14px;right:auto;min-width:0;min-height:0;line-height:1;padding:8px 14px;border-radius:999px;background:var(--ov-green);color:var(--ov-bg);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center;margin-top:40px}
.woocommerce nav.woocommerce-pagination ul li{border:0;float:none}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:999px;background:var(--ov-card);color:var(--ov-text);border:1px solid var(--ov-line);padding:10px 16px;min-width:0}
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--ov-green);color:var(--ov-bg)}

/* Campos de formulario */
.woocommerce form .form-row label{font-size:13px;letter-spacing:.06em;color:var(--ov-mute);margin-bottom:6px;display:block}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .quantity .qty,.woocommerce-ordering select,.select2-container--default .select2-selection--single{background:#0a0f2c;color:var(--ov-text);border:1px solid var(--ov-line);border-radius:14px;padding:13px 16px;font-size:15px;min-height:48px;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{width:100%}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus,.woocommerce .quantity .qty:focus{outline:none;border-color:var(--ov-green);box-shadow:0 0 0 3px rgba(39,201,63,.2)}
.woocommerce form .form-row .required{color:var(--ov-green);text-decoration:none}
.select2-container--default .select2-selection--single{display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ov-text);line-height:normal;padding:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;right:10px}
.select2-dropdown{background:var(--ov-card);border:1px solid var(--ov-line);color:var(--ov-text)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--ov-green);color:var(--ov-bg)}
.select2-container--default .select2-search--dropdown .select2-search__field{background:#0a0f2c;color:var(--ov-text);border:1px solid var(--ov-line)}
.woocommerce form.checkout_coupon,.woocommerce form.woocommerce-form-login,.woocommerce form.register{background:var(--ov-card);border:1px solid var(--ov-line);border-radius:24px;padding:24px;margin:0 0 24px}

/* Ficha de producto */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
@media (min-width:900px){.woocommerce div.product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:auto;margin:0}
.woocommerce div.product div.images img{border-radius:28px;width:100%;height:auto;display:block}
.woocommerce div.product .flex-control-thumbs{display:flex;gap:10px;margin-top:12px;list-style:none;padding:0}
.woocommerce div.product .flex-control-thumbs li{width:80px;float:none}
.woocommerce div.product .flex-control-thumbs img{border-radius:12px;opacity:.6}.woocommerce div.product .flex-control-thumbs img.flex-active,.woocommerce div.product .flex-control-thumbs img:hover{opacity:1}
.woocommerce div.product .product_title{font-family:Syne,sans-serif;font-size:clamp(30px,4vw,48px);font-weight:800;line-height:1.1;color:#fff;margin:0 0 12px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ov-green);font-size:28px;font-weight:700}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--ov-mute);line-height:1.7;margin:16px 0}
.woocommerce div.product form.cart{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:24px 0}
.woocommerce .quantity .qty{width:90px;text-align:center}
.woocommerce div.product .product_meta{border-top:1px solid var(--ov-line);padding-top:16px;font-size:14px;color:var(--ov-mute);display:grid;gap:6px}
.woocommerce div.product .product_meta a{color:var(--ov-text)}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 24px;display:flex;gap:8px;flex-wrap:wrap;list-style:none;overflow:visible}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:1px solid var(--ov-line);border-radius:999px;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:10px 20px;display:block;color:var(--ov-mute);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--ov-green);border-color:var(--ov-green)}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ov-bg)}
.woocommerce table.shop_attributes{border:0;width:100%}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{background:transparent;border:0;border-bottom:1px solid var(--ov-line);padding:12px 8px;font-style:normal}
.woocommerce table.shop_attributes th{color:var(--ov-mute);width:30%}.woocommerce table.shop_attributes td p{margin:0;padding:0}

/* Tablas: carrito, pedido */
.woocommerce table.shop_table{border:1px solid var(--ov-line);border-radius:24px;border-collapse:separate;border-spacing:0;overflow:hidden;background:var(--ov-card);width:100%}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border:0;border-top:1px solid var(--ov-line);padding:16px;background:transparent;color:var(--ov-text)}
.woocommerce table.shop_table thead th{border-top:0;color:var(--ov-mute);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.woocommerce table.shop_table td.product-thumbnail img{width:72px;border-radius:12px}
.woocommerce table.shop_table td a:not(.button){color:#fff}
.woocommerce a.remove{color:var(--ov-mute)!important;background:transparent;border:1px solid var(--ov-line);width:28px;height:28px;line-height:26px;font-size:18px}
.woocommerce a.remove:hover{background:var(--ov-green);color:var(--ov-bg)!important;border-color:var(--ov-green)}
.woocommerce-cart table.cart td.actions{padding:20px 16px}
.woocommerce-cart table.cart td.actions .coupon{display:flex;gap:10px;flex-wrap:wrap}
.woocommerce .cart-collaterals{margin-top:32px}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{float:none;width:100%;max-width:520px;margin-left:auto}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,#order_review_heading{font-size:clamp(22px,2.4vw,30px);margin:0 0 16px}
.wc-proceed-to-checkout a.checkout-button{display:flex;width:100%;padding:18px;font-size:14px}

/* Checkout */
.woocommerce-checkout #customer_details{display:grid;gap:32px}
@media (min-width:1000px){.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0 48px;align-items:start}.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1}.woocommerce-checkout #order_review{grid-column:2;grid-row:2}.woocommerce-checkout #customer_details{grid-column:1;grid-row:1/span 3}}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{float:none;width:100%}
@media (max-width:600px){.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}}
.woocommerce-checkout #payment{background:var(--ov-card);border:1px solid var(--ov-line);border-radius:24px;margin-top:20px}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--ov-line);padding:20px;margin:0}
.woocommerce-checkout #payment ul.payment_methods li{list-style:none;margin:0 0 12px;color:var(--ov-text)}
.woocommerce-checkout #payment ul.payment_methods li label{color:#fff;font-weight:700;display:inline}
.woocommerce-checkout #payment div.payment_box{background:#0a0f2c;color:var(--ov-mute);border-radius:14px;margin:10px 0 0}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#0a0f2c}
.woocommerce-checkout #payment div.form-row{padding:20px}
.woocommerce-checkout #place_order{width:100%;padding:18px;font-size:14px;float:none}
.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper{color:var(--ov-mute);font-size:13px}
.woocommerce-privacy-policy-text a,.woocommerce-terms-and-conditions-wrapper a{color:var(--ov-green)}
.woocommerce ul#shipping_method{list-style:none;padding:0;margin:0}
.woocommerce ul#shipping_method li{margin:0 0 6px}

/* Mi cuenta y confirmación */
.woocommerce-account .woocommerce{display:grid;gap:32px}
@media (min-width:900px){.woocommerce-account.logged-in .woocommerce{grid-template-columns:240px 1fr}}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.woocommerce-MyAccount-navigation a{display:block;padding:12px 18px;border-radius:999px;border:1px solid var(--ov-line);color:var(--ov-mute);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--ov-green);border-color:var(--ov-green);color:var(--ov-bg)}
.woocommerce-account .woocommerce-MyAccount-content,.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto}
.woocommerce-account .u-columns{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.woocommerce-account .u-columns .u-column1,.woocommerce-account .u-columns .u-column2{float:none;width:auto}
.woocommerce-account form.login,.woocommerce-account form.register{background:var(--ov-card);border:1px solid var(--ov-line);border-radius:24px;padding:24px;margin:0}
.woocommerce-order-received .woocommerce-thankyou-order-received{font-size:20px;color:var(--ov-green);font-weight:700}
.woocommerce ul.order_details{list-style:none;display:flex;flex-wrap:wrap;gap:24px;padding:20px;border:1px solid var(--ov-line);border-radius:24px;background:var(--ov-card)}
.woocommerce ul.order_details li{border:0;margin:0;padding:0;color:var(--ov-mute);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.woocommerce ul.order_details li strong{display:block;color:#fff;font-size:16px;text-transform:none;letter-spacing:0}

@media (max-width:767px){
  .woocommerce table.shop_table_responsive tr td::before{color:var(--ov-mute);font-weight:400}
  .woocommerce table.shop_table_responsive tr:nth-child(2n) td,.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td{background:transparent}
  .woocommerce-cart table.cart td.actions .coupon{display:grid}
}

/* Páginas genéricas (legales, etc.) */
.ov-page{max-width:900px;margin:0 auto;padding:clamp(120px,14vw,160px) clamp(16px,4vw,48px) 80px}
body.woocommerce-page .ov-page{max-width:1280px}
.ov-page h1{font-family:Syne,sans-serif;font-weight:800;letter-spacing:-.02em;font-size:clamp(36px,6vw,64px);line-height:1.05;margin:0 0 32px;color:#fff}
.ov-page p,.ov-page li{color:var(--ov-text);line-height:1.7}
.ov-page h2{font-size:clamp(22px,2.4vw,30px);margin:32px 0 12px}
