/* ============================================================
   TOLEDO MARKETPLACE - Shop4U-inspired Theme
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root {
  --toledo-primary: #ff5722;
  --toledo-primary-dark: #e64a19;
  --toledo-secondary: #2c3e50;
  --toledo-accent: #f39c12;
  --toledo-dark: #1a1a2e;
  --toledo-text: #333333;
  --toledo-text-light: #777777;
  --toledo-bg: #ffffff;
  --toledo-bg-light: #f8f9fa;
  --toledo-bg-gray: #f0f0f0;
  --toledo-border: #e8e8e8;
  --toledo-success: #27ae60;
  --toledo-danger: #e74c3c;
  --toledo-shadow: 0 2px 15px rgba(0,0,0,0.08);
  --toledo-shadow-hover: 0 8px 30px rgba(0,0,0,0.15);
  --toledo-radius: 8px;
  --toledo-transition: all 0.3s ease;
}

/* ---- RESET / BASE ---- */
body {
  font-family: 'Poppins', sans-serif !important;
  color: var(--toledo-text);
  background: var(--toledo-bg);
  line-height: 1.6;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600;
  color: var(--toledo-secondary);
}

a {
  color: var(--toledo-primary);
  text-decoration: none;
  transition: var(--toledo-transition);
}

a:hover {
  color: var(--toledo-primary-dark);
  text-decoration: none;
}

/* ============================================================
   TOP BAR
   ============================================================ */
.toledo-topbar {
  background: var(--toledo-dark);
  color: #ccc;
  font-size: 13px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.toledo-topbar a {
  color: #ccc;
  margin-right: 15px;
  transition: var(--toledo-transition);
}

.toledo-topbar a:hover {
  color: var(--toledo-primary);
}

.toledo-topbar .topbar-left {
  display: flex;
  align-items: center;
  gap: 20px;
}

.toledo-topbar .topbar-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 15px;
}

.toledo-topbar i {
  margin-right: 5px;
}

/* ============================================================
   MAIN HEADER
   ============================================================ */
.toledo-header-main {
  background: #fff;
  padding: 15px 0;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  position: relative;
  z-index: 100;
}

.toledo-header-main .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.toledo-logo {
  font-size: 32px;
  font-weight: 800;
  color: var(--toledo-secondary) !important;
  text-decoration: none !important;
  letter-spacing: -1px;
  white-space: nowrap;
}

.toledo-logo span {
  color: var(--toledo-primary);
}

.toledo-search-bar {
  flex: 1;
  max-width: 600px;
  position: relative;
}

.toledo-search-bar .aimeos .catalog-search {
  width: 100%;
}

.toledo-search-bar input[type="text"],
.toledo-search-bar .catalog-search input,
.toledo-search-bar .value {
  width: 100%;
  padding: 12px 50px 12px 20px;
  border: 2px solid var(--toledo-border);
  border-radius: 50px;
  font-size: 14px;
  outline: none;
  transition: var(--toledo-transition);
  font-family: 'Poppins', sans-serif;
}

.toledo-search-bar input:focus,
.toledo-search-bar .catalog-search input:focus {
  border-color: var(--toledo-primary);
  box-shadow: 0 0 0 3px rgba(255,87,34,0.1);
}

.toledo-header-actions {
  display: flex;
  align-items: center;
  gap: 25px;
}

.toledo-header-actions .header-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--toledo-secondary);
  font-size: 12px;
  cursor: pointer;
  position: relative;
  text-decoration: none;
  transition: var(--toledo-transition);
}

.toledo-header-actions .header-action:hover {
  color: var(--toledo-primary);
}

.toledo-header-actions .header-action i {
  font-size: 24px;
  margin-bottom: 3px;
}

.toledo-header-actions .header-action .badge {
  position: absolute;
  top: -5px;
  right: -8px;
  background: var(--toledo-primary);
  color: #fff;
  font-size: 10px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

/* ============================================================
   MEGA MENU / NAVIGATION BAR
   ============================================================ */
.toledo-nav-bar {
  background: var(--toledo-secondary);
  position: relative;
  z-index: 99;
}

.toledo-nav-bar .nav-inner {
  display: flex;
  align-items: stretch;
}

.toledo-nav-bar .all-categories-btn {
  background: var(--toledo-primary);
  color: #fff;
  padding: 12px 25px;
  font-weight: 600;
  font-size: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  white-space: nowrap;
  transition: var(--toledo-transition);
  border: none;
}

.toledo-nav-bar .all-categories-btn:hover {
  background: var(--toledo-primary-dark);
}

.toledo-nav-bar .all-categories-btn i {
  font-size: 18px;
}

.toledo-nav-bar .catalog-tree {
  display: flex;
  align-items: center;
}

.toledo-nav-bar .catalog-tree .cat-tree {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}

.toledo-nav-bar .catalog-tree .cat-tree > li {
  position: relative;
}

.toledo-nav-bar .catalog-tree .cat-tree > li > a {
  color: #fff;
  padding: 12px 18px;
  display: block;
  font-size: 14px;
  font-weight: 500;
  transition: var(--toledo-transition);
  white-space: nowrap;
}

.toledo-nav-bar .catalog-tree .cat-tree > li > a:hover,
.toledo-nav-bar .catalog-tree .cat-tree > li:hover > a {
  color: var(--toledo-primary);
  background: rgba(255,255,255,0.05);
}

/* Submenu dropdown */
.toledo-nav-bar .catalog-tree .cat-tree > li > ul {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  min-width: 220px;
  box-shadow: var(--toledo-shadow-hover);
  border-radius: 0 0 var(--toledo-radius) var(--toledo-radius);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: var(--toledo-transition);
  padding: 10px 0;
  z-index: 1000;
  list-style: none;
}

.toledo-nav-bar .catalog-tree .cat-tree > li:hover > ul {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.toledo-nav-bar .catalog-tree .cat-tree > li > ul li a {
  color: var(--toledo-text);
  padding: 8px 20px;
  display: block;
  font-size: 13px;
  transition: var(--toledo-transition);
}

.toledo-nav-bar .catalog-tree .cat-tree > li > ul li a:hover {
  color: var(--toledo-primary);
  background: var(--toledo-bg-light);
  padding-left: 25px;
}

.toledo-nav-bar .nav-links {
  display: flex;
  align-items: center;
  margin-left: auto;
  gap: 0;
}

.toledo-nav-bar .nav-links a {
  color: #fff;
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 500;
  transition: var(--toledo-transition);
}

.toledo-nav-bar .nav-links a:hover {
  color: var(--toledo-primary);
}

/* ============================================================
   HERO BANNER / SLIDER - Shop4U Style
   ============================================================ */
.toledo-hero {
  position: relative;
  overflow: hidden;
  background: #f5f5f5;
}

.toledo-hero-slider {
  position: relative;
}

.toledo-hero-slide {
  min-height: 500px;
  display: none;
  align-items: center;
  padding: 60px 0;
  position: relative;
}

.toledo-hero-slide.active {
  display: flex !important;
}

.toledo-hero-slide.slide-1 {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
}

.toledo-hero-slide.slide-2 {
  background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
}

.toledo-hero-slide.slide-3 {
  background: linear-gradient(135deg, #e74c3c 0%, #c0392b 50%, #e67e22 100%);
}

.toledo-hero-content {
  color: #fff;
  padding-left: 40px;
  position: relative;
  z-index: 2;
}

.toledo-hero-content .hero-badge {
  display: inline-block;
  background: var(--toledo-danger);
  color: #fff;
  padding: 4px 14px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 15px;
  text-transform: uppercase;
}

.toledo-hero-content .hero-badge.sale-badge {
  background: var(--toledo-primary);
}

.toledo-hero-content .hero-subtitle {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--toledo-accent);
  margin-bottom: 10px;
}

.toledo-hero-content h1 {
  font-size: 48px;
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 15px;
}

.toledo-hero-content p {
  font-size: 15px;
  color: rgba(255,255,255,0.8);
  margin-bottom: 20px;
  line-height: 1.7;
  max-width: 450px;
}

.toledo-hero-content .hero-price {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 25px;
}

.toledo-hero-content .hero-price .price-from {
  font-size: 14px;
  color: rgba(255,255,255,0.7);
}

.toledo-hero-content .hero-price .price-amount {
  font-size: 32px;
  font-weight: 800;
  color: var(--toledo-primary);
}

.toledo-hero-content .hero-price .price-old {
  font-size: 18px;
  color: rgba(255,255,255,0.5);
  text-decoration: line-through;
}

.toledo-hero-content .hero-btn {
  display: inline-block;
  background: var(--toledo-primary);
  color: #fff;
  padding: 14px 40px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: var(--toledo-transition);
  text-decoration: none;
}

.toledo-hero-content .hero-btn:hover {
  background: var(--toledo-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(255,87,34,0.4);
  color: #fff;
}

.toledo-hero-content .hero-btn i {
  margin-left: 8px;
}

/* Hero image area */
.toledo-hero-image {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.toledo-hero-image .hero-img-placeholder {
  width: 350px;
  height: 350px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 120px;
  color: rgba(255,255,255,0.15);
  border: 3px solid rgba(255,255,255,0.05);
}

/* Hero navigation arrows */
.toledo-hero-nav {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  z-index: 10;
  pointer-events: none;
}

.toledo-hero-nav button {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  border: 2px solid rgba(255,255,255,0.3);
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  transition: var(--toledo-transition);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: all;
  backdrop-filter: blur(5px);
}

.toledo-hero-nav button:hover {
  background: var(--toledo-primary);
  border-color: var(--toledo-primary);
}

/* Slider dots */
.toledo-hero-dots {
  position: absolute;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 10;
}

.toledo-hero-dots .dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,0.4);
  cursor: pointer;
  transition: var(--toledo-transition);
}

.toledo-hero-dots .dot.active {
  background: var(--toledo-primary);
  width: 30px;
  border-radius: 6px;
}

/* ============================================================
   SECTION HEADINGS
   ============================================================ */
.toledo-section {
  padding: 60px 0;
}

.toledo-section.bg-light {
  background: var(--toledo-bg-light);
}

.toledo-section-header {
  text-align: center;
  margin-bottom: 45px;
  position: relative;
}

.toledo-section-header h2 {
  font-size: 28px;
  font-weight: 700;
  color: var(--toledo-secondary);
  margin-bottom: 10px;
  position: relative;
  display: inline-block;
}

.toledo-section-header h2::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: var(--toledo-primary);
  margin: 12px auto 0;
  border-radius: 2px;
}

.toledo-section-header p {
  color: var(--toledo-text-light);
  font-size: 15px;
  max-width: 600px;
  margin: 0 auto;
}

/* ============================================================
   DEALS OF THE DAY - Shop4U Style
   ============================================================ */
.toledo-deals {
  background: var(--toledo-bg-light);
}

.toledo-countdown {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-bottom: 40px;
}

.toledo-countdown .countdown-item {
  background: var(--toledo-primary);
  color: #fff;
  border-radius: var(--toledo-radius);
  padding: 12px 16px;
  text-align: center;
  min-width: 70px;
}

.toledo-countdown .countdown-item .number {
  font-size: 28px;
  font-weight: 700;
  display: block;
  line-height: 1;
}

.toledo-countdown .countdown-item .label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 5px;
  display: block;
  opacity: 0.9;
}

/* Deals grid - first card is featured (larger) */
.toledo-deals-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 40px;
}

.toledo-deal-card {
  background: #fff;
  border-radius: var(--toledo-radius);
  overflow: hidden;
  box-shadow: var(--toledo-shadow);
  transition: var(--toledo-transition);
  border: 1px solid var(--toledo-border);
}

.toledo-deal-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--toledo-shadow-hover);
  border-color: transparent;
}

.toledo-deal-card .deal-img {
  position: relative;
  background: var(--toledo-bg-light);
  padding: 30px;
  text-align: center;
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toledo-deal-card .deal-img .discount-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: var(--toledo-danger);
  color: #fff;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
}

.toledo-deal-card .deal-img .img-placeholder {
  font-size: 60px;
  color: var(--toledo-border);
}

.toledo-deal-card .deal-info {
  padding: 15px;
}

.toledo-deal-card .deal-info h4 {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 8px;
  line-height: 1.4;
}

.toledo-deal-card .deal-info h4 a {
  color: var(--toledo-text);
}

.toledo-deal-card .deal-info h4 a:hover {
  color: var(--toledo-primary);
}

.toledo-deal-card .deal-desc {
  font-size: 12px;
  color: var(--toledo-text-light);
  margin: 0 0 10px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.toledo-deal-card .deal-rating {
  color: var(--toledo-accent);
  font-size: 12px;
  margin-bottom: 8px;
}

.toledo-deal-card .deal-price {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.toledo-deal-card .deal-price .price-old {
  font-size: 13px;
  color: var(--toledo-text-light);
  text-decoration: line-through;
}

.toledo-deal-card .deal-price .price-current {
  font-size: 18px;
  font-weight: 700;
  color: var(--toledo-primary);
}

.toledo-deal-card .deal-add-to-cart {
  display: inline-block;
  background: var(--toledo-primary);
  color: #fff;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  transition: var(--toledo-transition);
  text-decoration: none;
}

.toledo-deal-card .deal-add-to-cart:hover {
  background: var(--toledo-primary-dark);
  color: #fff;
}

/* Featured deal card - larger */
.toledo-deal-card.featured {
  grid-row: span 1;
}

/* ============================================================
   PRODUCT CARDS - Shop4U Style
   ============================================================ */
.product .product-item,
.catalog-home .product-item,
.catalog-list .product-item,
.toledo-product-card {
  background: #fff;
  border-radius: var(--toledo-radius);
  overflow: hidden;
  box-shadow: var(--toledo-shadow);
  transition: var(--toledo-transition);
  position: relative;
  border: 1px solid var(--toledo-border);
}

.product .product-item:hover,
.catalog-home .product-item:hover,
.catalog-list .product-item:hover,
.toledo-product-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--toledo-shadow-hover);
  border-color: transparent;
}

/* Product image area */
.product .product-item .media-list,
.catalog-home .product-item .media-list {
  position: relative;
  overflow: hidden;
  background: var(--toledo-bg-light);
}

.product .product-item .media-list img,
.catalog-home .product-item .media-list img {
  transition: transform 0.5s ease;
}

.product .product-item:hover .media-list img,
.catalog-home .product-item:hover .media-list img {
  transform: scale(1.08);
}

/* Sale badge */
.product .product-item .offer,
.catalog-home .product-item .offer {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--toledo-danger);
  color: #fff;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  z-index: 5;
  text-transform: uppercase;
}

/* Product action buttons on hover */
.product .product-item .actions,
.catalog-home .product-item .actions {
  position: absolute;
  right: 12px;
  top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  opacity: 0;
  transform: translateX(20px);
  transition: var(--toledo-transition);
  z-index: 5;
}

.product .product-item:hover .actions,
.catalog-home .product-item:hover .actions {
  opacity: 1;
  transform: translateX(0);
}

.product .product-item .actions button,
.product .product-item .actions a,
.catalog-home .product-item .actions button,
.catalog-home .product-item .actions a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--toledo-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--toledo-text);
  font-size: 16px;
  cursor: pointer;
  transition: var(--toledo-transition);
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.product .product-item .actions button:hover,
.product .product-item .actions a:hover,
.catalog-home .product-item .actions button:hover,
.catalog-home .product-item .actions a:hover {
  background: var(--toledo-primary);
  color: #fff;
  border-color: var(--toledo-primary);
}

/* Product text area */
.product .product-item .text-list,
.catalog-home .product-item .text-list {
  padding: 15px;
}

.product .product-item .text-list .name,
.product .product-item .name a,
.catalog-home .product-item .text-list .name,
.catalog-home .product-item .name a {
  font-size: 14px;
  font-weight: 500;
  color: var(--toledo-text);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: var(--toledo-transition);
}

.product .product-item .name a:hover,
.catalog-home .product-item .name a:hover {
  color: var(--toledo-primary);
}

/* Price styling */
.product .product-item .price-list,
.catalog-home .product-item .price-list {
  padding: 0 15px 15px;
}

.product .product-item .price-list .price-item .value,
.catalog-home .product-item .price-list .price-item .value {
  font-size: 18px;
  font-weight: 700;
  color: var(--toledo-primary);
}

.product .product-item .price-list .price-item .original,
.catalog-home .product-item .price-list .price-item .original {
  font-size: 13px;
  color: var(--toledo-text-light);
  text-decoration: line-through;
  margin-left: 8px;
}

/* Rating stars */
.product .product-item .rating .stars {
  color: var(--toledo-accent);
}

/* ============================================================
   PRODUCT GRID SECTIONS
   ============================================================ */
.toledo-products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

.toledo-products-grid .toledo-product-card .card-img {
  position: relative;
  overflow: hidden;
  background: var(--toledo-bg-light);
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toledo-product-card .card-img .placeholder-img {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 60px;
  color: var(--toledo-border);
  background: linear-gradient(135deg, #f5f5f5, #e8e8e8);
}

.toledo-product-card .sale-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--toledo-danger);
  color: #fff;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  z-index: 2;
}

.toledo-product-card .new-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--toledo-success);
  color: #fff;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  z-index: 2;
}

.toledo-product-card .card-hover-actions {
  position: absolute;
  bottom: -50px;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.7);
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 12px;
  transition: var(--toledo-transition);
  z-index: 3;
}

.toledo-product-card:hover .card-hover-actions {
  bottom: 0;
}

.toledo-product-card .card-hover-actions button {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: var(--toledo-transition);
  font-size: 14px;
  color: var(--toledo-text);
}

.toledo-product-card .card-hover-actions button:hover {
  background: var(--toledo-primary);
  color: #fff;
}

.toledo-product-card .card-body {
  padding: 15px;
}

.toledo-product-card .card-body h5 {
  font-size: 14px;
  font-weight: 500;
  color: var(--toledo-text);
  margin: 0 0 8px;
  line-height: 1.4;
}

.toledo-product-card .card-body h5 a {
  color: inherit;
}

.toledo-product-card .card-body h5 a:hover {
  color: var(--toledo-primary);
}

.toledo-product-card .card-price {
  display: flex;
  align-items: center;
  gap: 8px;
}

.toledo-product-card .card-price .current {
  font-size: 18px;
  font-weight: 700;
  color: var(--toledo-primary);
}

.toledo-product-card .card-price .original {
  font-size: 14px;
  color: var(--toledo-text-light);
  text-decoration: line-through;
}

.toledo-product-card .card-stars {
  color: var(--toledo-accent);
  font-size: 12px;
  margin-bottom: 5px;
}

/* ============================================================
   BRAND LOGOS - Shop4U Style
   ============================================================ */
.toledo-brands {
  background: #fff;
  border-top: 1px solid var(--toledo-border);
  border-bottom: 1px solid var(--toledo-border);
  padding: 40px 0;
}

.toledo-brands-grid {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}

.toledo-brands-grid .brand-item {
  width: 130px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.4;
  transition: var(--toledo-transition);
  filter: grayscale(100%);
  text-decoration: none;
}

.toledo-brands-grid .brand-item:hover {
  opacity: 1;
  filter: grayscale(0%);
}

.toledo-brands-grid .brand-item .brand-text {
  font-size: 16px;
  font-weight: 700;
  color: var(--toledo-text-light);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ============================================================
   TESTIMONIALS - Shop4U Style
   ============================================================ */
.toledo-testimonials {
  background: var(--toledo-bg-light);
}

.toledo-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

.toledo-testimonial-card {
  background: #fff;
  border-radius: var(--toledo-radius);
  padding: 30px;
  box-shadow: var(--toledo-shadow);
  transition: var(--toledo-transition);
  position: relative;
}

.toledo-testimonial-card:hover {
  box-shadow: var(--toledo-shadow-hover);
  transform: translateY(-3px);
}

.toledo-testimonial-card .testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
}

.toledo-testimonial-card .author-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--toledo-primary), var(--toledo-accent));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  flex-shrink: 0;
}

.toledo-testimonial-card .author-info h5 {
  font-size: 15px;
  font-weight: 600;
  margin: 0;
}

.toledo-testimonial-card .author-info span {
  font-size: 12px;
  color: var(--toledo-text-light);
}

.toledo-testimonial-card .stars {
  color: var(--toledo-accent);
  font-size: 13px;
  margin-bottom: 12px;
}

.toledo-testimonial-card .testimonial-text {
  font-size: 14px;
  color: var(--toledo-text-light);
  line-height: 1.7;
  margin: 0;
  font-style: italic;
}

.toledo-testimonial-card .quote-icon {
  font-size: 40px;
  color: var(--toledo-primary);
  opacity: 0.2;
  margin-bottom: 15px;
  line-height: 1;
}

/* ============================================================
   NEWSLETTER - Shop4U Style
   ============================================================ */
.toledo-newsletter {
  background: linear-gradient(135deg, var(--toledo-primary), #ff8a65);
  color: #fff;
  padding: 60px 0;
}

.toledo-newsletter .newsletter-content {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}

.toledo-newsletter h2 {
  color: #fff;
  font-size: 28px;
  margin-bottom: 10px;
}

.toledo-newsletter h2::after {
  display: none;
}

.toledo-newsletter p {
  color: rgba(255,255,255,0.9);
  margin-bottom: 25px;
  font-size: 15px;
}

.toledo-newsletter .newsletter-form {
  display: flex;
  gap: 0;
  max-width: 500px;
  margin: 0 auto;
}

.toledo-newsletter .newsletter-form input {
  flex: 1;
  padding: 14px 20px;
  border: none;
  border-radius: 50px 0 0 50px;
  font-size: 14px;
  outline: none;
  font-family: 'Poppins', sans-serif;
}

.toledo-newsletter .newsletter-form button {
  background: var(--toledo-dark);
  color: #fff;
  padding: 14px 30px;
  border: none;
  border-radius: 0 50px 50px 0;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: var(--toledo-transition);
  font-family: 'Poppins', sans-serif;
  white-space: nowrap;
}

.toledo-newsletter .newsletter-form button:hover {
  background: var(--toledo-secondary);
}

/* ============================================================
   FOOTER
   ============================================================ */
.toledo-footer {
  background: var(--toledo-dark);
  color: #ccc;
  padding: 60px 0 0;
}

.toledo-footer h4 {
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 25px;
  position: relative;
  padding-bottom: 12px;
}

.toledo-footer h4::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 2px;
  background: var(--toledo-primary);
}

.toledo-footer .footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.toledo-footer .footer-links li {
  margin-bottom: 10px;
}

.toledo-footer .footer-links a {
  color: #aaa;
  font-size: 14px;
  transition: var(--toledo-transition);
}

.toledo-footer .footer-links a:hover {
  color: var(--toledo-primary);
  padding-left: 5px;
}

.toledo-footer .footer-about p {
  font-size: 14px;
  line-height: 1.8;
  color: #aaa;
}

.toledo-footer .footer-contact {
  list-style: none;
  padding: 0;
  margin: 0;
}

.toledo-footer .footer-contact li {
  margin-bottom: 12px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: #aaa;
}

.toledo-footer .footer-contact i {
  color: var(--toledo-primary);
  margin-top: 3px;
}

.toledo-footer .social-links {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.toledo-footer .social-links a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ccc;
  font-size: 16px;
  transition: var(--toledo-transition);
}

.toledo-footer .social-links a:hover {
  background: var(--toledo-primary);
  color: #fff;
}

.toledo-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1);
  padding: 20px 0;
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}

.toledo-footer-bottom p {
  margin: 0;
  font-size: 13px;
  color: #888;
}

.toledo-footer-bottom .payment-icons {
  display: flex;
  gap: 10px;
  align-items: center;
}

.toledo-footer-bottom .payment-icons .pay-icon {
  background: rgba(255,255,255,0.1);
  padding: 5px 12px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  color: #aaa;
}

/* ============================================================
   OVERRIDE DEFAULT AIMEOS STYLES
   ============================================================ */
body > .navbar.navbar-top {
  display: none !important;
}

.catalog-home .home-items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

.catalog-list .product-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

.basket-mini .btn {
  background: var(--toledo-primary);
  border-color: var(--toledo-primary);
}

.basket-mini .btn:hover {
  background: var(--toledo-primary-dark);
  border-color: var(--toledo-primary-dark);
}

.catalog-tree .cat-tree > li > a {
  font-family: 'Poppins', sans-serif;
}

.aimeos-content-wrapper {
  min-height: 100px;
}

body > footer {
  display: none !important;
}

body > .back-to-top {
  background: var(--toledo-primary);
  border-radius: 50%;
  width: 45px;
  height: 45px;
}

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

.toledo-section {
  animation: fadeInUp 0.6s ease-out;
}

@keyframes slideIn {
  from { opacity: 0; transform: translateX(-30px); }
  to { opacity: 1; transform: translateX(0); }
}

.toledo-hero-content {
  animation: slideIn 0.8s ease-out;
}

/* ============================================================
   MISC UTILITIES
   ============================================================ */
.text-primary { color: var(--toledo-primary) !important; }
.bg-primary { background-color: var(--toledo-primary) !important; }

.toledo-btn {
  display: inline-block;
  padding: 10px 25px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 14px;
  transition: var(--toledo-transition);
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
}

.toledo-btn-primary {
  background: var(--toledo-primary);
  color: #fff;
}

.toledo-btn-primary:hover {
  background: var(--toledo-primary-dark);
  color: #fff;
  transform: translateY(-2px);
}

.toledo-btn-outline {
  background: transparent;
  border: 2px solid var(--toledo-primary);
  color: var(--toledo-primary);
}

.toledo-btn-outline:hover {
  background: var(--toledo-primary);
  color: #fff;
}

.stars-display { color: var(--toledo-accent); font-size: 13px; }


/* ============================================================
   CYCLE 3-4 FIX: Product Cards - targeting actual Aimeos HTML
   ============================================================ */

/* Override the product-list grid for the catalog content area */
.toledo-catalog-content .catalog-list-items.product-list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}

/* Each product card */
.toledo-catalog-content .product-list > .product {
  background: #fff;
  border-radius: var(--toledo-radius);
  overflow: hidden;
  box-shadow: 0 1px 8px rgba(0,0,0,0.06);
  transition: var(--toledo-transition);
  position: relative;
  border: 1px solid var(--toledo-border);
  display: block !important;
  /* Remove Bootstrap row behavior */
  flex-wrap: nowrap;
  margin: 0;
}

.toledo-catalog-content .product-list > .product:hover {
  transform: translateY(-4px);
  box-shadow: var(--toledo-shadow-hover);
  border-color: rgba(255,87,34,0.2);
}

/* Remove Bootstrap col-12 constraints */
.toledo-catalog-content .product-list > .product > .list-column {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  flex: none;
}

/* Product image container */
.toledo-catalog-content .product-list > .product .media-list {
  display: block;
  position: relative;
  overflow: hidden;
  background: var(--toledo-bg-light);
  aspect-ratio: 1 / 1;
}

.toledo-catalog-content .product-list > .product .media-list .media-item {
  width: 100%;
  height: 100%;
}

.toledo-catalog-content .product-list > .product .media-list img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}

.toledo-catalog-content .product-list > .product:hover .media-list img {
  transform: scale(1.08);
}

/* Badges (New, Sale) - Shop4U style */
.toledo-catalog-content .product-list > .product .badges {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.toledo-catalog-content .product-list > .product .badge-item {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.4;
}

.toledo-catalog-content .product-list > .product .badge-item.sale {
  background: var(--toledo-danger);
  color: #fff;
}

.toledo-catalog-content .product-list > .product .badge-item.new {
  background: var(--toledo-success);
  color: #fff;
}

/* Product info (code, rating) */
.toledo-catalog-content .product-list > .product .product-info {
  padding: 10px 14px 0;
}

.toledo-catalog-content .product-list > .product .product-info .code {
  display: none; /* Hide SKU code like Shop4U */
}

.toledo-catalog-content .product-list > .product .product-info .supplier {
  font-size: 11px;
  color: var(--toledo-text-light);
  margin-bottom: 2px;
}

.toledo-catalog-content .product-list > .product .product-info .rating {
  margin-top: 2px;
}

.toledo-catalog-content .product-list > .product .product-info .rating .stars {
  color: var(--toledo-accent);
  font-size: 13px;
  letter-spacing: 1px;
}

/* Product name */
.toledo-catalog-content .product-list > .product .text-list {
  padding: 4px 14px 2px;
}

.toledo-catalog-content .product-list > .product .text-list h2.name {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--toledo-text) !important;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}

.toledo-catalog-content .product-list > .product:hover .text-list h2.name {
  color: var(--toledo-primary) !important;
}

.toledo-catalog-content .product-list > .product .text-list .text-item {
  font-size: 12px;
  color: var(--toledo-text-light);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 4px;
}

/* Offer / price area */
.toledo-catalog-content .product-list > .product .offer {
  padding: 0 14px 12px;
}

.toledo-catalog-content .product-list > .product .offer .section {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.toledo-catalog-content .product-list > .product .price-list {
  flex: 1;
}

.toledo-catalog-content .product-list > .product .price-list .price-item {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}

.toledo-catalog-content .product-list > .product .price-list .price-item .value {
  font-size: 16px;
  font-weight: 700;
  color: var(--toledo-primary);
}

.toledo-catalog-content .product-list > .product .price-list .price-item .original {
  font-size: 12px;
  color: var(--toledo-text-light);
  text-decoration: line-through;
}

.toledo-catalog-content .product-list > .product .price-list .price-item .quantity {
  font-size: 11px;
  color: var(--toledo-text-light);
  display: none; /* Hide "from 1" like Shop4U */
}

.toledo-catalog-content .product-list > .product .price-list .price-item .currency {
  font-size: 13px;
}

/* Add to basket form/button */
.toledo-catalog-content .product-list > .product .basket {
  padding: 0 14px 14px;
}

.toledo-catalog-content .product-list > .product .basket .addbasket {
  display: flex;
  gap: 6px;
}

.toledo-catalog-content .product-list > .product .basket .addbasket .btn-action {
  flex: 1;
  padding: 8px 12px;
  background: var(--toledo-bg-light);
  border: 1px solid var(--toledo-border);
  border-radius: 4px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--toledo-text);
  cursor: pointer;
  transition: var(--toledo-transition);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.toledo-catalog-content .product-list > .product .basket .addbasket .btn-action:hover {
  background: var(--toledo-primary);
  color: #fff;
  border-color: var(--toledo-primary);
}

/* Hide selection/attribute sections in grid view for cleanliness */
.toledo-catalog-content .product-list > .product .items-selection,
.toledo-catalog-content .product-list > .product .items-attribute {
  display: none;
}

/* Stock display */
.toledo-catalog-content .product-list > .product .stock-list {
  font-size: 11px;
}

/* Second media item (hover swap) hidden by default */
.toledo-catalog-content .product-list > .product .media-list .media-item:nth-child(n+3) {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.toledo-catalog-content .product-list > .product:hover .media-list .media-item:nth-child(3) {
  opacity: 1;
}

/* ---- CYCLE 9-10 FIX: Responsive for product grid ---- */
@media (max-width: 1200px) {
  .toledo-catalog-content .catalog-list-items.product-list {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 767px) {
  .toledo-catalog-content .catalog-list-items.product-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .toledo-catalog-content .product-list > .product .text-list h2.name {
    font-size: 12px !important;
  }
  .toledo-catalog-content .product-list > .product .price-list .price-item .value {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .toledo-catalog-content .catalog-list-items.product-list {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   CYCLE 5-6 REFINEMENTS: Price, Quantity, Stock
   ============================================================ */

/* Hide "from 1" quantity label on detail (not useful for simple products) */
.catalog-detail-basket .price-list .price-item .quantity {
  display: none;
}

/* Price value - ensure large and prominent like Shop4U */
.catalog-detail-basket .price-list .price-actual .price-item .value {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--toledo-primary) !important;
}

/* Currency symbol styling */
.catalog-detail-basket .price-list .price-item .currency {
  font-size: 20px;
  font-weight: 600;
}

/* Tax info below price */
.catalog-detail-basket .price-list .price-item .tax {
  display: block;
  font-size: 12px;
  color: var(--toledo-text-light);
  margin-top: 5px;
}

/* Shipping cost info */
.catalog-detail-basket .price-list .price-item .shipping {
  font-size: 12px;
  color: var(--toledo-text-light);
}

/* Stock status styling */
.catalog-detail-basket .stock-list .articleitem {
  margin-bottom: 10px;
}

.catalog-detail-basket .stock-list .stock-actual .stockitem {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  padding: 5px 12px;
  border-radius: 4px;
}

/* Selection attributes - cleaner look */
.catalog-detail-basket-attribute .selection {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Ensure form inputs are styled */
.catalog-detail-basket .basket select,
.catalog-detail-basket .basket input[type="text"] {
  width: 100%;
  padding: 10px 15px;
  border: 2px solid var(--toledo-border);
  border-radius: var(--toledo-radius);
  font-size: 14px;
  font-family: 'Poppins', sans-serif;
  outline: none;
  transition: var(--toledo-transition);
}

.catalog-detail-basket .basket select:focus,
.catalog-detail-basket .basket input[type="text"]:focus {
  border-color: var(--toledo-primary);
}

/* ============================================================
   CYCLE 7-8 REFINEMENTS: Tab improvements
   ============================================================ */

/* Tab pane min height */
.catalog-detail-additional .tab-pane {
  min-height: 100px;
}

/* Review form styling */
.catalog-detail-additional .reviews .review-list form {
  margin-top: 20px;
  padding: 20px;
  background: var(--toledo-bg-light);
  border-radius: var(--toledo-radius);
}

.catalog-detail-additional .reviews .review-list form input,
.catalog-detail-additional .reviews .review-list form textarea {
  width: 100%;
  padding: 10px 15px;
  border: 2px solid var(--toledo-border);
  border-radius: var(--toledo-radius);
  font-size: 14px;
  font-family: 'Poppins', sans-serif;
  outline: none;
  transition: var(--toledo-transition);
  margin-bottom: 10px;
}

.catalog-detail-additional .reviews .review-list form input:focus,
.catalog-detail-additional .reviews .review-list form textarea:focus {
  border-color: var(--toledo-primary);
}

.catalog-detail-additional .reviews .review-list form .btn {
  background: var(--toledo-primary);
  color: #fff;
  border: none;
  border-radius: var(--toledo-radius);
  padding: 10px 24px;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
  transition: var(--toledo-transition);
}

.catalog-detail-additional .reviews .review-list form .btn:hover {
  background: var(--toledo-primary-dark);
}

/* Downloads tab styling */
.catalog-detail-additional .block.downloads {
  list-style: none;
  padding: 0;
  margin: 0;
}

.catalog-detail-additional .block.downloads .item {
  padding: 10px 0;
  border-bottom: 1px solid var(--toledo-border);
}

.catalog-detail-additional .block.downloads .item a {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--toledo-primary);
  font-weight: 500;
  transition: var(--toledo-transition);
}

.catalog-detail-additional .block.downloads .item a:hover {
  color: var(--toledo-primary-dark);
}

/* ============================================================
   CYCLE 9-10 REFINEMENTS: Polish and fine-tuning
   ============================================================ */

/* Ensure product detail page has proper background */
body.page-catalog-detail {
  background: var(--toledo-bg-light);
}

body.page-catalog-detail .aimeos.catalog-detail {
  background: #fff;
  border-radius: var(--toledo-radius);
  margin-top: 0;
  box-shadow: var(--toledo-shadow);
}

body.page-catalog-detail .aimeos.catalog-detail .container-xxl {
  padding: 30px;
}

/* Smooth transitions for image zoom */
.catalog-detail-image .image-single {
  overflow: hidden;
}

/* Better print-friendly hidden */
@media print {
  .toledo-breadcrumb,
  .catalog-detail-actions,
  .catalog-detail-basket .addbasket {
    display: none;
  }
}

/* Focus states for accessibility */
.catalog-detail-basket .addbasket input:focus,
.catalog-detail-basket .addbasket button:focus {
  outline: 2px solid var(--toledo-primary);
  outline-offset: 2px;
}

.catalog-detail-additional .nav-tabs .nav-link:focus {
  outline: 2px solid var(--toledo-primary);
  outline-offset: -2px;
}

/* Smooth scroll to tabs when clicking anchor */
.catalog-detail-additional {
  scroll-margin-top: 20px;
}

/* Ensure the product code/SKU doesn't look too prominent */
.catalog-detail-basic .code {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--toledo-border);
  margin-bottom: 15px;
}

/* Price list container - add some border and spacing like Shop4U */
.catalog-detail-basket .price-list {
  padding: 15px 0;
  border-bottom: 1px solid var(--toledo-border);
}

/* Improve action buttons to look like Shop4U wishlist/compare */
.catalog-detail-actions .actions-button-pin::before {
  content: '\F588';
  font-family: 'bootstrap-icons';
  font-size: 14px;
}

.catalog-detail-actions .actions-button-watch::before {
  content: '\F1C7';
  font-family: 'bootstrap-icons';
  font-size: 14px;
}

.catalog-detail-actions .actions-button-favorite::before {
  content: '\F417';
  font-family: 'bootstrap-icons';
  font-size: 14px;
}

/* Navigator (previous/next product links) */
.catalog-detail-navigator {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.catalog-detail-navigator nav {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.catalog-detail-navigator a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 16px;
  background: var(--toledo-bg-light);
  border: 1px solid var(--toledo-border);
  border-radius: var(--toledo-radius);
  color: var(--toledo-text);
  font-size: 13px;
  font-weight: 500;
  transition: var(--toledo-transition);
}

.catalog-detail-navigator a:hover {
  background: var(--toledo-primary);
  color: #fff;
  border-color: var(--toledo-primary);
}

/* Smooth loading state */
.catalog-detail .stock-list .articleitem::before {
  transition: var(--toledo-transition);
}

/* Ensure buttons have proper loading state */
.catalog-detail-basket .addbasket button[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Make the detail container centered and clean */
body.page-catalog-detail .content {
  padding-bottom: 40px;
}

body.page-catalog-detail .content main {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
}

/* ============================================================
   BREADCRUMB STYLING - Aimeos catalog-stage-breadcrumb
   ============================================================ */

/* Style the existing Aimeos breadcrumb like Shop4U */
.catalog-stage-breadcrumb {
  background: var(--toledo-bg-light) !important;
  padding: 12px 30px !important;
  border-bottom: 1px solid var(--toledo-border);
  margin-bottom: 0 !important;
}

.catalog-stage-breadcrumb .breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  font-size: 13px;
}

.catalog-stage-breadcrumb .breadcrumb .title {
  display: none;
}

.catalog-stage-breadcrumb .breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.catalog-stage-breadcrumb .breadcrumb ol li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.catalog-stage-breadcrumb .breadcrumb ol li a {
  color: var(--toledo-text-light);
  text-decoration: none;
  font-size: 13px;
  transition: var(--toledo-transition);
}

.catalog-stage-breadcrumb .breadcrumb ol li a:hover {
  color: var(--toledo-primary);
}

/* Add Home link before Back via CSS */
.catalog-stage-breadcrumb .breadcrumb ol li a.back::before {
  content: 'Home  /  Shop  /  ';
  color: var(--toledo-text-light);
}

.catalog-stage-breadcrumb .breadcrumb ol li a.back {
  color: var(--toledo-text);
  font-weight: 500;
}

/* ============================================================
   CYCLE 3-4: Header/Nav Enhancements
   ============================================================ */

/* Topbar divider */
.toledo-topbar .topbar-divider {
  color: rgba(255,255,255,0.2);
  margin: 0 5px;
}

/* Search with category dropdown */
.toledo-search-bar .search-wrapper {
  display: flex;
  align-items: center;
  border: 2px solid var(--toledo-border);
  border-radius: 50px;
  overflow: hidden;
  transition: var(--toledo-transition);
  background: #fff;
}

.toledo-search-bar .search-wrapper:focus-within {
  border-color: var(--toledo-primary);
  box-shadow: 0 0 0 3px rgba(255,87,34,0.1);
}

.toledo-search-bar .search-category-select {
  border: none;
  background: var(--toledo-bg-light);
  padding: 12px 15px;
  font-size: 13px;
  font-family: 'Poppins', sans-serif;
  color: var(--toledo-text);
  border-right: 1px solid var(--toledo-border);
  cursor: pointer;
  outline: none;
  min-width: 140px;
}

.toledo-search-bar .search-wrapper input[type="text"],
.toledo-search-bar .search-wrapper .catalog-search input,
.toledo-search-bar .search-wrapper .value {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 12px 20px !important;
}

/* Compare icon */
.toledo-header-actions .header-action[title="Compare"] i {
  font-size: 22px;
}

/* Cart action area */
.toledo-header-actions .cart-action {
  position: relative;
}

/* Nav bar highlight item */
.toledo-nav-bar .nav-links .nav-highlight {
  color: var(--toledo-accent) !important;
}

.toledo-nav-bar .nav-links .nav-highlight:hover {
  color: var(--toledo-primary) !important;
}

/* Sticky navigation */
.toledo-nav-bar.sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  box-shadow: 0 2px 15px rgba(0,0,0,0.15);
  animation: slideDown 0.3s ease;
}

@keyframes slideDown {
  from { transform: translateY(-100%); }
  to { transform: translateY(0); }
}

/* Newsletter icon */
.toledo-newsletter .newsletter-icon {
  font-size: 48px;
  margin-bottom: 15px;
  opacity: 0.9;
}

.toledo-newsletter .newsletter-icon i {
  color: #fff;
}

/* ============================================================
   CYCLE 5-6: Hero Slider Transitions & CTA Enhancements
   ============================================================ */

/* Crossfade transitions instead of show/hide */
.toledo-hero-slider {
  position: relative;
  min-height: 500px;
}

.toledo-hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  display: flex !important;
  visibility: hidden;
  transition: opacity 0.8s ease, visibility 0.8s ease;
  z-index: 1;
}

.toledo-hero-slide.active {
  opacity: 1 !important;
  visibility: visible !important;
  position: relative;
  z-index: 2;
}

/* Hero content staggered animation */
.toledo-hero-slide.active .hero-badge {
  animation: fadeInDown 0.6s ease 0.2s both;
}

.toledo-hero-slide.active .hero-subtitle {
  animation: fadeInDown 0.6s ease 0.3s both;
}

.toledo-hero-slide.active h1 {
  animation: fadeInDown 0.6s ease 0.4s both;
}

.toledo-hero-slide.active p {
  animation: fadeInDown 0.6s ease 0.5s both;
}

.toledo-hero-slide.active .hero-price {
  animation: fadeInDown 0.6s ease 0.6s both;
}

.toledo-hero-slide.active .hero-btn {
  animation: fadeInUp 0.6s ease 0.7s both;
}

.toledo-hero-slide.active .toledo-hero-image {
  animation: zoomIn 0.8s ease 0.3s both;
}

@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes zoomIn {
  from { opacity: 0; transform: scale(0.8); }
  to { opacity: 1; transform: scale(1); }
}

/* Hover effect on hero image */
.toledo-hero-image .hero-img-placeholder {
  transition: transform 0.5s ease;
}

.toledo-hero-slide:hover .hero-img-placeholder {
  transform: scale(1.05);
}

/* Hero CTA button improvements */
.toledo-hero-content .hero-btn {
  position: relative;
  overflow: hidden;
}

.toledo-hero-content .hero-btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255,255,255,0.1);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
}

.toledo-hero-content .hero-btn:hover::before {
  width: 300px;
  height: 300px;
}

/* Secondary CTA for hero */
.toledo-hero-content .hero-btn-outline {
  display: inline-block;
  background: transparent;
  color: #fff;
  padding: 14px 35px;
  border: 2px solid rgba(255,255,255,0.5);
  border-radius: 50px;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: var(--toledo-transition);
  text-decoration: none;
  margin-left: 15px;
}

.toledo-hero-content .hero-btn-outline:hover {
  background: #fff;
  color: var(--toledo-secondary);
  border-color: #fff;
}

/* Hero slider progress bar */
.toledo-hero-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  background: var(--toledo-primary);
  z-index: 15;
  animation: heroProgress 5s linear infinite;
}

@keyframes heroProgress {
  from { width: 0; }
  to { width: 100%; }
}


/* ============================================================
   CYCLE 5-6: Override Aimeos default product card layout
   ============================================================ */

/* Override Aimeos width-based grid with CSS grid */
.toledo-catalog-content .aimeos:not(.cms-page) .product-list .product {
  width: auto !important;
  margin: 0;
}

/* Override Aimeos aspect-ratio hack for images */
.toledo-catalog-content .aimeos .product-list div.list-column:first-of-type .media-list {
  padding-top: 0 !important;
  position: relative;
  aspect-ratio: 1 / 1;
}

.toledo-catalog-content .aimeos .product-list div.list-column:first-of-type .media-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.toledo-catalog-content .aimeos .product-list div.list-column:first-of-type .media-item > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.toledo-catalog-content .aimeos .product-list .product:hover .media-item > img {
  transform: scale(1.08);
}

/* Show badges (Aimeos hides them by default) */
.toledo-catalog-content .aimeos .product .badge-item {
  display: inline-block;
}

.toledo-catalog-content .aimeos .product .badge-item.sale {
  background: var(--toledo-danger);
  color: #fff;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.toledo-catalog-content .aimeos .product .badge-item.new {
  background: var(--toledo-success);
  color: #fff;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
}

/* Product card border + shadow */
.toledo-catalog-content .aimeos .product-list .product {
  border: 1px solid var(--toledo-border);
  border-radius: var(--toledo-radius);
  overflow: hidden;
  box-shadow: 0 1px 8px rgba(0,0,0,0.06);
  transition: var(--toledo-transition);
}

.toledo-catalog-content .aimeos .product-list .product:hover {
  transform: translateY(-4px);
  box-shadow: var(--toledo-shadow-hover);
  border-color: rgba(255,87,34,0.2);
}

/* Hide SKU code */
.toledo-catalog-content .aimeos .product .code {
  display: none;
}

/* Product name styling */
.toledo-catalog-content .aimeos .product .text-list h2.name {
  font-size: 13px;
  font-weight: 500;
  color: var(--toledo-text);
  line-height: 1.4;
  margin: 0;
  padding: 4px 14px 2px;
}

.toledo-catalog-content .aimeos .product:hover .text-list h2.name {
  color: var(--toledo-primary);
}

/* Product info container */
.toledo-catalog-content .aimeos .product .product-info {
  padding: 10px 14px 0;
}

/* Rating stars */
.toledo-catalog-content .aimeos .product .rating .stars {
  color: var(--toledo-accent);
  font-size: 13px;
}

/* Price */
.toledo-catalog-content .aimeos .product .price-list .price-item .value {
  font-size: 16px;
  font-weight: 700;
  color: var(--toledo-primary);
}

.toledo-catalog-content .aimeos .product .price-list .price-item .original {
  font-size: 12px;
  color: var(--toledo-text-light);
  text-decoration: line-through;
}

/* Hide quantity text "from 1" */
.toledo-catalog-content .aimeos .product .price-list .price-item .quantity {
  display: none;
}

/* Offer section padding */
.toledo-catalog-content .aimeos .product .offer {
  padding: 4px 14px 12px;
}

/* Add-to-basket button */
.toledo-catalog-content .aimeos .product .basket .addbasket .btn-action {
  width: 100%;
  padding: 8px 12px;
  background: var(--toledo-bg-light);
  border: 1px solid var(--toledo-border);
  border-radius: 4px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--toledo-text);
  cursor: pointer;
  transition: var(--toledo-transition);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.toledo-catalog-content .aimeos .product .basket .addbasket .btn-action:hover {
  background: var(--toledo-primary);
  color: #fff;
  border-color: var(--toledo-primary);
}

/* Hide variant selectors in grid view */
.toledo-catalog-content .aimeos .product .items-selection,
.toledo-catalog-content .aimeos .product .items-attribute {
  display: none;
}

/* ============================================================
   CYCLE 7: Override Aimeos pagination/sort defaults
   ============================================================ */

/* Override Aimeos centered heading */
.toledo-catalog-content .catalog-list-head h1 {
  text-align: left;
  font-size: 22px;
  font-weight: 600;
  color: var(--toledo-secondary);
  margin: 0 0 15px 0;
  padding: 0 0 10px 0;
  border-bottom: 2px solid var(--toledo-primary);
  display: inline-block;
  letter-spacing: 0;
}

/* Hide category stage image */
.catalog-stage .catalog-stage-image {
  display: none;
}

/* Override view toggle icon defaults */
.toledo-catalog-content .catalog-list-type .type-grid:after,
.toledo-catalog-content .catalog-list-type .type-list:after {
  content: none;
}

/* ============================================================
   CYCLE 8: Sidebar filter section collapsible headers
   ============================================================ */

/* Make filter sections collapsible on click (via Aimeos JS) */
.toledo-sidebar .catalog-filter .section {
  border: none;
  margin-bottom: 0;
  border-bottom: 1px solid var(--toledo-border);
}

.toledo-sidebar .catalog-filter .section:last-child {
  border-bottom: none;
}

/* Search within filter */
.toledo-sidebar .catalog-filter-search .header-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--toledo-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 12px 18px;
  margin: 0;
  cursor: pointer;
  position: relative;
}

.toledo-sidebar .catalog-filter-search .header-name::after {
  content: '';
  position: absolute;
  bottom: 8px;
  left: 18px;
  width: 30px;
  height: 2px;
  background: var(--toledo-primary);
}

.toledo-sidebar .catalog-filter-search .search-lists {
  padding: 0 18px 15px;
}

.toledo-sidebar .catalog-filter-search .search-lists .input-group {
  display: flex;
  border: 1px solid var(--toledo-border);
  border-radius: 4px;
  overflow: hidden;
}

.toledo-sidebar .catalog-filter-search .search-lists .input-group input {
  border: none;
  padding: 8px 12px;
  font-size: 13px;
  font-family: 'Poppins', sans-serif;
  flex: 1;
}

.toledo-sidebar .catalog-filter-search .search-lists .input-group input:focus {
  outline: none;
  box-shadow: none;
}

.toledo-sidebar .catalog-filter-search .search-lists .btn-search {
  background: var(--toledo-primary);
  color: #fff;
  border: none;
  padding: 8px 12px;
}

.toledo-sidebar .catalog-filter-search .search-lists .btn.reset {
  background: none;
  border: none;
  padding: 8px;
  color: var(--toledo-text-light);
}

/* Supplier filter styling */
.toledo-sidebar .catalog-filter-supplier .header-name {
  padding: 12px 18px;
  margin: 0;
  cursor: pointer;
}

.toledo-sidebar .catalog-filter-supplier .supplier-lists {
  padding: 0 18px 15px;
}

.toledo-sidebar .catalog-filter-supplier .supplier-lists .search {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid var(--toledo-border);
  border-radius: 4px;
  font-size: 12px;
  margin-bottom: 8px;
  font-family: 'Poppins', sans-serif;
}

.toledo-sidebar .catalog-filter-supplier .attr-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.toledo-sidebar .catalog-filter-supplier .attr-item {
  padding: 4px 0;
}

.toledo-sidebar .catalog-filter-supplier .attr-item input[type="checkbox"] {
  accent-color: var(--toledo-primary);
  margin-right: 6px;
}

.toledo-sidebar .catalog-filter-supplier .attr-item label {
  font-size: 13px;
  color: var(--toledo-text);
  cursor: pointer;
}

/* Price filter styling */
.toledo-sidebar .catalog-filter-price .header-name {
  padding: 12px 18px;
  margin: 0;
  cursor: pointer;
}

.toledo-sidebar .catalog-filter-price .price-lists {
  padding: 0 18px 15px;
}

/* Attribute filter list padding */
.toledo-sidebar .catalog-filter-attribute .attribute-lists {
  padding: 0 18px 15px;
}

.toledo-sidebar .catalog-filter-attribute .attr-header {
  padding: 12px 18px;
  margin: 0;
  cursor: pointer;
}

/* Hide filter tree's off-canvas elements in sidebar mode */
.toledo-sidebar .catalog-filter-tree .zeynep.list-container {
  position: static !important;
  transform: none !important;
  overflow: visible !important;
  visibility: visible !important;
  width: 100% !important;
  height: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  z-index: auto !important;
}

.toledo-sidebar .catalog-filter-tree .list-container .list-container {
  position: static !important;
  transform: none !important;
  overflow: visible !important;
  visibility: visible !important;
  width: 100% !important;
  height: auto !important;
}

/* Tree items in sidebar */
.toledo-sidebar .catalog-filter-tree .cat-item {
  padding: 0;
}

.toledo-sidebar .catalog-filter-tree .cat-item .item-links {
  margin: 0;
}

.toledo-sidebar .catalog-filter-tree .cat-item .item-links .cat-link {
  display: flex;
  align-items: center;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 500;
  color: var(--toledo-text);
  text-decoration: none;
  transition: var(--toledo-transition);
}

.toledo-sidebar .catalog-filter-tree .cat-item .item-links .cat-link:hover,
.toledo-sidebar .catalog-filter-tree .cat-item.active .item-links .cat-link {
  color: var(--toledo-primary);
  background: rgba(255,87,34,0.04);
}

.toledo-sidebar .catalog-filter-tree .cat-item .item-links .cat-link .cat-name {
  flex: 1;
}

.toledo-sidebar .catalog-filter-tree .cat-item .item-links .cat-link .media-list {
  display: none;
}

/* Tree toggle button */
.toledo-sidebar .catalog-filter-tree .cat-item .item-links .col-2 {
  display: none;
}

.toledo-sidebar .catalog-filter-tree .header {
  display: none;
}


/* ============================================================
   CYCLE 7-8: Product Sections Refinement
   ============================================================ */

/* Deals grid - responsive horizontal scroll on large screens */
.toledo-deals-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  margin-bottom: 30px;
}

/* Featured deal - side by side layout */
.toledo-deal-card.featured .deal-img {
  min-height: 200px;
}

.toledo-deal-card.featured .deal-info h4 {
  font-size: 16px;
}

.toledo-deal-card.featured .deal-price .price-current {
  font-size: 22px;
}

/* Section "View All" link */
.toledo-section-header .view-all-link {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--toledo-primary);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: var(--toledo-transition);
}

.toledo-section-header .view-all-link:hover {
  color: var(--toledo-primary-dark);
}

.toledo-section-header .view-all-link i {
  margin-left: 5px;
  transition: var(--toledo-transition);
}

.toledo-section-header .view-all-link:hover i {
  transform: translateX(3px);
}

/* Product card add-to-cart bottom bar */
.toledo-product-card .card-footer {
  padding: 0 15px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.toledo-product-card .card-footer .add-to-cart-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--toledo-primary);
  color: #fff;
  padding: 7px 15px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  transition: var(--toledo-transition);
  text-decoration: none;
  border: none;
  cursor: pointer;
}

.toledo-product-card .card-footer .add-to-cart-btn:hover {
  background: var(--toledo-primary-dark);
  color: #fff;
}

/* Product card quick action icons */
.toledo-product-card .card-quick-actions {
  display: flex;
  gap: 6px;
}

.toledo-product-card .card-quick-actions a {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--toledo-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--toledo-text-light);
  font-size: 13px;
  transition: var(--toledo-transition);
  background: #fff;
}

.toledo-product-card .card-quick-actions a:hover {
  background: var(--toledo-primary);
  color: #fff;
  border-color: var(--toledo-primary);
}

/* Products grid 4 columns for featured */
.toledo-products-grid.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

/* Tab-style section selector */
.toledo-section-tabs {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-bottom: 35px;
}

.toledo-section-tabs .section-tab {
  background: transparent;
  border: 2px solid var(--toledo-border);
  padding: 10px 30px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: var(--toledo-transition);
  font-family: 'Poppins', sans-serif;
  color: var(--toledo-text);
  text-decoration: none;
}

.toledo-section-tabs .section-tab:hover,
.toledo-section-tabs .section-tab.active {
  background: var(--toledo-primary);
  border-color: var(--toledo-primary);
  color: #fff;
}

/* Ensure deals cards responsive at smaller sizes */
@media (max-width: 1200px) {
  .toledo-deals-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 992px) {
  .toledo-deals-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .toledo-products-grid.grid-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .toledo-deals-grid {
    grid-template-columns: 1fr;
  }
  .toledo-products-grid.grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .toledo-section-header .view-all-link {
    position: static;
    display: block;
    text-align: center;
    margin-top: 10px;
    transform: none;
  }
}

@media (max-width: 480px) {
  .toledo-products-grid.grid-4 {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   CYCLE 9-10: Footer, Newsletter, Brands, Testimonials, Responsive
   ============================================================ */

/* Brands - colored on hover */
.toledo-brands-grid .brand-item:hover .brand-text {
  color: var(--toledo-primary);
}

/* Brands border between items */
.toledo-brands-grid .brand-item {
  padding: 15px 25px;
  border-right: 1px solid var(--toledo-border);
}

.toledo-brands-grid .brand-item:last-child {
  border-right: none;
}

/* Testimonial card - carousel feel with quote marks */
.toledo-testimonial-card::before {
  content: '\201C';
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 60px;
  color: var(--toledo-primary);
  opacity: 0.08;
  font-family: Georgia, serif;
  line-height: 1;
}

/* Testimonial rating row */
.toledo-testimonial-card .stars i {
  margin-right: 2px;
}

/* Footer social links enhanced */
.toledo-footer .social-links a {
  width: 36px;
  height: 36px;
  font-size: 14px;
}

.toledo-footer .social-links a:nth-child(1):hover { background: #3b5998; }
.toledo-footer .social-links a:nth-child(2):hover { background: #1da1f2; }
.toledo-footer .social-links a:nth-child(3):hover { background: #e1306c; }
.toledo-footer .social-links a:nth-child(4):hover { background: #bd081c; }
.toledo-footer .social-links a:nth-child(5):hover { background: #ff0000; }

/* Footer bottom payment icons hover */
.toledo-footer-bottom .payment-icons .pay-icon:hover {
  background: rgba(255,255,255,0.2);
  color: #fff;
}

.toledo-footer-bottom .payment-icons .pay-icon {
  transition: var(--toledo-transition);
  cursor: default;
}

/* Newsletter form shadow */
.toledo-newsletter .newsletter-form {
  box-shadow: 0 5px 20px rgba(0,0,0,0.15);
  border-radius: 50px;
  overflow: hidden;
}

.toledo-newsletter .newsletter-form input::placeholder {
  color: #999;
}

/* Back to top button refined */
#toTop, .back-to-top {
  position: fixed !important;
  bottom: 30px !important;
  right: 30px !important;
  width: 50px !important;
  height: 50px !important;
  background: var(--toledo-primary) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-size: 20px !important;
  box-shadow: 0 4px 15px rgba(255,87,34,0.3) !important;
  transition: var(--toledo-transition) !important;
  z-index: 999 !important;
}

#toTop:hover, .back-to-top:hover {
  background: var(--toledo-primary-dark) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(255,87,34,0.5) !important;
}

/* Content area - ensure no default aimeos max-width */
.content main {
  max-width: 100%;
}

/* Aimeos overrides for catalog-home grid items */
.aimeos .catalog-home .home-items {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

.aimeos .catalog-home .product-item {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
}

/* Hide empty aimeos wrappers */
.aimeos-content-wrapper:empty {
  display: none;
}

/* Mobile menu toggle */
@media (max-width: 992px) {
  .toledo-nav-bar .catalog-tree-wrapper {
    display: none;
  }
  .toledo-nav-bar .nav-inner {
    justify-content: space-between;
  }
  .toledo-nav-bar .all-categories-btn {
    display: flex;
    background: var(--toledo-primary);
  }
}

/* Tablet adjustments */
@media (max-width: 992px) {
  .toledo-brands-grid .brand-item {
    border-right: none;
    border-bottom: 1px solid var(--toledo-border);
    width: auto;
    padding: 10px 20px;
  }
  .toledo-testimonials-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .aimeos .catalog-home .home-items {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .toledo-brands-grid {
    gap: 15px;
  }
  .toledo-brands-grid .brand-item {
    width: 45%;
    border: none;
  }
  .toledo-testimonials-grid {
    grid-template-columns: 1fr;
  }
  .toledo-newsletter {
    padding: 40px 0;
  }
  .toledo-newsletter .newsletter-form {
    flex-direction: column;
    border-radius: var(--toledo-radius);
  }
  .toledo-newsletter .newsletter-form input {
    border-radius: var(--toledo-radius) var(--toledo-radius) 0 0;
    text-align: center;
  }
  .toledo-newsletter .newsletter-form button {
    border-radius: 0 0 var(--toledo-radius) var(--toledo-radius);
  }
  .aimeos .catalog-home .home-items {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .toledo-footer {
    padding: 40px 0 0;
  }
  .toledo-footer-bottom {
    flex-direction: column;
    text-align: center;
  }
  .toledo-header-actions .header-action span {
    display: none;
  }
  .toledo-header-actions .header-action[title="Compare"] {
    display: none;
  }
  .toledo-search-bar .search-category-select {
    display: none;
  }
}

@media (max-width: 480px) {
  .toledo-hero-content h1 {
    font-size: 24px;
  }
  .toledo-hero-content .hero-btn-outline {
    display: none;
  }
  .toledo-hero-content .hero-price .price-amount {
    font-size: 24px;
  }
  .aimeos .catalog-home .home-items {
    grid-template-columns: 1fr !important;
  }
}

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

/* Selection color */
::selection {
  background: var(--toledo-primary);
  color: #fff;
}


/* ============================================================
   CYCLE 9-10: Final polish - typography, spacing, responsive
   ============================================================ */

/* Category page body class for specificity */
body.page-catalog-tree .content,
body.page-catalog-list .content {
  background: var(--toledo-bg);
}

/* Breadcrumb bar - full width background */
body.page-catalog-tree .catalog-stage,
body.page-catalog-list .catalog-stage {
  background: var(--toledo-bg-light);
  border-bottom: 1px solid var(--toledo-border);
}

/* Remove extra padding from breadcrumb container */
body.page-catalog-tree .catalog-stage .container-xxl,
body.page-catalog-list .catalog-stage .container-xxl {
  max-width: 100%;
  padding: 0 30px;
}

/* Category header area within content */
.toledo-catalog-content .catalog-list-head .header-text {
  font-size: 13px;
  color: var(--toledo-text-light);
  line-height: 1.6;
  margin-bottom: 15px;
}

/* Empty second catalog-list-head (short text block) */
.toledo-catalog-content .catalog-list-head + .catalog-list-head:empty {
  display: none;
}

/* Sort + pagination bar - proper flex alignment */
.toledo-catalog-content .pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin: 12px 0;
  padding: 10px 0;
  border-top: 1px solid var(--toledo-border);
  border-bottom: 1px solid var(--toledo-border);
}

.toledo-catalog-content .pagination .sort {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.toledo-catalog-content .pagination .sort > span {
  font-size: 13px;
  font-weight: 500;
  color: var(--toledo-secondary);
  white-space: nowrap;
}

.toledo-catalog-content .pagination .sort ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 0;
}

.toledo-catalog-content .pagination .sort ul li a {
  display: inline-block;
  padding: 5px 12px;
  font-size: 12px;
  color: var(--toledo-text-light);
  text-decoration: none;
  border: 1px solid var(--toledo-border);
  border-right: none;
  background: #fff;
  transition: var(--toledo-transition);
  white-space: nowrap;
}

.toledo-catalog-content .pagination .sort ul li:first-child a {
  border-radius: 4px 0 0 4px;
}

.toledo-catalog-content .pagination .sort ul li:last-child a {
  border-radius: 0 4px 4px 0;
  border-right: 1px solid var(--toledo-border);
}

.toledo-catalog-content .pagination .sort ul li a:hover,
.toledo-catalog-content .pagination .sort ul li a.active {
  background: var(--toledo-primary);
  color: #fff;
  border-color: var(--toledo-primary);
}

/* Page browser arrows */
.toledo-catalog-content .pagination .browser {
  display: flex;
  align-items: center;
  gap: 4px;
}

.toledo-catalog-content .pagination .browser a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  border: 1px solid var(--toledo-border);
  border-radius: 4px;
  font-size: 13px;
  color: var(--toledo-text-light);
  text-decoration: none;
  background: #fff;
  transition: var(--toledo-transition);
  padding: 0 6px;
}

.toledo-catalog-content .pagination .browser a:hover {
  border-color: var(--toledo-primary);
  color: var(--toledo-primary);
  background: rgba(255,87,34,0.04);
}

.toledo-catalog-content .pagination .browser span {
  font-size: 13px;
  color: var(--toledo-text);
  padding: 0 6px;
  white-space: nowrap;
}

/* View toggle grid/list styling */
.toledo-catalog-content .catalog-list-type {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin-bottom: 8px;
}

.toledo-catalog-content .catalog-list-type .type-item {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--toledo-border);
  border-radius: 4px;
  color: var(--toledo-text-light);
  transition: var(--toledo-transition);
  padding: 0;
  background: #fff;
  text-decoration: none;
}

.toledo-catalog-content .catalog-list-type .type-item:hover {
  border-color: var(--toledo-primary);
  color: var(--toledo-primary);
}

/* Responsive sidebar collapse */
@media (max-width: 991px) {
  .toledo-sidebar {
    margin-bottom: 20px;
  }
  
  .toledo-sidebar-inner {
    position: static;
  }

  /* Show filter sections side by side on tablet */
  .toledo-sidebar .catalog-filter > nav > form {
    display: flex;
    flex-wrap: wrap;
  }

  .toledo-sidebar .catalog-filter .section {
    width: 50%;
    border-right: 1px solid var(--toledo-border);
  }

  .toledo-sidebar .catalog-filter .section:nth-child(even) {
    border-right: none;
  }

  .toledo-catalog-content .pagination {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 767px) {
  .toledo-sidebar .catalog-filter > nav > form {
    display: block;
  }

  .toledo-sidebar .catalog-filter .section {
    width: 100%;
    border-right: none;
  }

  .toledo-catalog-content .catalog-list-type {
    margin-bottom: 5px;
  }
}

/* Typography alignment with Shop4U */
.toledo-catalog-content .catalog-list .list-search {
  padding: 12px 16px;
  background: var(--toledo-bg-light);
  border-radius: var(--toledo-radius);
  margin-bottom: 15px;
  font-size: 14px;
  color: var(--toledo-text);
  font-weight: normal;
}

.toledo-catalog-content .catalog-list .list-search .searchstring {
  font-weight: 600;
  color: var(--toledo-primary);
  font-size: 100%;
}

/* Category list footer description */
.toledo-catalog-content .catalog-list-footer {
  margin-top: 25px;
  padding: 20px;
  background: var(--toledo-bg-light);
  border-radius: var(--toledo-radius);
}

.toledo-catalog-content .catalog-list-footer .footer-text {
  font-size: 14px;
  line-height: 1.7;
  color: var(--toledo-text-light);
}

/* Session widget (recently viewed) styling in sidebar */
.toledo-sidebar .catalog-session {
  margin-top: 15px;
  background: #fff;
  border-radius: var(--toledo-radius);
  border: 1px solid var(--toledo-border);
  overflow: hidden;
}

.toledo-sidebar .catalog-session .container-xxl {
  max-width: 100%;
  padding: 0;
}

.toledo-sidebar .catalog-session .section {
  padding: 15px 18px;
}

.toledo-sidebar .catalog-session .header {
  font-size: 14px;
  font-weight: 600;
  color: var(--toledo-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 12px 18px;
  margin: 0;
  border-bottom: 1px solid var(--toledo-border);
}

/* Make product links inside session smaller */
.toledo-sidebar .catalog-session .product {
  padding: 8px 0;
  border-bottom: 1px solid var(--toledo-bg-light);
}

.toledo-sidebar .catalog-session .product:last-child {
  border-bottom: none;
}

.toledo-sidebar .catalog-session .product img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 4px;
}

/* Smooth transitions on all interactive elements */
.toledo-sidebar a,
.toledo-sidebar button,
.toledo-sidebar input,
.toledo-catalog-content a,
.toledo-catalog-content button {
  transition: var(--toledo-transition);
}


/* ============================================================
   PRODUCT DETAIL PAGE - Shop4U Style (All Cycles)
   ============================================================ */

/* --- Hide Social Share Buttons (removed by request) --- */
.catalog-detail-actions .catalog-social {
  display: none !important;
}

/* --- Product Detail Main Layout --- */
.aimeos.catalog-detail {
  padding: 30px 0 60px;
}

.catalog-detail article.product.row {
  display: flex;
  flex-wrap: wrap;
}

/* Left Column - Image */
.catalog-detail article.product > .col-sm-6:first-child {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 25px;
}

/* Right Column - Info */
.catalog-detail article.product > .col-sm-6:nth-child(2) {
  flex: 0 0 50%;
  max-width: 50%;
  padding-left: 25px;
}

/* Full Width Bottom Section */
.catalog-detail article.product > .col-sm-12 {
  flex: 0 0 100%;
  max-width: 100%;
  margin-top: 50px;
}

/* --- Image Gallery Styling (Shop4U-like) --- */
.catalog-detail-image {
  position: relative;
  background: var(--toledo-bg-light);
  border-radius: var(--toledo-radius);
  overflow: hidden;
  border: 1px solid var(--toledo-border);
}

.catalog-detail-image .image-single .media-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  max-height: 500px;
  padding: 20px;
  background: #fff;
}

.catalog-detail-image .image-single .media-item img {
  max-width: 100%;
  max-height: 460px;
  width: auto;
  height: auto;
  object-fit: contain;
  cursor: zoom-in;
  transition: transform 0.4s ease;
}

.catalog-detail-image .image-single .media-item img:hover {
  transform: scale(1.05);
}

/* Slider navigation arrows */
.catalog-detail-image .slider-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--toledo-border);
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  cursor: pointer;
  z-index: 10;
  transition: var(--toledo-transition);
}

.catalog-detail-image .slider-nav:hover {
  background: var(--toledo-primary);
  color: #fff;
  border-color: var(--toledo-primary);
}

/* Thumbnail strip */
.catalog-detail-image .thumbs {
  margin-top: 15px;
  padding: 0 5px;
}

.catalog-detail-image .thumbs .slider-container {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 5px 0;
}

.catalog-detail-image .thumbs .thumbnail {
  flex: 0 0 80px;
  width: 80px;
  height: 80px;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid var(--toledo-border);
  cursor: pointer;
  transition: var(--toledo-transition);
  background: #fff;
}

.catalog-detail-image .thumbs .thumbnail:hover,
.catalog-detail-image .thumbs .thumbnail.active {
  border-color: var(--toledo-primary);
}

.catalog-detail-image .thumbs .thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Sale/offer badge */
.catalog-detail .badges .badge {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 5;
  background: var(--toledo-danger);
  color: #fff;
  padding: 5px 14px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

/* --- Product Info Section (Shop4U-like) --- */

/* Supplier/site name */
.catalog-detail-basic .supplier a,
.catalog-detail-basic .site {
  font-size: 13px;
  color: var(--toledo-text-light);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 5px;
  display: block;
}

.catalog-detail-basic .supplier a:hover {
  color: var(--toledo-primary);
}

/* Product title */
.catalog-detail-basic h1.name {
  font-size: 28px;
  font-weight: 700;
  color: var(--toledo-secondary);
  margin: 0 0 10px;
  line-height: 1.3;
}

/* Article number / SKU */
.catalog-detail-basic .code {
  font-size: 13px;
  color: var(--toledo-text-light);
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--toledo-border);
}

.catalog-detail-basic .code .name {
  font-weight: 500;
}

/* Rating stars */
.catalog-detail-basic .rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 15px;
}

.catalog-detail-basic .rating .stars {
  color: var(--toledo-accent);
  font-size: 16px;
  letter-spacing: 2px;
}

.catalog-detail-basic .rating .rating-value {
  font-size: 14px;
  font-weight: 600;
  color: var(--toledo-text);
}

.catalog-detail-basic .rating .ratings {
  font-size: 13px;
  color: var(--toledo-text-light);
}

.catalog-detail-basic .rating .ratings::before {
  content: '(';
}

.catalog-detail-basic .rating .ratings::after {
  content: ' reviews)';
}

/* Short description */
.catalog-detail-basic .short {
  font-size: 14px;
  color: var(--toledo-text-light);
  line-height: 1.7;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--toledo-border);
}

/* --- Price Section --- */
.catalog-detail-basket {
  margin-bottom: 20px;
}

.catalog-detail-basket .price-list {
  margin-bottom: 20px;
  padding: 15px 0;
  border-bottom: 1px solid var(--toledo-border);
}

.catalog-detail-basket .price-list .price-item {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

/* Hide "from 1" quantity label */
.catalog-detail-basket .price-list .price-item .quantity {
  display: none;
}

.catalog-detail-basket .price-list .price-item .value {
  font-size: 32px;
  font-weight: 700;
  color: var(--toledo-primary);
  line-height: 1;
}

.catalog-detail-basket .price-list .price-item .original {
  font-size: 18px;
  color: var(--toledo-text-light);
  text-decoration: line-through;
}

.catalog-detail-basket .price-list .price-item .rebate {
  display: inline-block;
  background: rgba(231, 76, 60, 0.1);
  color: var(--toledo-danger);
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
}

.catalog-detail-basket .price-list .price-item .tax {
  display: block;
  font-size: 12px;
  color: var(--toledo-text-light);
  margin-top: 5px;
  width: 100%;
}

/* --- Quantity Selector + Add to Cart Button --- */
.catalog-detail-basket .addbasket {
  margin-top: 20px;
}

.catalog-detail-basket .addbasket .input-group {
  display: flex;
  align-items: stretch;
  max-width: 400px;
}

.catalog-detail-basket .addbasket input[type="number"] {
  width: 80px;
  text-align: center;
  border: 2px solid var(--toledo-border);
  border-radius: var(--toledo-radius) 0 0 var(--toledo-radius);
  font-size: 16px;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  padding: 12px 8px;
  -moz-appearance: textfield;
  outline: none;
  transition: var(--toledo-transition);
}

.catalog-detail-basket .addbasket input[type="number"]:focus {
  border-color: var(--toledo-primary);
}

.catalog-detail-basket .addbasket input[type="number"]::-webkit-outer-spin-button,
.catalog-detail-basket .addbasket input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.catalog-detail-basket .addbasket .btn-action {
  flex: 1;
  background: var(--toledo-primary);
  color: #fff;
  border: 2px solid var(--toledo-primary);
  border-radius: 0 var(--toledo-radius) var(--toledo-radius) 0;
  font-size: 15px;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  padding: 12px 30px;
  cursor: pointer;
  transition: var(--toledo-transition);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.catalog-detail-basket .addbasket .btn-action:hover {
  background: var(--toledo-primary-dark);
  border-color: var(--toledo-primary-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(255,87,34,0.3);
}

.catalog-detail-basket .addbasket button[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}

/* --- Action Buttons (Pin, Watch, Favorite) --- */
.catalog-detail-actions {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--toledo-border);
}

.catalog-detail-actions .catalog-actions {
  display: flex;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.catalog-detail-actions .catalog-actions li {
  display: inline-flex;
}

.catalog-detail-actions .actions-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: var(--toledo-bg-light);
  border: 1px solid var(--toledo-border);
  border-radius: var(--toledo-radius);
  font-size: 13px;
  color: var(--toledo-text);
  cursor: pointer;
  transition: var(--toledo-transition);
  font-family: 'Poppins', sans-serif;
}

.catalog-detail-actions .actions-button:hover {
  background: var(--toledo-primary);
  color: #fff;
  border-color: var(--toledo-primary);
}

.catalog-detail-actions .actions-button-pin::before {
  content: '\F588';
  font-family: 'bootstrap-icons';
  font-size: 14px;
}

.catalog-detail-actions .actions-button-watch::before {
  content: '\F1C7';
  font-family: 'bootstrap-icons';
  font-size: 14px;
}

.catalog-detail-actions .actions-button-favorite::before {
  content: '\F417';
  font-family: 'bootstrap-icons';
  font-size: 14px;
}

/* --- Tabs Section (Description, Attributes, Reviews) --- */
.catalog-detail-additional.content-block {
  background: #fff;
  border-radius: var(--toledo-radius);
  border: 1px solid var(--toledo-border);
  overflow: hidden;
}

.catalog-detail-additional .nav-tabs {
  display: flex;
  border-bottom: 2px solid var(--toledo-border);
  padding: 0;
  margin: 0;
  background: var(--toledo-bg-light);
}

.catalog-detail-additional .nav-tabs .nav-link {
  padding: 15px 30px;
  font-size: 14px;
  font-weight: 600;
  color: var(--toledo-text-light);
  text-decoration: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: var(--toledo-transition);
  font-family: 'Poppins', sans-serif;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
}

.catalog-detail-additional .nav-tabs .nav-link:hover {
  color: var(--toledo-primary);
}

.catalog-detail-additional .nav-tabs .nav-link.active {
  color: var(--toledo-primary);
  border-bottom-color: var(--toledo-primary);
  background: #fff;
}

.catalog-detail-additional .nav-tabs .nav-link .ratings {
  display: inline-block;
  background: var(--toledo-bg-gray);
  color: var(--toledo-text-light);
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 10px;
  margin-left: 6px;
  font-weight: 500;
}

.catalog-detail-additional .tab-content {
  padding: 30px;
}

.catalog-detail-additional .tab-pane {
  min-height: 100px;
}

.catalog-detail-additional .tab-pane .block.description {
  font-size: 14px;
  line-height: 1.8;
  color: var(--toledo-text);
}

.catalog-detail-additional .tab-pane .block.description .long.item {
  max-width: 800px;
}

/* Attributes table */
.catalog-detail-additional .block.attributes table {
  width: 100%;
  border-collapse: collapse;
}

.catalog-detail-additional .block.attributes table tr {
  border-bottom: 1px solid var(--toledo-border);
}

.catalog-detail-additional .block.attributes table td {
  padding: 12px 15px;
  font-size: 14px;
}

.catalog-detail-additional .block.attributes table td.name {
  font-weight: 600;
  color: var(--toledo-secondary);
  width: 200px;
  background: var(--toledo-bg-light);
}

/* Reviews section */
.catalog-detail-additional .reviews {
  padding: 0;
}

.catalog-detail-additional .reviews .rating-numbers {
  text-align: center;
  margin-bottom: 20px;
}

.catalog-detail-additional .reviews .rating-num {
  font-size: 42px;
  font-weight: 700;
  color: var(--toledo-secondary);
  line-height: 1;
}

.catalog-detail-additional .reviews .rating-total {
  font-size: 13px;
  color: var(--toledo-text-light);
  margin-top: 5px;
}

.catalog-detail-additional .reviews .rating-stars {
  color: var(--toledo-accent);
  font-size: 20px;
  letter-spacing: 3px;
  margin-top: 5px;
}

.catalog-detail-additional .reviews .rating-dist {
  width: 100%;
  border-collapse: collapse;
}

.catalog-detail-additional .reviews .rating-dist thead {
  display: none;
}

.catalog-detail-additional .reviews .rating-dist tr {
  border: none;
}

.catalog-detail-additional .reviews .rating-dist td {
  padding: 4px 0;
  background: transparent;
}

.catalog-detail-additional .reviews .rating-dist td.rating-label {
  width: 80px;
  font-size: 13px;
  color: var(--toledo-accent);
}

.catalog-detail-additional .reviews .rating-dist progress {
  width: 100%;
  height: 8px;
  border-radius: 4px;
  overflow: hidden;
  appearance: none;
  -webkit-appearance: none;
}

.catalog-detail-additional .reviews .rating-dist progress::-webkit-progress-bar {
  background: var(--toledo-bg-gray);
  border-radius: 4px;
}

.catalog-detail-additional .reviews .rating-dist progress::-webkit-progress-value {
  background: var(--toledo-accent);
  border-radius: 4px;
}

.catalog-detail-additional .reviews .rating-dist progress::-moz-progress-bar {
  background: var(--toledo-accent);
  border-radius: 4px;
}

/* Review items and sorting */
.catalog-detail-additional .reviews .review-list .sort {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  font-size: 13px;
  color: var(--toledo-text-light);
}

.catalog-detail-additional .reviews .review-list .sort ul {
  display: flex;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.catalog-detail-additional .reviews .review-list .sort a {
  color: var(--toledo-text-light);
  font-size: 13px;
  text-decoration: none;
  padding: 4px 12px;
  border-radius: 4px;
  transition: var(--toledo-transition);
}

.catalog-detail-additional .reviews .review-list .sort a:hover,
.catalog-detail-additional .reviews .review-list .sort a.active {
  background: var(--toledo-primary);
  color: #fff;
}

.catalog-detail-additional .reviews .review-item {
  padding: 15px 0;
  border-bottom: 1px solid var(--toledo-border);
}

.catalog-detail-additional .reviews .review-item.prototype {
  display: none;
}

.catalog-detail-additional .reviews .review-item .review-name {
  font-weight: 600;
  font-size: 14px;
  color: var(--toledo-secondary);
}

.catalog-detail-additional .reviews .review-item .review-rating {
  color: var(--toledo-accent);
  font-size: 14px;
  margin: 5px 0;
}

.catalog-detail-additional .reviews .btn.more {
  background: var(--toledo-primary);
  border-color: var(--toledo-primary);
  color: #fff;
  border-radius: var(--toledo-radius);
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 24px;
  margin-top: 15px;
  transition: var(--toledo-transition);
}

.catalog-detail-additional .reviews .btn.more:hover {
  background: var(--toledo-primary-dark);
}

/* --- Related Products --- */
.catalog-detail-suggest,
.catalog-detail-bought,
.catalog-detail-bundle {
  margin-top: 50px;
  padding-top: 40px;
  border-top: 1px solid var(--toledo-border);
}

.catalog-detail-suggest .header,
.catalog-detail-bought .header,
.catalog-detail-bundle .header {
  font-size: 24px;
  font-weight: 700;
  color: var(--toledo-secondary);
  margin-bottom: 25px;
  position: relative;
  padding-bottom: 12px;
}

.catalog-detail-suggest .header::after,
.catalog-detail-bought .header::after,
.catalog-detail-bundle .header::after {
  content: '';
  display: block;
  width: 50px;
  height: 3px;
  background: var(--toledo-primary);
  margin-top: 10px;
  border-radius: 2px;
}

.catalog-detail-suggest .product-list,
.catalog-detail-bought .product-list,
.catalog-detail-bundle .product-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

/* --- Navigator (prev/next) --- */
.catalog-detail-navigator {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.catalog-detail-navigator nav {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.catalog-detail-navigator a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 16px;
  background: var(--toledo-bg-light);
  border: 1px solid var(--toledo-border);
  border-radius: var(--toledo-radius);
  color: var(--toledo-text);
  font-size: 13px;
  font-weight: 500;
  transition: var(--toledo-transition);
}

.catalog-detail-navigator a:hover {
  background: var(--toledo-primary);
  color: #fff;
  border-color: var(--toledo-primary);
}

/* --- Product Detail Responsive --- */
@media (max-width: 992px) {
  .catalog-detail article.product > .col-sm-6:first-child,
  .catalog-detail article.product > .col-sm-6:nth-child(2) {
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }

  .catalog-detail article.product > .col-sm-6:nth-child(2) {
    margin-top: 30px;
  }

  .catalog-detail-basic h1.name {
    font-size: 24px;
  }

  .catalog-detail-basket .price-list .price-item .value {
    font-size: 26px;
  }

  .catalog-detail-additional .nav-tabs .nav-link {
    padding: 12px 20px;
    font-size: 13px;
  }

  .catalog-detail-suggest .product-list,
  .catalog-detail-bought .product-list,
  .catalog-detail-bundle .product-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .catalog-detail-image .image-single .media-item {
    min-height: 280px;
    max-height: 350px;
  }

  .catalog-detail-additional .nav-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .catalog-detail-additional .tab-content {
    padding: 20px;
  }

  .catalog-detail-basket .addbasket .input-group {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .catalog-detail-basic h1.name {
    font-size: 20px;
  }

  .catalog-detail-basket .price-list .price-item .value {
    font-size: 22px;
  }

  .catalog-detail-additional .nav-tabs .nav-link {
    padding: 10px 15px;
    font-size: 12px;
  }

  .catalog-detail-suggest .product-list,
  .catalog-detail-bought .product-list,
  .catalog-detail-bundle .product-list {
    grid-template-columns: 1fr;
  }

  .catalog-detail-image .thumbs .thumbnail {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
  }
}

/* ============================================================
   CYCLE 1: Mobile - Image Gallery (full width, horizontal thumbnails)
   ============================================================ */
@media (max-width: 992px) {
  .catalog-detail-image {
    width: 100%;
    border-radius: 0;
    border-left: none;
    border-right: none;
  }

  .catalog-detail-image .image-single .media-item {
    min-height: auto;
    max-height: none;
    padding: 15px;
  }

  .catalog-detail-image .image-single .media-item img {
    max-height: 400px;
    width: 100%;
    object-fit: contain;
  }
}

@media (max-width: 768px) {
  .catalog-detail-image .image-single .media-item {
    padding: 10px;
  }

  .catalog-detail-image .image-single .media-item img {
    max-height: 320px;
  }

  .catalog-detail-image .thumbs {
    margin-top: 10px;
    padding: 0;
  }

  .catalog-detail-image .thumbs .slider-container {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 8px;
    padding: 5px 10px 10px;
  }

  .catalog-detail-image .thumbs .thumbnail {
    flex: 0 0 70px;
    width: 70px;
    height: 70px;
    scroll-snap-align: start;
  }
}

@media (max-width: 480px) {
  .catalog-detail-image .image-single .media-item img {
    max-height: 260px;
  }

  .catalog-detail-image .thumbs .slider-container {
    gap: 6px;
    padding: 5px 8px 8px;
  }
}

/* ============================================================
   CYCLE 2: Desktop - Verify 50/50 image/info split, ensure gap
   ============================================================ */
/* Ensure proper desktop 50/50 with consistent gap */
@media (min-width: 993px) {
  .catalog-detail article.product.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
  }

  .catalog-detail article.product > .col-sm-6:first-child {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 25px;
    padding-left: 15px;
  }

  .catalog-detail article.product > .col-sm-6:nth-child(2) {
    flex: 0 0 50%;
    max-width: 50%;
    padding-left: 25px;
    padding-right: 15px;
  }

  .catalog-detail-image .image-single .media-item {
    min-height: 400px;
    max-height: 500px;
  }
}

/* ============================================================
   CYCLE 3: Mobile - Product info section (title, price, stacking)
   ============================================================ */
@media (max-width: 992px) {
  .catalog-detail article.product > .col-sm-6:nth-child(2) {
    padding-left: 15px;
    padding-right: 15px;
  }

  .catalog-detail-basic {
    padding: 0 5px;
  }

  .catalog-detail-basic h1.name {
    font-size: 22px;
    line-height: 1.3;
    margin-bottom: 8px;
  }

  .catalog-detail-basic .short {
    font-size: 13px;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }

  .catalog-detail-basic .rating {
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
  }

  .catalog-detail-basket .price-list {
    padding: 12px 0;
    margin-bottom: 15px;
  }

  .catalog-detail-basket .price-list .price-item {
    flex-wrap: wrap;
    gap: 8px;
  }

  .catalog-detail-basket .price-list .price-item .value {
    font-size: 28px;
  }

  .catalog-detail-basket .price-list .price-item .original {
    font-size: 16px;
  }
}

@media (max-width: 768px) {
  .catalog-detail-basic h1.name {
    font-size: 20px;
  }

  .catalog-detail-basket .price-list .price-item .value {
    font-size: 26px;
  }

  .catalog-detail-basic .code {
    font-size: 12px;
    margin-bottom: 10px;
    padding-bottom: 8px;
  }

  .catalog-detail-basic .supplier a,
  .catalog-detail-basic .site {
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .catalog-detail-basic h1.name {
    font-size: 18px;
    margin-bottom: 6px;
  }

  .catalog-detail-basket .price-list .price-item .value {
    font-size: 24px;
  }

  .catalog-detail-basic .short {
    font-size: 12px;
    line-height: 1.6;
  }

  .catalog-detail-basic .rating .stars {
    font-size: 14px;
  }

  .catalog-detail-basic .rating .rating-value {
    font-size: 13px;
  }
}

/* ============================================================
   RESPONSIVE OVERHAUL - 10 Cycle Fix
   ============================================================ */

/* ---- CYCLE 1: Mobile Header/Nav ---- */

/* Hamburger menu button - hidden on desktop */
.toledo-hamburger {
  display: none;
  background: none;
  border: none;
  font-size: 28px;
  color: var(--toledo-secondary);
  cursor: pointer;
  padding: 5px;
  line-height: 1;
  z-index: 1001;
}

/* Mobile menu overlay */
.toledo-mobile-menu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.toledo-mobile-menu-overlay.active {
  opacity: 1;
}

/* Mobile slide-in menu */
.toledo-mobile-menu {
  display: none;
  position: fixed;
  top: 0;
  left: -300px;
  width: 280px;
  height: 100%;
  background: #fff;
  z-index: 1002;
  overflow-y: auto;
  transition: left 0.3s ease;
  box-shadow: 4px 0 20px rgba(0,0,0,0.15);
}

.toledo-mobile-menu.active {
  left: 0;
}

.toledo-mobile-menu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px solid var(--toledo-border);
  background: var(--toledo-bg-light);
}

.toledo-mobile-menu-header .mobile-logo {
  font-size: 22px;
  font-weight: 800;
  color: var(--toledo-secondary);
}

.toledo-mobile-menu-header .mobile-logo span {
  color: var(--toledo-primary);
}

.toledo-mobile-menu-close {
  background: none;
  border: none;
  font-size: 24px;
  color: var(--toledo-text);
  cursor: pointer;
  padding: 5px;
}

.toledo-mobile-menu-nav {
  padding: 0;
  margin: 0;
  list-style: none;
}

.toledo-mobile-menu-nav li {
  border-bottom: 1px solid var(--toledo-border);
}

.toledo-mobile-menu-nav li a {
  display: block;
  padding: 12px 20px;
  color: var(--toledo-text);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: var(--toledo-transition);
}

.toledo-mobile-menu-nav li a:hover {
  background: var(--toledo-bg-light);
  color: var(--toledo-primary);
  padding-left: 25px;
}

.toledo-mobile-menu-nav li a i {
  margin-right: 8px;
  width: 20px;
  text-align: center;
}

.toledo-mobile-menu-nav .nav-highlight a {
  color: var(--toledo-primary) !important;
  font-weight: 600;
}

.toledo-mobile-menu-section {
  padding: 15px 20px 10px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--toledo-text-light);
}

/* Aimeos tree inside mobile menu */
.toledo-mobile-menu .catalog-tree-mobile .cat-tree {
  list-style: none;
  padding: 0;
  margin: 0;
}

.toledo-mobile-menu .catalog-tree-mobile .cat-tree li {
  border-bottom: 1px solid var(--toledo-border);
}

.toledo-mobile-menu .catalog-tree-mobile .cat-tree li a {
  display: block;
  padding: 12px 20px;
  color: var(--toledo-text);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

.toledo-mobile-menu .catalog-tree-mobile .cat-tree li a:hover {
  color: var(--toledo-primary);
  background: var(--toledo-bg-light);
}

/* ---- CYCLE 1+2: Responsive header breakpoints ---- */

@media (max-width: 992px) {
  .toledo-hamburger {
    display: block;
  }

  .toledo-mobile-menu,
  .toledo-mobile-menu-overlay {
    display: block;
  }

  /* Hide desktop nav bar on mobile */
  .toledo-nav-bar .nav-inner {
    display: none;
  }

  /* Simplify nav bar to just show mobile toggle area */
  .toledo-nav-bar {
    display: none;
  }

  /* Header: logo + hamburger + actions */
  .toledo-header-main .header-inner {
    flex-wrap: wrap;
    gap: 10px;
  }

  .toledo-search-bar {
    order: 3;
    max-width: 100%;
    width: 100%;
    margin-top: 5px;
  }

  .toledo-search-bar .search-category-select {
    display: none;
  }

  .toledo-header-actions .header-action span {
    display: none;
  }

  .toledo-header-actions {
    gap: 15px;
  }

  .toledo-header-actions .header-action i {
    font-size: 22px;
  }
}

@media (max-width: 768px) {
  .toledo-topbar {
    display: none;
  }

  .toledo-header-main {
    padding: 10px 0;
  }

  .toledo-header-main .header-inner {
    gap: 8px;
  }

  .toledo-logo {
    font-size: 24px;
  }

  .toledo-search-bar .search-wrapper {
    border-width: 1px;
  }

  .toledo-search-bar .search-wrapper input[type="text"],
  .toledo-search-bar .search-wrapper .catalog-search input,
  .toledo-search-bar .search-wrapper .value {
    padding: 10px 15px !important;
    font-size: 13px;
  }
}

@media (max-width: 576px) {
  .toledo-header-main .container-fluid {
    padding-left: 12px;
    padding-right: 12px;
  }

  .toledo-logo {
    font-size: 22px;
  }

  .toledo-header-actions {
    gap: 10px;
  }

  .toledo-header-actions .header-action i {
    font-size: 20px;
  }
}

/* ---- CYCLE 3: Mobile Hero Slider ---- */

@media (max-width: 992px) {
  .toledo-hero-slide {
    min-height: 350px;
    padding: 40px 0;
  }

  .toledo-hero-content {
    padding-left: 20px;
    padding-right: 20px;
  }

  .toledo-hero-content h1 {
    font-size: 32px;
  }

  .toledo-hero-content p {
    font-size: 14px;
    max-width: 100%;
  }

  .toledo-hero-content .hero-price .price-amount {
    font-size: 26px;
  }

  .toledo-hero-image {
    display: none;
  }

  .toledo-hero-slide .col-lg-6:first-child {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .toledo-hero-slide {
    min-height: 300px;
    padding: 30px 0;
  }

  .toledo-hero-content h1 {
    font-size: 26px;
    line-height: 1.2;
  }

  .toledo-hero-content .hero-subtitle {
    font-size: 12px;
    letter-spacing: 2px;
  }

  .toledo-hero-content p {
    font-size: 13px;
    margin-bottom: 15px;
  }

  .toledo-hero-content .hero-price {
    margin-bottom: 15px;
  }

  .toledo-hero-content .hero-price .price-amount {
    font-size: 22px;
  }

  .toledo-hero-content .hero-price .price-old {
    font-size: 15px;
  }

  .toledo-hero-content .hero-btn {
    padding: 10px 25px;
    font-size: 13px;
  }

  .toledo-hero-content .hero-btn-outline {
    display: none;
  }

  .toledo-hero-nav button {
    width: 36px;
    height: 36px;
    font-size: 16px;
  }

  .toledo-hero-dots {
    bottom: 15px;
  }
}

@media (max-width: 576px) {
  .toledo-hero-slide {
    min-height: 260px;
    padding: 25px 0;
  }

  .toledo-hero-content {
    padding-left: 15px;
    padding-right: 15px;
  }

  .toledo-hero-content h1 {
    font-size: 22px;
  }

  .toledo-hero-content .hero-badge {
    font-size: 11px;
    padding: 3px 10px;
    margin-bottom: 10px;
  }

  .toledo-hero-content p {
    font-size: 12px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .toledo-hero-content .hero-price .price-amount {
    font-size: 20px;
  }

  .toledo-hero-content .hero-btn {
    padding: 8px 20px;
    font-size: 12px;
  }

  .toledo-hero-nav {
    display: none;
  }
}

@media (max-width: 480px) {
  .toledo-hero-slide {
    min-height: 220px;
    padding: 20px 0;
  }

  .toledo-hero-content h1 {
    font-size: 20px;
  }

  .toledo-hero-content .hero-subtitle {
    font-size: 11px;
    letter-spacing: 1px;
    margin-bottom: 5px;
  }

  .toledo-hero-content .hero-price .price-amount {
    font-size: 18px;
  }
}

/* ---- CYCLE 5: Mobile Product Sections ---- */

/* Deals section */
@media (max-width: 992px) {
  .toledo-deals-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .toledo-section {
    padding: 40px 0;
  }

  .toledo-section-header {
    margin-bottom: 30px;
  }

  .toledo-section-header h2 {
    font-size: 24px;
  }
}

@media (max-width: 768px) {
  .toledo-deals-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .toledo-products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .toledo-section {
    padding: 30px 0;
  }

  .toledo-section-header {
    margin-bottom: 25px;
  }

  .toledo-section-header h2 {
    font-size: 22px;
  }

  .toledo-section-header p {
    font-size: 13px;
  }

  .toledo-deal-card .deal-img {
    min-height: 140px;
    padding: 20px;
  }

  .toledo-deal-card .deal-img .img-placeholder {
    font-size: 45px;
  }

  .toledo-deal-card .deal-info {
    padding: 12px;
  }

  .toledo-deal-card .deal-info h4 {
    font-size: 13px;
  }

  .toledo-deal-card .deal-desc {
    font-size: 11px;
    -webkit-line-clamp: 1;
  }

  .toledo-deal-card .deal-price .price-current {
    font-size: 15px;
  }

  .toledo-deal-card .deal-price .price-old {
    font-size: 11px;
  }

  .toledo-deal-card .deal-add-to-cart {
    padding: 6px 12px;
    font-size: 11px;
  }

  .toledo-product-card .card-body {
    padding: 10px;
  }

  .toledo-product-card .card-body h5 {
    font-size: 13px;
    margin-bottom: 5px;
  }

  .toledo-product-card .card-price .current {
    font-size: 15px;
  }

  .toledo-product-card .card-price .original {
    font-size: 12px;
  }

  .toledo-product-card .card-stars {
    font-size: 11px;
  }

  .toledo-product-card .card-hover-actions {
    display: none;
  }

  .toledo-countdown {
    gap: 10px;
    margin-bottom: 25px;
  }

  .toledo-countdown .countdown-item {
    padding: 8px 12px;
    min-width: 60px;
  }

  .toledo-countdown .countdown-item .number {
    font-size: 22px;
  }

  .toledo-countdown .countdown-item .label {
    font-size: 10px;
  }

  /* Catalog home items */
  .catalog-home .home-items {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .catalog-list .product-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  /* View all link */
  .view-all-link {
    font-size: 13px;
  }
}

@media (max-width: 576px) {
  .toledo-deals-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .toledo-deal-card.featured {
    grid-row: span 1;
  }

  .toledo-section {
    padding: 25px 0;
  }

  .toledo-section-header h2 {
    font-size: 20px;
  }

  .toledo-section .container {
    padding-left: 12px;
    padding-right: 12px;
  }
}

@media (max-width: 480px) {
  .toledo-products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .toledo-product-card .card-body {
    padding: 8px;
  }

  .toledo-product-card .card-body h5 {
    font-size: 12px;
  }

  .toledo-product-card .card-price .current {
    font-size: 14px;
  }

  .toledo-product-card .card-stars {
    font-size: 10px;
  }

  .catalog-home .home-items {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  .catalog-list .product-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  .toledo-countdown {
    gap: 6px;
  }

  .toledo-countdown .countdown-item {
    padding: 6px 8px;
    min-width: 50px;
  }

  .toledo-countdown .countdown-item .number {
    font-size: 18px;
  }
}

/* ---- CYCLE 7: Mobile Brands, Testimonials, Newsletter ---- */

@media (max-width: 768px) {
  .toledo-brands {
    padding: 25px 0;
  }

  .toledo-brands-grid {
    gap: 15px;
    justify-content: center;
  }

  .toledo-brands-grid .brand-item {
    width: 100px;
    height: 45px;
  }

  .toledo-brands-grid .brand-item .brand-text {
    font-size: 12px;
  }

  .toledo-testimonials-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .toledo-testimonial-card {
    padding: 20px;
  }

  .toledo-testimonial-card .author-avatar {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }

  .toledo-testimonial-card .author-info h5 {
    font-size: 14px;
  }

  .toledo-testimonial-card .testimonial-text {
    font-size: 13px;
  }

  .toledo-newsletter {
    padding: 35px 0;
  }

  .toledo-newsletter h2 {
    font-size: 22px;
  }

  .toledo-newsletter p {
    font-size: 13px;
    margin-bottom: 20px;
  }

  .toledo-newsletter .newsletter-form {
    flex-direction: column;
    gap: 10px;
  }

  .toledo-newsletter .newsletter-form input {
    border-radius: 50px;
    text-align: center;
  }

  .toledo-newsletter .newsletter-form button {
    border-radius: 50px;
    padding: 12px 25px;
  }

  .toledo-newsletter .newsletter-icon {
    font-size: 36px;
  }
}

@media (max-width: 576px) {
  .toledo-brands-grid {
    gap: 10px;
  }

  .toledo-brands-grid .brand-item {
    width: 80px;
    height: 40px;
  }

  .toledo-brands-grid .brand-item .brand-text {
    font-size: 11px;
  }

  .toledo-newsletter h2 {
    font-size: 19px;
  }

  .toledo-newsletter .newsletter-form input {
    padding: 12px 15px;
    font-size: 13px;
  }

  .toledo-newsletter .newsletter-form button {
    padding: 11px 20px;
    font-size: 13px;
  }
}

/* ---- CYCLE 9: Mobile Footer ---- */

@media (max-width: 768px) {
  .toledo-footer {
    padding: 35px 0 0;
  }

  .toledo-footer .row > div {
    margin-bottom: 25px;
  }

  .toledo-footer h4 {
    font-size: 15px;
    margin-bottom: 15px;
    padding-bottom: 10px;
  }

  .toledo-footer .footer-about p {
    font-size: 13px;
  }

  .toledo-footer .footer-links a {
    font-size: 13px;
  }

  .toledo-footer .footer-contact li {
    font-size: 13px;
  }

  .toledo-footer .social-links a {
    width: 35px;
    height: 35px;
    font-size: 14px;
  }

  .toledo-footer-bottom {
    flex-direction: column;
    text-align: center;
    padding: 15px 0;
    margin-top: 20px;
    gap: 10px;
  }

  .toledo-footer-bottom .payment-icons {
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
  }

  .toledo-footer-bottom .payment-icons .pay-icon {
    font-size: 11px;
    padding: 4px 8px;
  }
}

@media (max-width: 576px) {
  .toledo-footer .container {
    padding-left: 15px;
    padding-right: 15px;
  }

  .toledo-footer .row > div {
    margin-bottom: 20px;
  }

  .toledo-footer h4 {
    font-size: 14px;
    margin-bottom: 12px;
  }

  .toledo-footer .footer-links li {
    margin-bottom: 8px;
  }

  .toledo-footer .footer-contact li {
    font-size: 12px;
    margin-bottom: 10px;
  }
}

/* ---- CYCLE 10: Full responsive sweep ---- */

/* 1200px: Large tablets / small laptops */
@media (max-width: 1200px) {
  .toledo-deals-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .toledo-products-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .toledo-testimonials-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .toledo-hero-content h1 {
    font-size: 40px;
  }

  .toledo-hero-image .hero-img-placeholder {
    width: 280px;
    height: 280px;
    font-size: 90px;
  }
}

/* Ensure no horizontal overflow at any breakpoint */
html, body {
  max-width: 100vw;
}

/* Fix for Aimeos catalog search on mobile */
@media (max-width: 992px) {
  .toledo-search-bar .aimeos .catalog-search {
    width: 100%;
  }

  .toledo-search-bar .catalog-search form {
    display: flex;
    width: 100%;
  }

  .toledo-search-bar .catalog-search .input-group {
    width: 100%;
  }
}

/* Fix container overflow on small screens */
@media (max-width: 576px) {
  .container, .container-fluid {
    padding-left: 12px;
    padding-right: 12px;
  }

  /* Prevent any element from breaking layout */
  img, video, iframe, table {
    max-width: 100%;
  }

  /* Aimeos content wrapper */
  .aimeos-content-wrapper {
    overflow-x: hidden;
  }
}

/* Detail page responsive */
@media (max-width: 768px) {
  body.page-catalog-detail .content main {
    padding: 0 10px;
  }

  body.page-catalog-detail .aimeos.catalog-detail .container-xxl {
    padding: 15px;
  }

  .catalog-detail-basket .price-list .price-actual .price-item .value {
    font-size: 24px !important;
  }

  .catalog-stage-breadcrumb {
    padding: 8px 15px !important;
    font-size: 12px;
  }

  .catalog-stage-breadcrumb .breadcrumb ol li a {
    font-size: 12px;
  }
}

/* Catalog content grid responsive */
@media (max-width: 768px) {
  .toledo-catalog-content .catalog-list-items.product-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }

  .toledo-catalog-content .product-list > .product .text-list h2.name {
    font-size: 12px !important;
  }

  .toledo-catalog-content .product-list > .product .price-list .price-item .value {
    font-size: 14px;
  }

  .toledo-catalog-content .product-list > .product .basket .addbasket .btn-action {
    padding: 6px 8px;
    font-size: 11px;
  }
}

@media (max-width: 480px) {
  .toledo-catalog-content .catalog-list-items.product-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
}


/* ============================================================
   CYCLE 4: Desktop - Product info styling refinements
   ============================================================ */
@media (min-width: 993px) {
  .catalog-detail-basic h1.name {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
  }

  .catalog-detail-basket .price-list .price-item .value {
    font-size: 32px;
  }

  .catalog-detail-basic .short {
    font-size: 14px;
    line-height: 1.7;
    max-width: 100%;
  }

  .catalog-detail-basic .rating {
    margin-bottom: 15px;
  }

  .catalog-detail-basket {
    margin-bottom: 20px;
  }

  /* Ensure action buttons stay inline on desktop */
  .catalog-detail-actions .catalog-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
}

/* ============================================================
   CYCLE 5: Mobile - Add to cart (full-width, larger touch targets)
   ============================================================ */
@media (max-width: 992px) {
  .catalog-detail-basket .addbasket .input-group {
    max-width: 100%;
    width: 100%;
  }

  .catalog-detail-basket .addbasket input[type="number"] {
    width: 70px;
    padding: 14px 8px;
    font-size: 16px;
    min-height: 50px;
  }

  .catalog-detail-basket .addbasket .btn-action {
    flex: 1;
    padding: 14px 20px;
    font-size: 15px;
    min-height: 50px;
  }

  /* Action buttons stack on mobile */
  .catalog-detail-actions .catalog-actions {
    flex-wrap: wrap;
  }

  .catalog-detail-actions .actions-button {
    padding: 10px 14px;
    font-size: 13px;
  }
}

@media (max-width: 768px) {
  .catalog-detail-basket .addbasket .input-group {
    flex-direction: row;
    flex-wrap: nowrap;
  }

  .catalog-detail-basket .addbasket input[type="number"] {
    width: 80px;
    min-height: 52px;
    font-size: 18px;
    border-radius: var(--toledo-radius) 0 0 var(--toledo-radius);
  }

  .catalog-detail-basket .addbasket .btn-action {
    min-height: 52px;
    font-size: 14px;
    letter-spacing: 0.3px;
  }

  /* Selection dropdowns (size, color, etc.) */
  .catalog-detail-basket .basket select,
  .catalog-detail-basket .basket input[type="text"] {
    min-height: 48px;
    font-size: 16px;
    padding: 10px 12px;
  }

  .catalog-detail-basket-attribute .selection {
    margin-bottom: 15px;
  }
}

@media (max-width: 480px) {
  .catalog-detail-basket .addbasket input[type="number"] {
    width: 70px;
    min-height: 54px;
    font-size: 18px;
  }

  .catalog-detail-basket .addbasket .btn-action {
    min-height: 54px;
    font-size: 13px;
    padding: 14px 15px;
  }

  .catalog-detail-actions .catalog-actions {
    gap: 8px;
  }

  .catalog-detail-actions .actions-button {
    flex: 1;
    justify-content: center;
    padding: 12px 10px;
    font-size: 12px;
    min-height: 44px;
  }
}

/* ============================================================
   RESPONSIVE CATEGORY PAGE - Mobile/Desktop Optimization
   10 Iterative Review Cycles
   ============================================================ */

/* --- CYCLE 1: Mobile Filter Toggle Button & Sidebar Slide-in --- */

/* Toggle button: hidden on desktop, visible on mobile */
.toledo-filter-toggle {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: var(--toledo-primary);
  color: #fff;
  border: none;
  border-radius: var(--toledo-radius);
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 15px;
  transition: var(--toledo-transition);
  width: auto;
}

.toledo-filter-toggle:hover {
  background: var(--toledo-primary-dark);
}

.toledo-filter-toggle i {
  font-size: 16px;
}

/* Close button inside sidebar: hidden on desktop */
.toledo-filter-close {
  display: none;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 14px 20px;
  background: var(--toledo-secondary);
  color: #fff;
  border: none;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 10px;
  border-radius: var(--toledo-radius);
}

.toledo-filter-close:hover {
  background: var(--toledo-dark);
}

/* Overlay: hidden by default */
.toledo-sidebar-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1049;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.toledo-sidebar-overlay.active {
  display: block;
  opacity: 1;
}

/* --- CYCLE 2: Desktop sidebar normal (25%/75%) --- */
/* Desktop: sidebar is visible, toggle hidden, overlay hidden */
@media (min-width: 993px) {
  .toledo-filter-toggle {
    display: none !important;
  }
  .toledo-filter-close {
    display: none !important;
  }
  .toledo-sidebar-overlay {
    display: none !important;
  }
  .toledo-sidebar {
    display: block !important;
  }
}

/* --- CYCLE 1 continued: Mobile sidebar behavior --- */
@media (max-width: 992px) {
  .toledo-filter-toggle {
    display: inline-flex;
  }

  .toledo-filter-close {
    display: flex;
  }

  .toledo-sidebar {
    position: fixed;
    top: 0;
    left: -320px;
    width: 300px;
    height: 100vh;
    z-index: 1050;
    background: #fff;
    overflow-y: auto;
    transition: left 0.35s ease;
    padding: 15px;
    box-shadow: 4px 0 20px rgba(0,0,0,0.15);
    margin-bottom: 0;
  }

  .toledo-sidebar.mobile-open {
    left: 0;
  }

  /* Reset the tablet side-by-side filter layout for mobile drawer */
  .toledo-sidebar .catalog-filter > nav > form {
    display: block;
  }

  .toledo-sidebar .catalog-filter .section {
    width: 100%;
    border-right: none;
  }

  /* Full-width content when sidebar is off-canvas */
  .toledo-catalog-content {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* --- CYCLE 3: Mobile product grid (2-col tablet, 1-col phone) --- */
@media (max-width: 992px) {
  .toledo-catalog-content .aimeos .product-list,
  .toledo-catalog-content .catalog-list-items.product-list,
  .catalog-list .product-list {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px !important;
  }
}

@media (max-width: 768px) {
  .toledo-catalog-content .aimeos .product-list,
  .toledo-catalog-content .catalog-list-items.product-list,
  .catalog-list .product-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}

@media (max-width: 480px) {
  .toledo-catalog-content .aimeos .product-list,
  .toledo-catalog-content .catalog-list-items.product-list,
  .catalog-list .product-list {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

/* --- CYCLE 4: Desktop product grid (3-4 columns) --- */
@media (min-width: 993px) {
  .toledo-catalog-content .aimeos .product-list,
  .toledo-catalog-content .catalog-list-items.product-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
  }
}

@media (min-width: 1200px) {
  .toledo-catalog-content .aimeos .product-list,
  .toledo-catalog-content .catalog-list-items.product-list {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* --- CYCLE 5: Mobile product cards (image ratio, text, price, button) --- */
@media (max-width: 768px) {
  .toledo-catalog-content .aimeos .product-list .product,
  .toledo-catalog-content .product-list > .product {
    border-radius: 6px;
  }

  /* Image container: fixed aspect ratio */
  .toledo-catalog-content .aimeos .product .media-list,
  .toledo-catalog-content .product-list > .product .media-list {
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }

  .toledo-catalog-content .aimeos .product .media-list img,
  .toledo-catalog-content .product-list > .product .media-list img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Text sizing */
  .toledo-catalog-content .aimeos .product .text-list h2.name,
  .toledo-catalog-content .product-list > .product .text-list h2.name {
    font-size: 13px !important;
    line-height: 1.3;
    margin-bottom: 4px;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Price sizing */
  .toledo-catalog-content .aimeos .product .price-list .price-item .value,
  .toledo-catalog-content .product-list > .product .price-list .price-item .value {
    font-size: 15px !important;
  }

  .toledo-catalog-content .aimeos .product .price-list .price-item .original {
    font-size: 12px !important;
  }

  /* Add to cart button */
  .toledo-catalog-content .aimeos .product .basket .addbasket .btn-action {
    padding: 6px 12px !important;
    font-size: 12px !important;
  }

  /* Badge sizing */
  .toledo-catalog-content .aimeos .product .badge-item {
    font-size: 10px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .toledo-catalog-content .aimeos .product .text-list h2.name,
  .toledo-catalog-content .product-list > .product .text-list h2.name {
    font-size: 14px !important;
  }

  .toledo-catalog-content .aimeos .product .price-list .price-item .value,
  .toledo-catalog-content .product-list > .product .price-list .price-item .value {
    font-size: 16px !important;
  }

  .toledo-catalog-content .aimeos .product .basket .addbasket .btn-action {
    padding: 8px 16px !important;
    font-size: 13px !important;
    width: 100%;
    text-align: center;
  }
}

/* --- CYCLE 6: Desktop card hover effects and badges --- */
@media (min-width: 993px) {
  .toledo-catalog-content .aimeos .product-list .product {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .toledo-catalog-content .aimeos .product-list .product:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
  }

  .toledo-catalog-content .aimeos .product .badge-item {
    font-size: 11px;
    padding: 3px 10px;
    font-weight: 600;
  }

  .toledo-catalog-content .aimeos .product .badge-item.sale {
    background: var(--toledo-danger);
  }

  .toledo-catalog-content .aimeos .product .badge-item.new {
    background: var(--toledo-success);
  }
}

/* --- CYCLE 7: Mobile sort bar, view toggle, pagination --- */
@media (max-width: 768px) {
  .toledo-catalog-content .pagination {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 10px 0;
  }

  .toledo-catalog-content .pagination .sort {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    padding-bottom: 5px;
    flex-wrap: nowrap;
  }

  .toledo-catalog-content .pagination .sort ul {
    flex-wrap: nowrap;
  }

  .toledo-catalog-content .pagination .sort ul li a {
    font-size: 11px;
    padding: 4px 10px;
  }

  /* View toggle (grid/list) */
  .toledo-catalog-content .catalog-list-type {
    justify-content: flex-start;
    gap: 4px;
  }

  .toledo-catalog-content .catalog-list-type .type-item {
    width: 28px;
    height: 28px;
    font-size: 12px;
  }

  /* Pagination buttons - larger touch targets */
  .toledo-catalog-content .pagination .browser {
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
  }

  .toledo-catalog-content .pagination .browser a {
    min-width: 38px;
    height: 38px;
    font-size: 14px;
  }

  .toledo-catalog-content .pagination .browser span {
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .toledo-catalog-content .pagination .sort > span {
    font-size: 12px;
    display: block;
    margin-bottom: 4px;
  }

  .toledo-catalog-content .pagination .sort ul li a {
    font-size: 10px;
    padding: 4px 8px;
  }

  .toledo-catalog-content .pagination .browser a {
    min-width: 36px;
    height: 36px;
  }
}

/* --- CYCLE 8: Desktop sort/pagination (ensure proper alignment) --- */
@media (min-width: 993px) {
  .toledo-catalog-content .pagination {
    flex-wrap: nowrap;
    align-items: center;
  }

  .toledo-catalog-content .pagination .sort {
    flex: 1;
  }

  .toledo-catalog-content .pagination .browser {
    flex-shrink: 0;
  }

  .toledo-catalog-content .catalog-list-type {
    justify-content: flex-end;
  }
}

/* --- CYCLE 9: Mobile breadcrumbs, category header, spacing --- */
@media (max-width: 768px) {
  .catalog-stage-breadcrumb {
    padding: 8px 0;
  }

  .catalog-stage-breadcrumb .breadcrumb {
    font-size: 12px;
  }

  .catalog-stage-breadcrumb .breadcrumb ol {
    flex-wrap: wrap;
    gap: 2px;
  }

  .catalog-stage-breadcrumb .breadcrumb ol li {
    white-space: nowrap;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .catalog-stage-breadcrumb .breadcrumb .title {
    font-size: 12px;
  }

  /* Category header */
  .toledo-catalog-content .catalog-list-head h1 {
    font-size: 20px !important;
    margin-bottom: 8px;
  }

  .toledo-catalog-content .catalog-list-head .header-text {
    font-size: 12px;
    margin-bottom: 10px;
  }

  /* General spacing */
  .toledo-catalog-wrapper {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.page-catalog-tree .catalog-stage .container-xxl,
  body.page-catalog-list .catalog-stage .container-xxl {
    padding: 0 10px;
  }
}

@media (max-width: 480px) {
  .catalog-stage-breadcrumb .breadcrumb ol li {
    max-width: 100px;
  }

  .toledo-catalog-content .catalog-list-head h1 {
    font-size: 18px !important;
  }

  .toledo-catalog-wrapper {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* --- CYCLE 10: Full responsive sweep - all breakpoints --- */

/* 1200px: 4-col to 3-col grid for products in sidebar layout */
@media (max-width: 1200px) and (min-width: 993px) {
  .toledo-catalog-content .aimeos .product-list,
  .toledo-catalog-content .catalog-list-items.product-list {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* Ensure no horizontal overflow at any breakpoint */
@media (max-width: 992px) {
  .toledo-catalog-wrapper {
    overflow-x: hidden;
  }

  /* Category header block */
  .toledo-catalog-content .catalog-list-head {
    padding: 0 5px;
  }

  /* Ensure list view also works on mobile */
  .toledo-catalog-content .product-list > .product > .list-column {
    flex-direction: column;
  }

  .toledo-catalog-content .product-list > .product .media-list {
    max-width: 100%;
    width: 100%;
  }
}

/* 768px: Ensure header search and actions fit */
@media (max-width: 768px) {
  .toledo-header-actions {
    gap: 15px;
  }

  /* Product card offer section */
  .toledo-catalog-content .aimeos .product .offer {
    flex-direction: column;
    gap: 6px;
  }

  .toledo-catalog-content .aimeos .product .offer .section {
    width: 100%;
  }

  /* Items selection/attribute dropdowns */
  .toledo-catalog-content .aimeos .product .items-selection,
  .toledo-catalog-content .aimeos .product .items-attribute {
    display: none;
  }
}

/* 480px: Single column, maximum space efficiency */
@media (max-width: 480px) {
  .toledo-header-actions {
    gap: 10px;
  }

  .toledo-header-actions .header-action i {
    font-size: 20px;
  }

  /* Product card: full width with compact layout */
  .toledo-catalog-content .aimeos .product-list .product {
    margin: 0;
  }

  /* Ensure images don't exceed container */
  .toledo-catalog-content .aimeos .product .media-list img {
    max-width: 100%;
    height: auto;
  }

  /* Stock list text */
  .toledo-catalog-content .aimeos .product .stock-list {
    font-size: 11px;
  }

  /* Rating stars smaller */
  .toledo-catalog-content .aimeos .product .rating .stars {
    font-size: 12px;
  }
}

/* Fix: ensure the sidebar filter sections have accordion-style on mobile */
@media (max-width: 992px) {
  .toledo-sidebar .catalog-filter .section {
    border-bottom: 1px solid var(--toledo-border);
    padding: 12px 0;
  }

  .toledo-sidebar .catalog-filter .section:last-child {
    border-bottom: none;
  }

  /* Accordion-style headers - clickable feel */
  .toledo-sidebar .catalog-filter .header-name,
  .toledo-sidebar .catalog-filter-supplier .header-name,
  .toledo-sidebar .catalog-filter-price .header-name,
  .toledo-sidebar .catalog-filter-search .header-name {
    cursor: pointer;
    padding: 8px 0;
    user-select: none;
  }
}

/* ============================================================
   CYCLE 6: Desktop - Add-to-cart button styling refinements
   ============================================================ */
@media (min-width: 993px) {
  .catalog-detail-basket .addbasket .input-group {
    max-width: 400px;
  }

  .catalog-detail-basket .addbasket input[type="number"] {
    width: 80px;
    padding: 12px 8px;
    font-size: 16px;
  }

  .catalog-detail-basket .addbasket .btn-action {
    padding: 12px 30px;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  /* Selection attributes desktop refinement */
  .catalog-detail-basket-attribute .selection {
    margin-bottom: 15px;
  }

  .catalog-detail-basket .basket select {
    padding: 10px 15px;
    border: 2px solid var(--toledo-border);
    border-radius: var(--toledo-radius);
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    transition: var(--toledo-transition);
  }

  .catalog-detail-basket .basket select:focus {
    border-color: var(--toledo-primary);
    outline: none;
  }

  /* Stock indicator styling */
  .catalog-detail-basket .stock-list .articleitem {
    font-size: 13px;
    margin-top: 10px;
  }

  .catalog-detail-basket .stock-list .stock-actual .stockitem {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border-radius: 4px;
    font-weight: 500;
  }
}

/* ============================================================
   CYCLE 7: Mobile - Tabs section (scrollable tabs, content padding)
   ============================================================ */
@media (max-width: 992px) {
  .catalog-detail-additional.content-block {
    border-radius: 0;
    border-left: none;
    border-right: none;
    margin-left: -15px;
    margin-right: -15px;
  }

  .catalog-detail-additional .nav-tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .catalog-detail-additional .nav-tabs::-webkit-scrollbar {
    display: none;
  }

  .catalog-detail-additional .nav-tabs .nav-link {
    white-space: nowrap;
    flex-shrink: 0;
    padding: 12px 20px;
    font-size: 13px;
  }

  .catalog-detail-additional .tab-content {
    padding: 20px 15px;
  }

  .catalog-detail-additional .tab-pane .block.description .long.item {
    max-width: 100%;
    font-size: 13px;
    line-height: 1.7;
  }

  /* Attributes table on mobile */
  .catalog-detail-additional .block.attributes table td.name {
    width: 120px;
    font-size: 13px;
    padding: 10px 12px;
  }

  .catalog-detail-additional .block.attributes table td {
    font-size: 13px;
    padding: 10px 12px;
  }

  /* Reviews on mobile */
  .catalog-detail-additional .reviews .rating-num {
    font-size: 36px;
  }

  .catalog-detail-additional .reviews .review-list .sort {
    flex-wrap: wrap;
    gap: 8px;
  }

  .catalog-detail-additional .reviews .review-list form input,
  .catalog-detail-additional .reviews .review-list form textarea {
    font-size: 16px;
    min-height: 44px;
  }
}

@media (max-width: 768px) {
  .catalog-detail-additional .nav-tabs .nav-link {
    padding: 10px 16px;
    font-size: 12px;
  }

  .catalog-detail-additional .tab-content {
    padding: 15px 12px;
  }

  /* Stack attributes table on narrow screens */
  .catalog-detail-additional .block.attributes table,
  .catalog-detail-additional .block.attributes table tbody,
  .catalog-detail-additional .block.attributes table tr,
  .catalog-detail-additional .block.attributes table td {
    display: block;
    width: 100%;
  }

  .catalog-detail-additional .block.attributes table td.name {
    width: 100%;
    background: var(--toledo-bg-light);
    border-bottom: none;
    padding-bottom: 4px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
  }

  .catalog-detail-additional .block.attributes table td:not(.name) {
    padding-top: 4px;
    padding-bottom: 12px;
  }

  .catalog-detail-additional .reviews .rating-dist td.rating-label {
    width: 60px;
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .catalog-detail-additional .nav-tabs .nav-link {
    padding: 10px 14px;
    font-size: 11px;
  }

  .catalog-detail-additional .tab-content {
    padding: 12px 10px;
  }

  .catalog-detail-additional .reviews .rating-num {
    font-size: 30px;
  }

  .catalog-detail-additional .reviews .rating-stars {
    font-size: 16px;
  }
}

/* ============================================================
   CYCLE 8: Desktop - Tabs styling refinements
   ============================================================ */
@media (min-width: 993px) {
  .catalog-detail-additional.content-block {
    border-radius: var(--toledo-radius);
    overflow: hidden;
  }

  .catalog-detail-additional .nav-tabs {
    display: flex;
    flex-wrap: nowrap;
  }

  .catalog-detail-additional .nav-tabs .nav-link {
    padding: 15px 30px;
    font-size: 14px;
    font-weight: 600;
  }

  .catalog-detail-additional .tab-content {
    padding: 30px;
  }

  .catalog-detail-additional .tab-pane .block.description {
    font-size: 14px;
    line-height: 1.8;
  }

  .catalog-detail-additional .tab-pane .block.description .long.item {
    max-width: 800px;
  }

  /* Attributes table desktop */
  .catalog-detail-additional .block.attributes table td.name {
    width: 200px;
  }

  /* Reviews desktop */
  .catalog-detail-additional .reviews .rating-numbers {
    margin-bottom: 25px;
  }

  .catalog-detail-additional .reviews .review-list form {
    max-width: 600px;
  }

  .catalog-detail-additional .reviews .review-list form .btn {
    min-width: 150px;
  }
}

/* ============================================================
   CYCLE 9: Mobile - Related products grid + breadcrumbs
   ============================================================ */

/* Breadcrumbs mobile-friendly wrapping */
@media (max-width: 992px) {
  .catalog-stage-breadcrumb {
    padding: 10px 15px;
  }

  .catalog-stage-breadcrumb .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    font-size: 12px;
    padding: 0;
    margin: 0;
  }

  .catalog-stage-breadcrumb .breadcrumb li,
  .catalog-stage-breadcrumb .breadcrumb a {
    font-size: 12px;
    line-height: 1.4;
  }

  /* Navigator prev/next on mobile */
  .catalog-detail-navigator {
    margin-bottom: 15px;
  }

  .catalog-detail-navigator a {
    font-size: 12px;
    padding: 6px 12px;
  }

  /* Related products - 2 columns on tablet */
  .catalog-detail-suggest .product-list,
  .catalog-detail-bought .product-list,
  .catalog-detail-bundle .product-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }

  .catalog-detail-suggest,
  .catalog-detail-bought,
  .catalog-detail-bundle {
    margin-top: 30px;
    padding-top: 25px;
  }

  .catalog-detail-suggest .header,
  .catalog-detail-bought .header,
  .catalog-detail-bundle .header {
    font-size: 20px;
    margin-bottom: 20px;
  }
}

@media (max-width: 768px) {
  .catalog-stage-breadcrumb {
    padding: 8px 12px;
  }

  .catalog-stage-breadcrumb .breadcrumb {
    font-size: 11px;
  }

  .catalog-detail-suggest .header,
  .catalog-detail-bought .header,
  .catalog-detail-bundle .header {
    font-size: 18px;
    margin-bottom: 15px;
  }

  .catalog-detail-suggest .product-list,
  .catalog-detail-bought .product-list,
  .catalog-detail-bundle .product-list {
    gap: 12px;
  }
}

@media (max-width: 480px) {
  .catalog-stage-breadcrumb .breadcrumb {
    font-size: 10px;
  }

  .catalog-stage-breadcrumb .breadcrumb li,
  .catalog-stage-breadcrumb .breadcrumb a {
    font-size: 10px;
  }

  /* 1 column on phone */
  .catalog-detail-suggest .product-list,
  .catalog-detail-bought .product-list,
  .catalog-detail-bundle .product-list {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .catalog-detail-suggest .header,
  .catalog-detail-bought .header,
  .catalog-detail-bundle .header {
    font-size: 16px;
  }

  .catalog-detail-navigator a {
    font-size: 11px;
    padding: 5px 10px;
  }

  .catalog-detail-suggest,
  .catalog-detail-bought,
  .catalog-detail-bundle {
    margin-top: 25px;
    padding-top: 20px;
  }
}

/* ============================================================
   CYCLE 10: Full responsive sweep - edge cases & polish
   ============================================================ */

/* Ensure body doesn't overflow on mobile */
body.page-catalog-detail {
  overflow-x: hidden;
}

/* Content area mobile padding */
@media (max-width: 992px) {
  body.page-catalog-detail .content main {
    padding: 0 10px;
  }

  body.page-catalog-detail .aimeos.catalog-detail {
    padding: 15px 0 40px;
  }

  body.page-catalog-detail .aimeos.catalog-detail .container-xxl {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 100%;
  }

  /* Ensure full-width bottom section has proper spacing */
  .catalog-detail article.product > .col-sm-12 {
    margin-top: 30px;
    padding-left: 0;
    padding-right: 0;
  }

  /* Print reset hidden for mobile */
  .catalog-detail-actions .catalog-social {
    display: none !important;
  }

  /* Smooth font rendering on mobile */
  .catalog-detail-basic,
  .catalog-detail-basket,
  .catalog-detail-additional {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  /* Fix potential horizontal overflow from image gallery */
  .catalog-detail-image {
    max-width: 100vw;
    overflow: hidden;
  }
}

@media (max-width: 768px) {
  body.page-catalog-detail .content main {
    padding: 0 5px;
  }

  body.page-catalog-detail .aimeos.catalog-detail {
    padding: 10px 0 30px;
  }

  /* Ensure form inputs use 16px to prevent iOS zoom */
  .catalog-detail-basket .addbasket input,
  .catalog-detail-basket .basket select,
  .catalog-detail-basket .basket input,
  .catalog-detail-additional .reviews form input,
  .catalog-detail-additional .reviews form textarea {
    font-size: 16px !important;
  }

  /* Tighter spacing between sections */
  .catalog-detail-basket {
    margin-bottom: 15px;
  }

  .catalog-detail-actions {
    margin-top: 15px;
    padding-top: 15px;
  }

  /* Navigator flush on mobile */
  .catalog-detail-navigator {
    margin-bottom: 10px;
    padding: 0 5px;
  }
}

@media (max-width: 480px) {
  body.page-catalog-detail .aimeos.catalog-detail {
    padding: 5px 0 20px;
  }

  body.page-catalog-detail .aimeos.catalog-detail .container-xxl {
    padding-left: 5px;
    padding-right: 5px;
  }

  /* Prevent any child from causing horizontal scroll */
  .catalog-detail article.product {
    overflow: hidden;
  }

  /* Compact spacing for phone */
  .catalog-detail article.product > .col-sm-6:nth-child(2) {
    margin-top: 20px;
  }

  .catalog-detail article.product > .col-sm-12 {
    margin-top: 20px;
  }

  /* Ensure price doesn't wrap oddly */
  .catalog-detail-basket .price-list .price-item {
    align-items: center;
  }

  /* Review form full width on phone */
  .catalog-detail-additional .reviews .review-list form {
    max-width: 100%;
  }

  .catalog-detail-additional .reviews .review-list form .btn {
    width: 100%;
    text-align: center;
  }
}

/* Landscape phone orientation */
@media (max-width: 812px) and (orientation: landscape) {
  .catalog-detail article.product > .col-sm-6:first-child,
  .catalog-detail article.product > .col-sm-6:nth-child(2) {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .catalog-detail-image .image-single .media-item {
    min-height: auto;
    max-height: 250px;
  }

  .catalog-detail-image .image-single .media-item img {
    max-height: 220px;
  }
}
