/* Product detail only: keep the shop, header and stored Elementor layout intact. */
.first-original-site.single-product { --first-product-photo-height:clamp(320px,38vw,520px); }
.first-original-site .first-product-breadcrumb {
  margin:0 var(--first-gutter); padding:24px 0 20px; font-size:13px; line-height:1.5;
}
.first-product-breadcrumb a { color:var(--first-muted); text-decoration:none; display:inline-flex; gap:10px; align-items:center; }
.first-product-breadcrumb a::before { content:'←'; font:20px/1 sans-serif; }
.first-product-breadcrumb a:hover { color:var(--first-forest); text-decoration:underline; text-underline-offset:4px; }
.first-original-site .elementor-1276 .first-product-detail { margin:0 !important; padding:0 0 40px !important; }
.first-original-site .first-product-detail > .elementor-container {
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(28px,5vw,80px); align-items:center;
}
.first-original-site .first-product-detail > .elementor-container > .elementor-column { width:100%; }
.first-original-site .first-product-detail > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:0 !important; }
.first-original-site .first-product-detail .elementor-element-4176e7f > .elementor-widget-wrap {
  display:flex; flex-direction:column; align-content:stretch; align-items:stretch; max-width:620px; margin:0 auto;
}
.first-original-site .first-product-detail .elementor-element-4176e7f .elementor-widget { width:100%; margin:0; }
.first-original-site .first-product-detail .elementor-element-4176e7f .elementor-widget-container { padding:0; margin:0; }
.first-original-site .first-product-detail .elementor-widget-shopengine-product-categories { order:0; margin-bottom:15px !important; }
.first-original-site .first-product-detail .shopengine-cats { display:block; }
.first-original-site .first-product-detail .product-cats-label { display:none; }
.first-original-site .first-product-detail .product-cats-links { display:block; font-size:12px; line-height:1.8; color:var(--first-muted); }
.first-original-site .first-product-detail .product-cats-links a {
  font-family:inherit; font-size:12px; font-weight:500; line-height:1.8; letter-spacing:.07em; text-transform:uppercase; color:var(--first-muted) !important;
}
.first-original-site .first-product-detail .elementor-widget-shopengine-product-title { order:1; margin-bottom:18px !important; }
.first-original-site .first-product-detail .shopengine-product-title .product-title {
  font-size:clamp(30px,3.2vw,46px) !important; font-weight:600 !important; line-height:1.15 !important;
  letter-spacing:-.035em; text-transform:none !important; margin:0; color:var(--first-ink) !important;
}
.first-original-site .first-product-detail .elementor-widget-shortcode { order:2; }
.first-original-site .first-product-detail .elementor-widget-shortcode:has(.elementor-shortcode:empty) { display:none; }
.first-original-site .first-product-detail .elementor-widget-shortcode :is(h4,p) { font-size:13px; margin:0 0 12px; color:var(--first-muted); }
.first-original-site .first-product-detail .elementor-widget-shopengine-product-stock { order:3; margin:0 0 26px !important; }
.first-original-site .first-product-detail .shopengine-product-stock p {
  display:inline-flex; align-items:center; gap:7px; margin:0 !important; padding:6px 11px; border-radius:4px;
  background:#edf4ee; color:#386344; font-size:12px !important; font-weight:500; line-height:1.5; text-transform:none !important;
}
.first-original-site .first-product-detail .shopengine-product-stock .out-of-stock { background:#f6efe6; color:#765e37; }
.first-original-site .first-product-detail .elementor-element-2ff2bdb { order:4; border-top:1px solid var(--first-border); padding-top:24px; margin-bottom:12px !important; }
.first-original-site .first-product-detail .elementor-element-2ff2bdb h2 {
  color:var(--first-ink) !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.08em; text-transform:uppercase; line-height:1.5;
}
.first-original-site .first-product-detail .elementor-widget-shopengine-product-description { order:5; }
.first-original-site .first-product-detail .shopengine-product-description,
.first-original-site .first-product-detail .shopengine-product-description p {
  color:var(--first-muted) !important; font-size:16px !important; line-height:1.8 !important; text-align:start;
}
.first-original-site .first-product-detail .shopengine-product-description p { margin:0 0 12px; }
.first-original-site .first-product-detail .shopengine-product-description p:last-child { margin-bottom:0; }
.first-original-site .first-product-detail .elementor-element-420fcda { order:6; margin-top:28px !important; }
.first-original-site .first-product-detail .elementor-button {
  display:inline-flex; align-items:center; justify-content:center; min-height:54px; min-width:260px; padding:15px 24px;
  border-radius:5px; font-size:15px !important; font-weight:500; line-height:1.5; text-decoration:none;
}
.first-original-site .first-product-detail .elementor-button::after { content:'↗'; margin-left:28px; font:21px/1 sans-serif; }
.first-original-site .first-product-enquiry-note { margin:12px 0 0; color:var(--first-muted); font-size:12px; line-height:1.6; max-width:360px; }

/* The photo stays contained; its actual proportions are never cropped. */
.first-original-site .first-product-detail .woocommerce-product-gallery { margin:0 !important; width:100% !important; }
.first-original-site .first-product-detail .flex-viewport {
  height:var(--first-product-photo-height) !important; border:1px solid #e7e9e4; border-radius:12px; background:#f8f8f5;
}
.first-original-site .elementor-1276 .first-product-detail .shopengine-product-image .woocommerce-product-gallery__image > a { display:block; height:var(--first-product-photo-height) !important; }
.first-original-site .elementor-1276 .first-product-detail .shopengine-product-image .woocommerce-product-gallery__image > a > img {
  display:block; width:100% !important; height:var(--first-product-photo-height) !important; max-height:var(--first-product-photo-height) !important; object-fit:contain !important; mix-blend-mode:multiply;
}
.first-original-site .first-product-detail .zoomImg { display:none !important; }
.first-original-site .first-product-detail .woocommerce-product-gallery__trigger ~ .woocommerce-product-gallery__trigger { display:none !important; }
.first-original-site .first-product-detail .flex-control-thumbs {
  display:flex !important; flex-wrap:wrap; gap:10px; margin:14px 0 0 !important; padding:0; list-style:none;
}
.first-original-site .elementor-1276 .first-product-detail .shopengine-product-image .flex-control-thumbs li { flex:0 0 68px !important; width:68px !important; height:68px; margin:0 !important; float:none !important; }
.first-original-site .elementor-1276 .first-product-detail .shopengine-product-image .flex-control-thumbs img {
  width:68px !important; height:68px !important; object-fit:contain !important; border:1px solid var(--first-border) !important; border-radius:5px !important;
  padding:3px; background:#fff; opacity:.7; cursor:pointer;
}
.first-original-site .elementor-1276 .first-product-detail .shopengine-product-image .flex-control-thumbs img.flex-active { border:2px solid var(--first-forest) !important; opacity:1; }
.first-original-site .first-product-detail .flex-control-thumbs img:focus-visible { outline:3px solid #ad8956; outline-offset:3px; }
/* The keyboard-accessible thumbnails provide direct photo selection. Hide the
   legacy arrows, whose positioning varies between ShopEngine versions. */
.first-original-site .first-product-detail .flex-direction-nav { display:none !important; }

/* Supporting content becomes a compact band rather than another hero. */
.first-original-site.single-product .elementor-1276 .elementor-element-5869639 { padding:0 !important; }
.first-original-site.single-product .elementor-1276 .elementor-element-5869639 > .elementor-container { width:100%; max-width:none; }
.first-original-site.single-product .elementor-1276 .elementor-element-5869639 > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:0; }
.first-original-site.single-product .elementor-1055 > .elementor-section { padding:26px 0 !important; border-block:1px solid #e7e7df; }
.first-original-site.single-product .elementor-1055 .elementor-top-column > .elementor-widget-wrap { margin:0 !important; padding:0 14px !important; align-content:start; }
.first-original-site.single-product .elementor-1055 .elementor-widget { margin:0 !important; }
.first-original-site.single-product .elementor-1055 .elementor-widget-image { width:40px; margin-bottom:8px !important; }
.first-original-site.single-product .elementor-1055 .elementor-widget-image img { width:40px; height:40px; }
.first-original-site.single-product .elementor-1055 .elementor-heading-title { font-size:15px !important; line-height:1.4; }
.first-original-site.single-product .elementor-1055 .elementor-widget-heading > .elementor-widget-container { margin:0 0 6px !important; }
.first-original-site.single-product .elementor-1055 .elementor-widget-text-editor { font-size:12px !important; line-height:1.6; }
.first-original-site.single-product .elementor-1055 .elementor-widget-text-editor p { margin:0; }
.first-original-site.single-product .elementor-1276 .elementor-element-365c9eb { margin:0 !important; padding:40px 0 20px !important; }
.first-original-site.single-product .elementor-1276 .elementor-element-365c9eb .elementor-widget-wrap { padding:0; }
.first-original-site.single-product .elementor-1276 .elementor-element-365c9eb .elementor-widget { margin:0; }
.first-original-site.single-product .elementor-1276 .elementor-element-365c9eb .elementor-heading-title { font-size:clamp(24px,2.2vw,32px); line-height:1.25; letter-spacing:-.025em; }
.first-original-site.single-product .elementor-1276 .elementor-element-365c9eb .elementor-widget-divider { display:none; }
.first-original-site.single-product .elementor-1276 .elementor-element-365c9eb .elementor-widget-text-editor p { margin:10px 0 0; font-size:13px; }
.first-original-site.single-product .elementor-1276 .elementor-element-4695c65 { margin:0 !important; padding:0 0 48px !important; }
.first-original-site.single-product .elementor-1276 .elementor-element-4695c65 .elementor-widget-wrap { padding:0; }
.first-original-site.single-product .product-slider .product { border-radius:8px; overflow:hidden; }
.first-original-site.single-product .product-slider h4 { font-size:15px; line-height:1.5; padding:14px 16px; margin:0; }

@media(max-width:1024px) {
  .first-original-site .first-product-detail > .elementor-container { gap:28px; }
  .first-original-site .first-product-detail .elementor-button { min-width:0; width:100%; }
  .first-original-site .first-product-detail .product-cats-links a { font-size:11px; }
  .first-original-site.single-product .elementor-1055 > .elementor-section > .elementor-container { row-gap:24px; }
}
@media(max-width:767px) {
  .first-original-site.single-product { --first-product-photo-height:clamp(280px,88vw,440px); }
  .first-original-site .first-product-breadcrumb { padding:18px 0; font-size:12px; }
  .first-original-site .first-product-detail > .elementor-container { grid-template-columns:minmax(0,1fr); gap:28px; }
  .first-original-site .elementor-1276 .first-product-detail { padding-bottom:32px !important; }
  .first-original-site .first-product-detail .elementor-element-4176e7f > .elementor-widget-wrap { max-width:none; }
  .first-original-site .first-product-detail .shopengine-product-title .product-title { font-size:32px !important; }
  .first-original-site .first-product-detail .elementor-widget-shopengine-product-stock { margin-bottom:22px !important; }
  .first-original-site .first-product-detail .elementor-element-2ff2bdb { padding-top:20px; }
  .first-original-site .first-product-enquiry-note { max-width:none; }
  .first-original-site .elementor-1276 .first-product-detail .shopengine-product-image .flex-control-thumbs :is(li,img) { width:58px !important; height:58px !important; }
  .first-original-site .elementor-1276 .first-product-detail .shopengine-product-image .flex-control-thumbs li { flex-basis:58px !important; }
  .first-original-site.single-product .elementor-1055 .elementor-top-column > .elementor-widget-wrap { padding:0 !important; }
  .first-original-site.single-product .elementor-1055 .elementor-heading-title { font-size:14px !important; }
  .first-original-site.single-product .elementor-1276 .elementor-element-365c9eb { padding-top:32px !important; }
}
