/* Minimal Bootstrap replacement — grid handled by freshGrid.css */

/* Clearfix */
.clearfix::after,.container::after,.row::after { content:""; display:table; clear:both; }

/* Collapse (accordion) */
.collapse          { display: none; }
.collapse.in       { display: block; }
.collapsing        { position:relative; height:0; overflow:hidden; transition:height .35s ease; }

/* Panel (accordion "Standard wykonania") */
.panel             { margin-bottom:0; background:#fff; border:1px solid transparent; border-radius:4px; }
.panel-group       { margin-bottom:20px; }
.panel-group .panel + .panel { margin-top:5px; }
.panel-group .panel-heading  { border-bottom:0; }
.panel-group .panel-heading + .panel-collapse > .panel-body { border-top:1px solid #ddd; }
.panel-default     { border-color:#ddd; }
.panel-body        { padding:15px; }
.panel-heading     { padding:10px 15px; border-bottom:1px solid transparent; border-radius:3px 3px 0 0; }
.panel-title       { margin:0; font-size:16px; }
.panel-title > a   { color:inherit; display:block; text-decoration:none; }
.panel-title > a:hover { text-decoration:none; }

/* Navbar toggle (mobile menu) */
.navbar-toggle           { display:none; }
@media (max-width:991px) { .navbar-toggle { display:block; } }

.navbar-collapse         { padding:0 15px; overflow-x:visible; }
@media (min-width:992px) {
  .navbar-collapse       { display:block !important; height:auto !important; overflow:visible !important; }
}
@media (max-width:991px) {
  .navbar-collapse       { display:none; padding:0; overflow:hidden; }
  .navbar-collapse.in    { display:block; }
}

/* Responsive visibility */
.hidden            { display:none !important; }
@media (max-width:767px)                          { .hidden-xs { display:none !important; } }
@media (min-width:768px) and (max-width:991px)    { .hidden-sm { display:none !important; } }
@media (min-width:992px) and (max-width:1199px)   { .hidden-md { display:none !important; } }
@media (min-width:1200px)                         { .hidden-lg { display:none !important; } }
@media (min-width:768px)                          { .visible-xs { display:none !important; } }

/* Button base (framework overrides rest) */
.btn { display:inline-block; padding:6px 12px; font-size:14px; font-weight:400;
       line-height:1.43; text-align:center; cursor:pointer; border:1px solid transparent;
       border-radius:4px; text-decoration:none; vertical-align:middle; white-space:nowrap; }
.btn:active { outline:0; }
