body.wac-product-template { --wac-ink:#292b31; --wac-muted:#777b83; --wac-line:#e9eaed; --wac-soft:#f7f7f8; --wac-accent:#ef4946; }
.wac-product-template .wac-single-product { clear:both; width:100%; max-width:1460px; margin:0 auto; color:var(--wac-ink); }
@media (min-width:768px) and (max-width:1600px) {
  body.wac-product-template:has(.pc-site-tools) .wac-single-product { padding-inline-end:76px; }
}
.wac-product-template .wac-single-product * { box-sizing:border-box; }
.wac-product-template .wac-product-top { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,1fr); align-items:start; gap:clamp(24px,3vw,48px); }
.wac-product-template .wac-gallery-column { position:sticky; top:112px; min-width:0; align-self:start; }
.wac-product-template .wac-summary-column { min-width:0; }
.wac-product-template .wac-single-product div.images,
.wac-product-template .wac-single-product div.summary { float:none; width:100%; margin:0; }
.wac-product-template.woocommerce div.product.wac-single-product .wac-gallery-column div.images,
.wac-product-template.woocommerce div.product.wac-single-product .wac-summary-column div.summary { float:none !important; width:100% !important; max-width:none; }
.wac-product-template .wac-single-product div.images { margin-bottom:0; }
.wac-product-template .wac-single-product .woocommerce-product-gallery { width:100%; }
.wac-product-template .wac-single-product .woocommerce-product-gallery .flex-viewport { height:clamp(440px,65vh,620px) !important; border:1px solid var(--wac-line); border-radius:8px; }
.wac-product-template .wac-single-product .woocommerce-product-gallery__wrapper { height:100%; }
.wac-product-template .wac-single-product .woocommerce-product-gallery__image > a { display:flex; align-items:center; justify-content:center; height:clamp(440px,65vh,620px); }
.wac-product-template .wac-single-product .woocommerce-product-gallery__image > a > img { display:block; max-width:100%; width:100%; height:100%; object-fit:contain; }
.wac-product-template .wac-single-product .flex-control-thumbs { display:flex; gap:7px; width:100%; max-width:100%; margin:9px 0 0; padding:2px 0 6px; overflow-x:auto; scrollbar-width:thin; }
.wac-product-template .wac-single-product .flex-control-thumbs li { flex:0 0 62px; float:none; width:62px; }
.wac-product-template .wac-single-product .flex-control-thumbs img { width:62px; height:62px; border:1px solid var(--wac-line); border-radius:5px; object-fit:cover; }
.wac-product-template .wac-single-product .flex-control-thumbs img.flex-active { border-color:#777b83; }
.wac-product-template .wac-single-product .product_title { margin:0 36px 8px 0; color:#24242a; font-size:clamp(24px,1.8vw,28px); font-weight:700; line-height:1.25; }
.wac-product-template .wac-single-product p.price { margin:0 0 12px; color:var(--wac-accent) !important; font-size:20px; font-weight:600; }
.wac-product-template .wac-single-product .woocommerce-product-details__short-description { margin-bottom:18px; color:#68686f; font-size:14px; line-height:1.55; }
.wac-product-template .wac-single-product .woocommerce-product-details__short-description p { margin:0 0 8px; }
.wac-product-template .wac-single-product .summary > .pc-product-favorite { position:absolute; top:0; right:0; margin:0; padding:6px; }
.wac-product-template .wac-single-product div.summary { position:relative; }
.wac-product-template .wac-single-product form.cart { --wac-purchase-control-height:42px; margin:0; }
.wac-product-template .wac-single-product .product_meta { margin-top:18px; padding-top:14px; border-top:1px solid var(--wac-line); font-size:12px; }
.wac-product-template .wac-single-product form.cart .quantity { display:inline-flex; align-items:stretch; float:none; margin:0 8px 0 0; }
.wac-product-template .wac-single-product form.cart .quantity input.qty { width:62px; height:var(--wac-purchase-control-height); min-height:var(--wac-purchase-control-height); margin:0; border:1px solid #d9d9de; border-radius:0; background:#fff; text-align:center; }
.wac-product-template .wac-single-product form.cart .quantity .minus,
.wac-product-template .wac-single-product form.cart .quantity .plus { display:grid; place-items:center; width:32px; height:var(--wac-purchase-control-height); min-height:var(--wac-purchase-control-height) !important; margin:0; padding:0; border:1px solid #d9d9de; border-radius:0; background:#fff !important; color:#54555c !important; text-decoration:none; }
.wac-product-template .wac-single-product form.cart .quantity .minus { border-right:0; border-radius:5px 0 0 5px; }
.wac-product-template .wac-single-product form.cart .quantity .plus { border-left:0; border-radius:0 5px 5px 0; }
.wac-product-template .wac-single-product .single_add_to_cart_button { min-height:var(--wac-purchase-control-height); border-radius:5px; background:#292b31 !important; color:#fff !important; font-size:14px; font-weight:600; box-shadow:none; }
.wac-product-template .wac-single-product .single_add_to_cart_button:not(:disabled):hover { background:#3b3c41 !important; }
.wac-product-template .wac-product-details { display:block; clear:both; margin-top:48px; }
.wac-product-template .wac-product-details.wac-has-sidebar { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,320px); align-items:start; gap:clamp(28px,3.3vw,52px); padding-inline-end:48px; }
.wac-product-template .wac-details-main,
.wac-product-template .wac-details-sidebar { min-width:0; }
.wac-product-template .wac-details-sidebar { align-self:start; padding:20px; border:1px solid var(--wac-line); border-radius:12px; background:var(--wac-soft); }
.wac-product-template .wac-sidebar-widget { min-width:0; margin:0; padding:0; border:0; overflow-wrap:anywhere; }
.wac-product-template .wac-sidebar-widget + .wac-sidebar-widget { margin-top:20px; padding-top:20px; border-top:1px solid #e2e4e8; }
.wac-product-template .wac-sidebar-title { margin:0 0 12px; color:var(--wac-ink); font-size:15px; font-weight:600; line-height:1.4; }
.wac-product-template .wac-details-sidebar .woocommerce-product-search { display:flex; align-items:stretch; gap:8px; min-width:0; margin:0; }
.wac-product-template .wac-details-sidebar .woocommerce-product-search .search-field { box-sizing:border-box; flex:1 1 auto; width:0; min-width:0; height:44px; margin:0; padding:0 12px; border:1px solid #d9dce0; border-radius:7px; background:#fff; color:var(--wac-ink); font:inherit; font-size:13px; }
.wac-product-template .wac-details-sidebar .woocommerce-product-search button { box-sizing:border-box; flex:none; min-height:44px; margin:0; padding:0 14px; border:0; border-radius:7px; background:var(--wac-ink) !important; color:#fff !important; font:inherit; font-size:13px; font-weight:600; line-height:1; cursor:pointer; }
.wac-product-template .wac-details-sidebar .woocommerce-product-search button:hover { background:#41434a !important; }
.wac-product-template .wac-details-sidebar .woocommerce-product-search :focus-visible { outline:2px solid #1675c5; outline-offset:2px; }
.wac-product-template .wac-details-sidebar .dropdown_product_cat:not(.select2-hidden-accessible) { display:block; width:100%; max-width:100%; min-height:44px; padding:0 12px; border:1px solid #d9dce0; border-radius:7px; background:#fff; color:var(--wac-ink); font-size:13px; }
.wac-product-template .wac-details-sidebar .select2-container { display:block; width:100% !important; height:auto; }
.wac-product-template .wac-details-sidebar .select2-container .select2-selection--single { position:relative; height:44px; margin:0; overflow:hidden; border:1px solid #d9dce0; border-radius:7px; background:#fff; box-shadow:none; }
.wac-product-template .wac-details-sidebar .select2-container .select2-selection--single .select2-selection__rendered { height:42px; padding:0 62px 0 12px; color:var(--wac-ink); font-size:13px; line-height:42px; text-align:left; }
.wac-product-template .wac-details-sidebar .select2-container .select2-selection--single .select2-selection__clear { position:absolute; top:0; right:32px; float:none; height:42px; color:var(--wac-muted); font-size:17px; line-height:42px; }
.wac-product-template .wac-details-sidebar .select2-container .select2-selection--single .select2-selection__arrow { top:0; right:3px; width:26px; height:42px; }
.wac-product-template .wac-details-sidebar .select2-container .select2-selection--single:focus-visible { outline:2px solid #1675c5; outline-offset:2px; }
/* Woo Select2 appends its popup to body; keep that wrapper as narrow as the field. */
body.wac-product-template > .select2-container.select2-container--open { width:fit-content !important; max-width:calc(100vw - 16px); }
body.wac-product-template > .select2-container.select2-container--open .select2-dropdown { max-width:calc(100vw - 16px); }
.wac-product-template .wac-details-main .woocommerce-tabs { overflow:hidden; border:1px solid var(--wac-line); border-radius:12px; background:#fff; }
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:24px; margin:0; padding:0 24px; border-bottom:1px solid var(--wac-line); background:var(--wac-soft); }
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs ul.tabs::before,
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs ul.tabs::after { display:none !important; }
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs ul.tabs li { flex:0 0 auto; width:max-content !important; max-width:100%; margin:0; padding:0; border:0; border-radius:0; background:transparent; font-size:14px; }
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs ul.tabs li::before,
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs ul.tabs li::after { display:none; }
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs ul.tabs li a { display:block; padding:14px 2px; color:var(--wac-muted); font-weight:600; }
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs ul.tabs li.active { border-bottom:2px solid #333336; }
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs ul.tabs li.active a { color:var(--wac-ink); }
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs .panel { margin:0; padding:24px 28px; color:#55565c; font-size:14px; line-height:1.7; }
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs .panel > h2:first-child { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs .panel > :last-child { margin-bottom:0; }
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs .panel h2 { margin-bottom:12px; color:var(--wac-ink); font-size:20px; font-weight:600; }
body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs .panel img { max-width:100%; height:auto; }
@media (max-width:900px) {
  .wac-product-template .wac-gallery-column { top:84px; }
  .wac-product-template .wac-product-top { gap:22px; }
}
@media (max-width:1023px) {
  .wac-product-template .wac-product-details.wac-has-sidebar { display:block; padding-inline-end:0; }
  .wac-product-template .wac-details-sidebar { margin-top:24px; }
  .wac-product-template .wac-details-sidebar .woocommerce-product-search,
  .wac-product-template .wac-details-sidebar .select2-container,
  .wac-product-template .wac-details-sidebar .dropdown_product_cat:not(.select2-hidden-accessible) { max-width:480px; }
}
@media (max-width:767px) {
  .wac-product-template .wac-product-top,
  .wac-product-template .wac-product-details.wac-has-sidebar { display:block; }
  .wac-product-template .wac-gallery-column { position:static; margin-bottom:22px; }
  .wac-product-template .wac-single-product .woocommerce-product-gallery .flex-viewport,
  .wac-product-template .wac-single-product .woocommerce-product-gallery__image > a { height:clamp(320px,90vw,460px) !important; }
  .wac-product-template .wac-product-details { margin-top:32px; }
  body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs ul.tabs { gap:16px; padding:0 18px; }
  body.wac-product-template.woocommerce div.product.wac-single-product .woocommerce-tabs .panel { padding:20px; }
  .wac-product-template .wac-details-sidebar { margin-top:20px; padding:18px; }
}
