/* ServiceFinder Part 11: responsive polish. Loaded after the original theme CSS. */
:root { --sf-primary:#31549a; --sf-accent:#ff5a1f; --sf-border:#e4eaf3; --sf-soft:#f4f7fc; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { overflow-x:hidden; }
img, video, iframe { max-width:100%; }
input, select, textarea, button { max-width:100%; }
input, select, textarea { min-height:42px; }
textarea { min-height:110px; }
button, .btn, a.add-list { touch-action:manipulation; }
.container { width: min(100% - 30px, 1200px); }
.main-header { min-height:82px; }
.main-header .logo-holder img { max-width:100%; height:auto !important; max-height:76px; object-fit:contain; }
.main-header .sf-header-actions { gap:8px; }
.main-header .sf-header-actions .add-list { min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:10px 14px; border-radius:7px; }
.main-header .sf-customer-menu { min-width:190px; }
.main-menu nav li a { white-space:nowrap; }
/* Consistent cards and form surfaces */
.listing-item, .listing-item-container .listing-item, .dashboard-list-box, .reviews-comments-item,
.customer-dashboard-card, .provider-dashboard-card, .sf-card { border-radius:12px; }
.listing-item img, .widget-posts-img img { object-fit:cover; }
.custom-form input, .custom-form textarea, .custom-form select,
form input:not([type=checkbox]):not([type=radio]):not([type=file]), form select, form textarea {
  max-width:100%; box-sizing:border-box; border-radius:7px;
}
form button, .custom-form button { min-height:42px; }
/* Listing and detail content */
.listing-item-container { min-width:0; }
.listing-item { overflow:hidden; }
.listing-item-title, .listing-item-content, .listing-item-details { overflow-wrap:anywhere; }
.listing-single, .listing-single-content, .list-single-main-wrapper { min-width:0; }
.reviews-comments-item-text, .reviews-comments-header { min-width:0; overflow-wrap:anywhere; }
/* Tables remain usable on small screens */
.table-responsive, .admin-table-wrap { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
table { max-width:100%; }
/* Customer/provider dashboards */
.customer-dashboard, .provider-dashboard, .dashboard-content, .dashboard-listing-table { min-width:0; }
.dashboard-content .row, .provider-dashboard .row, .customer-dashboard .row { row-gap:16px; }
/* Footer */
.main-footer .footer-header, .main-footer .footer-inner, .main-footer .sub-footer { overflow:hidden; }
.main-footer .footer-widget { min-width:0; }
.main-footer .footer-contacts li, .main-footer .footer-list li { overflow-wrap:anywhere; }
.main-footer .sub-footer .container { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.main-footer .subfooter-nav ul { display:flex; flex-wrap:wrap; gap:14px; margin:0; }
@media (max-width: 1199px) {
  .main-header .sf-header-actions { right:12px; gap:6px; }
  .main-header .sf-header-actions .add-list { padding:9px 10px; font-size:12px; }
}
@media (max-width: 991px) {
  .container { width: min(100% - 24px, 760px); }
  .main-header { min-height:74px; }
  .main-header .logo-holder { max-width:48%; }
  .main-header .logo-holder img { max-height:64px; }
  .main-header .sf-header-actions { position:relative; top:auto; right:auto; transform:none; margin:8px 12px; justify-content:flex-end; flex-wrap:wrap; }
  .main-header .nav-holder { width:100%; }
  .listing-item-container.init-grid-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .listing-item-container.init-grid-items .listing-item { width:100%; margin:0; }
  .main-footer .footer-widget { margin-bottom:24px; }
}
@media (max-width: 767px) {
  .container { width:calc(100% - 24px); }
  h1 { font-size:27px; line-height:1.25; }
  h2 { font-size:23px; line-height:1.3; }
  .main-header { display:flex; flex-wrap:wrap; align-items:center; padding:7px 10px; }
  .main-header .logo-holder { position:relative; left:auto; top:auto; transform:none; width:auto; max-width:65%; margin:0 auto 0 0; }
  .main-header .logo-holder img { max-height:56px; width:auto; }
  .main-header .nav-button-wrap { position:relative; right:auto; top:auto; margin-left:auto; }
  .main-header .sf-header-actions { order:3; width:100%; margin:8px 0 2px; justify-content:center; }
  .main-header .sf-header-actions .add-list { min-height:38px; font-size:12px; padding:8px 10px; }
  .main-header .nav-holder { order:4; }
  .main-menu nav li a { padding:12px 14px; }
  .listing-item-container.init-grid-items { grid-template-columns:minmax(0,1fr); }
  .listing-item, .listing-item-container .listing-item { width:100%; }
  .listing-item .listing-item-content { padding:14px; }
  .listing-item .listing-item-title h3 { font-size:17px; line-height:1.35; }
  .listing-item-category-wrap { max-width:100%; }
  .listing-item-category-wrap span { overflow-wrap:anywhere; }
  .list-single-main-wrapper .row, .listing-single .row { margin-left:0; margin-right:0; }
  .list-single-main-wrapper [class*="col-"], .listing-single [class*="col-"] { padding-left:0; padding-right:0; }
  .listing-single .tabs-menu, .list-single-main-wrapper .tabs-menu { display:flex; flex-wrap:wrap; gap:6px; }
  .listing-single .tabs-menu li, .list-single-main-wrapper .tabs-menu li { margin:0; }
  .listing-single .tabs-menu a, .list-single-main-wrapper .tabs-menu a { padding:9px 10px; }
  .custom-form input, .custom-form select, .custom-form textarea, form input:not([type=checkbox]):not([type=radio]):not([type=file]), form select, form textarea { width:100%; }
  .main-footer .footer-header .row, .main-footer .footer-inner .row { display:flex; flex-direction:column; }
  .main-footer .footer-header [class*="col-"], .main-footer .footer-inner [class*="col-"] { width:100%; }
  .main-footer .subscribe-widget, .main-footer .subcribe-form { width:100%; }
  .main-footer .enteremail { width:calc(100% - 52px); }
  .main-footer .sub-footer .container { align-items:flex-start; flex-direction:column; }
  .main-footer .subfooter-nav ul { gap:10px 16px; }
  .dashboard-listing-table, .table-responsive { overflow-x:auto; }
  .dashboard-listing-table table, .table-responsive table { min-width:650px; }
  .customer-dashboard .row, .provider-dashboard .row { margin-left:-8px; margin-right:-8px; }
  .customer-dashboard [class*="col-"], .provider-dashboard [class*="col-"] { padding-left:8px; padding-right:8px; }
  .main-register-holder, .main-register { width:calc(100% - 20px); max-width:100%; }
}
@media (max-width: 420px) {
  .main-header .sf-header-actions { gap:6px; }
  .main-header .sf-header-actions .add-list { font-size:11px; padding:7px 8px; }
  .main-header .logo-holder { max-width:58%; }
  .main-header .logo-holder img { max-height:49px; }
  .listing-item .listing-item-title h3 { font-size:16px; }
  .main-footer .footer-logo a { font-size:22px !important; }
}
