/* ==========================================================================\n   Parkify Enterprise Overrides\n   Load this file LAST on every page.\n   Purpose: restrained enterprise hierarchy, consistent density, full responsiveness.\n   ========================================================================== */

:root {
  --pf-enterprise-radius-sm: 8px;
  --pf-enterprise-radius-md: 12px;
  --pf-enterprise-radius-lg: 16px;
  --pf-enterprise-page: 1440px;
  --pf-enterprise-content: 1200px;
  --pf-enterprise-shadow: 0 8px 24px rgba(0,0,0,.18);
}

html { font-size: 16px; }
body { line-height: 1.55; }

h1,.h1 { font-size: clamp(2rem,3.2vw,2.625rem); line-height: 1.12; letter-spacing: -.035em; font-weight: 750; }
h2,.h2 { font-size: clamp(1.5rem,2.2vw,1.875rem); line-height: 1.18; letter-spacing: -.025em; font-weight: 750; }
h3,.h3 { font-size: clamp(1.15rem,1.7vw,1.35rem); line-height: 1.3; letter-spacing: -.015em; font-weight: 700; }
h4,.h4 { font-size: 1.05rem; line-height: 1.35; letter-spacing: -.01em; font-weight: 700; }
h5,.h5,h6,.h6 { font-size: .95rem; line-height: 1.4; letter-spacing: 0; font-weight: 700; }

.pf-container,.container { width:min(100% - clamp(1rem,3vw,2rem),var(--pf-enterprise-content)); }
.pf-container--2xl { width:min(100% - clamp(1rem,3vw,2rem),var(--pf-enterprise-page)); }
.pf-section { padding-block:clamp(2rem,4vw,4rem); }
.pf-page-header { padding-block:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,3vw,2.5rem); }
.pf-hero { padding-block:clamp(3rem,6vw,5.5rem) clamp(2rem,4vw,3.5rem); }

.pf-card,.card,.pf-form__section,.pf-table-wrap,.pf-modal__dialog {
  border-radius:var(--pf-enterprise-radius-lg);
  box-shadow:var(--pf-enterprise-shadow);
}
.pf-card,.card { --pf-card-padding:clamp(.9rem,1.5vw,1.2rem); --pf-card-gap:.85rem; }
.pf-card--interactive:hover,.pf-parking-card:hover,.pf-hover-lift:hover { transform:translateY(-2px); }
.pf-card::after { display:none; }

.pf-stat-card__value,.pf-metric-card__value { font-size:clamp(1.5rem,2.4vw,2rem); line-height:1.1; letter-spacing:-.035em; }
.pf-pricing-card__amount { font-size:clamp(2rem,4vw,3.2rem); }
.pf-parking-card__price-value { font-size:clamp(1.1rem,1.6vw,1.35rem); letter-spacing:-.025em; }

:where(.pf-btn,.btn) { --pf-btn-local-radius:10px; font-weight:700; box-shadow:none; }
:where(.pf-btn,.btn):hover { transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.18); }

.pf-input,.pf-select,.pf-textarea,.form-control,.form-select,input.pf-control,select.pf-control,textarea.pf-control {
  min-height:44px;
  border-radius:10px;
  font-size:.9375rem;
}

.pf-navbar,.navbar { box-shadow:0 4px 14px rgba(0,0,0,.18); }
.pf-nav,.nav-menu { border-radius:10px; }
.pf-nav__link,.nav-link { min-height:2.35rem; border-radius:8px; }
.pf-brand__name { font-size:1.125rem; letter-spacing:-.025em; }

.pf-badge,.badge { min-height:1.65rem; padding:.28rem .58rem; font-weight:700; }
.pf-table thead th,.table thead th { font-weight:700; letter-spacing:.045em; }

@media (max-width: 768px) {
  h1,.h1 { font-size:clamp(1.75rem,8vw,2.15rem); }
  h2,.h2 { font-size:clamp(1.35rem,6.5vw,1.7rem); }
  .pf-section { padding-block:2rem; }
}

@media (max-width: 480px) {
  h1,.h1 { font-size:1.75rem; }
  h2,.h2 { font-size:1.35rem; }
  .pf-card,.card { --pf-card-padding:.85rem; }
}
