/* WooCommerce y Tutor LMS sobre los tokens del tema. */
.woo-wrap{max-width:calc(var(--maxw) + var(--pad)*2);margin-inline:auto;padding:clamp(28px,5vw,64px) var(--pad) clamp(72px,9vw,120px)}
.woocommerce h1.page-title,.woocommerce-products-header__title,.woo-wrap .entry-title{font-size:clamp(2.25rem,5vw,4rem);font-weight:600;letter-spacing:-.04em;line-height:1.02;margin-bottom:24px}
.woocommerce-breadcrumb{font-size:.8125rem;color:var(--muted);margin-bottom:22px}
.woocommerce-breadcrumb a{text-decoration:none}

/* Botones */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.wc-block-components-button:not(.is-link){display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border-radius:var(--r-pill);border:1px solid transparent;background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none;line-height:1;transition:background .2s,transform .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#E02A1A;color:var(--on-accent)}
.woocommerce a.button:active,.woocommerce button.button:active{transform:scale(.98)}
.woocommerce a.button.disabled,.woocommerce button.button:disabled{opacity:.5;cursor:not-allowed}

/* Rejilla de productos */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;margin:0;padding:0;list-style:none}
.woocommerce ul.products li.product{display:flex;flex-direction:column;gap:8px;margin:0;width:auto;float:none;padding:14px 14px 18px;border:1px solid var(--line);border-radius:var(--r-surface);background:var(--bg-2)}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--r-surface) - 6px);margin:0 0 6px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;padding:0}
.woocommerce ul.products li.product a{text-decoration:none}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--text);font-weight:600}
.woocommerce ul.products li.product .price del,.woocommerce div.product p.price del{opacity:.55;font-weight:400}
.woocommerce ul.products li.product .price ins,.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce ul.products li.product .button{margin-top:auto;align-self:flex-start}
.woocommerce span.onsale{position:absolute;top:22px;left:22px;min-height:0;min-width:0;padding:6px 12px;border-radius:var(--r-pill);background:var(--accent);color:var(--on-accent);font-size:.75rem;font-weight:600;line-height:1}
.woocommerce ul.products li.product{position:relative}
.woocommerce-result-count,.woocommerce-ordering{margin-bottom:22px;font-size:.875rem;color:var(--muted)}
.woocommerce-ordering select{padding:10px 14px;border-radius:var(--r-field);border:1px solid var(--line);background:var(--bg);min-height:42px}
.woocommerce nav.woocommerce-pagination ul{display:flex;gap:6px;border:0;margin:40px 0 0}
.woocommerce nav.woocommerce-pagination ul li{border:0;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:transparent;color:var(--text)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--text);color:var(--bg);border-color:var(--text)}

/* Ficha de producto */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.woocommerce div.product div.images{float:none;width:100%;margin:0}
.woocommerce div.product div.images img{border-radius:var(--r-surface)}
.woocommerce div.product div.summary{float:none;width:100%;margin:0}
.woocommerce div.product .product_title{font-size:clamp(1.75rem,3.4vw,3rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;margin-bottom:14px}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:1.5rem}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted);margin-block:18px}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-block:22px}
.woocommerce .quantity .qty{width:84px;min-height:46px;padding:0 12px;border-radius:var(--r-field);border:1px solid var(--line);background:var(--bg);text-align:center}
.woocommerce div.product .product_meta{font-size:.875rem;color:var(--muted);display:grid;gap:4px;padding-top:18px;border-top:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:24px}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:8px;padding:0;margin:0 0 24px;border:0;list-style:none}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.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{margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-pill);background:transparent}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:9px 18px;color:var(--muted);text-decoration:none;font-weight:500}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--text);border-color:var(--text)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--bg)}
.woocommerce div.product .woocommerce-tabs .panel{max-width:72ch;border:0;background:none;padding:0}
.related.products,.up-sells{grid-column:1/-1;margin-top:40px}
.related.products>h2,.up-sells>h2{font-size:1.5rem;font-weight:600;letter-spacing:-.03em;margin-bottom:20px}
@media (max-width:860px){.woocommerce div.product{grid-template-columns:1fr}}

/* Avisos */
.woocommerce-message,.woocommerce-info,.woocommerce-error{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:0 0 24px;padding:16px 20px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-field);background:var(--bg-2);list-style:none;color:var(--text)}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-message .button,.woocommerce-info .button{order:2;margin-left:auto}
.woocommerce-error{border-left-color:#EF4444}

/* Formularios (carrito, pago, cuenta) */
.woocommerce form .form-row{margin:0 0 16px;padding:0}
.woocommerce form .form-row label{display:block;font-size:.875rem;font-weight:500;margin-bottom:7px;line-height:1.4}
.woocommerce form .form-row .required{color:var(--accent-text);text-decoration:none}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-input-wrapper .select2-selection,.woocommerce .select2-container--default .select2-selection--single{width:100%;min-height:48px;padding:12px 14px;border-radius:var(--r-field);border:1px solid var(--line);background:var(--bg);color:var(--text)}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0;line-height:22px;color:var(--text)}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
.select2-dropdown{background:var(--bg-2);border-color:var(--line);color:var(--text)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--accent);color:var(--on-accent)}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:#EF4444}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 8px)}
.woocommerce form .form-row-first{float:left}.woocommerce form .form-row-last{float:right}
.woocommerce form .form-row-wide{clear:both}
@media (max-width:640px){.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}}
.woocommerce form .form-row.validate-required label.checkbox,.woocommerce-form__label-for-checkbox{display:flex;align-items:flex-start;gap:12px;font-size:.875rem;font-weight:400}
.woocommerce form input[type="checkbox"]{width:20px;height:20px;accent-color:var(--accent);margin-top:2px}
.c21-checkout-consent{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:var(--r-surface);background:var(--bg-2)}
.c21-checkout-consent .form-row{margin-bottom:12px}
.c21-checkout-consent a{color:var(--accent-text)}

/* Carrito y resumen */
.woocommerce table.shop_table{width:100%;border:0;border-collapse:collapse;border-radius:0;font-size:.9688rem}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:16px 12px;border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.woocommerce table.shop_table th{font:500 .75rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.woocommerce table.shop_table td.product-thumbnail img{width:72px;border-radius:12px}
.woocommerce table.shop_table td.product-name a{text-decoration:none;font-weight:500}
.woocommerce table.shop_table a.remove{color:var(--muted)!important;background:none;font-size:1.25rem}
.woocommerce table.shop_table a.remove:hover{color:#fff!important;background:var(--accent)}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce #order_review{padding:24px;border:1px solid var(--line);border-radius:var(--r-surface);background:var(--bg-2)}
.woocommerce-cart .cart-collaterals{display:flex;justify-content:flex-end;margin-top:32px}
.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:min(100%,460px)}
.woocommerce-cart .cart-collaterals .cart_totals h2,#order_review_heading,.woocommerce-checkout h3{font-size:1.25rem;font-weight:600;letter-spacing:-.025em;margin-bottom:16px}
.woocommerce .coupon{display:flex;gap:8px;flex-wrap:wrap}
.woocommerce .coupon .input-text{min-height:46px;padding:0 14px;border-radius:var(--r-field);border:1px solid var(--line);background:var(--bg)}
.wc_payment_methods{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}
.wc_payment_methods li{padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-field);background:var(--bg)}
.woocommerce-checkout #payment div.payment_box{background:transparent;color:var(--muted);padding:10px 0 0;margin:0}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment{background:transparent;border-radius:0}
#place_order{width:100%;min-height:52px}
.woocommerce-privacy-policy-text{font-size:.8125rem;color:var(--muted);margin-bottom:14px}
@media (min-width:961px){
  form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
  form.woocommerce-checkout #customer_details{grid-column:1;grid-row:1/span 3}
  form.woocommerce-checkout #order_review_heading,form.woocommerce-checkout #order_review{grid-column:2}
  form.woocommerce-checkout .col2-set .col-1,form.woocommerce-checkout .col2-set .col-2{float:none;width:100%}
}

/* Mi cuenta */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 16px;border-radius:var(--r-pill);text-decoration:none;color:var(--muted)}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--bg-3);color:var(--text)}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:520px}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password{padding:24px;border:1px solid var(--line);border-radius:var(--r-surface);background:var(--bg-2)}
@media (max-width:860px){.woocommerce-account .woocommerce{grid-template-columns:1fr}}

/* Tutor LMS: variables de color propias */
.tutor-wrap,.tutor-dashboard,.tutor-course-single-content-wrapper,body[class*="tutor"]{--tutor-color-primary:var(--accent);--tutor-color-primary-rgb:200,25,11;--tutor-color-primary-hover:#E02A1A;--tutor-body-color:var(--text);--tutor-color-white:var(--bg-2);--tutor-border-color:var(--line)}
.tutor-btn-primary,.tutor-btn.tutor-btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--on-accent)!important;border-radius:var(--r-pill)!important}
.tutor-card,.tutor-course-card{border-radius:var(--r-surface)!important;border-color:var(--line)!important;background:var(--bg-2)!important;color:var(--text)}
.tutor-course-name a,.tutor-fs-5,.tutor-fs-4,.tutor-fs-3{color:var(--text)}
.tutor-color-secondary,.tutor-color-muted{color:var(--muted)!important}
.tutor-wrap{padding-top:calc(var(--header-h) + 24px)}
