/* ==========================================
   Vintajj 2025 - Design Override
   Forces new design over legacy styles
   ========================================== */

/* CRITICAL: Header icons - terracotta color on all pages */
.v25-header-actions a.v25-btn-icon,
.v25-header-actions a.v25-btn-ghost,
.v25-header-actions .v25-btn-icon,
.v25-header-actions .v25-btn-ghost {
  color: #A65A3C !important;
}
.v25-header-actions svg {
  color: #A65A3C !important;
  fill: #A65A3C !important;
}

/* CRITICAL: Override legacy background */
html, body, .wrapper {
  background: #FDF8F3 !important;
  background-image: none !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* CRITICAL: Responsive visibility overrides */
.v25-hide-mobile {
  display: none !important;
}
@media (min-width: 768px) {
  .v25-hide-mobile {
    display: flex !important;
  }
}
.v25-hide-desktop {
  display: flex !important;
}
@media (min-width: 768px) {
  .v25-hide-desktop {
    display: none !important;
  }
}

/* Remove legacy header decorations */
.header:before,
.header:after {
  display: none !important;
}

/* Override legacy green colors */
a {
  color: #A65A3C !important;
  transition: color 0.2s ease;
}

a:hover {
  color: #8B4A32 !important;
}

/* Override legacy nav styles */
.nav {
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.nav ul {
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nav ul li:after {
  display: none !important;
}

.nav ul li a {
  color: #44403C !important;
  font-weight: 500 !important;
}

.nav ul li a:hover {
  color: #A65A3C !important;
}

/* Hide old header, show new v25 header */
.header:not(.v25-header) {
  display: none !important;
}

/* Force v25 header to show */
.v25-header {
  display: block !important;
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom: 1px solid #E7E5E4 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

/* Logo - terracotta color for text */
.v25-logo,
.logo a,
.logo img {
  filter: none !important;
}

/* Hero section override */
.v25-hero {
  background: linear-gradient(135deg, #FDF8F3 0%, #F5EDE4 100%) !important;
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  min-height: 400px;
}

.v25-hero-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.v25-hero-content {
  position: relative;
  z-index: 2;
  padding: 3rem;
  background: linear-gradient(90deg, rgba(253, 248, 243, 0.95) 0%, rgba(253, 248, 243, 0.7) 50%, transparent 100%);
}

.v25-hero-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 2.5rem !important;
  font-weight: 600 !important;
  color: #1C1917 !important;
  margin-bottom: 0.5rem !important;
}

.v25-hero-subtitle {
  color: #57534E !important;
  font-size: 1.125rem !important;
  margin-bottom: 1.5rem !important;
}

/* Primary buttons */
.v25-btn-primary,
.btn-primary,
button.btn,
input[type="submit"] {
  background-color: #A65A3C !important;
  border-color: #A65A3C !important;
  color: white !important;
  border-radius: 9999px !important;
  font-weight: 500 !important;
  padding: 0.75rem 1.5rem !important;
  transition: all 0.3s ease !important;
}

.v25-btn-primary:hover,
.btn-primary:hover,
button.btn:hover,
input[type="submit"]:hover {
  background-color: #8B4A32 !important;
  border-color: #8B4A32 !important;
  transform: translateY(-1px) !important;
}

/* Category chips */
.v25-chips {
  display: flex !important;
  gap: 0.5rem !important;
  overflow-x: auto !important;
  padding: 1rem 0 !important;
  -webkit-overflow-scrolling: touch !important;
}

.v25-chip {
  background: white !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 9999px !important;
  padding: 0.5rem 1rem !important;
  white-space: nowrap !important;
  font-size: 0.875rem !important;
  color: #44403C !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.v25-chip:hover {
  background: #A65A3C !important;
  color: white !important;
  border-color: #A65A3C !important;
}

/* Section titles */
.v25-section-title,
h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 500 !important;
  color: #1C1917 !important;
}

/* Product cards */
.v25-product-card,
.product-item,
.s-product-list .product {
  background: white !important;
  border-radius: 0.75rem !important;
  overflow: hidden !important;
  border: 1px solid #F5F5F4 !important;
  transition: all 0.3s ease !important;
}

.v25-product-card:hover,
.product-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 20px rgba(68, 64, 60, 0.1) !important;
}

/* Product price */
.v25-product-price-current,
.product-price,
.price {
  color: #A65A3C !important;
  font-weight: 600 !important;
}

/* Quick add button */
.v25-product-quick-add {
  background: #A65A3C !important;
  color: white !important;
  border: none !important;
  border-radius: 0.5rem !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.v25-product-quick-add:hover {
  background: #8B4A32 !important;
}

/* Collection cards */
.v25-collection-card {
  position: relative !important;
  border-radius: 0.75rem !important;
  overflow: hidden !important;
  aspect-ratio: 1 !important;
  text-decoration: none !important;
}

.v25-collection-content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 1rem !important;
  background: linear-gradient(transparent, rgba(0,0,0,0.7)) !important;
  color: white !important;
}

.v25-collection-title {
  font-weight: 500 !important;
  color: white !important;
  margin-bottom: 0.25rem !important;
}

.v25-collection-count {
  font-size: 0.75rem !important;
  opacity: 0.9 !important;
}

/* Desktop navigation - HIDDEN (catalog moved to header) */
.v25-desktop-nav {
  display: none !important;
}

/* Header Catalog Button */
.v25-header-catalog-btn {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 16px !important;
  background: #A65A3C !important;
  border: none !important;
  border-radius: 9999px !important;
  color: white !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.v25-header-catalog-btn:hover {
  background: #8B4A32 !important;
}
.v25-header-catalog-btn svg {
  color: white !important;
}
.v25-header-catalog-btn[aria-expanded="true"] .v25-header-catalog-chevron {
  transform: rotate(180deg);
}
.v25-header-catalog-chevron {
  transition: transform 0.2s ease;
}

/* ========================================
   Header Mega-Menu Dropdown
   ======================================== */
.v25-header-catalog {
  position: relative;
}

.v25-header-megamenu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 600px;
  max-width: 800px;
  background: white;
  border: 1px solid #E7E5E4;
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

.v25-header-megamenu:not([hidden]) {
  opacity: 1;
  visibility: visible;
}

.v25-header-megamenu-inner {
  padding: 24px;
}

/* Mega-menu sections grid */
.v25-megamenu-sections {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 24px;
}

.v25-megamenu-section {
  min-width: 0;
}

.v25-megamenu-section-wide {
  grid-column: span 1;
}

.v25-megamenu-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1rem;
  font-weight: 600;
  color: #1c1917;
  margin: 0 0 12px 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #E7E5E4;
}

.v25-megamenu-section-title svg {
  color: #A65A3C;
  flex-shrink: 0;
}

/* Links list */
.v25-megamenu-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.v25-megamenu-links li {
  margin-bottom: 8px;
}

.v25-megamenu-links a {
  color: #57534e !important;
  text-decoration: none !important;
  font-size: 0.875rem;
  transition: color 0.2s ease;
}

.v25-megamenu-links a:hover {
  color: #A65A3C !important;
}

/* Category grid */
.v25-megamenu-cat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.v25-megamenu-cat-item {
  display: block;
  padding: 8px 12px;
  background: #F5F5F4;
  border-radius: 8px;
  color: #57534e !important;
  text-decoration: none !important;
  font-size: 0.8125rem;
  text-align: center;
  transition: all 0.2s ease;
}

.v25-megamenu-cat-item:hover {
  background: #F5EFE6;
  color: #A65A3C !important;
}

/* Footer link */
.v25-megamenu-footer {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #E7E5E4;
  text-align: center;
}

.v25-megamenu-all {
  color: #A65A3C !important;
  text-decoration: none !important;
  font-weight: 600;
  font-size: 0.875rem;
}

.v25-megamenu-all:hover {
  text-decoration: underline !important;
}

/* Mobile bottom nav */
.v25-bottom-nav {
  background: white !important;
  border-top: 1px solid #E7E5E4 !important;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08) !important;
}

.v25-bottom-nav a {
  color: #A8A29E !important;
}

.v25-bottom-nav a.active {
  color: #A65A3C !important;
}

/* Search input */
.v25-search-input,
.search input,
input[type="search"] {
  background: #F5F5F4 !important;
  border: none !important;
  border-radius: 9999px !important;
  padding: 0.625rem 1rem 0.625rem 2.5rem !important;
}

.v25-search-input:focus,
input[type="search"]:focus {
  background: white !important;
  box-shadow: 0 0 0 3px rgba(166, 90, 60, 0.2) !important;
  outline: none !important;
}

/* Footer override */
.footer,
#footer {
  background: #F5EFE6 !important;
  border-top: 1px solid #E7E5E4 !important;
}

/* Container max-width */
.v25-container,
.container {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

/* Hide legacy elements */
.old-header,
.legacy-nav,
#old-slider {
  display: none !important;
}

/* Phone number styling */
a[href^="tel:"] {
  color: #A65A3C !important;
  font-weight: 600 !important;
}

/* Cart count badge */
.cart-count,
.v25-cart-count {
  background: #A65A3C !important;
  color: white !important;
}

/* Skeleton loading */
.v25-skeleton {
  background: linear-gradient(90deg, #E7E5E4 25%, #F5F5F4 50%, #E7E5E4 75%) !important;
  background-size: 200% 100% !important;
  animation: skeleton-loading 1.5s infinite !important;
}

@keyframes skeleton-loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ==========================================
   My Account Pages Styling
   ========================================== */

/* My Account Container - proper padding */
.v25-my-account {
  max-width: 700px !important;
  margin: 0 auto !important;
  padding: 32px 24px !important;
}

/* My Account page title */
.v25-my-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 32px !important;
  font-weight: 500 !important;
  color: #1C1917 !important;
  margin-bottom: 32px !important;
}

/* Success/Error alerts */
.v25-alert {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  border-radius: 12px !important;
  margin-bottom: 24px !important;
  font-size: 14px !important;
}

.v25-alert-success {
  background: #ECFDF5 !important;
  color: #065F46 !important;
  border: 1px solid #A7F3D0 !important;
}

.v25-alert-success svg {
  color: #10B981 !important;
  flex-shrink: 0 !important;
}

/* My Account Navigation (horizontal tabs) */
ul.menu-h,
.my-nav ul,
#wa-my-nav ul {
  list-style: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  border-bottom: none !important;
}

ul.menu-h li,
.my-nav li,
#wa-my-nav li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

ul.menu-h li::before,
.my-nav li::before,
#wa-my-nav li::before {
  display: none !important;
  content: none !important;
}

ul.menu-h li a,
.my-nav li a,
#wa-my-nav li a {
  display: inline-block !important;
  padding: 10px 20px !important;
  background: #fff !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 9999px !important;
  color: #44403C !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

ul.menu-h li a:hover,
.my-nav li a:hover,
#wa-my-nav li a:hover {
  background: #F5F5F4 !important;
  border-color: #A65A3C !important;
}

ul.menu-h li.selected a,
ul.menu-h li.active a,
.my-nav li.selected a,
#wa-my-nav li.selected a {
  background: #A65A3C !important;
  border-color: #A65A3C !important;
  color: #fff !important;
}

/* My Account Forms */
.wa-form,
.my-profile form,
#wa-my form {
  max-width: 500px !important;
}

.wa-form .wa-field,
.wa-form .field {
  margin-bottom: 16px !important;
}

.wa-form label,
.wa-form .wa-name {
  display: block !important;
  margin-bottom: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #57534E !important;
}

.wa-form input[type="text"],
.wa-form input[type="email"],
.wa-form input[type="tel"],
.wa-form input[type="password"],
.wa-form textarea,
.wa-form select {
  width: 100% !important;
  padding: 12px 16px !important;
  background: #fff !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  color: #1C1917 !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.wa-form input[type="text"]:focus,
.wa-form input[type="email"]:focus,
.wa-form input[type="tel"]:focus,
.wa-form input[type="password"]:focus,
.wa-form textarea:focus,
.wa-form select:focus {
  outline: none !important;
  border-color: #A65A3C !important;
  box-shadow: 0 0 0 3px rgba(166, 90, 60, 0.15) !important;
}

.wa-form input[type="submit"],
.wa-form button[type="submit"],
.my-profile .submit,
#wa-my .submit {
  display: inline-block !important;
  padding: 14px 32px !important;
  background: #A65A3C !important;
  border: none !important;
  border-radius: 9999px !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.wa-form input[type="submit"]:hover,
.wa-form button[type="submit"]:hover,
.my-profile .submit:hover,
#wa-my .submit:hover {
  background: #8B4A32 !important;
  transform: translateY(-1px) !important;
}

/* Orders List */
.v25-orders-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* Order Card */
.v25-order-card {
  display: block !important;
  background: #fff !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.v25-order-card:hover {
  border-color: #A65A3C !important;
  box-shadow: 0 4px 12px rgba(166, 90, 60, 0.1) !important;
  transform: translateY(-2px) !important;
}

.v25-order-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 12px !important;
}

.v25-order-number {
  font-weight: 600 !important;
  color: #1C1917 !important;
  font-size: 16px !important;
}

.v25-order-status {
  padding: 4px 12px !important;
  border-radius: 9999px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.v25-order-items {
  margin-bottom: 12px !important;
}

.v25-order-item {
  font-size: 14px !important;
  color: #44403C !important;
  margin-bottom: 4px !important;
}

.v25-order-item .v25-qty {
  color: #78716C !important;
  font-size: 13px !important;
}

.v25-order-footer {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-top: 12px !important;
  border-top: 1px solid #F5F5F4 !important;
}

.v25-order-delivery {
  font-size: 13px !important;
  color: #57534E !important;
}

.v25-order-date {
  font-size: 13px !important;
  color: #78716C !important;
}

/* Order Detail Page */
.v25-order-detail-header {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.v25-order-status-badge {
  padding: 6px 16px !important;
  border-radius: 9999px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.v25-order-sections {
  display: grid !important;
  gap: 24px !important;
  margin: 32px 0 !important;
}

.v25-order-section {
  background: #fff !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 12px !important;
  padding: 20px !important;
}

.v25-section-heading {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #1C1917 !important;
  margin: 0 0 12px 0 !important;
}

.v25-section-value {
  font-weight: 400 !important;
  color: #57534E !important;
}

.v25-address {
  font-size: 14px !important;
  color: #44403C !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Order Table */
.v25-order-table-wrapper {
  overflow-x: auto !important;
  margin-top: 24px !important;
}

.v25-order-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid #E7E5E4 !important;
}

.v25-order-table th {
  background: #F5F5F4 !important;
  padding: 12px 16px !important;
  text-align: left !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #57534E !important;
}

.v25-order-table td {
  padding: 14px 16px !important;
  border-bottom: 1px solid #F5F5F4 !important;
  font-size: 14px !important;
  color: #44403C !important;
}

.v25-order-table .align-right {
  text-align: right !important;
}

.v25-order-table tbody tr:last-child td {
  border-bottom: none !important;
}

.v25-order-table tfoot tr {
  background: #FAFAF9 !important;
}

.v25-order-table tfoot td {
  padding: 10px 16px !important;
  font-size: 13px !important;
  border-bottom: none !important;
}

.v25-order-table .v25-total td {
  font-size: 16px !important;
  color: #1C1917 !important;
  padding-top: 16px !important;
}

.v25-price-per {
  color: #78716C !important;
}

/* Empty state */
.v25-empty-state {
  text-align: center !important;
  padding: 64px 24px !important;
  background: #fff !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 12px !important;
}

.v25-empty-state svg {
  margin-bottom: 16px !important;
}

.v25-empty-state p {
  color: #78716C !important;
  font-size: 15px !important;
  margin-bottom: 24px !important;
}

/* Alert error */
.v25-alert-error {
  background: #FEF2F2 !important;
  color: #991B1B !important;
  border: 1px solid #FECACA !important;
}

/* Hint text */
.v25-hint {
  color: #57534E !important;
  font-size: 14px !important;
  margin-bottom: 16px !important;
}

/* My Favorites Grid */
.my-favorites .products-grid,
#wa-my-favorites .products-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: 16px !important;
}

/* Responsive adjustments */
@media (max-width: 767px) {
  .v25-hero-title {
    font-size: 1.75rem !important;
  }

  .v25-hero-content {
    padding: 1.5rem !important;
    background: linear-gradient(0deg, rgba(253, 248, 243, 0.95) 0%, rgba(253, 248, 243, 0.8) 70%, transparent 100%) !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
  }

  body {
    padding-bottom: 4.5rem !important;
  }

  /* My Account responsive */
  ul.menu-h,
  .my-nav ul,
  #wa-my-nav ul {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 8px !important;
  }

  ul.menu-h li a,
  .my-nav li a,
  #wa-my-nav li a {
    padding: 8px 16px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  .my-orders table {
    font-size: 12px !important;
  }

  .my-orders th,
  .my-orders td {
    padding: 10px 8px !important;
  }
}

/* ===========================================
   V25 Quantity Selector (Product Page)
   =========================================== */
.v25-qty-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}

.v25-qty-label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #44403C !important;
  min-width: 90px !important;
}

.v25-qty-controls {
  display: flex !important;
  align-items: center !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
}

.v25-qty-btn {
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #FAFAF9 !important;
  border: none !important;
  cursor: pointer !important;
  color: #44403C !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

.v25-qty-btn:hover {
  background: #F5F5F4 !important;
  color: #A65A3C !important;
}

.v25-qty-btn:active {
  background: #E7E5E4 !important;
}

.v25-qty-btn:disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

.v25-qty-input {
  width: 50px !important;
  height: 40px !important;
  text-align: center !important;
  border: none !important;
  border-left: 1px solid #E7E5E4 !important;
  border-right: 1px solid #E7E5E4 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #1C1917 !important;
  background: #fff !important;
  -moz-appearance: textfield !important;
}

.v25-qty-input::-webkit-outer-spin-button,
.v25-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.v25-qty-input:focus {
  outline: none !important;
  background: #FEFDFB !important;
}

/* Override old quantity styles */
.add2cart table,
.kart-bl table,
.typ.kart-bl table {
  display: none !important;
}

/* Old class overrides for compatibility */
input.quantity,
.quantity {
  width: 50px !important;
  height: 40px !important;
  text-align: center !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 8px !important;
  font-size: 15px !important;
}

/* V25 Add to Cart Button */
.v25-add-to-cart-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 14px 24px !important;
  background: #A65A3C !important;
  color: #fff !important;
  border: none !important;
  border-radius: 9999px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.v25-add-to-cart-btn:hover {
  background: #8B4A32 !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}

.v25-add-to-cart-btn:active {
  transform: translateY(0) !important;
}

.v25-add-to-cart-btn svg {
  flex-shrink: 0 !important;
}

/* V25 Wishlist Button (standalone) */
.v25-wishlist-standalone {
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  color: #78716C !important;
}

.v25-wishlist-standalone:hover {
  border-color: #A65A3C !important;
  color: #A65A3C !important;
}

.v25-wishlist-standalone.is-favorite {
  background: #FEF2F2 !important;
  border-color: #dc2626 !important;
  color: #dc2626 !important;
}

.v25-wishlist-standalone.is-favorite svg {
  fill: currentColor !important;
}

/* V25 Quick Order Button */
.v25-quick-order-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 12px 20px !important;
  background: transparent !important;
  color: #A65A3C !important;
  border: 1px solid #A65A3C !important;
  border-radius: 9999px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  margin-top: 12px !important;
}

.v25-quick-order-btn:hover {
  background: rgba(166, 90, 60, 0.05) !important;
  color: #8B4A32 !important;
  border-color: #8B4A32 !important;
}

/* Action buttons row */
.v25-pdp-actions-row {
  display: flex !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}

.v25-pdp-actions-row .v25-add-to-cart-btn {
  flex: 1 !important;
}

/* ==========================================
   Storequickorder Modal - Vintajj 2025 Style
   ========================================== */
#storequickorder.dialog .dialog-window,
#storequickorder .dialog-window {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: 90% !important;
  max-width: 480px !important;
  min-width: auto !important;
  min-height: auto !important;
  max-height: 90vh !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
  padding-bottom: 70px !important;
  margin: 0 !important;
  overflow: visible !important;
}

#storequickorder .dialog-content {
  max-height: calc(90vh - 140px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

#storequickorder .dialog-background {
  background: rgba(0, 0, 0, 0.5) !important;
  opacity: 1 !important;
}

#storequickorder .dialog-content-indent {
  padding: 24px !important;
}

#storequickorder h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.75rem !important;
  font-weight: 600 !important;
  color: #44403C !important;
  margin: 0 0 20px 0 !important;
}

#storequickorder .storequickorder-window-product_info {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  background: #F5EFE6 !important;
  border-radius: 8px !important;
  margin-bottom: 16px !important;
}

#storequickorder .storequickorder-window-product_info-image img {
  width: 60px !important;
  height: 60px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}

#storequickorder .storequickorder-window-product_info-name {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #44403C !important;
}

#storequickorder label {
  display: block !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #78716C !important;
  margin-bottom: 6px !important;
}

#storequickorder input[type="text"],
#storequickorder input[type="tel"],
#storequickorder input[type="email"],
#storequickorder textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid #D6D3D1 !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  color: #44403C !important;
  background: #fff !important;
  transition: border-color 0.2s ease !important;
  box-sizing: border-box !important;
}

#storequickorder input[type="text"]:focus,
#storequickorder input[type="tel"]:focus,
#storequickorder input[type="email"]:focus,
#storequickorder textarea:focus {
  outline: none !important;
  border-color: #A65A3C !important;
  box-shadow: 0 0 0 3px rgba(166, 90, 60, 0.1) !important;
}

#storequickorder textarea {
  min-height: 80px !important;
  resize: vertical !important;
}

#storequickorder .block {
  margin-top: 14px !important;
}

#storequickorder .dialog-buttons {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: auto !important;
  padding: 16px 24px 20px !important;
  background: #fff !important;
  border-radius: 0 0 16px 16px !important;
  z-index: 101 !important;
}

#storequickorder .dialog-buttons-gradient {
  box-shadow: none !important;
  padding: 0 !important;
}

#storequickorder .dialog-buttons input[type="submit"],
#storequickorder .dialog-buttons button {
  width: 100% !important;
  padding: 14px 24px !important;
  background: #A65A3C !important;
  color: #fff !important;
  border: none !important;
  border-radius: 9999px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}

#storequickorder .dialog-buttons input[type="submit"]:hover,
#storequickorder .dialog-buttons button:hover {
  background: #8B4A32 !important;
}

#storequickorder .icon16.close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  margin: 0 !important;
  opacity: 0.5 !important;
  transition: opacity 0.2s ease !important;
}

#storequickorder .icon16.close:hover {
  opacity: 1 !important;
}

/* Agreement text */
#storequickorder p {
  font-size: 12px !important;
  color: #78716C !important;
  line-height: 1.5 !important;
  margin-bottom: 16px !important;
}

#storequickorder p a {
  color: #A65A3C !important;
}

/* Custom scrollbar for storequickorder */
#storequickorder .dialog-content::-webkit-scrollbar {
  width: 6px !important;
}

#storequickorder .dialog-content::-webkit-scrollbar-track {
  background: #F5F5F4 !important;
  border-radius: 3px !important;
}

#storequickorder .dialog-content::-webkit-scrollbar-thumb {
  background: #D6D3D1 !important;
  border-radius: 3px !important;
}

#storequickorder .dialog-content::-webkit-scrollbar-thumb:hover {
  background: #A8A29E !important;
}

/* Firefox scrollbar */
#storequickorder .dialog-content {
  scrollbar-width: thin !important;
  scrollbar-color: #D6D3D1 #F5F5F4 !important;
}

/* Success state styling */
#storequickorder .dialog-content h1 + p {
  white-space: pre-line !important;
}

#storequickorder .dialog-buttons.success-state button,
#storequickorder .dialog-buttons.success-state input[type="submit"] {
  background: #16A34A !important;
  cursor: default !important;
}

#storequickorder .dialog-buttons.success-state button:hover,
#storequickorder .dialog-buttons.success-state input[type="submit"]:hover {
  background: #16A34A !important;
}

/* Fix: Show images and product names in onestep cart */
.onestep-cart .table.cart img,
.onestep-cart table.cart img {
  display: inline-block !important;
  visibility: visible !important;
}

.onestep-cart .table.cart td,
.onestep-cart table.cart td {
  display: table-cell !important;
  visibility: visible !important;
}

.onestep-cart .table.cart a.bold,
.onestep-cart table.cart .bold {
  display: inline !important;
  visibility: visible !important;
}


/* V25 Checkout Form - Remove max-width restriction */
.onestep-cart .wa-form.v25-form-compact,
.v25-checkout-progressive .wa-form.v25-form-compact,
.checkout-content .wa-form.v25-form-compact {
  max-width: none !important;
  width: 100% !important;
}

/* Hide OAuth buttons on checkout */
.v25-contactinfo-compact .wa-auth-adapters,
.checkout-content .wa-auth-adapters {
  display: none !important;
}

/* ========================================
   V25 Checkout Form Fix (2026-01-25)
   ======================================== */

/* Увеличиваем ширину checkout layout */
.v25-checkout-layout {
    max-width: 900px !important;
}

/* Форма контактов - убираем ограничения ширины */
.onestep-cart .wa-form,
.v25-section-content .wa-form,
.checkout-content .wa-form {
    max-width: none !important;
    width: 100% !important;
    float: none !important;
}

/* Поля ввода на полную ширину */
.onestep-cart .wa-form .wa-field .wa-value,
.v25-section-content .wa-field .wa-value,
.checkout-content .wa-field .wa-value {
    margin-left: 0 !important;
    width: 100% !important;
}

.onestep-cart .wa-form .wa-field .wa-value input[type="text"],
.onestep-cart .wa-form .wa-field .wa-value input[type="email"],
.onestep-cart .wa-form .wa-field .wa-value input[type="tel"],
.onestep-cart .wa-form .wa-field .wa-value input[type="password"],
.v25-section-content .wa-field input,
.checkout-content .wa-field input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Label сверху, не слева */
.onestep-cart .wa-form .wa-field .wa-name,
.v25-section-content .wa-field .wa-name,
.checkout-content .wa-field .wa-name {
    float: none !important;
    width: 100% !important;
    margin-bottom: 4px !important;
}

/* Скрываем OAuth кнопки */
.onestep-cart .wa-auth-adapters,
.v25-section-content .wa-auth-adapters,
.checkout-content .wa-auth-adapters {
    display: none !important;
}

/* ========================================
   Hide company fields by default (2026-01-25)
   ======================================== */

/* КПП и другие поля юрлица скрыты по умолчанию */
.onestep-cart .wa-field-kpp,
.onestep-cart .wa-field-inn1,
.onestep-cart .wa-field-ogrnogrnip,
.onestep-cart .wa-field-yuridiches6,
.onestep-cart .wa-field-yuridiches7,
.onestep-cart .wa-field-yuridicheskiy-a,
.onestep-cart .wa-field--raschetnyy-sch,
.onestep-cart .wa-field-naimenovanie-ba,
.onestep-cart .wa-field--bik,
.onestep-cart .wa-field--korrschet,
.v25-section-content .wa-field-kpp,
.checkout-content .wa-field-kpp {
    display: none !important;
}

/* КПП и поля юрлица - высокая специфичность (2026-01-25) */
.onestep-cart .wa-form.v25-form-compact .wa-field-kpp,
.onestep-cart .wa-form.v25-form-compact .wa-field-inn1,
.onestep-cart .wa-form.v25-form-compact .wa-field-ogrnogrnip,
.onestep-cart .wa-form.v25-form-compact .wa-field-yuridiches6,
.onestep-cart .wa-form.v25-form-compact .wa-field-yuridiches7,
.onestep-cart .wa-form.v25-form-compact .wa-field-yuridicheskiy-a,
.onestep-cart .wa-form.v25-form-compact .wa-field--raschetnyy-sch,
.onestep-cart .wa-form.v25-form-compact .wa-field-naimenovanie-ba,
.onestep-cart .wa-form.v25-form-compact .wa-field--bik,
.onestep-cart .wa-form.v25-form-compact .wa-field--korrschet {
    display: none !important;
}

/* ========================================
   V25 Checkout Wide Layout Fix (2026-01-25)
   ======================================== */

/* Центрирование и расширение checkout layout */
.v25-checkout-progressive {
    padding: 24px 16px 80px;
}

.v25-checkout-layout {
    max-width: 900px !important;
    margin: 0 auto !important;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.v25-checkout-title {
    text-align: center;
    margin-bottom: 24px;
}

.v25-checkout-form-column {
    width: 100% !important;
    max-width: none !important;
}

/* Onestep plugin container fix */
.onestep-cart {
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 0 16px;
}

.onestep-cart .checkout-step {
    max-width: none !important;
    width: 100% !important;
}

/* Desktop: larger padding */
@media (min-width: 768px) {
    .v25-checkout-progressive {
        padding: 32px 24px 40px;
    }
    
    .v25-checkout-layout {
        max-width: 900px !important;
    }
    
    .onestep-cart {
        padding: 0 24px;
    }
}

/* ========================================
   Onestep Checkout - Remove Info Page Restrictions
   ======================================== */

/* Страница onestep использует page.html template с классами .v25-info-page */
/* Нужно убрать ограничения ширины для checkout */

body.onestep-body .v25-info-page,
.v25-info-page:has(.onestep-cart) {
    max-width: none !important;
    padding: 0 !important;
}

body.onestep-body .v25-page-card,
.v25-page-card:has(.onestep-cart) {
    max-width: none !important;
    width: 100% !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.onestep-body .v25-page-content,
.v25-page-content:has(.onestep-cart) {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
}

/* Центрирование onestep-cart */
.onestep-cart {
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: 24px 16px !important;
    width: 100% !important;
}

/* Checkout layout внутри */
.onestep-cart .v25-checkout-progressive {
    width: 100% !important;
    max-width: none !important;
}

.onestep-cart .v25-checkout-layout {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Таблица товаров - полная ширина */
.onestep-cart table.cart,
.onestep-cart .table.cart {
    width: 100% !important;
    max-width: none !important;
}

@media (min-width: 768px) {
    .onestep-cart {
        padding: 32px 24px !important;
        max-width: 960px !important;
    }
}

/* ========================================
   V25 Checkout Minimalist Style (2026-01-25)
   ======================================== */

/* 1. Скрыть заголовок Корзина - уже есть в хлебных крошках */
.onestep-cart > h1,
.onestep-cart .page-title,
.onestep-cart-form + h1 {
    display: none !important;
}

/* 2. Кнопка Удалить → иконка × */
.onestep-cart .cart a[href="#"],
.onestep-cart table.cart .delete-link,
.onestep-cart table.cart a[title*="Удалить"],
.onestep-cart table.cart a:contains("Удалить") {
    font-size: 0 !important; /* Скрыть текст */
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #f5f5f4 !important;
    color: #78716c !important;
    transition: all 0.2s ease !important;
}

.onestep-cart table.cart a[href="#"]::before,
.onestep-cart table.cart .delete-link::before {
    content: "×" !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
}

.onestep-cart table.cart a[href="#"]:hover,
.onestep-cart table.cart .delete-link:hover {
    background: #fee2e2 !important;
    color: #dc2626 !important;
}

/* 3. Скрыть блок с купоном */
.onestep-cart .coupon-block,
.onestep-cart [class*="coupon"],
.onestep-cart input[name="coupon_code"],
.onestep-cart .promo-code,
.onestep-cart form[action*="coupon"] {
    display: none !important;
}

/* 4. Минималистичная форма покупателя */
.onestep-cart .v25-checkout-section[data-section="contact"] .v25-section-content,
.onestep-cart .checkout-content.v25-contactinfo-compact {
    padding: 24px !important;
    background: #fff !important;
    border-radius: 12px !important;
    border: 1px solid #e7e5e4 !important;
}

/* Поля ввода - легкие и воздушные */
.onestep-cart .wa-field input[type="text"],
.onestep-cart .wa-field input[type="email"],
.onestep-cart .wa-field input[type="tel"],
.onestep-cart .v25-checkout-section input {
    border: 1px solid #e7e5e4 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    background: #fff !important;
    transition: all 0.2s ease !important;
}

.onestep-cart .wa-field input:focus,
.onestep-cart .v25-checkout-section input:focus {
    border-color: #A65A3C !important;
    box-shadow: 0 0 0 3px rgba(166, 90, 60, 0.1) !important;
    outline: none !important;
}

/* Labels над полями */
.onestep-cart .wa-field .wa-name,
.onestep-cart .v25-checkout-section label {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #57534e !important;
    margin-bottom: 6px !important;
}

/* Таблица товаров - чистый стиль */
.onestep-cart table.cart {
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}

.onestep-cart table.cart tr {
    background: #fff !important;
    border-radius: 8px !important;
}

.onestep-cart table.cart td {
    padding: 12px !important;
    border: none !important;
}

.onestep-cart table.cart td:first-child {
    border-radius: 8px 0 0 8px !important;
}

.onestep-cart table.cart td:last-child {
    border-radius: 0 8px 8px 0 !important;
}

/* Итого - акцент */
.onestep-cart table.cart tr:last-child td,
.onestep-cart .cart-total {
    font-weight: 600 !important;
    font-size: 16px !important;
}

/* ========================================

/* ========================================
   V25 ONESTEP CHECKOUT - CLEAN v4.0
   ======================================== */

/* Checkout контейнер - выровнен по шапке */
.onestep-cart {
    max-width: 1200px;
    margin: 24px auto;
    padding: 0 24px;
}

/* Товары в корзине - простой стиль */
.onestep-cart table.cart {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 24px;
}

.onestep-cart table.cart td {
    padding: 16px 8px;
    vertical-align: middle;
    border-bottom: 1px solid #f0eeec;
}

.onestep-cart table.cart img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
}

/* Кнопка удаления × */
.onestep-cart td:last-child a {
    color: #a8a29e;
    font-size: 18px;
    text-decoration: none;
}

.onestep-cart td:last-child a:hover {
    color: #ef4444;
}

/* Форма - чистый стиль */
.onestep-cart input[type="text"],
.onestep-cart input[type="email"],
.onestep-cart input[type="tel"],
.onestep-cart select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #e7e5e4;
    border-radius: 8px;
    font-size: 15px;
    background: #fff;
}

.onestep-cart input:focus,
.onestep-cart select:focus {
    border-color: #A65A3C;
    outline: none;
    box-shadow: 0 0 0 3px rgba(166, 90, 60, 0.1);
}

/* Кнопки */
.onestep-cart button[type="submit"],
.onestep-cart .v25-btn-primary {
    background: #A65A3C;
    color: #fff;
    border: none;
    border-radius: 9999px;
    padding: 14px 32px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
}

.onestep-cart button[type="submit"]:hover {
    background: #8B4A32;
}

/* Mobile */
@media (max-width: 768px) {
    .onestep-cart {
        padding: 0 16px;
        margin: 16px auto;
    }
}
