/* patch_style.css - responsive and UI tweaks applied by assistant */

/* Global Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  pointer-events: auto !important;
}

/* Footer dark blue */
.site-footer { background:#0b3b77 !important; color:#fff; padding:28px 18px; }
.footer-bottom { text-align:center; padding:12px 0; color:#fff; background:transparent; }

/* Footer grid behavior */
.footer-grid { display:flex; gap:20px; flex-wrap:wrap; justify-content:space-between; }
.footer-col { flex:1 1 220px; min-width:160px; }

/* Assistant floating button */
#imagegut-assistant { position:fixed; right:18px; bottom:18px; z-index:9999; }
#assistant-open { background:#0b3b77; color:#fff; border-radius:50%; width:56px;height:56px;border:none; font-size:20px; box-shadow:0 6px 18px rgba(0,0,0,0.15); }
#assistant-window { width:320px; max-height:420px; border-radius:10px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,0.2); background:#fff; color:#000; display:none; }
/* visible state */
#assistant-window.open { display:block; }

.assistant-header { background:#0b3b77; color:#fff; padding:8px 10px; font-weight:600; display:flex; justify-content:space-between; align-items:center; }
.assistant-body { padding:10px; display:flex; flex-direction:column; gap:8px; height:300px; }
.assistant-msg.bot { background:#eef6ff; padding:8px; border-radius:8px; color:#0b3b77; }
.assistant-msg.user { background:#f1f1f1; padding:8px; border-radius:8px; text-align:right; }

/* Cards - 2 columns on small screens */
.cards-grid, .row { --gap:12px; }
@media (max-width:768px) {
  .row > [class*='col-'] { width:50% !important; float:left; box-sizing:border-box; padding:6px; }
  .col-sm-6 { width:50% !important; }
  .col-md-3 { width:50% !important; } /* for category grid */
  .col-lg-3 { width:50% !important; }
  .card-img-top { height:150px !important; object-fit:cover; }
  .search-wrap { max-width:220px !important; }
  .header-icons .cart-link { order:1; margin-right:8px; }
  .header-icons .login-link { display:inline-block; }
  .hamburger { order:3; margin-left:-8px; }
  /* Footer stacking */
  .footer-grid { flex-direction:column; }
  .footer-col.location { order:2; }
  .footer-col.follow { order:3; align-self:flex-end; }
}

/* Product detail image smaller on mobile */
.product-detail .pd-left img { max-width:420px; width:100%; border-radius:8px; }
@media (max-width:768px) {
  .product-detail .pd-left img { max-width:320px; margin:0 auto; }
}

/* Buttons */
.btn { padding:8px 12px; border-radius:6px; }
.btn.primary { background:#0b3b77; color:#fff; border:none; }
.btn.primary:active, .btn.primary:focus { background:#fff; color:#0b3b77; }
/* Buttons (Register + Continue) */
.btn-continue, .btn-register {
  background-color: #0b3d91;
  color: #fff;
  border-radius: 6px;
  padding: 8px 18px;
  font-weight: 500;
  transition: 0.3s;
}

.btn-continue:hover, .btn-register:hover {
  background-color: #e0e0e0;
  color: #0b3d91;
}
/* Dark blue custom buttons */
.btn-register, 
.btn-continue {
  background-color: #0b3d91;
  color: #fff;
  border-radius: 6px;
  padding: 8px 18px;
  font-weight: 500;
  transition: 0.3s;
}

.btn-register:hover, 
.btn-continue:hover {
  background-color: #e0e0e0;
  color: #0b3d91;
}
/* Brand button styles */
.btn-register,
.btn-continue {
  background-color: #0f3b6f;
  color: #fff;
  border-radius: 6px;
  padding: 8px 18px;
  font-weight: 500;
  transition: 0.3s;
  border: none;
}
.btn-register:hover,
.btn-continue:hover {
  background-color: #e0e0e0;
  color: #0f3b6f;
}

/* Buy Now button (no weird bootstrap hover) */
.btn-buy {
  background-color: #0f3b6f;
  color: #fff;
  border-radius: 6px;
  padding: 8px 18px;
  font-weight: 500;
  border: none;
}
.btn-buy:hover {
  background-color: #0f3b6f; /* same, no color shift */
  color: #fff;
}
/* Checkout Place Order button */
.btn-register {
  background-color: #0f3b6f;
  color: #fff;
  border-radius: 6px;
  padding: 10px 20px;
  font-weight: 500;
  transition: 0.3s;
  border: none;
}
.btn-register:hover {
  background-color: #e0e0e0;
  color: #0f3b6f;
}
/* --- Client Reviews Section --- */
#client-reviews {
  background: #f9fafc; /* optional light bg */
}

.reviews-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-start;
}

/* Each review card */
.review-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  padding: 20px;
  flex: 1 1 calc(33.333% - 20px); /* 3 per row on desktop */
  min-width: 280px;
  transition: transform 0.3s ease;
}

.review-card:hover {
  transform: translateY(-4px);
}

.review-card .message {
  font-size: 15px;
  color: #333;
  line-height: 1.5;
}

.review-card .client-name {
  font-weight: bold;
  color: #0f3b6f;
  margin-top: 10px;
  font-size: 14px;
}

/* Responsive: Tablet (2 per row) */
@media (max-width: 991px) {
  .review-card {
    flex: 1 1 calc(50% - 15px);
  }
}

/* Responsive: Mobile (1 per row) */
@media (max-width: 576px) {
  .review-card {
    flex: 1 1 100%;
  }
}

/* Hide extra reviews initially */
.more-review {
  display: none;
}

/* Show more toggle button styling */
#toggleReviews {
  background: #0f3b6f;
  color: #fff;
  border: none;
  padding: 8px 20px;
  border-radius: 5px;
  font-weight: 500;
  cursor: pointer;
  transition: 0.3s;
}

#toggleReviews:hover {
  background: #0d3260;
}
