/* Original Eulalie product presentation; checkout and option handling remain OC4. */
.eulalie-product { padding-top: 0; }
.eulalie-product #content, .eulalie-product-layout > div { min-width: 0; }
.eulalie-product .breadcrumb { margin: 0 0 20px; padding: 8px 0; border: 1px solid #ddd; border-radius: 4px; background: #f5f5f5; row-gap: 8px; }
.eulalie-product .breadcrumb-item { padding: 0 20px; position: relative; overflow-wrap: anywhere; }
.eulalie-product .breadcrumb-item + .breadcrumb-item::before { content: none; }
.eulalie-product .breadcrumb-item:not(:last-child)::after { content: ''; position: absolute; right: -5px; top: -3px; width: 26px; height: 26px; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; transform: rotate(-45deg); }
.eulalie-product h1 { margin: 0 0 10px; font-size: 28px; line-height: 1.1; font-weight: 400; color: #000; overflow-wrap: anywhere; }
.eulalie-product h2 { font-size: 27px; font-weight: 400; color: #000; margin: 20px 0 10px; }
.eulalie-product h3 { font-size: 18px; font-weight: 400; }
.eulalie-product hr { margin: 20px 0; border-color: #ddd; opacity: 1; }
.eulalie-product-description { font-size: 15px; line-height: 1.5; color: #666; overflow-wrap: anywhere; }
.eulalie-product-description img { max-width: 100%; height: auto; }
.eulalie-product-description table { max-width: 100%; }
.eulalie-product-gallery .image > a { display: flex; align-items: center; justify-content: center; border: 1px solid #ddd; border-radius: 4px; padding: 4px; margin-bottom: 20px; }
.eulalie-product-gallery .image > a img { max-width: 100%; height: auto; border: 0; margin-bottom: 0 !important; }
.eulalie-product-gallery .image > div { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 20px; }
.eulalie-product-gallery .image > div img { width: 80px; height: 80px; object-fit: contain; }
.eulalie-product .form-control, .eulalie-product .form-select { font-size: 12px; min-height: 34px; border-radius: 4px; }
.eulalie-product .form-label { font-weight: 700; }
.eulalie-product-buy #button-cart { display: block; width: 100%; margin-top: 20px; border-radius: 4px; padding: 10px 16px; font-size: 15px; }
.eulalie-product .btn-primary { color: #fff; background: linear-gradient(#cc3399,#ca3b9a); border-color: #8e2674 #8e2674 #641b52; }
.eulalie-product .btn-primary:hover { background: linear-gradient(#b32590,#a01f80); }
.eulalie-product .eulalie-special { color: #c00; }
.eulalie-product .price-old { text-decoration: line-through; }
.eulalie-product .nav-tabs { margin-top: 20px; margin-bottom: 15px; }
.eulalie-product .nav-tabs:empty { display: none; }
.eulalie-product .nav-link { font-size: 13px; }
@media (max-width: 767px) { .eulalie-product h1 { font-size: 24px; } .eulalie-product-gallery { margin-bottom: 20px; } .eulalie-product .breadcrumb-item { padding: 0 12px; } }
.eulalie-recommendation-group { margin: 30px 0; }
.eulalie-product .eulalie-recommendation-group .nav-tabs { gap: 4px; }
.eulalie-product .eulalie-recommendation-group .nav-link { font-size: 16px; color: #555; padding: 10px 14px; }
.eulalie-product .eulalie-recommendation-group .nav-link.active { color: #a01f80; border-top: 2px solid #cc3399; }
.eulalie-recommendation-controls { display: flex; justify-content: flex-end; gap: 6px; margin: 0 0 8px; }
.eulalie-recommendation-controls button { border: 1px solid #ddd; border-radius: 3px; background: #fff; color: #555; width: 32px; height: 30px; }
.eulalie-recommendation-controls button:disabled { opacity: .35; }
.eulalie-recommendation-track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
.eulalie-recommendation-card { flex: 0 0 calc((100% - 60px) / 4); min-width: 0; border: 1px solid #ddd; border-radius: 3px; scroll-snap-align: start; background: #fff; }
.eulalie-recommendation-card img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.eulalie-product .eulalie-recommendation-card h3 { font-size: 13px; line-height: 19px; margin: 10px 12px; overflow-wrap: anywhere; }
.eulalie-product .eulalie-recommendation-card h3 a { color: #003366; }
.eulalie-recommendation-price { padding: 0 12px 12px; font-size: 15px; }
.eulalie-recommendation-price del { font-size: 12px; color: #777; }
.eulalie-recommendation-price span { color: #c00; }
@media (max-width: 767px) {
  .eulalie-recommendation-track { gap: 12px; }
  .eulalie-recommendation-card { flex-basis: calc((100% - 12px) / 2); }
  .eulalie-product .eulalie-recommendation-group .nav-link { font-size: 13px; padding: 9px; }
}
