/* Scoped only to WooCommerce single-product pages. Header/footer are not rebuilt or removed. */
body.apl-reference-single-product {
  --apl-navy:#0f2f6f;
  --apl-blue:#1d63ed;
  --apl-dark:#101b2b;
  --apl-text:#667085;
  --apl-line:#e8edf4;
  --apl-soft:#f7f9fc;
  font-family:'Poppins',sans-serif;
  background:#fff;
  color:var(--apl-dark);
}

body.apl-reference-single-product .site-main,
body.apl-reference-single-product main,
body.apl-reference-single-product #primary,
body.apl-reference-single-product .content-area {
  overflow:visible;
}

body.apl-reference-single-product .woocommerce-notices-wrapper,
body.apl-reference-single-product .woocommerce-message,
body.apl-reference-single-product .woocommerce-error,
body.apl-reference-single-product .woocommerce-info {
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

body.apl-reference-single-product div.product {
  width:min(1180px, calc(100% - 40px));
  max-width:1180px;
  margin:72px auto 0 !important;
  display:grid;
  grid-template-columns:minmax(0, 46%) minmax(0, 54%);
  column-gap:64px;
  row-gap:0;
  align-items:start;
}

/* TOP LEFT: gallery */
body.apl-reference-single-product div.product > .woocommerce-product-gallery {
  width:100% !important;
  float:none !important;
  margin:0 !important;
  padding:0 14px 0 0;
  grid-column:1;
  grid-row:1;
}
body.apl-reference-single-product .woocommerce-product-gallery__wrapper {
  margin:0 !important;
}
body.apl-reference-single-product .woocommerce-product-gallery__image {
  display:flex !important;
  align-items:center;
  justify-content:center;
  min-height:455px;
  background:#fff;
}
body.apl-reference-single-product .woocommerce-product-gallery__image img {
  width:auto !important;
  max-width:100% !important;
  max-height:455px;
  margin:auto !important;
  object-fit:contain;
  box-shadow:none !important;
}
body.apl-reference-single-product .woocommerce-product-gallery__trigger {
  top:8px !important;
  right:7px !important;
  left:auto !important;
  background:#fff !important;
  border:0 !important;
  box-shadow:none !important;
}
body.apl-reference-single-product .flex-control-thumbs {
  margin-top:16px !important;
  display:flex;
  justify-content:center;
  gap:10px;
}
body.apl-reference-single-product .flex-control-thumbs li { width:68px !important; float:none !important; }
body.apl-reference-single-product .flex-control-thumbs img { border:1px solid var(--apl-line); border-radius:7px; padding:4px; }

/* TOP RIGHT: summary */
body.apl-reference-single-product div.product > .summary {
  width:100% !important;
  float:none !important;
  margin:0 !important;
  grid-column:2;
  grid-row:1;
  padding-top:4px;
}
body.apl-reference-single-product .product_title {
  margin:0 0 12px !important;
  font-family:'Oswald',sans-serif !important;
  font-size:38px !important;
  line-height:1.06 !important;
  letter-spacing:-.3px;
  font-weight:700 !important;
  text-transform:uppercase;
  color:#0b1119 !important;
}
body.apl-reference-single-product div.product p.price,
body.apl-reference-single-product div.product span.price {
  color:var(--apl-navy) !important;
  font-size:25px !important;
  line-height:1.2;
  font-weight:700 !important;
  margin:0 0 22px !important;
}
body.apl-reference-single-product div.product p.price del,
body.apl-reference-single-product div.product span.price del { opacity:.45; font-weight:500; }
body.apl-reference-single-product div.product p.price ins,
body.apl-reference-single-product div.product span.price ins { text-decoration:none; }

body.apl-reference-single-product .woocommerce-product-details__short-description {
  color:#111827;
  font-size:13px;
  line-height:1.65;
  margin:0 0 26px;
}
body.apl-reference-single-product .woocommerce-product-details__short-description p { margin:0 0 7px; }

body.apl-reference-single-product form.cart {
  margin:24px 0 0 !important;
}
body.apl-reference-single-product form.cart table.variations {
  width:100% !important;
  margin:0 0 18px !important;
  border-collapse:separate !important;
  border-spacing:0 9px !important;
}
body.apl-reference-single-product form.cart table.variations tr,
body.apl-reference-single-product form.cart table.variations th,
body.apl-reference-single-product form.cart table.variations td {
  display:block;
  width:100%;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
body.apl-reference-single-product form.cart table.variations th.label label,
body.apl-reference-single-product form.cart .variations label {
  display:block;
  margin:0 0 8px !important;
  font-size:12px;
  line-height:1.3;
  font-weight:600;
  text-transform:none;
  color:#303844;
}
body.apl-reference-single-product form.cart select {
  width:100% !important;
  min-height:46px;
  padding:0 44px 0 14px !important;
  border:1px solid #e4e8ef !important;
  border-radius:0 !important;
  background-color:#fff !important;
  color:#697386 !important;
  font-family:'Poppins',sans-serif;
  font-size:12px;
  outline:none;
  box-shadow:none !important;
}
body.apl-reference-single-product .reset_variations { font-size:11px; color:var(--apl-blue); }
body.apl-reference-single-product .woocommerce-variation-description { font-size:12px; color:var(--apl-text); }
body.apl-reference-single-product .woocommerce-variation-price { margin-bottom:12px; }

body.apl-reference-single-product .quantity {
  width:66px !important;
  margin:0 10px 0 0 !important;
}
body.apl-reference-single-product .quantity .qty {
  width:100% !important;
  height:46px !important;
  border:1px solid #edf0f4 !important;
  border-radius:0 !important;
  background:#fff;
  text-align:center;
  box-shadow:none !important;
  color:#8490a3;
}
body.apl-reference-single-product button.single_add_to_cart_button,
body.apl-reference-single-product .single_add_to_cart_button {
  width:calc(100% - 76px) !important;
  min-height:46px !important;
  float:none !important;
  border:0 !important;
  border-radius:24px !important;
  background:#8da2bf !important;
  color:#fff !important;
  font-family:'Poppins',sans-serif !important;
  font-size:14px !important;
  font-weight:700 !important;
  padding:11px 20px !important;
  box-shadow:none !important;
  transition:.2s ease;
}
body.apl-reference-single-product button.single_add_to_cart_button:hover,
body.apl-reference-single-product .single_add_to_cart_button:hover {
  background:var(--apl-navy) !important;
  transform:translateY(-1px);
}
body.apl-reference-single-product .single_variation_wrap .woocommerce-variation-add-to-cart,
body.apl-reference-single-product form.cart:not(.variations_form) {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
}

/* DESCRIPTION SECTION */
body.apl-reference-single-product div.product > .woocommerce-tabs {
  grid-column:1 / -1;
  width:100% !important;
  margin:74px 0 0 !important;
  padding:0 !important;
}
body.apl-reference-single-product .woocommerce-tabs ul.tabs { display:none !important; }
body.apl-reference-single-product .woocommerce-tabs .panel {
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#7f8da3;
  font-size:13px;
  line-height:1.75;
}
body.apl-reference-single-product .woocommerce-tabs .panel:before { content:none !important; }
body.apl-reference-single-product .woocommerce-tabs .panel::before { content:'DESCRIPTION'; display:block; margin:0 0 18px; font-family:'Oswald',sans-serif; font-size:28px; line-height:1; font-weight:700; color:#111827; }
body.apl-reference-single-product .woocommerce-tabs .panel p { margin:0 0 20px; }
body.apl-reference-single-product .woocommerce-tabs .panel h2,
body.apl-reference-single-product .woocommerce-tabs .panel h3,
body.apl-reference-single-product .woocommerce-tabs .panel h4 {
  margin:26px 0 12px !important;
  font-family:'Poppins',sans-serif !important;
  color:#17243a !important;
  line-height:1.18 !important;
  letter-spacing:-.5px;
}
body.apl-reference-single-product .woocommerce-tabs .panel h2 { font-size:34px !important; font-weight:500 !important; }
body.apl-reference-single-product .woocommerce-tabs .panel h3 { font-size:27px !important; font-weight:500 !important; }
body.apl-reference-single-product .woocommerce-tabs .panel h4 { font-size:21px !important; font-weight:600 !important; }
body.apl-reference-single-product .woocommerce-tabs .panel ul,
body.apl-reference-single-product .woocommerce-tabs .panel ol {
  margin:8px 0 22px 24px;
  padding:0;
}
body.apl-reference-single-product .woocommerce-tabs .panel li { margin:2px 0; }
body.apl-reference-single-product .woocommerce-tabs .panel strong { color:#3a4658; }

/* RELATED PRODUCTS */
body.apl-reference-single-product div.product > .related.products {
  grid-column:1 / -1;
  width:100%;
  margin:72px 0 66px !important;
  padding:0 !important;
}
body.apl-reference-single-product .related.products > h2 {
  margin:0 0 36px !important;
  text-align:center;
  font-family:'Oswald',sans-serif !important;
  font-size:38px !important;
  line-height:1 !important;
  color:var(--apl-navy) !important;
  font-weight:700 !important;
  text-transform:uppercase;
}
body.apl-reference-single-product .related.products ul.products {
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:18px;
  margin:0 !important;
}
body.apl-reference-single-product .related.products ul.products::before,
body.apl-reference-single-product .related.products ul.products::after { display:none !important; }
body.apl-reference-single-product .related.products ul.products li.product {
  width:100% !important;
  margin:0 !important;
  float:none !important;
  padding:14px 14px 16px !important;
  background:#fff;
  border:1px solid #e4e8ef;
  border-radius:12px;
  box-shadow:0 3px 10px rgba(13,34,65,.06);
  display:flex;
  flex-direction:column;
  min-width:0;
}
body.apl-reference-single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link {
  display:flex;
  flex-direction:column;
  flex:1;
}
body.apl-reference-single-product .related.products ul.products li.product img {
  width:100% !important;
  aspect-ratio:1/1;
  object-fit:contain;
  margin:0 0 12px !important;
  border-radius:7px;
}
body.apl-reference-single-product .related.products .woocommerce-loop-product__title {
  padding:0 !important;
  margin:4px 0 8px !important;
  color:#111827 !important;
  font-family:'Poppins',sans-serif !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  text-align:left;
}
body.apl-reference-single-product .related.products li.product .price {
  margin:0 0 14px !important;
  color:#111827 !important;
  font-size:12px !important;
  line-height:1.3;
  font-weight:700 !important;
  text-align:left;
}
body.apl-reference-single-product .related.products li.product .button,
body.apl-reference-single-product .related.products li.product a.button {
  margin-top:auto !important;
  width:100%;
  border-radius:6px !important;
  background:#2668ed !important;
  color:#fff !important;
  text-align:center;
  font-family:'Poppins',sans-serif !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  padding:11px 8px !important;
  border:0 !important;
  box-shadow:none !important;
}
body.apl-reference-single-product .related.products li.product .button:hover { background:var(--apl-navy) !important; }
body.apl-reference-single-product .related.products .star-rating,
body.apl-reference-single-product .related.products .onsale { display:none !important; }

/* Hide extra theme clutter in product body only */
body.apl-reference-single-product div.product .product_meta,
body.apl-reference-single-product div.product .posted_in,
body.apl-reference-single-product div.product .tagged_as { display:none !important; }
body.apl-reference-single-product .woocommerce-product-gallery .onsale { display:none !important; }

@media (max-width: 900px) {
  body.apl-reference-single-product div.product {
    width:min(100% - 28px, 720px);
    margin-top:44px !important;
    grid-template-columns:1fr;
    row-gap:30px;
  }
  body.apl-reference-single-product div.product > .woocommerce-product-gallery,
  body.apl-reference-single-product div.product > .summary {
    grid-column:1;
  }
  body.apl-reference-single-product div.product > .woocommerce-product-gallery { grid-row:1; padding:0; }
  body.apl-reference-single-product div.product > .summary { grid-row:2; }
  body.apl-reference-single-product div.product > .woocommerce-tabs { grid-row:3; margin-top:40px !important; }
  body.apl-reference-single-product div.product > .related.products { grid-row:4; margin-top:54px !important; }
  body.apl-reference-single-product .woocommerce-product-gallery__image { min-height:360px; }
  body.apl-reference-single-product .woocommerce-product-gallery__image img { max-height:360px; }
  body.apl-reference-single-product .related.products ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 560px) {
  body.apl-reference-single-product div.product { width:calc(100% - 24px); margin-top:28px !important; }
  body.apl-reference-single-product .product_title { font-size:31px !important; }
  body.apl-reference-single-product div.product p.price,
  body.apl-reference-single-product div.product span.price { font-size:22px !important; }
  body.apl-reference-single-product .woocommerce-product-gallery__image { min-height:285px; }
  body.apl-reference-single-product .woocommerce-product-gallery__image img { max-height:285px; }
  body.apl-reference-single-product .woocommerce-tabs .panel h2 { font-size:28px !important; }
  body.apl-reference-single-product .woocommerce-tabs .panel h3 { font-size:24px !important; }
  body.apl-reference-single-product .related.products > h2 { font-size:32px !important; }
  body.apl-reference-single-product .related.products ul.products { gap:12px; }
  body.apl-reference-single-product .related.products ul.products li.product { padding:10px !important; }
  body.apl-reference-single-product .quantity { width:58px !important; }
  body.apl-reference-single-product button.single_add_to_cart_button,
  body.apl-reference-single-product .single_add_to_cart_button { width:calc(100% - 68px) !important; }
}
