/* Individual product pages: retain the native combination, stock and cart hooks. */
body#product #left_column, body#product #right_column { display: none; }
body#product #page #center_column { width: 100% !important; max-width: none !important; padding: 0 15px; float: none; }
body#product .breadcrumb-product { display: none; }
body#product .breadcrumb { margin-bottom: 28px; line-height: 1.7; }
body#product #page .primary_block { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 0 48px; margin: 0 0 44px !important; }
body#product #page .primary_block::before, body#product #page .primary_block::after { display: none; }
body#product #page .primary_block > .pb-left-column { grid-column: 1; grid-row: 1 / 3; }
body#product #page .primary_block > .pb-center-column { grid-column: 2; grid-row: 1; }
body#product #page .primary_block > .pb-right-column { grid-column: 2; grid-row: 2; }
body#product #page .primary_block > [class*='pb-'] { width: 100%; min-width: 0; float: none; padding: 0; margin: 0; }
body#product #page #image-block { width: 100%; border: 1px solid var(--mys-line); border-radius: 14px; padding: 24px; overflow: hidden; }
body#product #page #image-block #view_full_size { display: block; }
body#product #page #image-block #bigpic { display: block; width: 100%; height: 440px; object-fit: contain; }
body#product #page #image-block .span_link { right: 18px; bottom: 14px; }
body#product #page #views_block { width: 100%; max-width: 422px; margin: 16px auto 0; }
body#product #page #thumbs_list { max-width: calc(100% - 60px); }
body#product #page #thumbs_list li a { border-radius: 8px; overflow: hidden; border-color: var(--mys-line); }
body#product #page #thumbs_list li a.shown, body#product #page #thumbs_list li a:hover { border-color: var(--mys-accent); }
body#product #page .pb-center-column h1 { margin: 0 0 16px; padding: 0; border: 0; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.25; font-weight: 500; color: var(--mys-ink); text-transform: none; overflow-wrap: anywhere; }
body#product #page #product_reference, body#product #page #product_condition { font-size: 12px; color: var(--mys-muted); margin-bottom: 8px !important; }
body#product #page #short_description_block { margin: 20px 0 16px; padding: 0; border: 0; }
body#product #page #short_description_content { font-size: 15px; line-height: 1.7; text-align: left; color: #596052; }
body#product #page #short_description_content p { line-height: inherit; margin-bottom: 10px; }
body#product #page .socialsharing_product { display: none; }
body#product #page #availability_statut #availability_value { display: inline-block; padding: 6px 10px; border: 0; border-radius: 6px; background: #edf3e9; color: #456b36; }
body#product #page #availability_statut #availability_value.label-danger { background: #f8ecea; color: #994c42; }
body#product #page #availability_statut #availability_value.label-warning { background: #fbf3e5; color: #886629; }
body#product #page #buy_block { margin-top: 8px; }
body#product #page .box-info-product { padding: 24px; background: #f7f8f5; border: 1px solid var(--mys-line); border-radius: 12px; box-shadow: none; }
body#product #page .content_prices { margin: 0 0 16px; padding: 0; border: 0; background: none; }
body#product #page .our_price_display { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin: 0; padding: 0; color: var(--mys-muted); font-size: 12px; }
body#product #page #our_price_display { font-size: 32px; line-height: 1.3; font-weight: 600; color: var(--mys-ink); }
body#product #page #old_price { padding: 5px 0; color: var(--mys-muted); }
body#product #page #reduction_percent, body#product #page #reduction_amount { border: 0; border-radius: 5px; background: #f1e6f0; color: var(--mys-accent); margin: 8px 6px 0 0; }
body#product #page .product_attributes { padding: 0; border: 0; box-shadow: none; }
body#product #page #attributes { margin: 0; }
body#product #page #attributes fieldset { margin: 0 0 18px; padding: 0; }
body#product #page #attributes .attribute_label { display: block; width: 100%; margin-bottom: 7px; text-align: left; font-size: 13px; font-weight: 500; }
body#product #page #attributes .attribute_list { width: 100%; }
body#product #page #attributes .attribute_list ul { display: flex; gap: 8px; flex-wrap: wrap; }
body#product #page #attributes .attribute_list ul li { float: none; margin: 0; padding: 0; }
body#product #page #attributes .mys-attribute-choice { display: flex; align-items: center; gap: 8px; padding: 10px 12px; margin: 0; border: 1px solid #dce1d6; border-radius: 8px; background: white; color: var(--mys-ink); font-size: 14px; font-weight: 400; cursor: pointer; }
body#product #page #attributes .mys-attribute-choice:has(input:checked) { border-color: var(--mys-accent); background: #f5eef5; }
body#product #page #attributes .mys-attribute-choice:focus-within { outline: 2px solid var(--mys-accent); outline-offset: 2px; }
body#product #page #attributes .mys-attribute-choice .radio { margin: 0; }
body#product #page #attributes select { position: static; width: 100%; max-width: 100%; height: 44px; padding: 8px 12px; border: 1px solid #dce1d6; border-radius: 8px; background: white; color: var(--mys-ink); font-size: 16px; appearance: auto; opacity: 1; }
body#product #page .box-cart-bottom { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
body#product #page #quantity_wanted_p { display: flex; align-items: center; flex-wrap: wrap; width: 100%; margin: 0 0 18px; padding: 0; float: none; }
body#product #page #quantity_wanted_p label { display: block; flex: 0 0 100%; margin: 0 0 8px; font-size: 13px; font-weight: 500; }
body#product #page #quantity_wanted_p .btn, body#product #page #quantity_wanted { position: static; display: inline-flex; justify-content: center; align-items: center; float: none; width: 44px; height: 44px; margin: 0; padding: 0; border: 1px solid #dce1d6; background: white; color: var(--mys-ink); box-shadow: none; }
body#product #page #quantity_wanted { width: 60px; text-align: center; border-radius: 0; border-left: 0; border-right: 0; font-size: 16px; }
body#product #page #quantity_wanted_p .button-minus { border-radius: 8px 0 0 8px; }
body#product #page #quantity_wanted_p .button-plus { border-radius: 0 8px 8px 0; }
body#product #page #quantity_wanted_p .btn span { display: inline; padding: 0; background: none; border: 0; color: inherit; }
body#product #page #add_to_cart { float: none; width: 100%; margin: 0; padding: 0; }
body#product #page .tm_addtocart { width: 100%; float: none; }
body#product #page #add_to_cart .exclusive { width: 100%; min-height: 48px; padding: 13px 20px; border: 1px solid var(--mys-accent); border-radius: 8px; background: var(--mys-accent); color: white; font-size: 15px; line-height: 20px; font-weight: 500; text-transform: none; box-shadow: none; }
body#product #page #add_to_cart .exclusive span { padding: 0; border: 0; background: none; color: inherit; font: inherit; }
body#product #page #add_to_cart .exclusive::before, body#product #page #add_to_cart .exclusive::after { display: none; }
body#product #page #add_to_cart .exclusive:hover { background: #4c054c; }
body#product #page #add_to_cart .exclusive:disabled { opacity: .5; cursor: not-allowed; }
body#product #page #usefull_link_block { display: flex; flex-wrap: wrap; gap: 12px 20px; margin: 18px 0 0; padding: 0; border: 0; }
body#product #page #usefull_link_block li { float: none; padding: 0; width: auto; }
body#product #page #usefull_link_block a { font-size: 12px; font-weight: 400; color: var(--mys-muted); }
body#product #page #loyalty, body#product #page .loyalty { margin: 12px 0; padding: 12px; border: 0; border-radius: 8px; background: #fff; font-size: 12px; line-height: 1.6; }
body#product #page .loyalty-block-product .alert-loyalty { margin: 12px 0 0; padding: 12px; border: 0; border-radius: 8px; background: #fff; color: var(--mys-muted); font-size: 12px; line-height: 1.6; }
body#product #page .loyalty-block-product .h6 { font-weight: 400; line-height: inherit; }
body#product #page .tm-tabcontent { clear: both; margin: 40px 0; }
body#product #page #productpage_tab { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; border: 0; padding: 0 0 12px; }
body#product #page #productpage_tab li { margin: 0; border: 0; }
body#product #page #productpage_tab a { padding: 12px 18px; border: 1px solid var(--mys-line); border-radius: 8px; background: #fff; color: var(--mys-muted); font-size: 14px; font-weight: 500; text-transform: none; }
body#product #page #productpage_tab .active a { background: #f3ebf3; border-color: #e2d3e2; color: var(--mys-accent); }
body#product #page .tm-tabcontent .tab-content { padding: 26px; border: 1px solid var(--mys-line); border-radius: 12px; font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
body#product #page .tm_productinner { margin: 0; padding: 0; }
body#product #page .tm_productinner img { max-width: 100%; height: auto; }
body#product #page .table-data-sheet { width: 100%; margin: 0; }
body#product #page .table-data-sheet td { padding: 12px; border-color: var(--mys-line); }
body#product #page .page-product-heading { margin: 0 0 24px; padding: 0; border: 0; background: none; color: var(--mys-ink); font-size: 23px; font-weight: 500; text-transform: none; }
body#product #page .blockproductscategory { margin-top: 40px; }
body#product #page #mys-related-products .loyalty-block-product { display: none; }
body#product #page #mys-related-products .content_price .price { margin: 0; padding: 0; text-align: left; }
body#product #page .primary_block :is(a, button, input, select):focus-visible, body#product #page #productpage_tab a:focus-visible { outline: 2px solid var(--mys-accent); outline-offset: 3px; }
/* Reset fixed dimensions and floats injected by the legacy theme settings. */
body#product #page .primary_block > [class*='pb-'] { min-height: 0 !important; height: auto !important; }
body#product #page .primary_block p { padding: 0 !important; }
body#product #page .box-cart-bottom { float: none; width: 100%; height: auto !important; display: flow-root; }
body#product #page .tm_addtocart { margin: 0; }
body#product #page #our_price_display { font-size: 32px !important; margin: 0 !important; padding: 0 !important; }
body#product #page #add_to_cart span { float: none; text-transform: none !important; }
body#product #page #productpage_tab { float: none; width: 100% !important; }
body#product #page #productpage_tab a { padding: 12px 18px !important; }
body#product #page .tab-content p { padding: 0 !important; }
@media (max-width: 767px) {
 body#product #page .primary_block { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 body#product #page .primary_block > [class*='pb-'] { grid-column: 1; grid-row: auto; }
 body#product #page #image-block { padding: 16px; }
 body#product #page #image-block #bigpic { height: 300px; }
 body#product #page .box-info-product { padding: 18px; }
 body#product #page .tm-tabcontent .tab-content { padding: 18px; }
 body#product #page #productpage_tab a { padding: 10px 12px; }
 body#product #page .breadcrumb { white-space: normal; }
}
