
/* ===============================
   CRITICAL OVERRIDES (SAFE FALLBACKS)
   - Grid & container sizing
   - Footer 3-column layout
   - Form controls
   - Dropdown behavior
   - Image sizing
================================== */

/* --- Containers --- */
.container, .container-fluid {
  width:100%;
  padding-right:15px; padding-left:15px;
  margin-right:auto; margin-left:auto;
}
.container-fluid { max-width:100%; }
@media (min-width:576px){ .container{max-width:540px} }
@media (min-width:768px){ .container{max-width:720px} }
@media (min-width:992px){ .container{max-width:960px} }
@media (min-width:1200px){ .container{max-width:1140px} }
@media (min-width:1400px){ .container{max-width:1320px} }

/* --- Grid basics --- */
.row{display:flex;flex-wrap:wrap;margin-left:-15px;margin-right:-15px}
[class*="col-"]{position:relative;width:100%;padding-left:15px;padding-right:15px;box-sizing:border-box}

/* Columns used in footer & common sections */
@media (min-width:576px){ .col-sm-6{flex:0 0 50%;max-width:50%} }
@media (min-width:768px){ .col-md-6{flex:0 0 50%;max-width:50%} .col-md-4{flex:0 0 33.333333%;max-width:33.333333%} }
@media (min-width:992px){
  .col-lg-3{flex:0 0 25%;max-width:25%}
  .col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}
  .col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}
  .col-lg-6{flex:0 0 50%;max-width:50%}
}
@media (min-width:1200px){
  .col-xl-3{flex:0 0 25%;max-width:25%}
  .col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}
  .col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}
  .col-xl-12{flex:0 0 100%;max-width:100%}
}

/* --- Footer specific safety --- */
.site-footer .widget, footer .widget { margin-bottom:24px }
.site-footer img, footer img, .widget-about-logo img { max-width:100%; height:auto; display:block }
.footer .logo img, .footer-logo img, footer .logo img { max-height:60px; height:auto; width:auto; object-fit:contain }

/* Ensure 3 columns stay on lg and above */
@media (min-width:992px){
  footer .col-lg-4, .site-footer .col-lg-4 { flex:0 0 33.333333%; max-width:33.333333% }
}

/* --- Forms --- */
.form-group{display:block;width:100%;margin-bottom:1rem}
.form-control{display:block;width:100%;min-height:2.375rem;padding:.375rem .75rem;line-height:1.5;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.12);border-radius:.25rem}
select.form-control{height:auto}
.form-group label{display:inline-block;margin-bottom:.5rem}
.form-control:focus{outline:0;box-shadow:0 0 0 .1rem rgba(0,0,0,.06)}

/* --- Dropdowns --- */
.dropdown-menu{display:none;position:absolute;z-index:1050;will-change:transform,opacity}
.dropdown.show>.dropdown-menu,.dropdown-menu.show{display:block}
/* Comment next line if you prefer hover-open */
.navbar .dropdown:hover>.dropdown-menu{display:none}

/* --- Images general safety --- */
img{max-width:100%;height:auto}
/* Avoid unintended zoom from transforms */
.site-footer, footer { transform:none !important }

/* --- Animation safety (in case animate classes purged) --- */
.wow, .aos-init, .aos-animate, .animated { opacity:1 !important; visibility:visible !important; transform:none !important }

/* === Menu dropdown (sub-menu) fixes === */
.main-menu ul { list-style:none; margin:0; padding:0 }
.main-menu li { position:relative }
.main-menu .sub-menu {
  position:absolute;
  left:0; top:100%;
  min-width:220px;
  display:none;
  z-index:1100;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  padding:8px 0;
}
.main-menu .sub-menu li > a { display:block; padding:8px 16px; white-space:nowrap }

/* Desktop: open on hover */
@media (min-width: 992px){
  .main-menu li.menu-item-has-children:hover > .sub-menu { display:block }
}

/* Mobile: keep submenus hidden until toggled by JS (theme) */
@media (max-width: 991.98px){
  .main-menu .sub-menu { position:static; width:100%; box-shadow:none; border:0 }
}

/* Ensure flaticon pseudo-elements render with Flaticon font */
[class^="flaticon-"]:before, [class*=" flaticon-"]:before {
  font-family: "Flaticon" !important;
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ===== Nice Select fallback styling (prevents full list showing) ===== */
.nice-select{position:relative;display:block;min-height:2.375rem;line-height:2.0rem;padding:.375rem .75rem;border:1px solid rgba(0,0,0,.12);border-radius:.25rem;background:#fff;cursor:pointer}
.nice-select .current{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:24px}
.nice-select:after{content:"";position:absolute;right:12px;top:50%;width:6px;height:6px;border:2px solid currentColor;border-left:0;border-top:0;transform:translateY(-50%) rotate(45deg);}
.nice-select .list{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 8px 20px rgba(0,0,0,.08);margin:4px 0 0;padding:6px 0;z-index:1200;max-height:220px;overflow:auto;list-style:none}
.nice-select.open .list{display:block}
.nice-select .option{list-style:none;display:block;padding:8px 12px;cursor:pointer}
.nice-select .option:hover{background:rgba(0,0,0,.04)}
.nice-select .option.selected{font-weight:600}
/* remove bullets if any global ul style leaks */
.nice-select ul, .nice-select li{list-style:none;margin:0;padding:0}
/* If you want to temporarily disable nice-select and use native select, uncomment next line */
/* .nice-select{display:none!important} */
