/* ==========================================================================
   Featured Products Print Page Styles (/home-print)
   Module: pleth_custom
   Recreates the Homepage Feature Product section styling for screen & print.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css?family=Alfa+Slab+One|PT+Sans:400,700,700i');

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 20px;
  background-color: #f4f6f8;
  font-family: "PT Sans", sans-serif;
  color: #333;
}

.product_container {
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
}

#product_home_print {
  width: 100%;
  margin: 0 auto;
}

/* Red Container Block */
.product_block {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 10px auto !important;
  background: #ca1f28 !important;
  background-color: #ca1f28 !important;
  padding: 16px 20px 12px 20px !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
  float: none !important;
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* Header Title Block */
.product_block .header-title-block,
.product_block #block-wizardswarehousehomepage,
.product_block .region-product-home>div.field:first-child,
.product_block .region-product-home>div.field:nth-child(1) {
  background: #ffffff !important;
  background-color: #ffffff !important;
  width: 100% !important;
  max-width: 700px !important;
  border: 3px solid #ca1f28 !important;
  border-radius: 8px !important;
  margin: 0 auto 15px auto !important;
  position: relative !important;
  z-index: 9 !important;
  padding: 14px 20px !important;
  text-align: center !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

.product_block .header-title-block h2,
.product_block .header-title-block h2 strong,
.product_block .header-title-block strong,
.product_block #block-wizardswarehousehomepage h2,
.product_block #block-wizardswarehousehomepage h2 strong,
.product_block .region-product-home>div.field:first-child h2,
.product_block .region-product-home>div.field:first-child h2 strong,
.product_block .region-product-home>div.field:first-child strong {
  text-align: center !important;
  color: #ca1f28 !important;
  font-family: "Alfa Slab One", cursive !important;
  font-weight: 400 !important;
  font-size: 24px !important;
  margin: 0 !important;
  letter-spacing: 1.5px !important;
}

.product_block .header-title-block h3,
.product_block #block-wizardswarehousehomepage h3,
.product_block .region-product-home>div.field:first-child h3 {
  text-align: center !important;
  color: #000000 !important;
  font-family: "Alfa Slab One", cursive !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  margin: 6px 0 0 0 !important;
}

/* Subheader / Phone Number & Print Button Block */
.product_block .header-subheader-block,
.product_block section#block-samedayshipping,
.product_block .region-product-home>div.field:nth-child(2) {
  background: transparent !important;
  margin: 0 0 15px 0 !important;
  width: 100% !important;
  padding: 0 !important;
  text-align: center !important;
}

.product_block .header-subheader-block .field--name-body,
.product_block .header-subheader-block .field--name-body p,
.product_block section#block-samedayshipping .field--name-body p,
.product_block .region-product-home>div.field:nth-child(2) p,
.product_block .region-product-home>div.field:nth-child(2) {
  color: #ffffff !important;
  text-align: center !important;
  font-family: "PT Sans", sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 20px !important;
}

.product_block .header-subheader-block a,
.product_block section#block-samedayshipping a,
.product_block .region-product-home>div.field:nth-child(2) a {
  color: #ffffff !important;
  text-decoration: none !important;
}

.product_block .header-subheader-block a.print_home,
.product_block button.print_home,
.product_block .region-product-home>div.field:nth-child(2) a.print_home {
  background: #ffffff !important;
  color: #ca1f28 !important;
  border: none !important;
  padding: 6px 20px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) !important;
  display: inline-block !important;
  text-decoration: none !important;
}

.product_block .header-subheader-block a.print_home:hover,
.product_block button.print_home:hover,
.product_block .region-product-home>div.field:nth-child(2) a.print_home:hover {
  background: #1a202c !important;
  color: #ffffff !important;
}

/* Featured Products Grid View Block */
.product_block .views-element-container,
.product_block #block-views-block-product-block-1 {
  width: 100% !important;
  margin: 10px 0 20px 0 !important;
  padding: 0 !important;
}

.product_block .view-product {
  width: 100% !important;
  margin: 0 auto !important;
  float: none !important;
}

.product_block .view-product .view-content {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  position: relative !important;
  z-index: 9 !important;
  align-items: stretch !important;
  height: 100% !important;
}

.view-product .view-content .views-row,
.view-product .view-content .views-row .views-field,
.view-product .view-content .views-row span.field-content {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  grid-column: span 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Universal Card Styling - Fixed Dimensions & Equal Heights */
.view-product .view-content .views-row .product_box,
.view-product .view-content .views-row .product_box.signal_column_right_image,
.view-product .view-content .views-row .product_box.double_column_left_image,
.view-product .view-content .views-row .product_box.signal_column_top_image,
.view-product .view-content .views-row .product_box.signal_column_bottom_image,
.view-product .view-content .views-row .product_box.double_column_large_top_image,
.view-product .view-content .views-row .product_box.double_column_right_image,
.view-product .view-content .views-row .product_box.double_column_right_multiple_images {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 2px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
  position: relative !important;
  box-sizing: border-box !important;
  transition: transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out !important;
  overflow: hidden !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

.view-product .view-content .views-row .product_box:hover {
  /* transform: translateY(-3px) !important; */
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15) !important;
  /* border-color: #ca1f28 !important;   */
}

/* Product Card Title - Fixed 48px height zone for perfect horizontal alignment */
.view-product .view-content .views-row .product_box h2 {
  order: 1 !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  flex-shrink: 0 !important;
  float: none !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
}

.view-product .view-content .views-row .product_box h2 a {
  color: #1a202c !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  font-family: "PT Sans", sans-serif !important;
  text-decoration: none !important;
  float: none !important;
  width: 100% !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-align: center !important;
  transition: color 0.2s ease !important;
}

.view-product .view-content .views-row .product_box h2 a:hover {
  color: #ca1f28 !important;
}

/* Product Card Image Zone - Fixed 110px height container */
.view-product .view-content .views-row .product_box .category_image {
  order: 2 !important;
  width: 100% !important;
  height: 110px !important;
  min-height: 110px !important;
  max-height: 110px !important;
  flex-shrink: 0 !important;
  float: none !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  overflow: hidden !important;
}

/* Single and Multi-Image Anchors */
.view-product .view-content .views-row .product_box .category_image a {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  max-height: 100% !important;
  max-width: 100% !important;
  width: auto !important;
  height: 100% !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  float: none !important;
}

/* Image Elements inside Category Image (Works for 1 or 2 images) */
.view-product .view-content .views-row .product_box .category_image img {
  max-height: 105px !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  float: none !important;
  margin: 0 auto !important;
  border-radius: 4px !important;
  display: block !important;
}

/* Product Card Description */
.view-product .view-content .views-row .product_box .category_text {
  order: 3 !important;
  width: 100% !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  float: none !important;
  margin: 0 0 4px 0 !important;
  text-align: center !important;

}

.view-product .view-content .views-row .product_box .category_text p,
.view-product .view-content .views-row .product_box p {
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #4a5568 !important;
  margin: 0 0 5px 0 !important;
  padding: 0 !important;
  font-weight: 600 !important;
  text-align: center !important;
}

/* Product Card Price Tag */
.view-product .view-content .views-row .product_box .category_price {
  order: 4 !important;
  width: 100% !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  flex-shrink: 0 !important;
  float: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ca1f28 !important;
  font-family: "Alfa Slab One", cursive !important;
  margin-top: auto !important;
  padding-top: 4px !important;
  border-top: 1px dashed rgba(0, 0, 0, 0.15) !important;
  overflow: hidden !important;
}

/* Card Highlight Color Modifiers */
.view-product .view-content .views-row .product_box.green,
.view-product .view-content .views-row .green {
  background-color: #d4edda !important;
  background: #d4edda !important;
  border-color: #c3e6cb !important;
}

.view-product .view-content .views-row .product_box.yellow,
.view-product .view-content .views-row .yellow {
  background-color: #fff3cd !important;
  background: #fff3cd !important;
  border-color: #ffeeba !important;
}

.view-product .view-content .views-row .product_box.blue,
.view-product .view-content .views-row .blue {
  background-color: #d1ecf1 !important;
  background: #d1ecf1 !important;
  border-color: #bee5eb !important;
}

.view-product .view-content .views-row .product_box.orange,
.view-product .view-content .views-row .orange {
  background-color: #ffe8cc !important;
  background: #ffe8cc !important;
  border-color: #ffd8a8 !important;
}

/* Vendor Logos Block */
.product_block .block-views-blockvendor-block-1 {
  width: 100% !important;
  margin: 10px 0 0 0 !important;
  padding: 8px 0 0 0 !important;
  float: none !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

.product_block .block-views-blockvendor-block-1 .view-content,
.product_block .block-views-blockvendor-block-1 .views-row,
.product_block .block-views-blockvendor-block-1 .views-field,
.product_block .block-views-blockvendor-block-1 .field-content {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 4px 8px 8px 8px !important;
  width: 100% !important;
  float: none !important;
}

.product_block .block-views-blockvendor-block-1 .vendor_logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  float: none !important;
}

.product_block .block-views-blockvendor-block-1 .vendor_logo img {
  height: 22px !important;
  width: auto !important;
  max-width: 90px !important;
  object-fit: contain !important;
}



@media (max-width: 768px) {
  body {
    padding: 10px;
  }


  .product_block .header-title-block h2,
  .product_block .header-title-block h2 strong,
  .product_block .header-title-block strong,
  .product_block #block-wizardswarehousehomepage h2,
  .product_block .region-product-home>div.field:first-child h2 {
    font-size: 20px !important;
  }
}

@media (max-width: 480px) {
  .product_block .view-product .view-content {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

/* Print Overrides */
@media print {
  @page {
    size: A3;
    margin: 10mm;
  }

  body {
    background: #ffffff !important;
    padding: 0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

button,
.print,
.print_home,
a.print_home,
a[href*="home-print"],
.product_block .header-subheader-block a.print_home,
.product_block button.print_home,
.product_block .region-product-home>div.field:nth-child(2) a.print_home,
.product_block section#block-samedayshipping a.print_home,
.home .product_section .product_block button.print_home {
  display: none !important;
}

  .product_block {
    box-shadow: none !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .product_block .header-title-block,
  .product_block #block-wizardswarehousehomepage,
  .product_block .region-product-home>div.field:first-child,
  .product_block .block-views-blockvendor-block-1,
  .view-product .view-content .views-row .product_box {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .view-product .view-content .views-row {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
}