/*
 * REBELD URBANIA · Cart experience
 * v1.0.6 — isolated to WooCommerce cart only.
 */

body.woocommerce-cart{background:var(--ru-black);color:var(--ru-white)}
body.woocommerce-cart .ru-main{min-height:0}

/* Compact editorial cart hero. */
.ru-cart-hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid rgb(255 255 255/.12);background:#090909;color:var(--ru-white)}
.ru-cart-hero::before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 82% 26%,rgb(255 0 43/.24),transparent 31%),linear-gradient(118deg,#050505 0%,#0b0b0b 47%,#26020a 100%)}
.ru-cart-hero::after{content:"";position:absolute;z-index:-1;right:-6rem;top:-15rem;width:min(52vw,48rem);height:65rem;border:clamp(2.5rem,5vw,5.3rem) solid rgb(255 0 43/.075);transform:rotate(20deg);pointer-events:none}
.ru-cart-hero__inner{display:grid;gap:2rem;align-items:end;min-height:clamp(21rem,38vw,31rem);padding-block:clamp(3.2rem,7vw,6rem)}
.ru-cart-hero__copy{max-width:49rem}
.ru-cart-hero__copy h1{max-width:12ch;margin:0;color:var(--ru-white);font-size:clamp(3.6rem,8.4vw,7.4rem);line-height:.84}
.ru-cart-hero__copy>p:last-child{max-width:41rem;margin:1.15rem 0 0;color:var(--ru-grey-300);font-size:clamp(.98rem,1.35vw,1.12rem)}
.ru-cart-hero__side{display:grid;gap:1rem;align-self:end}
.ru-checkout-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:0;padding:0;list-style:none}
.ru-checkout-progress li{position:relative;display:grid;grid-template-columns:2rem 1fr;gap:.55rem;align-items:center;min-width:0;color:rgb(255 255 255/.5);font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.ru-checkout-progress li:not(:last-child)::after{content:"";position:absolute;left:2rem;right:-.2rem;top:1rem;height:1px;background:rgb(255 255 255/.15)}
.ru-checkout-progress span{position:relative;z-index:1;display:grid;place-items:center;width:2rem;height:2rem;border:1px solid rgb(255 255 255/.22);border-radius:999px;background:#101010;color:var(--ru-grey-300)}
.ru-checkout-progress .is-current{color:var(--ru-white)}
.ru-checkout-progress .is-current span{border-color:var(--ru-red);background:var(--ru-red);color:var(--ru-white)}
.ru-cart-continue{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.2rem;padding:.75rem .9rem;border:1px solid rgb(255 255 255/.2);border-radius:var(--ru-radius-sm);color:var(--ru-white);font-size:.77rem;font-weight:900;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;transition:border-color var(--ru-transition),background var(--ru-transition)}
.ru-cart-continue:hover{border-color:var(--ru-red);background:rgb(255 0 43/.1)}
.ru-cart-continue .ru-icon{width:1rem;height:1rem;color:var(--ru-red)}

/* Main cart area. */
.ru-cart-content{min-height:32rem;padding-block:clamp(2.25rem,5vw,5rem);background:var(--ru-black)}
.ru-cart-entry,.ru-cart-entry__content{min-width:0}
.ru-cart-entry__content>*:first-child{margin-top:0}
.ru-cart-entry__content>*:last-child{margin-bottom:0}
.ru-cart-page .woocommerce{color:var(--ru-white)}
.ru-cart-page.has-items .woocommerce{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:start}
.ru-cart-page .woocommerce-notices-wrapper{grid-column:1/-1}
.ru-cart-page .woocommerce-message,.ru-cart-page .woocommerce-info,.ru-cart-page .woocommerce-error{border-radius:var(--ru-radius-sm)!important;background:#171717!important;color:var(--ru-white)!important;box-shadow:none!important}
.ru-cart-page .woocommerce-message a,.ru-cart-page .woocommerce-info a,.ru-cart-page .woocommerce-error a{color:var(--ru-white)!important}

/* Classic WooCommerce cart table. */
.ru-cart-page .woocommerce-cart-form{min-width:0;margin:0}
.ru-cart-page table.shop_table.cart{width:100%;margin:0!important;border:0!important;border-collapse:separate!important;border-spacing:0 .72rem!important;background:transparent!important}
.ru-cart-page table.shop_table.cart thead th{padding:.25rem .8rem .45rem!important;border:0!important;background:transparent!important;color:var(--ru-grey-500)!important;font-size:.68rem!important;font-weight:900!important;letter-spacing:.09em;text-transform:uppercase}
.ru-cart-page table.shop_table.cart tbody tr.cart_item{position:relative;background:#151515;box-shadow:0 12px 30px rgb(0 0 0/.2)}
.ru-cart-page table.shop_table.cart tbody tr.cart_item td{padding:1rem .75rem!important;border:0!important;border-top:1px solid rgb(255 255 255/.1)!important;border-bottom:1px solid rgb(255 255 255/.1)!important;background:#151515!important;color:var(--ru-white)!important;vertical-align:middle!important}
.ru-cart-page table.shop_table.cart tbody tr.cart_item td:first-child{border-left:1px solid rgb(255 255 255/.1)!important;border-radius:var(--ru-radius-md) 0 0 var(--ru-radius-md)}
.ru-cart-page table.shop_table.cart tbody tr.cart_item td:last-child{border-right:1px solid rgb(255 255 255/.1)!important;border-radius:0 var(--ru-radius-md) var(--ru-radius-md) 0}
.ru-cart-page td.product-remove{width:3rem;text-align:center}
.ru-cart-page a.remove{display:grid!important;place-items:center;width:2rem!important;height:2rem!important;margin:auto!important;border:1px solid rgb(255 255 255/.14);border-radius:999px!important;background:transparent!important;color:var(--ru-grey-300)!important;font-size:1.25rem!important;line-height:1!important;text-decoration:none!important;transition:border-color var(--ru-transition),background var(--ru-transition),color var(--ru-transition)}
.ru-cart-page a.remove:hover{border-color:var(--ru-red);background:var(--ru-red)!important;color:var(--ru-white)!important}
.ru-cart-page td.product-thumbnail{width:7.6rem}
.ru-cart-page td.product-thumbnail a{display:block;overflow:hidden;border-radius:var(--ru-radius-sm);background:var(--ru-paper)}
.ru-cart-page td.product-thumbnail img{display:block;width:6.5rem!important;height:7.7rem!important;margin:0!important;object-fit:cover!important}
.ru-cart-page td.product-name{min-width:13rem}
.ru-cart-page td.product-name>a{color:var(--ru-white)!important;font-size:1rem;font-weight:900;line-height:1.25;text-decoration:none}
.ru-cart-page td.product-name>a:hover{color:var(--ru-red)!important}
.ru-cart-page .variation{display:grid;gap:.2rem;margin:.55rem 0 0!important;color:var(--ru-grey-300);font-size:.74rem}
.ru-cart-page .variation dt,.ru-cart-page .variation dd{float:none!important;margin:0!important;padding:0!important}
.ru-cart-page .variation dt{display:inline;color:var(--ru-grey-500);font-weight:800}
.ru-cart-page .variation dd{display:inline}
.ru-cart-page .variation p{margin:0}
.ru-cart-page td.product-price,.ru-cart-page td.product-subtotal{white-space:nowrap;font-size:.94rem;font-weight:900}
.ru-cart-page td.product-subtotal{color:var(--ru-white)!important}
.ru-cart-page td.product-subtotal .amount{color:var(--ru-white)!important;font-size:1rem}

/* Quantity controls added without changing cart behaviour. */
.ru-cart-page .quantity{display:inline-grid!important;grid-template-columns:2.35rem minmax(2.7rem,3.4rem) 2.35rem;align-items:stretch;min-height:2.75rem;border:1px solid rgb(255 255 255/.16);border-radius:var(--ru-radius-sm);overflow:hidden;background:#090909}
.ru-cart-page .quantity .qty{width:100%!important;min-width:0!important;height:100%!important;min-height:2.75rem!important;margin:0!important;padding:.35rem!important;border:0!important;border-inline:1px solid rgb(255 255 255/.12)!important;border-radius:0!important;background:#090909!important;color:var(--ru-white)!important;text-align:center!important;appearance:textfield}
.ru-cart-page .quantity .qty::-webkit-outer-spin-button,.ru-cart-page .quantity .qty::-webkit-inner-spin-button{margin:0;appearance:none}
.ru-cart-page .ru-qty-button{display:grid;place-items:center;width:100%;border:0;background:#151515;color:var(--ru-white);font-size:1rem;font-weight:900;cursor:pointer;transition:background var(--ru-transition),color var(--ru-transition)}
.ru-cart-page .ru-qty-button:hover{background:var(--ru-red);color:var(--ru-white)}
.ru-cart-page .ru-qty-button:disabled{cursor:not-allowed;opacity:.35}

/* Coupon and update row. */
.ru-cart-page table.shop_table.cart tbody tr:not(.cart_item) td.actions{padding:1rem 0 0!important;border:0!important;background:transparent!important}
.ru-cart-page .actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}
.ru-cart-page .actions .coupon{display:flex;flex:1 1 24rem;gap:.55rem;min-width:0}
.ru-cart-page .actions .coupon .input-text{float:none!important;flex:1 1 12rem;width:auto!important;min-height:3rem;padding:.7rem .8rem!important;border:1px solid rgb(255 255 255/.16)!important;border-radius:var(--ru-radius-sm)!important;background:#151515!important;color:var(--ru-white)!important}
.ru-cart-page .actions .coupon .input-text::placeholder{color:var(--ru-grey-500)}
.ru-cart-page .actions button[name="update_cart"]{margin-left:auto!important;border:1px solid rgb(255 255 255/.22)!important;background:transparent!important}
.ru-cart-page .actions button[name="update_cart"]:not(:disabled):hover{border-color:var(--ru-red)!important;background:rgb(255 0 43/.12)!important}
.ru-cart-page .actions button:disabled{opacity:.42!important}

/* Sticky order summary. */
.ru-cart-page .cart-collaterals{min-width:0;margin:0!important}
.ru-cart-page .cart-collaterals::before,.ru-cart-page .cart-collaterals::after{display:none!important}
.ru-cart-page .cart-collaterals .cross-sells{display:none!important}
.ru-cart-page .cart_totals{float:none!important;width:100%!important;margin:0!important;padding:clamp(1.25rem,2.5vw,1.75rem);border:1px solid rgb(0 0 0/.08);border-radius:var(--ru-radius-lg);background:var(--ru-paper);color:var(--ru-black);box-shadow:0 24px 60px rgb(0 0 0/.28)}
.ru-cart-page .cart_totals h2{margin:0 0 1.25rem;padding-bottom:1rem;border-bottom:1px solid rgb(0 0 0/.12);color:var(--ru-black);font-size:clamp(2rem,4vw,3rem)}
.ru-cart-page .cart_totals table.shop_table{margin:0 0 1.2rem!important;border:0!important;border-collapse:collapse!important;background:transparent!important}
.ru-cart-page .cart_totals table.shop_table th,.ru-cart-page .cart_totals table.shop_table td{padding:.8rem 0!important;border:0!important;border-bottom:1px solid rgb(0 0 0/.1)!important;background:transparent!important;color:var(--ru-black)!important;vertical-align:top!important}
.ru-cart-page .cart_totals table.shop_table th{width:42%;font-size:.78rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.ru-cart-page .cart_totals table.shop_table td{text-align:right;font-size:.9rem}
.ru-cart-page .cart_totals .order-total th,.ru-cart-page .cart_totals .order-total td{padding-top:1.1rem!important;border-bottom:0!important;font-size:1rem}
.ru-cart-page .cart_totals .order-total .amount{color:var(--ru-black)!important;font-size:1.5rem;font-weight:950}
.ru-cart-page .cart_totals .woocommerce-shipping-methods{margin:0;padding:0;list-style:none}
.ru-cart-page .cart_totals .woocommerce-shipping-destination{margin:.55rem 0;color:var(--ru-grey-700);font-size:.78rem}
.ru-cart-page .cart_totals .shipping-calculator-button{color:var(--ru-red-dark);font-size:.78rem;font-weight:900;text-decoration:none;text-transform:uppercase}
.ru-cart-page .cart_totals .shipping-calculator-form{margin-top:.8rem;text-align:left}
.ru-cart-page .wc-proceed-to-checkout{padding:0!important}
.ru-cart-page .wc-proceed-to-checkout a.checkout-button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:3.8rem!important;margin:0!important;padding:.9rem 1rem!important;border-radius:var(--ru-radius-sm)!important;background:var(--ru-red)!important;color:var(--ru-white)!important;font-size:.82rem!important;font-weight:950!important;letter-spacing:.06em!important;text-align:center!important;text-transform:uppercase!important;box-shadow:0 13px 28px rgb(255 0 43/.2)}
.ru-cart-page .wc-proceed-to-checkout a.checkout-button:hover{background:var(--ru-red-dark)!important;transform:translateY(-1px)}
.ru-cart-page .cart_totals::after{content:"Revisa el total, la dirección y el método de envío antes de confirmar el pago.";display:block;margin-top:1rem;padding-top:1rem;border-top:1px solid rgb(0 0 0/.12);color:var(--ru-grey-700);font-size:.75rem;line-height:1.45}

/* Empty cart — intentional, not a broken page. */
.ru-cart-page.is-empty .ru-cart-content{display:grid;align-items:center;min-height:31rem}
.ru-cart-page.is-empty .woocommerce{max-width:54rem;margin-inline:auto;text-align:center}
.ru-cart-page.is-empty .cart-empty.woocommerce-info{position:relative;margin:0 0 1rem!important;padding:clamp(2rem,7vw,4.5rem)!important;border:1px solid rgb(255 255 255/.14)!important;border-left:1px solid rgb(255 255 255/.14)!important;border-radius:var(--ru-radius-lg)!important;background:linear-gradient(145deg,#171717,#0d0d0d)!important;color:var(--ru-white)!important;font-family:var(--ru-font-display);font-size:clamp(2.2rem,7vw,5rem);font-weight:800;line-height:.9;text-transform:uppercase;box-shadow:0 24px 60px rgb(0 0 0/.25)!important}
.ru-cart-page.is-empty .cart-empty.woocommerce-info::before{content:""!important;position:absolute;inset:1rem auto 1rem 0!important;width:3px;height:auto;border-radius:0;background:var(--ru-red)}
.ru-cart-page.is-empty .return-to-shop{margin:0}
.ru-cart-page.is-empty .return-to-shop .button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:3.4rem!important;padding-inline:1.25rem!important}

/* Assurance strip. */
.ru-cart-assurance{border-top:1px solid rgb(255 255 255/.1);border-bottom:1px solid rgb(255 255 255/.1);background:#111;color:var(--ru-white)}
.ru-cart-assurance__grid{display:grid;grid-template-columns:1fr;gap:0;padding-block:.35rem}
.ru-cart-assurance__item{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:.75rem;align-items:center;min-width:0;padding:1rem;border-bottom:1px solid rgb(255 255 255/.08);color:var(--ru-white);text-decoration:none}
.ru-cart-assurance__item:last-child{border-bottom:0}
.ru-cart-assurance__mark{display:grid;place-items:center;width:2.35rem;height:2.35rem;border:1px solid rgb(255 0 43/.5);border-radius:999px;color:var(--ru-red);font-size:.72rem;font-weight:950}
.ru-cart-assurance__mark .ru-icon{width:1rem;height:1rem}
.ru-cart-assurance__item div{display:grid;gap:.05rem;min-width:0}
.ru-cart-assurance__item strong{font-size:.78rem;line-height:1.25;text-transform:uppercase}
.ru-cart-assurance__item small{overflow:hidden;color:var(--ru-grey-500);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}
a.ru-cart-assurance__item:hover strong{color:var(--ru-red)}

/* WooCommerce Cart block compatibility. */
.ru-cart-page .wp-block-woocommerce-cart{margin:0!important;color:var(--ru-white)}
.ru-cart-page .wc-block-cart{margin:0!important}
.ru-cart-page .wc-block-cart__main{padding-right:0!important}
.ru-cart-page .wc-block-cart-items{border-collapse:separate!important;border-spacing:0 .75rem!important}
.ru-cart-page .wc-block-cart-items th{color:var(--ru-grey-500)!important;font-size:.68rem!important;letter-spacing:.08em;text-transform:uppercase}
.ru-cart-page .wc-block-cart-items__row{background:#151515}
.ru-cart-page .wc-block-cart-items__row td{border-color:rgb(255 255 255/.1)!important;background:#151515!important;color:var(--ru-white)!important}
.ru-cart-page .wc-block-cart-item__product a{color:var(--ru-white)!important;font-weight:900!important;text-decoration:none!important}
.ru-cart-page .wc-block-components-product-metadata{color:var(--ru-grey-300)!important}
.ru-cart-page .wc-block-components-sidebar{padding:1.5rem!important;border-radius:var(--ru-radius-lg);background:var(--ru-paper)!important;color:var(--ru-black)!important;box-shadow:0 24px 60px rgb(0 0 0/.28)}
.ru-cart-page .wc-block-components-totals-wrapper{border-color:rgb(0 0 0/.12)!important}
.ru-cart-page .wc-block-components-sidebar *{color:inherit}
.ru-cart-page .wc-block-cart__submit-button{min-height:3.8rem!important;border-radius:var(--ru-radius-sm)!important;background:var(--ru-red)!important;color:var(--ru-white)!important;font-size:.82rem!important;font-weight:950!important;letter-spacing:.06em;text-transform:uppercase;text-decoration:none!important}
.ru-cart-page .wc-block-cart__submit-button:hover{background:var(--ru-red-dark)!important}
.ru-cart-page .wc-block-components-button:not(.is-link){border-radius:var(--ru-radius-sm)!important}

@media (min-width:44rem){
  .ru-cart-assurance__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ru-cart-assurance__item:nth-child(odd){border-right:1px solid rgb(255 255 255/.08)}
  .ru-cart-assurance__item:nth-last-child(-n+2){border-bottom:0}
}

@media (min-width:56rem){
  .ru-cart-hero__inner{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:clamp(2rem,6vw,6rem)}
  .ru-cart-page.has-items .woocommerce{grid-template-columns:minmax(0,1.55fr) minmax(20rem,.72fr);gap:clamp(1.5rem,3vw,2.5rem)}
  .ru-cart-page.has-items .woocommerce-cart-form{grid-column:1}
  .ru-cart-page.has-items .cart-collaterals{grid-column:2}
  .ru-cart-page .cart_totals{position:sticky;top:calc(var(--ru-header-height) + 1.5rem)}
  .ru-cart-assurance__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ru-cart-assurance__item{border-right:1px solid rgb(255 255 255/.08);border-bottom:0!important}
  .ru-cart-assurance__item:last-child{border-right:0}
}

@media (max-width:55.99rem){
  .ru-cart-page table.shop_table.cart thead{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ru-cart-page table.shop_table.cart,.ru-cart-page table.shop_table.cart tbody{display:block;width:100%}
  .ru-cart-page table.shop_table.cart tbody tr.cart_item{display:grid;grid-template-columns:5.8rem minmax(0,1fr) auto;gap:.35rem .8rem;margin-bottom:.85rem;padding:1rem;border:1px solid rgb(255 255 255/.11);border-radius:var(--ru-radius-md);background:#151515}
  .ru-cart-page table.shop_table.cart tbody tr.cart_item td{display:block!important;width:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;text-align:left!important}
  .ru-cart-page td.product-remove{position:absolute;right:.65rem;top:.65rem;z-index:2}
  .ru-cart-page td.product-thumbnail{grid-column:1;grid-row:1/5}
  .ru-cart-page td.product-thumbnail img{width:5.8rem!important;height:7rem!important}
  .ru-cart-page td.product-name{grid-column:2/4;padding-right:2.4rem!important}
  .ru-cart-page td.product-price{grid-column:2;grid-row:2;color:var(--ru-grey-300)!important;font-size:.82rem}
  .ru-cart-page td.product-quantity{grid-column:2;grid-row:3;align-self:end}
  .ru-cart-page td.product-subtotal{grid-column:3;grid-row:2/4;align-self:end;text-align:right!important}
  .ru-cart-page td.product-price::before{content:"Precio · ";color:var(--ru-grey-500);font-weight:700}
  .ru-cart-page td.product-subtotal::before{content:"Total";display:block;margin-bottom:.25rem;color:var(--ru-grey-500);font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
  .ru-cart-page table.shop_table.cart tbody tr:not(.cart_item),.ru-cart-page table.shop_table.cart tbody tr:not(.cart_item) td{display:block;width:100%}
  .ru-cart-page .actions{align-items:stretch}
  .ru-cart-page .actions .coupon{flex-basis:100%}
  .ru-cart-page .actions button[name="update_cart"]{width:100%;margin:0!important}
}

@media (max-width:37.99rem){
  .ru-cart-hero__inner{min-height:24rem;padding-block:3.2rem}
  .ru-cart-hero__copy h1{font-size:clamp(3.25rem,17vw,5.2rem)}
  .ru-checkout-progress li{grid-template-columns:1.75rem 1fr;gap:.35rem;font-size:.64rem}
  .ru-checkout-progress li:not(:last-child)::after{left:1.75rem;top:.875rem}
  .ru-checkout-progress span{width:1.75rem;height:1.75rem}
  .ru-cart-page table.shop_table.cart tbody tr.cart_item{grid-template-columns:4.75rem minmax(0,1fr);gap:.55rem .75rem;padding:.85rem}
  .ru-cart-page td.product-thumbnail{grid-column:1;grid-row:1/4}
  .ru-cart-page td.product-thumbnail img{width:4.75rem!important;height:5.9rem!important}
  .ru-cart-page td.product-name{grid-column:2;padding-right:2rem!important}
  .ru-cart-page td.product-price{grid-column:2;grid-row:2}
  .ru-cart-page td.product-quantity{grid-column:2;grid-row:3}
  .ru-cart-page td.product-subtotal{grid-column:1/3;grid-row:4;display:flex!important;align-items:center;justify-content:space-between;padding-top:.7rem!important;border-top:1px solid rgb(255 255 255/.1)!important;text-align:left!important}
  .ru-cart-page td.product-subtotal::before{margin:0}
  .ru-cart-page .actions .coupon{display:grid;grid-template-columns:1fr}
  .ru-cart-page .actions .coupon button{width:100%}
}

@media (prefers-reduced-motion:reduce){
  .ru-cart-continue,.ru-cart-page a.remove,.ru-cart-page .ru-qty-button,.ru-cart-page .wc-proceed-to-checkout a.checkout-button{transition:none!important}
}
