/* =========================================================================
   MechCool – WordPress / Elementor compatibility layer
   (keeps the original HTML design pixel-identical inside Elementor)
   ========================================================================= */

/* --- Elementor wrappers: no extra spacing around MechCool sections --- */
.elementor .e-con.mc-con {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --margin-top: 0px;
  --margin-bottom: 0px;
  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  --widgets-spacing: 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
}
.elementor .e-con.mc-con > .elementor-widget,
.elementor .e-con.mc-con > .e-con-inner > .elementor-widget {
  width: 100%;
  margin: 0;
}
.elementor .mc-con .elementor-widget-container { margin: 0; padding: 0; }
.elementor .mc-con .elementor-widget:not(:last-child) { margin-bottom: 0; }

/* --- Service pages: main column + sidebar (Elementor containers) ---
   Mirrors: section > .container > .service-detail-grid > main + aside */
body.mechcool-theme .elementor .e-con.mc-svc-section {
  --padding-top: 80px;
  --padding-bottom: 80px;
}
body.mechcool-theme .elementor .e-con.mc-svc-grid {
  --display: grid;
  --margin-left: auto;
  --margin-right: auto;
  --padding-left: 24px;
  --padding-right: 24px;
  --width: 100%;
  max-width: 1200px;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 48px;
  align-items: start;
}
body.mechcool-theme .elementor .e-con.mc-svc-main,
body.mechcool-theme .elementor .e-con.mc-svc-aside {
  --display: block;
  min-width: 0;
}
body.mechcool-theme .elementor .e-con.mc-svc-aside { position: sticky; top: 96px; }
@media (max-width: 1024px) {
  body.mechcool-theme .elementor .e-con.mc-svc-grid { grid-template-columns: minmax(0, 1fr); }
  body.mechcool-theme .elementor .e-con.mc-svc-aside { position: static; }
}
@media (max-width: 768px) {
  body.mechcool-theme .elementor .e-con.mc-svc-section { --padding-top: 60px; --padding-bottom: 60px; }
}
@media (max-width: 480px) {
  body.mechcool-theme .elementor .e-con.mc-svc-grid { --padding-left: 16px; --padding-right: 16px; }
}

/* --- Column helpers for card grids / suburb tags --- */
.mc-cols-1 { grid-template-columns: 1fr !important; }
.mc-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.mc-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.mc-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.mc-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
.mc-cols-1, .mc-cols-2, .mc-cols-3, .mc-cols-4, .mc-cols-6 { display: grid; }
@media (max-width: 1024px) {
  .mc-cols-3, .mc-cols-4, .mc-cols-6 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .mc-cols-2, .mc-cols-3, .mc-cols-4 { grid-template-columns: 1fr !important; }
  .mc-cols-6 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Stacked icon points (card grid "Icon point" style) */
.mc-points-list { display: flex; flex-direction: column; gap: 16px; }
.mc-why-point-light { background: var(--light-bg); border: 1px solid var(--border); }
.mc-why-point-light h4 { color: var(--text-dark); }
.mc-why-point-light p { color: var(--text-body); }

/* Optional card images */
.mc-card-image { margin: -4px 0 18px; border-radius: var(--radius, 12px); overflow: hidden; }
.mc-card-image img { display: block; width: 100%; height: 200px; object-fit: cover; }

/* --- Contact page (was an inline <style> in contact.html) --- */
.contact-main-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
.contact-info-card {
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  transition: all var(--transition);
}
.contact-info-card:hover {
  background: var(--primary-light);
  border-color: rgba(13,155,168,0.3);
  transform: translateY(-2px);
}
.contact-trust-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 24px;
}
.contact-trust-item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text-dark);
}
.contact-trust-item i {
  color: var(--primary);
  font-size: 1.2rem;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .contact-main-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
  .contact-trust-grid { grid-template-columns: 1fr; }
}

/* --- Forms --- */
.mc-form { position: relative; }
.mc-form .form-control.is-invalid { border-color: #d64545 !important; }
.mc-form-status { margin-top: 14px; font-size: 0.92rem; line-height: 1.5; }
.mc-form-status:empty { display: none; }
.mc-form-status.is-success { color: #12805c; background: #e8f7f1; border: 1px solid #b8e6d3; padding: 12px 14px; border-radius: 8px; }
.mc-form-status.is-error { color: #a61b1b; background: #fdecec; border: 1px solid #f4c2c2; padding: 12px 14px; border-radius: 8px; }

/* --- Logo image support --- */
.nav-logo .custom-logo { display: block; max-height: 48px; width: auto; }
.footer-logo .custom-logo { max-height: 52px; }

/* --- Plain (non-Elementor) pages --- */
.mc-entry-content > * + * { margin-top: 1em; }
.mc-entry-content img { max-width: 100%; height: auto; }

/* --- Elementor editor: always show animated blocks while editing --- */
.elementor-editor-active .animate-fade-up,
.elementor-editor-preview .animate-fade-up { opacity: 1 !important; transform: none !important; }

/* WordPress admin bar offset for the fixed header */
.admin-bar #navbar { top: 32px; }
.admin-bar .mobile-nav { top: 104px; }
@media (max-width: 782px) {
  .admin-bar #navbar { top: 46px; }
  .admin-bar .mobile-nav { top: 118px; }
}
@media (max-width: 600px) {
  .admin-bar #navbar { top: 0; }
  .admin-bar .mobile-nav { top: 72px; }
}
