@media (max-width: 989px) {
  .replica-store header-drawer { display: block; }
  .replica-store #menu-drawer { position: fixed; top: var(--replica-menu-top, 60px); bottom: 0; left: 0; width: min(100vw, 450px); max-width: 100vw; height: calc(100dvh - var(--replica-menu-top, 60px)); background: #fff; color: #252525; overflow: hidden; z-index: 1001; }
  .replica-store .menu-drawer__inner-container, .replica-store .menu-drawer__navigation-container { height: 100%; }
  .replica-store .menu-drawer__navigation-container { overflow-y: auto; overscroll-behavior: contain; padding-bottom: env(safe-area-inset-bottom, 0px); }
  .replica-store details[open] > #menu-drawer, .replica-store #menu-drawer details[open] > .menu-drawer__submenu { visibility: visible; transform: none; }
  .replica-store details[open] > #menu-drawer [data-animate] { opacity: 1 !important; transform: none !important; visibility: visible; }
  .replica-store #menu-drawer .menu-drawer__submenu { background: #fff; height: 100%; overflow-y: auto; }
  .replica-store #menu-drawer .menu-drawer__menu-item { color: #252525; min-height: 48px; }
  .replica-store #menu-drawer summary { cursor: pointer; }
  .replica-store #menu-drawer a:focus-visible, .replica-store #menu-drawer button:focus-visible, .replica-store #menu-drawer summary:focus-visible { outline: 2px solid #a92b67; outline-offset: -3px; }
  .replica-mobile-menu-open { overflow: hidden; }
}
.replica-cart-page { max-width: 1200px; margin-inline: auto; color: #252525; }
.replica-cart-page h1 { margin: 0 0 30px; font-size: clamp(28px, 4vw, 36px); font-weight: 500; }
.replica-cart-page > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 32px; }
.replica-cart-page .woocommerce-notices-wrapper, .replica-cart-page .woocommerce-message, .replica-cart-page .cart-empty, .replica-cart-page .return-to-shop { grid-column: 1 / -1; }
.replica-cart-page .woocommerce-cart-form { min-width: 0; margin: 0; }
.replica-cart-page .shop_table { border: 1px solid #e8e2df; border-radius: 10px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.replica-cart-page .shop_table th { background: #faf7f5; font-size: 13px; font-weight: 500; }
.replica-cart-page .shop_table td { padding: 18px 12px; font-size: 14px; vertical-align: middle; }
.replica-cart-page .product-name > a { color: #252525; font-weight: 500; text-decoration: none; }
.replica-cart-page .product-thumbnail img { width: 72px; height: 90px; object-fit: contain; }
.replica-cart-page .product-remove a { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid #e8e2df; border-radius: 50%; color: #68625f; font-size: 22px; text-decoration: none; }
.replica-cart-page .variation { color: #68625f; font-size: 12px; }
.replica-cart-page .variation dt { font-weight: 500; }
.replica-cart-page .variation dd { margin: 2px 0 8px; }
.replica-cart-page .variation p { margin: 0; }
.replica-cart-page .quantity input { width: 68px; min-height: 44px; text-align: center; border-color: #ded8d4; }
.replica-cart-page .shop_table td.actions { padding: 20px 16px; }
.replica-cart-page td.actions::after { content: ''; display: block; clear: both; }
.replica-cart-page .coupon { display: flex; width: 100%; align-items: stretch; gap: 10px; margin-bottom: 14px; }
.replica-cart-page .coupon label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.replica-cart-page .coupon input.input-text { flex: 1 1 auto; width: 0; min-width: 0; min-height: 48px; margin: 0; padding: 12px 14px; border: 1px solid #ded8d4; border-radius: 6px; font-size: 16px; }
.replica-cart-page .coupon button { flex: 0 0 auto; min-height: 48px; margin: 0; border-radius: 6px; font-size: 13px; }
.replica-cart-page button[name="update_cart"] { float: right; min-height: 46px; padding: 11px 18px; border: 1px solid #ded8d4; border-radius: 6px; background: #fff; color: #252525; font-size: 13px; }
.replica-cart-page button[name="update_cart"]:disabled { opacity: .45; cursor: not-allowed; }
.replica-cart-page .cart-collaterals { min-width: 0; }
.replica-cart-page .cart_totals { width: 100%; margin: 0; padding: 24px; border: 1px solid #e8e2df; border-radius: 10px; background: #faf7f5; }
.replica-cart-page .cart_totals h2 { margin: 0 0 18px; font-size: 22px; font-weight: 500; }
.replica-cart-page .cart_totals table { border: 0; }
.replica-cart-page .cart_totals td, .replica-cart-page .cart_totals th { padding: 14px 0; background: transparent; }
.replica-cart-page .checkout-button { display: flex; min-height: 50px; align-items: center; justify-content: center; margin-top: 20px; border-radius: 6px; font-size: 14px; text-decoration: none; }
.replica-cart-page .coupon input:focus { outline: 2px solid #a92b67; outline-offset: 2px; }
@media (max-width: 1100px) {
  .replica-cart-page > .woocommerce { grid-template-columns: minmax(0, 1fr); }
  .replica-cart-page .cart_totals { max-width: 540px; margin-left: auto; }
}
@media (max-width: 749px) {
  .replica-cart-page h1 { margin-bottom: 22px; }
  .replica-cart-page .shop_table { display: block; }
  .replica-cart-page .cart_item { display: grid; grid-template-columns: 84px minmax(0, 1fr); padding: 14px; gap: 12px; border-bottom: 1px solid #e8e2df; }
  .replica-cart-page .cart_item td { padding: 0; border: 0; }
  .replica-cart-page .cart_item .product-thumbnail { display: block; grid-column: 1; grid-row: 1 / 4; }
  .replica-cart-page .cart_item .product-name { grid-column: 2; }
  .replica-cart-page .cart_item .product-remove { grid-column: 2; grid-row: 4; }
  .replica-cart-page .cart_item .product-price, .replica-cart-page .cart_item .product-quantity, .replica-cart-page .cart_item .product-subtotal { grid-column: 2; }
  .replica-cart-page .cart_item .product-name::before, .replica-cart-page .cart_item .product-remove::before, .replica-cart-page .cart_item .product-thumbnail::before, .replica-cart-page td.actions::before { display: none; }
  .replica-cart-page .coupon { flex-wrap: wrap; }
  .replica-cart-page .coupon input.input-text { flex-basis: 140px; }
  .replica-cart-page .coupon button { flex: 1 1 150px; }
  .replica-cart-page button[name="update_cart"] { float: none; width: 100%; }
  .replica-cart-page .cart_totals { max-width: none; padding: 20px; }
  .replica-cart-page .cart_totals tr { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
  .replica-cart-page .cart_totals td::before { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .replica-store #menu-drawer, .replica-store #menu-drawer * { transition: none !important; }
}
