/* Carrito (diseno nuevo). Container 1320 + 10px. Plus Jakarta Sans / Inter. Sin sombras ni italicas.
   Paleta: azul #2E417D, rojo #CC2128 (solo boton principal), verde #2FA192, celeste #E4EEF4, fondo #F9F9F9 */
body.kt-carrito{background:#F9F9F9}
.kt-cr,.kt-cr *{box-shadow:none!important;text-shadow:none!important;font-style:normal!important;box-sizing:border-box}
.kt-cr{--blue:#2E417D;--red:#CC2128;--green:#2FA192;--sky:#E4EEF4;--ink:#1f2937;--mut:#5b6577;--line:#D5D9E0;font-family:"Inter",system-ui,sans-serif;color:var(--ink);background:#F9F9F9;padding:40px 0 80px}
.kt-cr-wrap{max-width:1320px;margin:0 auto;padding:0 10px}
.kt-cr-head{margin-bottom:26px}
.kt-cr-head h1{margin:0 0 6px;font-family:"Plus Jakarta Sans","Inter",sans-serif;font-weight:800;font-size:clamp(28px,3vw,38px);line-height:1.15;color:var(--blue);text-transform:none;letter-spacing:0}
.kt-cr-head p{margin:0;font-size:16px;color:var(--mut)}
.kt-cr a{color:var(--blue)}
.kt-cr h2,.kt-cr h3{font-family:"Plus Jakarta Sans","Inter",sans-serif;color:var(--blue);text-transform:none;letter-spacing:0;font-weight:700}

/* layout */
body.kt-cr-isfull .kt-cr-body .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
.kt-cr .woocommerce::before,.kt-cr .woocommerce::after,.kt-cr .cart-collaterals::before,.kt-cr .cart-collaterals::after{display:none!important;content:none!important}
.kt-cr .woocommerce-notices-wrapper{grid-column:1/-1}
.kt-cr .woocommerce-notices-wrapper:empty{display:none}
.kt-cr .woocommerce-cart-form{grid-column:1;min-width:0}
.kt-cr .cart-collaterals{grid-column:2;float:none!important;width:auto!important;position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 110px)}
.kt-cr .cart-collaterals .cart_totals{float:none!important;width:100%!important;background:#fff;border:1px solid var(--blue);border-radius:16px;padding:24px}
.kt-cr .cart_totals h2{margin:0 0 14px;font-size:20px}

/* items -> tarjetas */
.kt-cr table.shop_table{border:0;border-collapse:separate;border-spacing:0;margin:0;width:100%;background:transparent}
.kt-cr table.cart thead{display:none}
.kt-cr table.cart,.kt-cr table.cart tbody{display:block;width:100%}
.kt-cr table.cart tr.cart_item{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr) auto;grid-template-areas:"thumb name sub";gap:6px 18px;align-items:start;margin:0 0 14px;padding:18px;background:#fff;border:1px solid var(--blue);border-radius:16px}
.kt-cr table.cart td{display:block;padding:0;border:0!important;background:transparent!important;text-align:left}
.kt-cr table.cart td::before{display:none!important}
.kt-cr td.product-thumbnail{grid-area:thumb}
.kt-cr td.product-thumbnail img{display:block;width:120px;height:90px;object-fit:cover;border-radius:12px}
.kt-cr td.product-name{grid-area:name;min-width:0;padding-right:30px}
.kt-cr td.product-name>a{display:block;font-family:"Plus Jakarta Sans","Inter",sans-serif;font-weight:700;font-size:18px;line-height:1.3;color:var(--blue);text-decoration:none;margin-bottom:8px}
.kt-cr td.product-name>a:hover{color:var(--red)}
.kt-cr td.product-price{display:none}
.kt-cr td.product-subtotal{grid-area:sub;justify-self:end;font-family:"Plus Jakarta Sans","Inter",sans-serif;font-weight:800;font-size:18px;color:var(--blue);white-space:nowrap;padding-top:2px}
.kt-cr td.product-quantity{grid-area:name;align-self:end;margin-top:6px}
.kt-cr td.product-quantity:not(:has(input)){display:none}
.kt-cr td.product-quantity input{width:76px;height:40px;border:1px solid #B9CAD6;border-radius:10px;padding:0 10px;font:inherit}
.kt-cr td.product-remove{position:absolute;top:12px;right:14px}
.kt-cr td.product-remove a.remove{width:26px;height:26px;border-radius:50%;background:#EEF0F3;color:var(--mut)!important;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1;text-decoration:none;transition:background-color .15s,color .15s}
.kt-cr td.product-remove a.remove:hover{background:var(--blue);color:#fff!important}
/* datos de la reserva (Bookings: dl.variation) */
.kt-cr dl.variation{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px}
.kt-cr dl.variation dt{color:var(--mut);font-weight:500;float:none;margin:0}
.kt-cr dl.variation dd{margin:0;font-weight:600;color:var(--ink)}
.kt-cr dl.variation dd p{margin:0;font-size:14px}
.kt-cr dl.variation dt:empty,.kt-cr dl.variation dd:empty{display:none}
.kt-cr td.product-name .wc-item-meta,.kt-cr td.product-name ul.wc-item-meta{list-style:none;margin:0;padding:0;font-size:14px}

/* cupon y actualizar */
.kt-cr tr:not(.cart_item){display:block}
.kt-cr td.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:16px}
.kt-cr .coupon{display:flex;align-items:center;gap:10px;flex-wrap:wrap;float:none!important}
.kt-cr .coupon label{display:none}
.kt-cr .coupon input.input-text{width:220px;height:44px;border:1px solid #B9CAD6;border-radius:10px;padding:0 14px;font:inherit;font-size:15px;background:#fff}
.kt-cr .coupon input.input-text::placeholder{color:var(--mut)}
.kt-cr .coupon .button,.kt-cr button[name=update_cart]{min-height:44px;padding:0 20px;border:1.5px solid var(--blue);border-radius:10px;background:#fff!important;color:var(--blue)!important;font-family:"Plus Jakarta Sans","Inter",sans-serif;font-weight:700;font-size:14px;cursor:pointer;transition:background-color .15s,color .15s}
.kt-cr .coupon .button:hover,.kt-cr button[name=update_cart]:hover:not([disabled]){background:var(--blue)!important;color:#fff!important}
.kt-cr button[name=update_cart][disabled]{opacity:.45;cursor:default}
.kt-cr button[name=update_cart]{float:none!important}

/* resumen */
.kt-cr .cart_totals table.shop_table{display:block}
.kt-cr .cart_totals tbody{display:block}
.kt-cr .cart_totals tr{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid #E6E6E6}
.kt-cr .cart_totals th,.kt-cr .cart_totals td{display:block;padding:0!important;border:0!important;background:transparent!important;font-size:15px;text-align:right;width:auto!important}
.kt-cr .cart_totals th{font-weight:500;color:var(--mut);text-align:left}
.kt-cr .cart_totals td::before{display:none!important}
.kt-cr .cart_totals td{font-weight:600}
.kt-cr .cart_totals tr.cart-discount td,.kt-cr .cart_totals tr.cart-discount th{color:var(--green)}
.kt-cr .cart_totals tr.cart-discount a{color:var(--green);font-size:13px}
.kt-cr .cart_totals tr.order-total{border-bottom:0;padding-top:16px}
.kt-cr .cart_totals tr.order-total th{font-family:"Plus Jakarta Sans","Inter",sans-serif;font-size:18px;font-weight:700;color:var(--blue)}
.kt-cr .cart_totals tr.order-total td{font-family:"Plus Jakarta Sans","Inter",sans-serif;font-size:26px;font-weight:800;color:var(--blue)}
.kt-cr .cart_totals .includes_tax{display:block;font-size:12px;color:var(--mut);font-weight:400}
.kt-cr .wc-proceed-to-checkout{padding:16px 0 0}
.kt-cr .wc-proceed-to-checkout .checkout-button,.kt-cr-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:0!important;padding:0 24px!important;border:0;border-radius:10px;background:var(--red)!important;color:#fff!important;font-family:"Plus Jakarta Sans","Inter",sans-serif;font-weight:700;font-size:17px!important;text-decoration:none!important;text-transform:none;transition:background-color .15s}
.kt-cr .wc-proceed-to-checkout .checkout-button:hover,.kt-cr-btn:hover{background:#A81A20!important}
.kt-cr-secure{margin:12px 0 0;text-align:center;font-size:13px;color:var(--mut)}
.kt-cr .wc-proceed-to-checkout>*:not(.checkout-button):not(.kt-cr-secure){margin-top:10px}

/* avisos WC (sin rojo agresivo) */
.kt-cr .woocommerce-error,.kt-cr .woocommerce-message,.kt-cr .woocommerce-info{list-style:none;margin:0 0 20px;padding:14px 18px;border:1px solid;border-radius:12px;font-size:15px;display:block}
.kt-cr .woocommerce-error{background:#F6EBEC;border-color:#E3C4C7;color:#7d2f35}
.kt-cr .woocommerce-message{background:#E7F5F2;border-color:#A8D8D0;color:#1d6b5f}
.kt-cr .woocommerce-info{background:var(--sky);border-color:#B9CAD6;color:var(--blue)}
.kt-cr .woocommerce-error::before,.kt-cr .woocommerce-message::before,.kt-cr .woocommerce-info::before{display:none}
.kt-cr .woocommerce-message .button,.kt-cr .woocommerce-info .button{float:right;margin-left:12px;min-height:36px;padding:0 16px;border-radius:8px;background:#fff!important;color:var(--blue)!important;border:1.5px solid var(--blue);font-weight:700}

/* carrito vacio */
.kt-cr-empty{max-width:560px;margin:20px auto 0;text-align:center;background:#fff;border:1px solid var(--blue);border-radius:16px;padding:44px 28px}
.kt-cr-empty-ico{width:72px;height:72px;margin:0 auto 14px;border-radius:50%;background:var(--sky);color:var(--blue);display:flex;align-items:center;justify-content:center}
.kt-cr-empty-ico svg{width:34px;height:34px}
.kt-cr-empty h1{margin:0 0 8px;font-family:"Plus Jakarta Sans","Inter",sans-serif;font-weight:800;font-size:28px;color:var(--blue)}
.kt-cr-empty p{margin:0 0 22px;font-size:16px;line-height:1.6;color:var(--mut)}
.kt-cr-empty .kt-cr-btn{display:inline-flex;width:auto;min-height:50px;padding:0 30px!important;font-size:16px!important}
.kt-cr-sug{margin-top:56px}
.kt-cr-sug h2{margin:0 0 22px;font-size:26px}
.kt-cr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}

/* barra fija de total (mobile) */
.kt-cr-bar{display:none}
@media (max-width:900px){
	.kt-cr{padding:26px 0 120px}
	body.kt-cr-isfull .kt-cr-body .woocommerce{grid-template-columns:1fr;gap:18px}
	.kt-cr .woocommerce-cart-form,.kt-cr .cart-collaterals{grid-column:1}
	.kt-cr .cart-collaterals{position:static}
	.kt-cr table.cart tr.cart_item{grid-template-columns:92px minmax(0,1fr);grid-template-areas:"thumb name" "sub sub";padding:14px;gap:4px 14px}
	.kt-cr td.product-thumbnail img{width:92px;height:76px}
	.kt-cr td.product-name>a{font-size:16px}
	.kt-cr td.product-subtotal{justify-self:end;padding-top:8px;border-top:1px solid #EEF0F3!important;width:100%;text-align:right}
	.kt-cr td.actions{padding:14px!important}
	.kt-cr .coupon{width:100%}
	.kt-cr .coupon input.input-text{flex:1;min-width:0;width:auto}
	.kt-cr button[name=update_cart]{width:100%}
	.kt-cr-grid{grid-template-columns:1fr}
	.kt-cr-bar{position:fixed;left:0;right:0;bottom:0;z-index:998;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;background:#fff;border-top:1px solid var(--blue);transform:translateY(110%);transition:transform .2s}
	.kt-cr-bar.is-on{transform:none}
	.kt-cr-bar-t{display:flex;flex-direction:column;line-height:1.2}
	.kt-cr-bar-t small{font-size:12px;color:var(--mut)}
	.kt-cr-bar-t strong{font-family:"Plus Jakarta Sans","Inter",sans-serif;font-size:20px;font-weight:800;color:var(--blue)}
	.kt-cr-bar a{flex:1;max-width:240px;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;background:var(--red);color:#fff!important;font-family:"Plus Jakarta Sans","Inter",sans-serif;font-weight:700;font-size:16px;text-decoration:none}
}
@media (prefers-reduced-motion:reduce){.kt-cr *{transition:none!important}}

/* correcciones de especificidad frente al tema */
.kt-cr table.cart td.product-price{display:none!important}
.kt-cr table.cart td.product-subtotal{margin-right:36px}
.kt-cr .coupon input.input-text,.kt-cr .coupon #coupon_code{width:230px!important;min-width:160px;height:44px!important;padding:0 14px!important}
.kt-cr .wc-proceed-to-checkout .checkout-button{line-height:1.2!important;height:auto;min-height:52px;white-space:normal}
.kt-cr-sug h2{text-align:left}
@media (max-width:900px){.kt-cr table.cart td.product-subtotal{margin-right:0}}
.kt-cr .wc-proceed-to-checkout .checkout-button{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center}
@media (max-width:900px){
	.kt-cr table.cart td,.kt-cr table.cart td.product-name,.kt-cr table.cart td.product-name>a{text-align:left!important}
	.kt-cr table.cart td.product-thumbnail{display:block!important}
	.kt-cr table.cart td.product-subtotal{text-align:right!important;display:block!important;width:100%}
	.kt-cr table.cart td.product-name{padding-right:34px}
	.kt-cr dl.variation{grid-template-columns:auto 1fr}
	.kt-cr dl.variation dd{text-align:left}
	.kt-cr .coupon .button{min-width:96px}
	.kt-cr td.actions{flex-direction:column;align-items:stretch}
}
.kt-cr .coupon-error-notice,.kt-cr .coupon .woocommerce-error{display:block;width:100%;margin:6px 0 0;padding:0;border:0;background:transparent;color:#7d2f35;font-size:13px;font-weight:500}.kt-cr .coupon input.has-error{border-color:#C98B90!important}

/* sin footer: la pagina llena la pantalla */
body.kt-carrito main.kt-cr{min-height:calc(100vh - 127px);min-height:calc(100svh - 127px)}
@media (max-width:900px){body.kt-carrito main.kt-cr{min-height:calc(100vh - 77px);min-height:calc(100svh - 77px)}}
