body {
  overflow-x: hidden;
}

:root {
  --color-accent-main: #a1907d;
  --color-accent-secondary: #30445e;
  --color-white: #ffffff;
  --color-ivory: #f7f4f1;
  --color-line: #e8e4e1;
  --color-text-primary: #000000;
  --color-text-secondary: #303030;
  --font-primary: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --fs-h1: 42px;
  --fs-h2: 30px;
  --fs-h3: 22px;
  --fs-body: 17px;
  --fs-large: 18px;
  --fs-small: 14px;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 40px;
  --space-2xl: 60px;
  --space-3xl: 80px;
  --lh-tight: 1.3;
  --lh-normal: 1.45;
  --lh-relaxed: 1.55;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --radius-soft: 6px;
  --shadow-soft: 0px 4px 12px rgba(0,0,0,0.06);
  --transition-fast: 0.18s ease;
  --transition-base: 0.25s ease;
}

.lg-product-wrapper {
  font-family: var(--font-primary);
  color: var(--color-text-primary);
  background: var(--color-white);
  width: 100%;
}

.lg-product-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 60px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: 
    "gallery info";
  column-gap: 60px;
  align-items: start;
  overflow-x: hidden;
}

.lg-product-title {
  font-size: var(--fs-h1);
  font-weight: var(--fw-medium);
  line-height: var(--lh-tight);
  color: var(--color-text-primary);
  margin: 0;
}

.lg-product-gallery {
  grid-area: gallery;
}

.lg-main-image {
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--radius-soft);
  background: var(--color-ivory);
  margin-bottom: 12px;
}

.lg-main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lg-thumbnails {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: var(--color-accent-main) var(--color-ivory);
  padding-bottom: 6px;
  margin-top: 4px;
}

.lg-thumbnails::-webkit-scrollbar {
  height: 5px;
}

.lg-thumbnails::-webkit-scrollbar-track {
  background: var(--color-ivory);
  border-radius: 2px;
}

.lg-thumbnails::-webkit-scrollbar-thumb {
  background: var(--color-accent-main);
  border-radius: 2px;
}

.lg-thumbnails::-webkit-scrollbar-thumb:hover {
  background: var(--color-accent-secondary);
}

.lg-thumb {
  min-width: calc(25% - 6px);
  width: calc(25% - 6px);
  flex-shrink: 0;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 4px;
  border: 2px solid var(--color-line);
  cursor: pointer;
  transition: var(--transition-fast);
  opacity: 0.6;
}

.lg-thumb:hover,
.lg-thumb.active {
  border-color: var(--color-accent-main);
  opacity: 1;
}

.lg-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lg-product-info {
  grid-area: info;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.lg-product-rating {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lg-product-rating .star-rating {
  color: var(--color-accent-main);
}

.lg-rating-count {
  font-size: 15px;
  color: var(--color-text-secondary);
}

.lg-product-price {
  font-size: var(--fs-h2);
  font-weight: var(--fw-medium);
  color: var(--color-accent-main);
}

.lg-product-price del {
  opacity: 0.5;
  font-size: var(--fs-h3);
  margin-right: 8px;
}

.lg-product-price ins {
  text-decoration: none;
}

.lg-product-description {
  font-size: var(--fs-body);
  line-height: var(--lh-relaxed);
  color: var(--color-text-secondary);
}

.lg-product-description p {
  margin: 0 0 16px 0;
}

.lg-product-description p:last-child {
  margin-bottom: 0;
}

.lg-product-attributes {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  background: var(--color-ivory);
  border-radius: var(--radius-soft);
}

.lg-attribute {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 15px;
}

.lg-attribute-label {
  font-weight: var(--fw-medium);
  color: var(--color-text-primary);
}

.lg-attribute-value {
  color: var(--color-text-secondary);
}

.lg-open-customizer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 18px 32px;
  background: var(--color-accent-main);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius-soft);
  font-size: 16px;
  font-weight: var(--fw-medium);
  font-family: var(--font-primary);
  cursor: pointer;
  transition: var(--transition-base);
}

.lg-open-customizer:hover {
  background: #8a7c69;
  transform: translateY(-1px);
}

.lg-product-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 24px;
  border-top: 1px solid var(--color-line);
}

.lg-meta-item {
  font-size: 15px;
  color: var(--color-text-secondary);
}

.lg-meta-label {
  font-weight: var(--fw-medium);
  color: var(--color-text-primary);
}

.lg-meta-value a {
  color: var(--color-accent-secondary);
  text-decoration: none;
  transition: var(--transition-fast);
}

.lg-meta-value a:hover {
  color: var(--color-accent-main);
}

.lg-product-tabs-wrapper {
  max-width: 1280px;
  margin: 60px auto 0;
  padding: 0 24px;
  overflow-x: hidden;
}

.lg-tabs {
  display: flex;
  gap: 40px;
  border-bottom: 2px solid var(--color-line);
  margin-bottom: 40px;
}

.lg-tab {
  padding: 16px 0;
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  color: var(--color-text-secondary);
  cursor: pointer;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  transition: var(--transition-fast);
}

.lg-tab.active,
.lg-tab:hover {
  color: var(--color-accent-main);
  border-bottom-color: var(--color-accent-main);
}

.lg-tab-content {
  display: none;
}

.lg-tab-content.active {
  display: block;
}

.lg-tab-content h2 {
  font-size: var(--fs-h2);
  font-weight: var(--fw-medium);
  margin-bottom: var(--space-lg);
}

.lg-attributes-table {
  width: 100%;
  border-collapse: collapse;
}

.lg-attributes-table tr {
  border-bottom: 1px solid var(--color-line);
}

.lg-attributes-table th,
.lg-attributes-table td {
  padding: var(--space-md);
  text-align: left;
}

.lg-attributes-table th {
  font-weight: var(--fw-medium);
  color: var(--color-text-primary);
  width: 200px;
}

.lg-attributes-table td {
  color: var(--color-text-secondary);
}

.lg-related-products {
  max-width: 1280px;
  margin: 80px auto 80px;
  padding: 0 24px;
  overflow-x: hidden;
}

.lg-related-title {
  font-size: var(--fs-h2);
  font-weight: var(--fw-medium);
  margin-bottom: var(--space-xl);
  text-align: center;
}

.lg-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-lg);
}

.lg-related-item {
  text-decoration: none;
  color: inherit;
  background: var(--color-white);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-soft);
  overflow: hidden;
  transition: var(--transition-base);
  display: flex;
  flex-direction: column;
}

.lg-related-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border-color: var(--color-accent-main);
}

.lg-related-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--color-ivory);
  position: relative;
}

.lg-related-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--transition-base);
}

.lg-related-item:hover .lg-related-image img {
  transform: scale(1.02);
}

.lg-related-name {
  font-size: var(--fs-large);
  font-weight: var(--fw-medium);
  color: var(--color-text-primary);
  padding: var(--space-lg) var(--space-lg) var(--space-sm);
  margin: 0;
  font-family: var(--font-primary);
  line-height: 1.3;
}

.lg-related-price {
  font-size: var(--fs-large);
  font-weight: var(--fw-medium);
  color: var(--color-accent-main);
  padding: 0 var(--space-lg) var(--space-lg);
  font-family: var(--font-primary);
}

@media (max-width: 1024px) {
  .lg-product-container {
    grid-template-columns: 1fr;
    grid-template-areas: 
      "title"
      "gallery"
      "info";
    gap: 40px;
  }
  
  .lg-product-gallery {
    position: static;
  }
  
  .lg-related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .lg-product-container {
    padding: 40px 16px;
    grid-template-columns: 1fr;
    grid-template-areas:
      "gallery"
      "info";
    row-gap: 24px;
  }
  
  .lg-product-gallery {
    position: static;
  }
  
  .lg-product-title {
    font-size: 32px;
  }
  
  .lg-thumb {
    min-width: calc(33.33% - 6px);
    width: calc(33.33% - 6px);
  }
  
  .lg-tabs {
    gap: 20px;
    overflow-x: auto;
  }
  
  .lg-related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .lg-product-container {
    padding: 24px 12px;
  }
  
  .lg-product-title {
    font-size: 28px;
  }
}

form.cart {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

form.cart table.variations {
  width: 100% !important;
  margin: 0 0 var(--space-lg) 0 !important;
  border: none !important;
  background: none !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

form.cart table.variations tbody {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--space-md) !important;
  border: none !important;
}

form.cart table.variations tr {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--space-sm) !important;
  border: none !important;
  background: none !important;
}

form.cart table.variations td.label {
  display: block !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  width: 100% !important;
}

form.cart table.variations td.label label {
  font-weight: var(--fw-medium) !important;
  font-size: 14px !important;
  color: var(--color-text-primary) !important;
  font-family: var(--font-primary) !important;
  display: block !important;
  margin: 0 !important;
}

form.cart table.variations td.value {
  display: block !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  width: 100% !important;
}

form.cart table.variations td.value select {
  width: 100% !important;
  padding: 14px 16px !important;
  font-size: var(--fs-body) !important;
  font-family: var(--font-primary) !important;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-soft) !important;
  background: var(--color-white) !important;
  color: var(--color-text-primary) !important;
  transition: var(--transition-fast) !important;
  cursor: pointer !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23303030' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 40px !important;
}

form.cart table.variations td.value select:hover,
form.cart table.variations td.value select:focus {
  outline: none !important;
  border-color: var(--color-accent-main) !important;
  box-shadow: 0 0 0 3px rgba(161, 144, 125, 0.1) !important;
}

form.cart .reset_variations {
  display: inline-block !important;
  font-size: 13px !important;
  color: var(--color-accent-secondary) !important;
  text-decoration: none !important;
  margin: 8px 0 0 0 !important;
  padding: 0 !important;
  transition: var(--transition-fast) !important;
  font-family: var(--font-primary) !important;
  background: none !important;
  border: none !important;
}

form.cart .reset_variations:hover {
  color: var(--color-accent-main) !important;
}

form.cart .single_variation_wrap {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

form.cart .woocommerce-variation {
  display: none !important;
  padding: 20px !important;
  background: var(--color-ivory) !important;
  border-radius: var(--radius-soft) !important;
  margin: 20px 0 !important;
  border: none !important;
}

form.cart .woocommerce-variation.woocommerce-variation-visible {
  display: block !important;
}

form.cart .woocommerce-variation-price {
  display: block !important;
  font-size: 24px !important;
  font-weight: var(--fw-medium) !important;
  color: var(--color-accent-main) !important;
  margin: 0 0 8px 0 !important;
  font-family: var(--font-primary) !important;
}

form.cart .woocommerce-variation-price .price {
  font-size: 24px !important;
  font-weight: var(--fw-medium) !important;
  color: var(--color-accent-main) !important;
  font-family: var(--font-primary) !important;
}

form.cart .woocommerce-variation-price .price .qty-info {
  font-size: 15px !important;
  font-weight: var(--fw-regular) !important;
  color: var(--color-text-secondary) !important;
  margin-left: 8px !important;
  display: inline-block !important;
}

form.cart .woocommerce-variation-description {
  font-size: 15px !important;
  color: var(--color-text-secondary) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  font-family: var(--font-primary) !important;
}

form.cart .woocommerce-variation-add-to-cart {
  display: flex !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 0 !important;
  border: none !important;
  margin: 8px 0 0 0 !important;
}

form.cart .quantity {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
}

form.cart .quantity input.qty {
  width: 80px !important;
  height: 52px !important;
  padding: 0 16px !important;
  font-size: var(--fs-body) !important;
  font-family: var(--font-primary) !important;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-soft) !important;
  text-align: center !important;
  transition: var(--transition-fast) !important;
  background: var(--color-white) !important;
  color: var(--color-text-primary) !important;
}

form.cart .quantity input.qty:focus {
  outline: none !important;
  border-color: var(--color-accent-main) !important;
  box-shadow: 0 0 0 3px rgba(161, 144, 125, 0.1) !important;
}

form.cart button.single_add_to_cart_button {
  flex: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px 32px !important;
  height: 52px !important;
  background: var(--color-accent-main) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-soft) !important;
  font-size: 16px !important;
  font-weight: var(--fw-medium) !important;
  font-family: var(--font-primary) !important;
  cursor: pointer !important;
  transition: var(--transition-base) !important;
  text-decoration: none !important;
  line-height: normal !important;
}

form.cart button.single_add_to_cart_button:hover {
  background: #8a7c69 !important;
  transform: translateY(-1px) !important;
  color: var(--color-white) !important;
}

form.cart button.single_add_to_cart_button:disabled {
  background: var(--color-line) !important;
  color: var(--color-text-secondary) !important;
  cursor: not-allowed !important;
  transform: none !important;
}

@media (max-width: 767px) {
  form.cart .woocommerce-variation-add-to-cart {
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  form.cart .quantity {
    flex: 0 0 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
  }

  form.cart .quantity input.qty {
    width: 60px !important;
    padding: 0 8px !important;
  }

  form.cart button.single_add_to_cart_button {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 76px) !important;
    padding: 16px 12px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 480px) {
  form.cart button.single_add_to_cart_button {
    width: 100% !important;
    flex: none !important;
  }
}

.lg-separator-ou {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin: 32px 0 24px 0 !important;
  position: relative !important;
  width: 100% !important;
}

.lg-separator-ou::before,
.lg-separator-ou::after {
  content: '' !important;
  flex: 1 !important;
  height: 1px !important;
  background: var(--color-line) !important;
  max-width: 120px !important;
}

.lg-separator-ou span {
  padding: 0 24px !important;
  font-size: 13px !important;
  font-weight: var(--fw-medium) !important;
  color: var(--color-text-secondary) !important;
  font-family: var(--font-primary) !important;
  letter-spacing: 2px !important;
  background: var(--color-white) !important;
  position: relative !important;
  z-index: 1 !important;
}

.lg-product-description .lg-accordion-item {
  border-bottom: 1px solid var(--color-line);
  margin-bottom: 0;
}

.lg-product-description .lg-accordion-item:last-of-type {
  border-bottom: none;
}

.lg-product-description .lg-accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 0;
  cursor: pointer;
  user-select: none;
  transition: var(--transition-fast);
  gap: 20px;
}

.lg-product-description .lg-accordion-header:hover {
  opacity: 0.7;
}

.lg-product-description .lg-accordion-header strong {
  display: inline;
  margin: 0;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: var(--fw-medium);
  color: var(--color-text-primary);
  transition: var(--transition-fast);
  flex: 1;
}

.lg-product-description .lg-accordion-icon {
  width: 24px;
  height: 24px;
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition-base);
  margin-left: auto;
}

.lg-product-description .lg-accordion-icon::before {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--color-accent-main);
  border-bottom: 2px solid var(--color-accent-main);
  transform: rotate(45deg);
  transition: var(--transition-base);
}

.lg-product-description .lg-accordion-item.active .lg-accordion-icon::before {
  transform: rotate(-135deg);
}

.lg-product-description .lg-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.3s ease;
  opacity: 0;
}

.lg-product-description .lg-accordion-item.active .lg-accordion-content {
  max-height: 2000px;
  padding-bottom: 24px;
  opacity: 1;
}

.lg-product-description .lg-accordion-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lg-product-description .lg-accordion-content li {
  padding-left: 24px;
  margin-bottom: 12px;
  position: relative;
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text-secondary);
}

.lg-product-description .lg-accordion-content li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-accent-main);
  font-weight: bold;
  font-size: 18px;
}

.lg-product-description hr {
  border: none;
  height: 1px;
  background: var(--color-line);
  margin: 32px 0 24px 0;
}

form.cart table.variations,
form.cart table.variations *,
form.cart table.variations tbody,
form.cart table.variations tr,
form.cart table.variations td {
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
  outline: none !important;
}

form.cart table.variations tbody::before,
form.cart table.variations tbody::after,
form.cart table.variations::before,
form.cart table.variations::after {
  display: none !important;
  content: none !important;
}

* {
  box-sizing: border-box !important;
}

form.cart,
form.cart * {
  box-sizing: border-box !important;
}

.lg-trust-banner {
  max-width: 1280px;
  margin: 60px auto 80px;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  background: #f9f9f9;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
  padding: 20px;
}

.lg-trust-security {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #2e7d32;
}

.lg-trust-security svg {
  color: #2e7d32;
  flex-shrink: 0;
}

.lg-payment-logos {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: center;
}

.lg-payment-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 8px;
  background: white;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  height: 34px;
  min-width: 60px;
}

.lg-payment-logo img {
  max-height: 22px;
  max-width: 45px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

@media (max-width: 768px) {
  .lg-trust-banner {
    margin: 40px auto 60px;
    padding: 16px;
    gap: 12px;
  }
  
  .lg-trust-security {
    font-size: 13px;
  }
  
  .lg-payment-logos {
    gap: 6px;
  }
  
  .lg-payment-logo {
    padding: 5px 8px;
    height: 32px;
  }
  
  .lg-payment-logo img {
    max-height: 20px;
    max-width: 45px;
  }
}
.lg-sample-checkbox {
  display: flex;
  align-items: start;
  gap: 12px;
  padding: 16px 0;
  margin-top: 12px;
  border-top: 1px solid #e8e8e8;
}

.lg-sample-checkbox input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  cursor: pointer;
  flex-shrink: 0;
  accent-color: var(--color-accent-main);
}

.lg-sample-checkbox label {
  cursor: pointer;
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-text-primary);
  font-weight: 500;
}

.lg-sample-checkbox input[type="checkbox"]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.lg-sample-checkbox label:has(+ input[type="checkbox"]:disabled),
.lg-sample-checkbox input[type="checkbox"]:disabled + label {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (max-width: 768px) {
  .lg-sample-checkbox {
    padding: 14px 0;
    gap: 10px;
  }
  
  .lg-sample-checkbox label {
    font-size: 14px;
  }
}