/* ==========================
   PNS — Single Product Page
   ========================== */

/* --- Breadcrumb bar --- */
.pns-breadcrumb{
  background:#f7f7f7;
  width:100%;
  padding:10px 0;
}
.pns-breadcrumb .container{ max-width:1500px; margin:0 auto; padding:0 20px; }
.woocommerce .woocommerce-breadcrumb{ margin:0; font-size:14px; }
.woocommerce .woocommerce-breadcrumb a{
  color:#1790E3; text-decoration:none;
}
.woocommerce .woocommerce-breadcrumb a:hover{ text-decoration:underline; }

/* --- Page wrapper / container --- */
.pns-product .container{ max-width:1500px; margin:0 auto; padding:40px 20px; }

/* --- Two-column grid --- */
.pns-product__grid{
  display:grid;
  grid-template-columns: 0.75fr 1.1fr; /* image a touch larger */
  gap:48px;
  align-items:start;
	padding: 25px 0 25px 0;
}

/* --- Gallery column --- */
.pns-product__gallery{ position:relative; }
.woocommerce img, .woocommerce-page img{ border-radius:12px; }

/* Woo default gallery tweaks */
.woocommerce-product-gallery{
  display:flex; flex-direction:column;
}
.woocommerce-product-gallery__wrapper{ order:1; }
.flex-control-thumbs{
  display:flex !important; flex-wrap:wrap; gap:10px; margin-top:14px;
  list-style:none !important; padding:0;
}
.flex-control-thumbs li{ list-style:none !important; }
.flex-control-thumbs img{
  width:80px; height:auto; border:1px solid #e6e6e6; cursor:pointer;
  transition:border-color .15s ease;
  border-radius:8px;
}
.flex-control-thumbs img:hover{ border-color:#1790E3; }

/* --- Content column --- */
.pns-product__content{ 
	font-family:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

/* Product description text + list sizing */
.pns-product__content .pns-product__desc,
.pns-product__content .pns-product__desc p,
.pns-product__content .pns-product__desc li {
  font-size: 16px;
  line-height: 26px;
}


.pns-product__title{
  margin:0 0 16px; font-weight:800; font-size:36px; line-height:1.15; color:#0b1520;
}
.pns-product__intro{
  color:#536273; font-size:15px; line-height:1.7; margin:0 0 14px;
}
.pns-product__features{
  margin:0 0 18px 0; padding-left:20px;
}
.pns-product__features li{
  margin:0 0 8px; font-size:15px; line-height:1.6; color:#0b1520;
}

/* --- Primary button --- */
.pns-btn{
  display:inline-block; text-decoration:none; cursor:pointer; user-select:none;
  border:0; border-radius:10px; padding:12px 22px; font-weight:700; font-size:15px;
  transition:transform .06s ease, box-shadow .2s ease, background .2s ease;
}
.pns-btn--primary{
  background:#1790E3; color:#fff; box-shadow:0 8px 18px rgba(23,144,227,.30);
}
.pns-btn--primary:hover{ background:#0f7dc9; box-shadow:0 10px 22px rgba(23,144,227,.45); }
.pns-btn--primary:active{ transform:translateY(1px); }

/* --- Downloads row --- */
.pns-product__downloads{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:12px 0; margin:14px 0 6px;
  font-size:14px; color:#0b1520;
}
.pns-product__downloads .pns-dl-name{ font-weight:600; }
.pns-product__downloads .pns-dl-link{
  color:#1790E3; text-decoration:underline; font-weight:600;
}

/* --- Contact link --- */
.pns-product__contact{
  margin-top:18px; font-size:14px; color:#536273;
}
.pns-product__contact a{ color:#1790E3; font-weight:700; text-decoration:none; }
.pns-product__contact a:hover{ text-decoration:underline; }
/* --- Fixes --- */
.pns-modal-content{
	top: 50%;
	height: 800px;
	max-height: calc(100vh - 250px) !important;
    transform: translateY(-50%);
}
.pns-breadcrumb{
	padding-top: 47px;
	margin-bottom: 20px;
}
.woocommerce div.product div.images.woocommerce-product-gallery{
	width: 100%;
}
#wpgs-gallery .wcgs-thumb.spswiper-slide img{
	aspect-ratio: 1;
}
#wpgs-gallery img, #wpgs-gallery.wcgs-woocommerce-product-gallery .wcgs-carousel .wcgs-slider-image{
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}
/* ==========================
   Responsive
   ========================== */
@media (max-width: 1200px){
  .pns-product__title{ font-size:32px; }
}
@media (max-width: 992px){
  .pns-product__grid{ grid-template-columns: 1fr; gap:12px; margin-bottom:55px; }
  .flex-control-thumbs{ justify-content:flex-start; }
	.woocommerce div.product{
		margin-bottom: 20px;
	}
}
@media (max-width: 640px){
	.pns-breadcrumb{
		padding-top: 10px;
	}
	
  .pns-product .container{ padding:28px 16px; }
  .pns-product__title{ font-size:28px; }
  .flex-control-thumbs img{ width:64px; }
}
