@charset "UTF-8";
/* Base product layout for all screen sizes */
.product-info-container {
  display: flex;
  align-items: flex-start;
  width: 100%;
}

.product-image-container {
  width: 70px;
  flex-shrink: 0;
  margin-right: 15px;
  text-align: center;
}

.product-details-container {
  flex-grow: 1;
  padding-right: 10px;
}
.product-details-container h6 {
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
}
.product-details-container .small {
  font-size: 0.8rem;
  margin-bottom: 0.15rem;
}

.cart-quantity-cell {
  min-width: 130px;
  vertical-align: middle !important;
  text-align: center;
}

.quantity-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 130px;
  margin: 0 auto;
  /* Hide native spinner buttons on number inputs */
}
.quantity-form .input-group-sm {
  width: 100%;
}
.quantity-form .input-group-sm .form-control {
  min-width: 40px;
  text-align: center;
  height: 31px; /* Fix for quantity control height mismatch */
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0;
  padding-bottom: 0;
}
.quantity-form .input-group-sm .btn {
  height: 31px; /* Fix for quantity control height mismatch */
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.quantity-form input[type=number] {
  -moz-appearance: textfield; /* Firefox */
}
.quantity-form input[type=number]::-webkit-outer-spin-button, .quantity-form input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.quantity-form .dropdown {
  width: 100%;
  display: flex;
  justify-content: center;
}
.quantity-form .btn-sm.w-100 {
  width: 100%;
  max-width: 130px;
}

/* Cart action buttons */
.cart-action-buttons {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1rem; /* Moved from mobile specific */
}
.cart-action-buttons .btn-primary {
  padding: 0.75rem 1.5rem;
  font-weight: 500;
}
.cart-action-buttons .btn-outline-secondary {
  padding: 0.5rem 1rem;
}

/* Shipping logos */
.shipping-logo {
  height: 20px;
  width: auto;
  max-width: 60px;
  vertical-align: middle;
  margin-right: 5px;
  filter: grayscale(0.2);
  transition: filter 0.2s, transform 0.2s;
}
.shipping-logo:hover {
  filter: grayscale(0);
  transform: scale(1.05);
}

.shipping-companies-wrapper {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

/* Mobile product layout */
@media (max-width: 767px) {
  /* Restore responsive table styles */
  .table-responsive {
    border: none;
    /* Improve shipping companies display on mobile */
    /* Center shipping logos in mobile view */
  }
  .table-responsive table,
  .table-responsive thead,
  .table-responsive tbody,
  .table-responsive th,
  .table-responsive td,
  .table-responsive tr {
    display: block;
  }
  .table-responsive thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  .table-responsive tr {
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 15px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  }
  .table-responsive td {
    border: none !important;
    position: relative;
    padding: 10px 15px;
    text-align: left;
    /* Fix text wrapping for price cells */
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    /* More compact data labels */
    /* Hide price cell completely on mobile */
    /* Hide Product heading on mobile */
    /* Center status content on mobile */
    /* Center quantity content on mobile */
  }
  .table-responsive td:before {
    content: attr(data-label);
    position: relative;
    display: block;
    font-weight: bold;
    color: #555;
    margin-bottom: 5px;
    font-size: 0.85rem;
  }
  .table-responsive td[data-label] {
    padding-bottom: 5px;
  }
  .table-responsive td[data-label]:not(:first-child) {
    padding-top: 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
  }
  .table-responsive td[data-label*=Price], .table-responsive td[data-label*=Cena] {
    display: none !important;
  }
  .table-responsive td[data-label*=Product]:before, .table-responsive td[data-label*=Produkt]:before {
    display: none !important;
  }
  .table-responsive td[data-label*=Status], .table-responsive td[data-label*=Stav] {
    text-align: center;
    /* Center the main status indicators */
    /* Center delivery information on mobile */
  }
  .table-responsive td[data-label*=Status] .d-flex, .table-responsive td[data-label*=Stav] .d-flex {
    justify-content: center;
    /* Ensure delivery text wraps properly and centers on mobile */
  }
  .table-responsive td[data-label*=Status] .d-flex.align-items-center, .table-responsive td[data-label*=Stav] .d-flex.align-items-center {
    flex-direction: column;
    align-items: center !important;
    text-align: center;
    gap: 4px;
  }
  .table-responsive td[data-label*=Status] .d-flex .ms-2, .table-responsive td[data-label*=Stav] .d-flex .ms-2 {
    display: block !important;
    margin-left: 0 !important;
    margin-top: 8px;
    text-align: center;
    width: 100%;
  }
  .table-responsive td[data-label*=Status] .small, .table-responsive td[data-label*=Stav] .small {
    text-align: center;
    margin: 0 auto;
    max-width: 280px;
  }
  .table-responsive td[data-label*=Status] .small .d-flex, .table-responsive td[data-label*=Stav] .small .d-flex {
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
  }
  .table-responsive td[data-label*=Quantity], .table-responsive td[data-label*=Množství] {
    text-align: center;
  }
  .table-responsive td[data-label*=Quantity]:before, .table-responsive td[data-label*=Množství]:before {
    text-align: center;
  }
  .table-responsive td[data-label*=Quantity] .dropdown, .table-responsive td[data-label*=Množství] .dropdown {
    display: flex;
    justify-content: center;
  }
  .table-responsive .shipping-companies-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 8px;
  }
  .table-responsive .shipping-companies-wrapper .shipping-logo, .table-responsive .shipping-companies-wrapper .badge {
    margin: 2px 4px;
  }
  .table-responsive .shipping-logo {
    display: inline-block;
    margin: 2px 4px;
    text-align: center;
  }
  /* Mobile price display section styling */
  .mobile-price-display-section {
    /* Price badges styling */
    /* Smaller icons and reduced animation */
    /* Compact spacing */
    /* Better contrast for white background */
  }
  .mobile-price-display-section .actualPrice {
    font-size: 1.4rem;
  }
  .mobile-price-display-section .display-6 {
    font-size: 1rem !important;
    font-weight: 500 !important;
    letter-spacing: normal;
    text-shadow: none; /* Remove text shadow for white background */
  }
  .mobile-price-display-section .fs-3 {
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    letter-spacing: normal;
  }
  .mobile-price-display-section .bg-danger, .mobile-price-display-section .bg-success {
    font-size: 1rem !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
  }
  .mobile-price-display-section .bg-primary {
    font-size: 1rem !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1) !important;
  }
  .mobile-price-display-section .fas {
    font-size: 0.8rem;
    animation: bounce 2s infinite;
  }
  .mobile-price-display-section .small {
    font-size: 0.75rem !important;
  }
  .mobile-price-display-section .text-muted {
    color: #6c757d !important;
  }
  /* Animations */
  @keyframes slideInUp {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
      transform: translateY(0);
    }
    40% {
      transform: translateY(-3px);
    }
    60% {
      transform: translateY(-2px);
    }
  }
  .cart-quantity-cell {
    min-width: auto;
    text-align: center;
  }
  .quantity-form {
    align-items: center;
    margin: 0 auto;
    /* Improve quantity control on mobile */
  }
  .quantity-form .input-group-sm {
    max-width: 120px;
  }
  .quantity-form .dropdown {
    width: 100%;
    display: flex;
    justify-content: center;
  }
  /* Better spacing between price changes on mobile */
  .d-flex.flex-column span {
    margin-bottom: 4px;
  }
  /* Side-by-side product layout */
  .product-info-container {
    display: flex;
    align-items: flex-start;
    width: 100%;
  }
  .product-image-container {
    width: 70px;
    flex-shrink: 0;
    margin-right: 15px;
  }
  .tyre-manufacturer-logo {
    max-width: 100% !important;
    height: auto !important;
    max-height: 18px !important;
  }
  /* Shipping logos on mobile */
  .shipping-logo {
    height: 16px;
    max-width: 50px;
  }
}
/* Fix price text wrapping for all screen sizes */
.table td .fw-medium {
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
}

/* Ensure price cells can wrap text properly */
.table td[data-label*=Price],
.table td[data-label*=Cena] {
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  max-width: 120px; /* Limit width to encourage wrapping */
}

/* Desktop price cell styling */
@media (min-width: 768px) {
  /* Hide mobile price sections */
  .mobile-price-display-section {
    display: none !important;
  }
  .table td[data-label*=Price],
  .table td[data-label*=Cena] {
    max-width: 140px;
    min-width: 100px;
    /* Ensure desktop price is visible and properly styled */
  }
  .table td[data-label*=Price] .desktop-price-only,
  .table td[data-label*=Cena] .desktop-price-only {
    display: block !important;
  }
  /* Desktop overrides to fix alignment - ensure desktop stays left-aligned */
  .table-responsive td[data-label*=Price],
  .table-responsive td[data-label*=Cena],
  .table-responsive td[data-label*=Status],
  .table-responsive td[data-label*=Stav] {
    text-align: left !important;
  }
  .table-responsive td[data-label*=Price] .fw-medium,
  .table-responsive td[data-label*=Cena] .fw-medium,
  .table-responsive td[data-label*=Price] .desktop-price-only,
  .table-responsive td[data-label*=Cena] .desktop-price-only {
    text-align: left !important;
  }
  .table-responsive td[data-label*=Status] .d-flex,
  .table-responsive td[data-label*=Stav] .d-flex {
    justify-content: flex-start !important;
  }
  .table-responsive td[data-label*=Status] .d-flex.align-items-center,
  .table-responsive td[data-label*=Stav] .d-flex.align-items-center {
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
    gap: 8px !important;
  }
  .table-responsive td[data-label*=Status] .d-flex .ms-2,
  .table-responsive td[data-label*=Stav] .d-flex .ms-2 {
    display: inline !important;
    margin-left: 0.5rem !important;
    margin-top: 0 !important;
    text-align: left !important;
    width: auto !important;
  }
  .table-responsive td[data-label*=Price] .d-flex.flex-column,
  .table-responsive td[data-label*=Cena] .d-flex.flex-column {
    align-items: flex-start !important;
    text-align: left !important;
  }
  .table-responsive .shipping-logo {
    display: inline-block !important;
    margin: 0 5px 0 0 !important;
    text-align: left !important;
  }
}
/* EU Tyre Label tooltip styles */
#tyre-label-tooltip {
  transition: opacity 0.2s ease-in-out;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.tyre-label-link {
  color: #6c757d;
  font-size: 0.8rem;
}
.tyre-label-link:hover {
  color: #343a40;
  text-decoration: underline !important;
}

.btn-close-sm {
  font-size: 0.7rem;
  padding: 0.2rem;
}

/* Hide Product heading on mobile (duplicate rule, ensure it's applied correctly) */
/* Additional price centering (duplicate rule, ensure it's applied correctly) *//*# sourceMappingURL=cart.css.map */