/* ==========================================================================
   Idealhaus – Αρχική (custom landing)
   Φορτώνεται ΜΟΝΟ στη σελίδα που χρησιμοποιεί το πρότυπο "Idealhaus – Αρχική".
   Όλα τα στυλ είναι scoped κάτω από .ih-home ώστε να μην επηρεάζουν το WoodMart.
   ========================================================================== */

.ih-home {
  --olive: hsl(82, 55%, 42%);
  --olive-dark: hsl(82, 55%, 35%);
  --olive-darker: hsl(82, 55%, 30%);
  --olive-light: hsl(82, 55%, 42%, 0.1);
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;
  font-family: 'DM Sans', sans-serif;
  color: var(--gray-900);
  background: #fff;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.ih-home *, .ih-home *::before, .ih-home *::after { box-sizing: border-box; margin: 0; padding: 0; }
.ih-home h1, .ih-home h2, .ih-home h3, .ih-home h4, .ih-home h5, .ih-home h6 { font-family: 'Plus Jakarta Sans', sans-serif; }
.ih-home img { max-width: 100%; height: auto; display: block; }
.ih-home a { text-decoration: none; color: inherit; }
.ih-home .container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }

/* Utility */
.ih-home .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.ih-home .flex { display: flex; }
.ih-home .items-center { align-items: center; }
.ih-home .justify-between { justify-content: space-between; }
.ih-home .gap-1 { gap: 0.25rem; } .ih-home .gap-2 { gap: 0.5rem; } .ih-home .gap-3 { gap: 0.75rem; } .ih-home .gap-4 { gap: 1rem; } .ih-home .gap-6 { gap: 1.5rem; }
.ih-home .text-center { text-align: center; }
.ih-home .relative { position: relative; }
.ih-home .overflow-hidden { overflow: hidden; }

/* ====== TOP BAR ====== */
.ih-home .top-bar { background: var(--olive); color: #fff; font-size: 0.875rem; }
.ih-home .top-bar .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding-top: 0.5rem; padding-bottom: 0.5rem; gap: 0.5rem; }
.ih-home .top-bar a:hover { opacity: 0.8; }
.ih-home .top-bar-left { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.ih-home .top-bar-left span { display: flex; align-items: center; gap: 0.375rem; }
.ih-home .top-bar-social { display: flex; align-items: center; gap: 0.75rem; }
.ih-home .top-bar-social svg { width: 16px; height: 16px; }

/* ====== NAVBAR ====== */
.ih-home .navbar { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--gray-100); transition: box-shadow 0.3s, background 0.3s; }
.ih-home .navbar.scrolled { background: rgba(255,255,255,0.95); backdrop-filter: blur(12px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); border-bottom-color: transparent; }
.ih-home .navbar .container { display: flex; align-items: center; justify-content: space-between; height: 5rem; }
.ih-home .logo { display: flex; align-items: center; gap: 0.75rem; cursor: pointer; background: none; border: none; }
.ih-home .logo img { width: 48px; height: 48px; object-fit: contain; }
.ih-home .logo-text { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1.5rem; font-weight: 600; color: var(--gray-900); letter-spacing: -0.02em; }
.ih-home .logo-sub { display: block; font-size: 0.625rem; color: var(--gray-400); text-transform: uppercase; letter-spacing: 0.15em; margin-top: -2px; }
.ih-home .nav-links { display: flex; align-items: center; gap: 0.25rem; }
.ih-home .nav-links a { padding: 0.5rem 0.75rem; font-size: 0.875rem; font-weight: 500; color: var(--gray-600); border-radius: 0.375rem; transition: color 0.2s, background 0.2s; }
.ih-home .nav-links a:hover { color: var(--olive); background: var(--gray-50); }
.ih-home .btn-cta { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--olive); color: #fff; padding: 0.625rem 1.25rem; border-radius: 0.375rem; font-size: 0.875rem; font-weight: 500; border: none; cursor: pointer; transition: background 0.2s; }
.ih-home .btn-cta:hover { background: var(--olive-dark); }
.ih-home .btn-cta svg { width: 16px; height: 16px; }
.ih-home .mobile-toggle { display: none; background: none; border: none; padding: 0.5rem; cursor: pointer; color: var(--gray-600); }
.ih-home .mobile-toggle svg { width: 24px; height: 24px; }
.ih-home .mobile-menu { display: none; border-top: 1px solid var(--gray-100); padding: 1rem; }
.ih-home .mobile-menu.open { display: flex; flex-direction: column; gap: 0.25rem; }
.ih-home .mobile-menu a { padding: 0.75rem 1rem; font-size: 1rem; color: var(--gray-700); border-radius: 0.375rem; transition: background 0.2s; }
.ih-home .mobile-menu a:hover { background: var(--gray-50); }

/* ====== HERO ====== */
.ih-home .hero { position: relative; min-height: 80vh; display: flex; align-items: center; overflow: hidden; }
.ih-home .hero-bg { position: absolute; inset: 0; z-index: 0; }
.ih-home .hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.ih-home .hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(17,24,39,0.8), rgba(17,24,39,0.5), transparent); }
.ih-home .hero-content { position: relative; z-index: 10; padding: 5rem 0; }
.ih-home .hero-badge { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(255,255,255,0.15); backdrop-filter: blur(4px); color: #fff; padding: 0.375rem 1rem; border-radius: 9999px; font-size: 0.875rem; font-weight: 500; margin-bottom: 1.5rem; }
.ih-home .hero-badge svg { color: #facc15; }
.ih-home .hero h1 { font-size: 3.5rem; font-weight: 700; color: #fff; letter-spacing: -0.02em; line-height: 1.1; margin-bottom: 1.5rem; }
.ih-home .hero h1 span { color: hsl(82, 60%, 60%); }
.ih-home .hero-desc { font-size: 1.25rem; color: #e5e7eb; margin-bottom: 2rem; max-width: 32rem; }
.ih-home .hero-buttons { display: flex; flex-wrap: wrap; gap: 1rem; }
.ih-home .btn-hero-primary { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--olive); color: #fff; padding: 0.875rem 1.75rem; border-radius: 0.375rem; font-size: 1rem; font-weight: 500; border: none; cursor: pointer; transition: all 0.2s; }
.ih-home .btn-hero-primary:hover { background: var(--olive-dark); box-shadow: 0 8px 30px rgba(0,0,0,0.12); }
.ih-home .btn-hero-secondary { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(255,255,255,0.15); backdrop-filter: blur(4px); color: #fff; padding: 0.875rem 1.75rem; border-radius: 0.375rem; font-size: 1rem; font-weight: 500; border: 1px solid rgba(255,255,255,0.3); cursor: pointer; transition: background 0.2s; }
.ih-home .btn-hero-secondary:hover { background: rgba(255,255,255,0.25); }

/* ====== FEATURES STRIP ====== */
.ih-home .features-strip { background: var(--gray-50); border-top: 1px solid var(--gray-100); border-bottom: 1px solid var(--gray-100); }
.ih-home .features-strip .container { padding-top: 3rem; padding-bottom: 3rem; }
.ih-home .features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.ih-home .feature-card { display: flex; align-items: flex-start; gap: 1rem; padding: 1.5rem; background: #fff; border-radius: 0.5rem; box-shadow: 0 1px 2px rgba(0,0,0,0.05); transition: box-shadow 0.3s; }
.ih-home .feature-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.ih-home .feature-icon { flex-shrink: 0; width: 3rem; height: 3rem; background: var(--olive-light); border-radius: 0.5rem; display: flex; align-items: center; justify-content: center; }
.ih-home .feature-icon svg { width: 24px; height: 24px; color: var(--olive); }
.ih-home .feature-card h3 { font-weight: 600; color: var(--gray-900); margin-bottom: 0.375rem; font-size: 0.95rem; }
.ih-home .feature-card p { font-size: 0.875rem; color: var(--gray-500); line-height: 1.6; }

/* ====== ABOUT ====== */
.ih-home .about { padding: 4rem 0 4rem; }
.ih-home .about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.ih-home .about-image { position: relative; aspect-ratio: 4/3; border-radius: 0.5rem; overflow: hidden; }
.ih-home .about-image img { width: 100%; height: 100%; object-fit: cover; }
.ih-home .about-badge { position: absolute; bottom: 1rem; left: 1rem; background: rgba(255,255,255,0.9); backdrop-filter: blur(4px); border-radius: 0.5rem; padding: 0.75rem 1.25rem; }
.ih-home .about-badge .num { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1.875rem; font-weight: 700; color: var(--olive); }
.ih-home .about-badge .label { font-size: 0.75rem; color: var(--gray-600); text-transform: uppercase; letter-spacing: 0.08em; }
.ih-home .section-tag { font-size: 0.875rem; font-weight: 500; color: var(--olive); text-transform: uppercase; letter-spacing: 0.1em; }
.ih-home .about h2 { font-size: 2rem; font-weight: 700; color: var(--gray-900); letter-spacing: -0.02em; margin-top: 0.5rem; margin-bottom: 1.5rem; }
.ih-home .about-text { color: var(--gray-600); line-height: 1.7; }
.ih-home .about-text p + p { margin-top: 1rem; }
.ih-home .trust-badges { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 2rem; }
.ih-home .trust-badge { display: flex; align-items: center; gap: 0.75rem; }
.ih-home .trust-badge-icon { width: 2.5rem; height: 2.5rem; background: var(--olive-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.ih-home .trust-badge-icon svg { width: 20px; height: 20px; color: var(--olive); }
.ih-home .trust-badge strong { display: block; font-size: 0.875rem; color: var(--gray-900); }
.ih-home .trust-badge small { font-size: 0.75rem; color: var(--gray-500); }

/* ====== PRODUCTS ====== */
.ih-home .products { background: var(--gray-50); padding: 4rem 0; }
.ih-home .section-header { text-align: center; margin-bottom: 3rem; }
.ih-home .section-header h2 { font-size: 2rem; font-weight: 700; color: var(--gray-900); letter-spacing: -0.02em; margin-top: 0.5rem; }
.ih-home .section-header p { color: var(--gray-500); margin-top: 0.75rem; max-width: 28rem; margin-left: auto; margin-right: auto; }
.ih-home .products-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.ih-home .product-card { background: #fff; border-radius: 0.5rem; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,0.05); transition: box-shadow 0.3s, transform 0.3s; cursor: pointer; }
.ih-home .product-card:hover { box-shadow: 0 8px 30px rgba(0,0,0,0.12); transform: translateY(-4px); }
.ih-home .product-img { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.ih-home .product-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.ih-home .product-card:hover .product-img img { transform: scale(1.05); }
.ih-home .product-img-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.4), transparent); }
.ih-home .product-img-icon { position: absolute; bottom: 0.75rem; left: 0.75rem; width: 2rem; height: 2rem; background: rgba(255,255,255,0.9); border-radius: 0.375rem; display: flex; align-items: center; justify-content: center; }
.ih-home .product-img-icon svg { width: 16px; height: 16px; color: var(--olive); }
.ih-home .product-body { padding: 1.25rem; }
.ih-home .product-body h3 { font-weight: 600; color: var(--gray-900); margin-bottom: 0.25rem; transition: color 0.2s; }
.ih-home .product-card:hover .product-body h3 { color: var(--olive); }
.ih-home .product-body p { font-size: 0.875rem; color: var(--gray-500); line-height: 1.5; }
.ih-home .product-more { margin-top: 0.75rem; display: flex; align-items: center; gap: 0.25rem; font-size: 0.875rem; color: var(--olive); font-weight: 500; opacity: 0; transition: opacity 0.3s; }
.ih-home .product-card:hover .product-more { opacity: 1; }
.ih-home .product-more svg { width: 16px; height: 16px; }

/* ====== SERVICES ====== */
.ih-home .services { padding: 4rem 0; }
.ih-home .services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.ih-home .service-card { position: relative; padding: 2rem; background: #fff; border: 1px solid var(--gray-100); border-radius: 0.5rem; transition: border-color 0.3s, box-shadow 0.3s; text-align: center; }
.ih-home .service-card:hover { border-color: hsl(82, 55%, 42%, 0.3); box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.ih-home .service-icon { width: 3.5rem; height: 3.5rem; margin: 0 auto 1.25rem; background: var(--olive-light); border-radius: 0.75rem; display: flex; align-items: center; justify-content: center; transition: background 0.3s; }
.ih-home .service-card:hover .service-icon { background: var(--olive); }
.ih-home .service-icon svg { width: 28px; height: 28px; color: var(--olive); transition: color 0.3s; }
.ih-home .service-card:hover .service-icon svg { color: #fff; }
.ih-home .service-card h3 { font-weight: 600; color: var(--gray-900); margin-bottom: 0.5rem; font-size: 1.125rem; }
.ih-home .service-card p { font-size: 0.875rem; color: var(--gray-500); line-height: 1.6; }

/* ====== CTA BANNER ====== */
.ih-home .cta-banner { position: relative; overflow: hidden; }
.ih-home .cta-banner-bg { position: absolute; inset: 0; }
.ih-home .cta-banner-bg img { width: 100%; height: 100%; object-fit: cover; }
.ih-home .cta-banner-overlay { position: absolute; inset: 0; background: hsla(82, 55%, 30%, 0.85); }
.ih-home .cta-banner .container { position: relative; padding-top: 4rem; padding-bottom: 4rem; text-align: center; }
.ih-home .cta-banner h2 { font-size: 2rem; font-weight: 700; color: #fff; letter-spacing: -0.02em; margin-bottom: 1rem; }
.ih-home .cta-banner p { font-size: 1.125rem; color: rgba(255,255,255,0.8); margin-bottom: 2rem; max-width: 28rem; margin-left: auto; margin-right: auto; }
.ih-home .cta-buttons { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
.ih-home .btn-cta-white { display: inline-flex; align-items: center; gap: 0.5rem; background: #fff; color: var(--olive-darker); padding: 0.875rem 1.75rem; border-radius: 0.375rem; font-size: 1rem; font-weight: 600; border: none; cursor: pointer; transition: background 0.2s; }
.ih-home .btn-cta-white:hover { background: var(--gray-100); }
.ih-home .btn-cta-outline { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(255,255,255,0.15); color: #fff; border: 1px solid rgba(255,255,255,0.3); padding: 0.875rem 1.75rem; border-radius: 0.375rem; font-size: 1rem; font-weight: 500; cursor: pointer; transition: background 0.2s; }
.ih-home .btn-cta-outline:hover { background: rgba(255,255,255,0.25); }

/* ====== CONTACT ====== */
.ih-home .contact { padding: 4rem 0; }
.ih-home .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.ih-home .contact h2 { font-size: 2rem; font-weight: 700; color: var(--gray-900); letter-spacing: -0.02em; margin-top: 0.5rem; margin-bottom: 1.5rem; }
.ih-home .contact-desc { color: var(--gray-500); margin-bottom: 2rem; }
.ih-home .contact-info { display: flex; flex-direction: column; gap: 1.25rem; }
.ih-home .contact-item { display: flex; align-items: flex-start; gap: 1rem; }
.ih-home .contact-item-icon { width: 2.75rem; height: 2.75rem; background: var(--olive-light); border-radius: 0.5rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ih-home .contact-item-icon svg { width: 20px; height: 20px; color: var(--olive); }
.ih-home .contact-item strong { display: block; font-size: 0.875rem; color: var(--gray-900); }
.ih-home .contact-item a, .ih-home .contact-item p { font-size: 0.9rem; color: var(--gray-500); transition: color 0.2s; margin: 0; }
.ih-home .contact-item a:hover { color: var(--olive); }
.ih-home .contact-form { background: var(--gray-50); border-radius: 0.5rem; padding: 2rem; }
.ih-home .contact-form h3 { font-weight: 600; font-size: 1.25rem; color: var(--gray-900); margin-bottom: 1.5rem; }
.ih-home .form-group { margin-bottom: 1rem; }
.ih-home .form-group label { display: block; font-size: 0.875rem; font-weight: 500; color: var(--gray-700); margin-bottom: 0.25rem; }
.ih-home .form-group input, .ih-home .form-group textarea { width: 100%; padding: 0.625rem 1rem; border: 1px solid var(--gray-200); border-radius: 0.375rem; font-size: 0.875rem; font-family: 'DM Sans', sans-serif; background: #fff; outline: none; transition: border-color 0.2s, box-shadow 0.2s; }
.ih-home .form-group input:focus, .ih-home .form-group textarea:focus { border-color: var(--olive); box-shadow: 0 0 0 3px hsl(82, 55%, 42%, 0.15); }
.ih-home .form-group textarea { resize: none; min-height: 6rem; }
.ih-home .btn-submit { width: 100%; background: var(--olive); color: #fff; padding: 0.75rem 1.5rem; border: none; border-radius: 0.375rem; font-size: 0.875rem; font-weight: 500; cursor: pointer; transition: background 0.2s; font-family: 'DM Sans', sans-serif; }
.ih-home .btn-submit:hover { background: var(--olive-dark); }
.ih-home .form-note { font-size: 0.85rem; margin-bottom: 1rem; padding: 0.75rem 1rem; border-radius: 0.375rem; }
.ih-home .form-note.success { background: hsl(82,55%,42%,0.12); color: var(--olive-darker); }
.ih-home .form-note.error { background: #fee2e2; color: #b91c1c; }

/* --- Contact Form 7 (ώστε να ταιριάζει με το design) --- */
.ih-home .wpcf7 .form-group { margin-bottom: 1rem; }
.ih-home .wpcf7 .form-group label { display: block; font-size: 0.875rem; font-weight: 500; color: var(--gray-700); margin-bottom: 0.25rem; }
.ih-home .wpcf7 input[type="text"], .ih-home .wpcf7 input[type="email"], .ih-home .wpcf7 input[type="tel"], .ih-home .wpcf7 textarea {
  width: 100%; padding: 0.625rem 1rem; border: 1px solid var(--gray-200); border-radius: 0.375rem; font-size: 0.875rem; font-family: 'DM Sans', sans-serif; background: #fff; outline: none; transition: border-color 0.2s, box-shadow 0.2s;
}
.ih-home .wpcf7 input:focus, .ih-home .wpcf7 textarea:focus { border-color: var(--olive); box-shadow: 0 0 0 3px hsl(82, 55%, 42%, 0.15); }
.ih-home .wpcf7 textarea { resize: none; min-height: 6rem; }
.ih-home .wpcf7 .wpcf7-form-control-wrap { display: block; }
.ih-home .wpcf7 .btn-submit { width: 100%; margin-top: 0.25rem; }
.ih-home .wpcf7-spinner { margin: 0 0 0 0.5rem; }
.ih-home .wpcf7 .wpcf7-response-output { margin: 1rem 0 0; padding: 0.75rem 1rem; border-radius: 0.375rem; font-size: 0.85rem; border: 0; }
.ih-home .wpcf7 form.sent .wpcf7-response-output { background: hsl(82,55%,42%,0.12); color: var(--olive-darker); }
.ih-home .wpcf7 form.invalid .wpcf7-response-output,
.ih-home .wpcf7 form.unaccepted .wpcf7-response-output,
.ih-home .wpcf7 form.failed .wpcf7-response-output { background: #fee2e2; color: #b91c1c; }
.ih-home .wpcf7-not-valid-tip { color: #b91c1c; font-size: 0.8rem; margin-top: 0.25rem; }

/* ====== FOOTER ====== */
.ih-home .footer { background: var(--gray-900); color: #fff; }
.ih-home .footer .container { padding-top: 3rem; padding-bottom: 3rem; }
.ih-home .footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 2.5rem; }
.ih-home .footer-brand p { color: var(--gray-400); font-size: 0.875rem; line-height: 1.6; margin-top: 1rem; }
.ih-home .footer h4 { font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gray-300); margin-bottom: 1rem; }
.ih-home .footer ul { list-style: none; }
.ih-home .footer li { margin-bottom: 0.625rem; }
.ih-home .footer li a, .ih-home .footer li span { font-size: 0.875rem; color: var(--gray-400); transition: color 0.2s; cursor: pointer; }
.ih-home .footer li a:hover, .ih-home .footer li span:hover { color: #fff; }
.ih-home .footer-bottom { border-top: 1px solid var(--gray-800); margin-top: 2.5rem; padding-top: 2rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.ih-home .footer-bottom p { font-size: 0.875rem; color: var(--gray-500); }
.ih-home .footer-social { display: flex; align-items: center; gap: 1rem; }
.ih-home .footer-social a { color: var(--gray-500); transition: color 0.2s; }
.ih-home .footer-social a:hover { color: #fff; }
.ih-home .footer-social svg { width: 20px; height: 20px; }

/* ====== BACK TO TOP ====== */
.ih-home .back-to-top { position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 50; width: 3rem; height: 3rem; background: var(--olive); color: #fff; border: none; border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,0.15); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.2s, opacity 0.3s, transform 0.3s; opacity: 0; transform: scale(0.8); pointer-events: none; }
.ih-home .back-to-top.visible { opacity: 1; transform: scale(1); pointer-events: auto; }
.ih-home .back-to-top:hover { background: var(--olive-dark); }
.ih-home .back-to-top svg { width: 20px; height: 20px; }

/* ====== ANIMATIONS ====== */
.ih-home .fade-in { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease-out, transform 0.7s ease-out; }
.ih-home .fade-in.visible { opacity: 1; transform: translateY(0); }

/* ====== RESPONSIVE ====== */
@media (max-width: 1024px) {
  .ih-home .nav-links, .ih-home .navbar .btn-cta { display: none; }
  .ih-home .mobile-toggle { display: block; }
  .ih-home .features-grid { grid-template-columns: 1fr; }
  .ih-home .about-grid { grid-template-columns: 1fr; gap: 2rem; }
  .ih-home .products-grid { grid-template-columns: repeat(2, 1fr); }
  .ih-home .services-grid { grid-template-columns: 1fr; }
  .ih-home .contact-grid { grid-template-columns: 1fr; }
  .ih-home .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 640px) {
  .ih-home .hero h1 { font-size: 2.25rem; }
  .ih-home .hero-desc { font-size: 1rem; }
  .ih-home .products-grid { grid-template-columns: 1fr; }
  .ih-home .section-header h2, .ih-home .about h2, .ih-home .contact h2, .ih-home .cta-banner h2 { font-size: 1.75rem; }
  .ih-home .top-bar .hours-desktop { display: none; }
}
