/* Current-upload-only fixes: image framing, service related images, mobile footer/menu */

/* Show full service/home imagery without destructive cropping */
.hero-img,
.service-lead-img,
.aboutgrid img {
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.card-media {
  height:auto !important;
  aspect-ratio:3 / 2 !important;
  background:#fff7ec !important;
}
.card-media img,
.card img {
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff7ec !important;
}
.related-card .rimg {
  height:auto !important;
  aspect-ratio:3 / 2 !important;
  background:#fff7ec !important;
}
.related-card .rimg img,
.related-card img {
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff7ec !important;
}

/* Inner pages must never create a blank/hidden article on mobile. */
.inner-premium,
.inner-premium .container,
.inner-premium .content-grid,
.inner-premium .article,
.inner-premium .sidebar {
  opacity:1 !important;
  visibility:visible !important;
}
.inner-premium .article { display:block !important; }

@media (max-width:760px){
  .inner-premium{padding-top:28px !important;padding-bottom:36px !important}
  .inner-premium .content-grid{display:grid !important;grid-template-columns:1fr !important;gap:22px !important}
  .inner-premium .article{order:1 !important;padding:16px 14px !important;margin:0 !important;width:100% !important}
  .inner-premium .sidebar{order:2 !important;position:static !important;width:100% !important;margin:0 !important}
  .service-lead-img{margin:0 0 20px !important;border-radius:18px !important}

  /* Home/service cards: complete image visible on phones. */
  .card-media{aspect-ratio:3/2 !important;height:auto !important}
  .card-media img,.card img{object-fit:contain !important}

  /* Footer: every page/link visible, one clean vertical flow. */
  .premium-footer{overflow:visible !important;height:auto !important;max-height:none !important}
  .premium-footer .footer-grid{display:grid !important;grid-template-columns:1fr !important;gap:20px !important;height:auto !important;max-height:none !important;overflow:visible !important}
  .premium-footer .footer-grid>div{grid-column:auto !important;display:block !important;visibility:visible !important;opacity:1 !important;height:auto !important;max-height:none !important;overflow:visible !important}
  .premium-footer .footer-links,
  .premium-footer .two-col-services{display:grid !important;grid-template-columns:1fr !important;columns:auto !important;gap:5px !important;overflow:visible !important;height:auto !important;max-height:none !important}
  .premium-footer .footer-links a{display:block !important;visibility:visible !important;opacity:1 !important;padding:7px 0 !important;font-size:11px !important;line-height:1.35 !important}
  .premium-footer .footer-contact.vertical{display:grid !important;gap:8px !important;overflow:visible !important}

  /* Mobile navigation/dropdown keeps every service page accessible. */
  .premium-nav .menu.open,.premium-nav .menu.active{display:flex !important;max-height:calc(100vh - 82px) !important;overflow-y:auto !important}
  .premium-nav .drop.open .drop-content{display:block !important;max-height:none !important;overflow:visible !important}
  .premium-nav .drop-content a{display:block !important;visibility:visible !important;opacity:1 !important}
}

@media (max-width:420px){
  .premium-footer .two-col-services{columns:auto !important;display:grid !important;grid-template-columns:1fr !important}
}
