/* AWAP Custom Stylesheet */

/* ==== FONT & COLOR DEFAULTS ==== */
body {
  font-family: 'Segoe UI', sans-serif;
  color: #333;
  background-color: #fff;
  margin: 0;
  padding: 0;
}
a {
  color: #0044cc;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
h1, h2, h3 {
  color: #0044cc;
  font-weight: 600;
}

/* ==== FILTER SECTIONS (2.1 / 2.2 / 3.1 / 3.2) ==== */
.awap-ymm-search select,
.awap-ymm-search input,
.advanced-filter select,
.advanced-filter input {
  font-size: 16px;
  padding: 8px 10px;
  margin: 5px;
  border: 1px solid #ccc;
  border-radius: 6px;
  min-width: 140px;
}
.awap-ymm-search button,
.advanced-filter button {
  background-color: #0044cc;
  color: white;
  border: none;
  padding: 10px 16px;
  border-radius: 6px;
  cursor: pointer;
}
.awap-ymm-search button:hover,
.advanced-filter button:hover {
  background-color: #0033aa;
}
.advanced-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
@media (max-width: 768px) {
  .advanced-filter select,
  .awap-ymm-search select,
  .awap-ymm-search input {
    width: 100%;
  }
  .advanced-filter,
  .awap-ymm-search {
    flex-direction: column;
  }
}

/* ==== DISABLED BUTTON ==== */
.btn-disabled {
  background-color: #ccc !important;
  color: #666 !important;
  cursor: not-allowed;
  pointer-events: none;
}

/* ==== LOADING SPINNER ==== */
.loading-spinner {
  border: 4px solid #f3f3f3;
  border-top: 4px solid #0044cc;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  animation: spin 1s linear infinite;
  margin: 10px auto;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ==== VISUALLY HIDDEN ==== */
.visually-hidden {
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

/* ==== CAROUSELS (Category + CPT Cars) ==== */
.carousel {
  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
}
.carousel::-webkit-scrollbar {
  display: none;
}
.carousel-card {
  min-width: 250px;
  margin-right: 15px;
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  background: white;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.carousel-card img {
  width: 100%;
  height: auto;
  display: block;
}
.carousel-card h3 {
  font-size: 18px;
  padding: 10px;
}
.carousel-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10px 0;
}
.carousel-controls button {
  background-color: #0044cc;
  color: white;
  border: none;
  padding: 8px 12px;
  margin: 0 5px;
  border-radius: 6px;
}
.carousel-dots {
  display: flex;
  justify-content: center;
  margin-top: 8px;
}
.carousel-dots .dot {
  width: 10px;
  height: 10px;
  background-color: #ccc;
  border-radius: 50%;
  margin: 0 5px;
}
.carousel-dots .dot.active {
  background-color: #0044cc;
}

/* ==== PRODUCT GRID ==== */
.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
  margin-top: 20px;
}
.product-card {
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow 0.2s ease;
}
.product-card:hover {
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.product-card img {
  width: 100%;
  height: auto;
}
.product-card .info {
  padding: 10px;
}
.product-card .info h4 {
  margin: 0 0 8px;
  color: #0044cc;
}
.product-card .info .price {
  font-weight: bold;
  color: #222;
}
.product-card .info .part-number {
  font-size: 14px;
  color: #666;
}

/* ==== INQUIRY MODAL ==== */
#part-inquiry-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-color: rgba(0,0,0,0.6);
}
#part-inquiry-modal .modal-content {
  background: white;
  margin: 80px auto;
  padding: 20px;
  max-width: 500px;
  border-radius: 8px;
  position: relative;
}
#part-inquiry-modal .close {
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 24px;
  cursor: pointer;
}
.modal-content input,
.modal-content textarea {
  width: 100%;
  margin-bottom: 10px;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 15px;
}
.modal-content button {
  background-color: #0044cc;
  color: white;
  padding: 10px;
  border: none;
  border-radius: 6px;
  width: 100%;
}
.modal-content button:hover {
  background-color: #0033aa;
}

/* ==== TABLE (Fitment Metadata) ==== */
.fitment-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}
.fitment-table th, .fitment-table td {
  border: 1px solid #ccc;
  padding: 10px;
  text-align: left;
}
.fitment-table th {
  background-color: #f5f5f5;
  color: #0044cc;
}
.fitment-table td {
  font-size: 14px;
}

/* ==== TESTIMONIALS (generic) ==== */
.testimonial-section {
  background: #f8f8f8;
  padding: 40px 20px;
}
.testimonial-slider {
  display: flex;
  overflow-x: auto;
  gap: 20px;
}
.testimonial-card {
  min-width: 300px;
  padding: 20px;
  border-radius: 8px;
  background: white;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.testimonial-card p {
  font-size: 15px;
  margin-bottom: 10px;
}
.testimonial-card .author {
  font-weight: bold;
  color: #0044cc;
  font-size: 14px;
}

/* ==== CONTACT + REQUEST FORMS ==== */
.contact-form input,
.contact-form textarea,
.request-form input,
.request-form textarea,
.request-form select {
  width: 100%;
  padding: 10px;
  font-size: 16px;
  margin-bottom: 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
}
.contact-form button,
.request-form button {
  background-color: #0044cc;
  color: #fff;
  padding: 12px;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  width: 100%;
}
.contact-form button:hover,
.request-form button:hover {
  background-color: #0033aa;
}

/* ==== FOOTER ==== */
footer {
  background-color: #111;
  color: #ccc;
  padding: 20px;
  text-align: center;
}
footer a {
  color: #ddd;
}
footer a:hover {
  color: #fff;
}

/* ==== GENERAL LAYOUT ==== */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}
.section-title {
  font-size: 24px;
  font-weight: bold;
  color: #0044cc;
  margin-bottom: 20px;
  text-align: center;
}
.responsive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .responsive-grid {
    grid-template-columns: 1fr;
  }
}

/* ==== FALLBACK TEXT FOR NO RESULTS ==== */
.no-results {
  font-size: 18px;
  color: #999;
  text-align: center;
  padding: 20px;
}

/* ================================================================== */
/* ===================  ADDITIONS TO MATCH MOCK  ==================== */
/* ================================================================== */

/* HERO light blue bg + two-column grid */
.bg-light-blue { background:#f5f9ff; }
.hero-grid{
  display:grid; grid-template-columns:1.6fr 1fr; gap:28px; align-items:start;
  max-width:1200px; margin:0 auto; padding:32px 15px 26px;
}
.hero-title{ color:#0e2a5b; font-weight:800; font-size:42px; margin:0 0 12px; }
.hero-left .filter-row{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.btn-primary{ background:#0044cc; color:#fff; border:0; padding:10px 16px; border-radius:6px; }
.btn-primary:hover{ background:#0033aa; }
.hero-cta{ margin-top:8px; }
.hero-cta .link-cta{ color:#0044cc; font-weight:600; }

/* Advanced Search card (right side) */
.desktop-only{ display:block; }
@media (max-width: 991px){
  .hero-grid{ grid-template-columns:1fr; }
  .desktop-only{ display:none !important; }
}
.advanced-card{
  background:#fff; border:1px solid #e6ecf6; border-radius:12px; padding:16px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.advanced-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.advanced-head h3{ margin:0; font-size:18px; color:#0e2a5b; font-weight:700; }

/* Ensure both class names map */
.awap-advanced-filters select, .advanced-filter select,
.awap-advanced-filters input,  .advanced-filter input { min-width:180px; }

/* Section titles are clickable */
.link-title{
  display:inline-block; color:#0e2a5b; font-weight:800; font-size:26px;
  margin:26px auto 10px;
}
.link-title:hover{ text-decoration:underline; }

/* Scrollable grids with arrows + dots */
.grid-scroll-wrapper{ position:relative; }
.category-grid.scrollable{
  display:flex; gap:14px; overflow-x:auto; scroll-behavior:smooth; padding:6px 40px;
}
.category-card{
  min-width:140px; text-align:center; background:#fff; border:1px solid #e6ecf6;
  border-radius:12px; padding:12px 10px; box-shadow:0 1px 4px rgba(0,0,0,.04);
}
.category-card img{ width:64px; height:64px; object-fit:contain; margin:0 auto 8px; display:block; filter:none; image-rendering:auto; }

.grid-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  background:#0044cc; color:#fff; border:0; width:36px; height:36px; border-radius:999px;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.grid-arrow.left{ left:0; }
.grid-arrow.right{ right:0; }
.grid-arrow:hover{ background:#0033aa; }

.carousel-dots{ display:flex; justify-content:center; gap:6px; margin-top:10px; }
.carousel-dots .dot{ width:8px; height:8px; border-radius:50%; background:#cfd7ea; }
.carousel-dots .dot.active{ background:#0044cc; }

/* Testimonials EXACT like mock (scoped to #awap-home) */
#awap-home .testimonials{ padding:40px 0 64px; }
#awap-home .testimonials .section-title{
  font-family:"Segoe UI",system-ui,-apple-system,sans-serif;
  font-weight:800; color:#0e2a5b; margin:0 0 18px; text-align:left;
}
#awap-home .testimonials .testimonial-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
@media (max-width: 992px){
  #awap-home .testimonials .testimonial-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px){
  #awap-home .testimonials .testimonial-grid{ grid-template-columns:1fr; }
}
#awap-home .testimonials .testimonial-card{
  background:#fff; border:1px solid #E6ECF6; border-radius:12px;
  padding:22px 22px 16px; box-shadow:0 1px 2px rgba(0,0,0,.03);
}
#awap-home .testimonials .testimonial-card p{
  margin:0 0 12px; color:#2b2b2b; line-height:1.5; position:relative; padding-left:32px;
}
#awap-home .testimonials .testimonial-card p:before{
  content:"“"; position:absolute; left:0; top:-6px; font-size:36px; line-height:1; color:#B6C3E0;
}
#awap-home .testimonials .testimonial-card strong{
  display:block; color:#0e2a5b; margin-bottom:4px;
}
#awap-home .testimonials .testimonial-card .stars{
  color:#f4b400; letter-spacing:1px; font-size:14px;
}

/* === YMM + Part/OEM in single row for Filters 2.1 and 2.2 === */
.awap-ymm-search .filter-row {
  display: flex;
  gap: 10px;
  flex-wrap: nowrap; /* Keep on one line for desktop */
  align-items: center;
}

/* Fixed widths for YMM dropdowns */
.awap-ymm-search select[name="vehicle_year"],
.awap-ymm-search select[name="vehicle_make"],
.awap-ymm-search select[name="vehicle_model"] {
  flex: 0 0 180px; /* width control */
  min-width: 150px;
}

/* Part Name / OEM stretches to fill space */
.awap-ymm-search input[name="part_name"],
.awap-ymm-search input[name="oem_number"] {
  flex: 1 1 auto;
  min-width: 250px;
}

/* === Advanced Search (2.2) second row === */
.awap-ymm-search select[name="engine_size"],
.awap-ymm-search select[name="transmission_type"],
.awap-ymm-search select[name="drivetrain"],
.awap-ymm-search select[name="body_style"] {
  flex: 1 1 25%;
  min-width: 160px;
}

/* Row with Search/Reset buttons */
.awap-ymm-search .filter-actions {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}

/* Mobile adjustments */
@media (max-width: 992px) {
  .awap-ymm-search .filter-row {
    flex-wrap: wrap;
  }
  .awap-ymm-search select,
  .awap-ymm-search input {
    flex: 1 1 100%;
    min-width: 0;
  }
}

/* ================================================================== */
/* ==================  ENFORCE STRIPS & HINT (1–4)  ================= */
/* ================================================================== */

/* 5-per-view Categories (horizontal strip) */
#category-grid { display:flex; flex-wrap:nowrap; gap:14px; overflow-x:auto; scroll-behavior:smooth; }
#category-grid .category-card { flex:0 0 20%; min-width:20%; }
#category-grid .category-card p { white-space:nowrap; margin:8px 0 0; }

/* 4-per-view Cars (horizontal strip) */
.cars-strip { display:flex; flex-wrap:nowrap; gap:14px; overflow-x:auto; scroll-behavior:smooth; padding:6px 40px; }
.cars-strip .car-card { flex:0 0 25%; min-width:25%; background:#fff; border:1px solid #e6ecf6; border-radius:12px; box-shadow:0 1px 4px rgba(0,0,0,.04); overflow:hidden; }
.cars-strip .car-card .thumb img { width:100%; height:160px; object-fit:cover; display:block; }
.cars-strip .car-card .meta { padding:10px; }
.cars-strip .car-card .title a { color:#0e2a5b; font-weight:700; text-decoration:none; }
.cars-strip .car-card .parts-link { color:#0044cc; font-weight:600; }

/* Arrows shared */
.grid-scroll-wrapper { position:relative; }
.grid-arrow { position:absolute; top:50%; transform:translateY(-50%); width:36px; height:36px; border-radius:999px; background:#0044cc; color:#fff; border:0; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.grid-arrow.left{ left:0; } .grid-arrow.right{ right:0; }
.grid-arrow:hover{ background:#0033aa; }

/* Hint under Cars header (hidden by default, show on hover/focus) */
.section-hint { display:none; margin:.25rem 0 .75rem; color:#4b5a75; font-size:14px; }
.cars-carousel:hover .section-hint,
.cars-carousel:focus-within .section-hint { display:block; }

/* ================================================================== */
/* ===============  FOOTER CREDIT HIDE (6 – CSS fallback) =========== */
/* ================================================================== */
.site-info a[href*="generatepress"],
.site-info .generatepress { display:none !important; }

/* ================================================================== */
/* =======================  INVENTORY ENHANCEMENTS  ================== */
/* ================================================================== */

/* Controls Row: Per page | Shop by | Sort by (single row) */
.container.controls-row{
  display:grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap:16px;
  align-items:end;
  margin:12px auto 8px;
}
.container.controls-row form label{
  display:block; font-size:14px; margin-bottom:4px; color:#333;
}
.container.controls-row select{ width:100%; }
@media (max-width:768px){
  .container.controls-row{ grid-template-columns:1fr; gap:10px; }
  .container.controls-row form{ width:100%; }
}

/* Inventory Grid: 5 → 4 → 3 → 2 → 1 */
.products.awap-cards{
  display:grid !important;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap:18px;
  margin-top:16px;
}
@media (max-width:1280px){ .products.awap-cards{ grid-template-columns: repeat(4, minmax(0,1fr)); } }
@media (max-width:1024px){ .products.awap-cards{ grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width:768px){  .products.awap-cards{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width:480px){  .products.awap-cards{ grid-template-columns: repeat(1, minmax(0,1fr)); } }

/* Card styling (OEM + Vehicle lines, Enquiry button right) */
.products.awap-cards .card{
  border:1px solid #e6e6e6; border-radius:10px; background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.05); overflow:hidden; height:100%;
  display:flex; flex-direction:column;
}
.products.awap-cards .thumb img{ width:100%; height:auto; display:block; }
.products.awap-cards .card-body{ padding:12px; display:flex; flex-direction:column; gap:8px; }
.products.awap-cards .card-body .title{ font-weight:700; color:#0044cc; text-decoration:none; display:inline-block; }
.products.awap-cards .card-body .title:hover{ text-decoration:underline; }
.products.awap-cards .meta{ font-size:14px; color:#555; display:flex; flex-direction:column; gap:4px; }
.products.awap-cards .meta-line strong{ color:#333; margin-right:6px; }
.products.awap-cards .price-and-action{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.products.awap-cards .price{ font-weight:700; color:#222; }
.products.awap-cards .btn.enquiry-btn{
  background:#0044cc; color:#fff; border:0; padding:8px 12px; border-radius:6px; cursor:pointer;
}
.products.awap-cards .btn.enquiry-btn:hover{ background:#0033aa; }

/* Pagination: numeric only with highlight */
.inventory-pagination ul{
  list-style:none; display:flex; gap:8px; justify-content:center; padding:0; margin:18px 0;
}
.inventory-pagination ul li a,
.inventory-pagination ul li span{
  display:inline-block; padding:6px 10px; border:1px solid #ddd; border-radius:6px; color:#333;
}
.inventory-pagination ul li span.current,
.inventory-pagination ul li a:hover{ background:#0044cc; color:#fff; border-color:#0044cc; }

/* Filters: unify classes */
.advanced-filter, .awap-advanced-filters{ display:flex; flex-wrap:wrap; gap:10px; }
.advanced-filter select, .awap-advanced-filters select,
.advanced-filter input,  .awap-advanced-filters input{
  font-size:16px; padding:8px 10px; border:1px solid #ccc; border-radius:6px; min-width:140px;
}
.awap-advanced-filters .advanced-row{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
.awap-advanced-filters .row-1 > *{ flex:1 1 auto; }
.awap-advanced-filters .row-2 > *{ flex:1 1 20%; min-width:160px; }
.inventory-filters .filter-row{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.inventory-filters .filter-search-btn{ background:#0044cc; color:#fff; border:0; padding:10px 16px; border-radius:6px; }
.inventory-filters .filter-search-btn:hover{ background:#0033aa; }
.manual-entry{ margin-top:6px; }
.filters-cta.bottom, .filters-cta{ margin-top:6px; }

/* Smart Suggestions (Part Name / Part #) */
.part-input-wrap{ position:relative; flex:1 1 auto; }
.part-input-wrap input{ width:100%; }
.part-input-wrap .browse-parts-btn{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  background:#f2f5ff; border:1px solid #c9d4f7; color:#0044cc; padding:2px 6px; border-radius:4px; cursor:pointer;
}
ul.suggestions{
  position:absolute; left:0; right:0; top:100%; z-index:20;
  background:#fff; border:1px solid #ddd; border-radius:6px;
  max-height:260px; overflow:auto; margin:6px 0 0; padding:6px 0;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
ul.suggestions li{
  padding:8px 10px; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
ul.suggestions li:hover, ul.suggestions li:focus{ background:#f5f9ff; }

/* Request CTA (below 3.2) */
.request-cta{
  margin-top:8px; padding:12px; border:1px dashed #c9d4f7; border-radius:8px; background:#f9fbff;
  display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap;
}
.request-cta p{ margin:0; color:#334; }
.request-cta .btn.request-btn{ background:#0044cc; color:#fff; padding:8px 14px; border-radius:6px; }
.request-cta .btn.request-btn:hover{ background:#0033aa; }

/* Bottom toolbar spacing */
.inventory-toolbar.bottom .per-page{ margin-top:12px; }

/* Testimonials band on inventory page */
.inventory-page .testimonials-band{ padding:32px 0 48px; }
.inventory-page .testimonials-band .band-title{
  color:#0044cc; font-weight:700; font-size:22px; margin:0 0 12px;
}
.inventory-page .testimonials-band .testimonials-row{
  display:grid; grid-template-columns:repeat(5,1fr); gap:16px;
}
.inventory-page .testimonials-band .t-card{
  background:#fff; border:1px solid #e6ecf6; border-radius:12px; padding:16px; box-shadow:0 1px 2px rgba(0,0,0,.03);
}
@media (max-width:992px){ .inventory-page .testimonials-band .testimonials-row{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .inventory-page .testimonials-band .testimonials-row{ grid-template-columns:1fr; } }

/* ================================================================== */
/* ===================== FRONT PAGE STRIPS (ONE ROW) ================= */
/* ================================================================== */

/* Categories: 5 per row, single row, clickable tiles (link handled in HTML) */
.front-page .categories-strip{ position:relative; overflow:hidden; padding:6px 44px; }
.front-page .categories-strip .inner{
  display:grid; grid-template-columns:repeat(5,1fr); gap:14px; overflow:hidden;
}
.front-page .categories-strip .cat-card{
  background:#fff; border:1px solid #e6e6e6; border-radius:10px; text-align:center;
  padding:12px 10px; box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.front-page .categories-strip .cat-card img{ max-width:100%; height:auto; }
.front-page .categories-strip .cat-card:hover{ border-color:#0044cc; box-shadow:0 3px 10px rgba(0,0,0,.06); }

/* CPT Cars: 4 per row, single row */
.front-page .cars-strip{ position:relative; overflow:hidden; padding:6px 44px; }
.front-page .cars-strip .inner{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px; overflow:hidden;
}
.front-page .cars-strip .car-card{
  background:#fff; border:1px solid #e6e6e6; border-radius:10px; overflow:hidden; display:flex; flex-direction:column;
}
.front-page .cars-strip .car-card img{ width:100%; height:auto; display:block; }
.front-page .cars-strip .car-card:hover{ border-color:#0044cc; box-shadow:0 3px 10px rgba(0,0,0,.06); }

/* Strip arrows (<>), shared */
.front-page .cat-arrow,
.front-page .cars-arrow{
  position:absolute; top:50%; transform:translateY(-50%); width:36px; height:36px; border-radius:999px;
  background:#0044cc; color:#fff; border:0; cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.front-page .cat-arrow.left, .front-page .cars-arrow.left{ left:6px; }
.front-page .cat-arrow.right, .front-page .cars-arrow.right{ right:6px; }
.front-page .cat-arrow:hover, .front-page .cars-arrow:hover{ background:#0033aa; }

/* Reviews “>>>” link */
.review-more-link{ display:inline-block; font-weight:700; color:#0044cc; text-decoration:none; }
.review-more-link::after{ content:" >>>"; }
.review-more-link:hover{ text-decoration:underline; }

/* ================================================================== */
/* =================== SITEWIDE D/M/T GRID UTILITIES ================= */
/* ================================================================== */

.rg{
  display:grid;
  grid-template-columns: repeat(var(--cols-d, 4), minmax(0,1fr));
  gap: var(--rg-gap, 18px);
}
@media (max-width:1024px){
  .rg{ grid-template-columns: repeat(var(--cols-t, 2), minmax(0,1fr)); }
}
@media (max-width:768px){
  .rg{ grid-template-columns: repeat(var(--cols-m, 1), minmax(0,1fr)); }
}

/* Gaps */
.rg-gap-8{ --rg-gap:8px; } .rg-gap-12{ --rg-gap:12px; } .rg-gap-14{ --rg-gap:14px; }
.rg-gap-16{ --rg-gap:16px; } .rg-gap-18{ --rg-gap:18px; } .rg-gap-24{ --rg-gap:24px; }

/* Desktop presets */
.cols-d-1{ --cols-d:1; } .cols-d-2{ --cols-d:2; } .cols-d-3{ --cols-d:3; }
.cols-d-4{ --cols-d:4; } .cols-d-5{ --cols-d:5; } .cols-d-6{ --cols-d:6; }
/* Tablet presets */
.cols-t-1{ --cols-t:1; } .cols-t-2{ --cols-t:2; } .cols-t-3{ --cols-t:3; } .cols-t-4{ --cols-t:4; }
/* Mobile presets */
.cols-m-1{ --cols-m:1; } .cols-m-2{ --cols-m:2; }

/* Fluid images everywhere */
img{ max-width:100%; height:auto; }

/* Ensure control bars wrap nicely on T/M */
.controls-row{ grid-auto-rows: minmax(0,auto); }
@media (max-width:768px){ .controls-row form{ width:100%; } }

/* ================================================================== */
/* ======================== ACCESSIBILITY TWEAKS ===================== */
/* ================================================================== */

:focus { outline: 2px solid #99b4ff; outline-offset: 2px; }
button:focus, select:focus, input:focus { box-shadow: 0 0 0 3px rgba(0,68,204,.2); }

/* ================================================================== */
/* ========================= SMALL POLISH ITEMS ====================== */
/* ================================================================== */

/* Titles spacing consistency */
.page-title h1{ margin:10px 0 8px; }
.results-count{ margin:6px 0 0; color:#444; }

/* Category default note */
.default-note{ font-size:12px; color:#666; display:block; margin-top:6px; }

/* Ensure Woo prices inherit font size properly */
.price .amount{ font-weight:700; }

/* Woo product thumbnail fallback spacing */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{ display:block; }

/* Buttons minor normalize */
.btn, .button, button, input[type="submit"]{ font-family:'Segoe UI', sans-serif; }

/* ================================================================== */
/* =========================== PRINT STYLES ========================== */
/* ================================================================== */

@media print{
  .controls-row, .inventory-filters, .inventory-filters-advanced, .request-cta, .inventory-pagination { display:none !important; }
  .products.awap-cards{ grid-template-columns: repeat(2, 1fr) !important; gap:12px !important; }
  a:link:after, a:visited:after{ content:""; }
}

/* ================================================================== */
/* ===================== END OF AWAP CUSTOM CSS ====================== */
/* ================================================================== */
