/*
Theme Name: Astra Kshield Child
Theme URI: https://kshieldtools.com/
Description: Kshield child theme for Astra. Contains reusable WooCommerce category layouts, blog templates and global presentation styles.
Author: Kshield
Template: astra
Version: 1.0.25
Text Domain: astra-kshield-child
*/

.kshield-auto-recommended-products {
	clear: both;
	margin: 64px auto 0;
	padding-top: 44px;
	border-top: 1px solid #e2e6e8;
}
.kshield-auto-recommended-products > h2 {
	margin: 0 0 28px;
	font-size: 32px;
	font-weight: 800;
	color: #ff6102;
}
.kshield-auto-recommended-products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 28px 22px !important;
	margin: 0 !important;
	padding: 0 !important;
}
.kshield-auto-recommended-products ul.products::before,
.kshield-auto-recommended-products ul.products::after { display: none !important; }
.kshield-auto-recommended-products ul.products li.product {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}
.kshield-auto-recommended-products ul.products li.product img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
@media (max-width: 920px) {
	.kshield-auto-recommended-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
	.kshield-auto-recommended-products ul.products { grid-template-columns: 1fr !important; }
}

/* Global Kshield design tokens. Page-specific styles live in assets/css/. */
:root {
  --kshield-orange: #ff6102;
  --kshield-ink: #20252a;
  --kshield-muted: #697078;
  --kshield-line: #e0e4e7;
  --kshield-soft: #f4f6f7;
  --kshield-content: 1240px;
}

/* Astra Footer Builder is the only global footer. Older page drafts hid it. */
body .site-footer,
body footer.site-footer {
  display: block !important;
}

/* Safety net while legacy page HTML is filtered at render time. */
.entry-content > .k-footer,
.entry-content > .kp-footer {
  display: none !important;
}

/* Shared four-column Astra footer. Menus remain managed in Appearance > Menus. */
.site-footer .site-primary-footer-wrap,
.site-footer .site-below-footer-wrap { display: none !important; }
.kshield-global-footer { background:#111517; color:#b8bec3; padding:64px max(24px,calc((100vw - 1240px)/2)) 24px; }
.kshield-global-footer__grid { display:grid; grid-template-columns:1.45fr 1fr 1fr 1fr; gap:48px; }
.kshield-global-footer h2 { margin:0 0 18px; color:#fff; font-size:18px; }
.kshield-global-footer p { margin:0 0 18px; line-height:1.7; }
.kshield-global-footer a { color:#cbd0d4; text-decoration:none; }
.kshield-global-footer a:hover,.kshield-global-footer a:focus { color:var(--kshield-orange); }
.kshield-global-footer ul { margin:0; padding:0; list-style:none; }
.kshield-global-footer li { margin:0 0 11px; }
.kshield-global-footer__logo img { width:auto; max-width:180px; max-height:64px; margin-bottom:20px; }
.kshield-global-footer__name { display:inline-block; margin-bottom:20px; color:#fff!important; font-size:28px; font-weight:800; }
.kshield-global-footer__social { display:flex; flex-wrap:wrap; gap:10px 16px; }
.kshield-global-footer__bottom { margin-top:44px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); font-size:13px; }
@media (max-width:900px) { .kshield-global-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .kshield-global-footer { padding:48px 22px 22px; } .kshield-global-footer__grid { grid-template-columns:1fr; gap:34px; } }

/* Keep Astra's existing WordPress-managed header visible while scrolling. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 9999;
}

/* Leave room for the WordPress toolbar while an administrator is signed in. */
.admin-bar .site-header {
  top: 32px;
}

@media (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px;
  }
}

/* Shared Contact Form 7 inquiry panel for knife product pages. */
.single-product .kshield-product-inquiry {
  width: 100%;
  margin: 30px 0 0;
  padding: 0;
  background: #fff;
}

.kshield-product-inquiry__intro h2 {
  margin: 0 0 4px;
  padding: 0 0 14px;
  border-bottom: 2px solid var(--kshield-orange);
  color: var(--kshield-orange);
  font-size: clamp(24px, 2.3vw, 32px);
  line-height: 1.2;
}

.kshield-product-inquiry__form label {
  display: block;
  margin: 0 0 6px;
  color: var(--kshield-ink);
  font-size: 13px;
  font-weight: 700;
}

.kshield-product-inquiry__form input:not([type="submit"]),
.kshield-product-inquiry__form textarea,
.kshield-product-inquiry__form select {
  width: 100%;
  max-width: none;
  margin: 0 0 14px;
  padding: 11px 12px;
  border: 1px solid #cfd5d9;
  border-radius: 3px;
  background: #fff;
}

.kshield-product-inquiry__form textarea {
  height: 96px;
  min-height: 96px;
  resize: vertical;
}

.kshield-product-inquiry__form input[type="submit"] {
  min-height: 48px;
  padding: 12px 24px;
  border: 0;
  border-radius: 3px;
  background: var(--kshield-orange);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

/* Hammer product pages: gallery left, inquiry right, specifications below. */
.single-product .product_cat-multi-tool-hammers .summary .kshield-product-summary p {
  margin: 0 0 18px;
  color: var(--kshield-muted);
  line-height: 1.65;
}
.single-product .product_cat-multi-tool-hammers .summary .kshield-product-inquiry {
  margin-top: 22px;
}
.single-product .product_cat-multi-tool-hammers .summary .product_meta {
  margin-bottom: 0;
}
.single-product .kshield-product-specifications {
  margin: 0 0 48px;
  padding: 28px;
  background: #f6f6f5;
}
.single-product .kshield-product-specifications h2 {
  margin: 0 0 18px;
  color: var(--kshield-ink);
  font-size: clamp(26px, 3vw, 38px);
}
.single-product .kshield-product-specifications table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}
.single-product .kshield-product-specifications th,
.single-product .kshield-product-specifications td {
  padding: 12px 14px;
  border-bottom: 1px solid #dadddf;
  text-align: left;
  vertical-align: top;
}
.single-product .kshield-product-specifications th {
  width: 28%;
  color: var(--kshield-ink);
  font-weight: 800;
}

@media (max-width: 767px) {
  .single-product .kshield-product-specifications { padding: 20px 16px; }
  .single-product .kshield-product-specifications th { width: 40%; }
}

@media (max-width: 767px) {
  .single-product .kshield-product-inquiry {
    margin-top: 28px;
  }
}
