/* Product page layout fixes.
   Woo Variation Gallery sizes itself to a narrow column on its own, so force it to fill the template column,
   and give the gallery and summary columns an even split. */
body .elementor-widget-woocommerce-product-images .woo-variation-product-gallery,
body .elementor-widget-woocommerce-product-images .woo-variation-gallery-wrapper { width: 100% !important; max-width: 100% !important; min-width: 0 !important; float: none !important; margin: 0 !important; }
@media (min-width: 1025px) {
  .e-con:has(> .elementor-widget-woocommerce-product-images) { flex: 0 0 calc(50% - 24px) !important; max-width: calc(50% - 24px) !important; width: calc(50% - 24px) !important; }
  .e-con:has(> .elementor-widget-woocommerce-product-title) { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; }
}

/* Click & Collect button next to Add to Cart */
body .necs-collect-btn { flex: 1 1 100%; height: 48px; margin-top: 2px; padding: 0 24px; background: transparent; color: #0D4170; border: 2px solid #0D4170; border-radius: 8px; font: 700 14px Poppins, sans-serif; cursor: pointer; transition: background .15s ease, color .15s ease; }
body .necs-collect-btn:hover { background: #0D4170; color: #fff; }

/* Complete the job (shortcode necs_associated) */
.necs-associated .necs-associated__title { margin:0 0 26px; font:600 30px/1.2 Poppins,sans-serif; color:#0D4170; }
.necs-associated ul.products { display:grid !important; grid-template-columns:repeat(4,1fr); gap:22px; margin:0 !important; padding:0; list-style:none; }
.necs-associated ul.products::before, .necs-associated ul.products::after { display:none !important; }
.necs-associated ul.products li.product { display:flex; flex-direction:column; float:none !important; width:auto !important; margin:0 !important; padding:0 0 20px !important; background:#fff; border:1px solid #E8EDF0; border-radius:12px; overflow:hidden; text-align:left; transition:box-shadow .2s ease; }
.necs-associated ul.products li.product:hover { box-shadow:0 6px 20px rgba(13,65,112,.15); }
.necs-associated ul.products li.product img { width:100% !important; aspect-ratio:1/1; height:auto; object-fit:cover; margin:0 0 14px !important; background:#E8F2F4; }
.necs-associated ul.products li.product .woocommerce-loop-product__title { padding:0 18px; margin:0 0 6px; font:600 15px/1.35 Poppins,sans-serif; color:#0D4170; }
.necs-associated ul.products li.product .price, .necs-associated ul.products li.product .price .woocommerce-Price-amount, .necs-associated ul.products li.product .price bdi { color:#14324F; }
.necs-associated ul.products li.product .price { display:block; padding:0 18px; margin:0 0 14px; font:700 16px/1.3 Poppins,sans-serif; color:#14324F; }
.necs-associated ul.products li.product .price .necs-from { font:500 12px Poppins,sans-serif; color:#737373; margin-right:4px; }
.necs-associated ul.products li.product .price del { font-weight:500; font-size:13px; color:#737373; margin-right:6px; opacity:1; }
.necs-associated ul.products li.product .price ins { text-decoration:none; background:none; }
body .necs-associated ul.products li.product a.button { align-self:flex-start; margin:auto 18px 0; padding:9px 18px; background:#0D4170; color:#fff; border-radius:6px; font:700 12px/1.4 Poppins,sans-serif; transition:background .15s ease; }
body .necs-associated ul.products li.product a.button:hover { background:#E0853F; color:#fff; }
.necs-associated ul.products li.product .onsale { display:none; }
@media (max-width:1024px) { .necs-associated ul.products { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px) { .necs-associated ul.products { grid-template-columns:1fr; } }
