/* PneuParking theme (pneuparking.cz) */
:root{
  --pp-green: #007d00;
  --pp-green-dark: #006800;
  --pp-gray-900:#111827;
  --pp-gray-700:#374151;
  --pp-gray-600:#4b5563;
  --pp-gray-500:#6b7280;
  --pp-gray-300:#d1d5db;
  --pp-gray-200:#e5e7eb;
  --pp-bg:#f5f6f8;
  --pp-radius: 14px;
}

html, body { height: 100%; }
body{
  background: var(--pp-bg);
  color: var(--pp-gray-900);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

a{ color: var(--pp-green); }
a:hover{ color: var(--pp-green-dark); }

.pp-container{
  max-width: 1100px;
}

/* Headings similar to pneuparking.cz */
h1, h2, h3{
  letter-spacing: -0.02em;
}
h1{
  font-weight: 800;
  margin-bottom: .25rem;
}
h4{
  color: var(--pp-gray-700);
  font-weight: 600;
}

.pp-logo {
    height: 44px;
    width: auto;
    display: block;
    object-fit: contain;
}

/* mobil */
@media (max-width: 576px) {
    .pp-logo {
        height: 34px;
    }

    .pp-footer .pp-social-icon {
        width: 30px;
        height: 30px;
    }

    .pp-footer svg.pp-social-facebook {
        transform: translateY(6px);
    }
}

/* Navbar */
.navbar.pp-navbar {
    background: #fff !important;
    border-bottom: 1px solid var(--pp-gray-200);
    box-shadow: none !important;
    padding: .75rem 0;
}

.navbar-brand img {
    display: block;
}

.pp-brand{
  text-decoration: none;
  font-weight: 900;
  letter-spacing: -0.03em;
  font-size: 1.6rem;
  line-height: 1;
  text-transform: none;
}
.pp-brand .pp-brand-left{ color:#555; }
.pp-brand .pp-brand-right{ color:var(--pp-green); }

/* ===== Header menu like pneuparking.cz (exact behavior) ===== */

/* default: green + underline */
.navbar.pp-navbar .nav-link {
    color: var(--pp-green) !important;
    text-decoration: underline;
    text-underline-offset: .25em;
}

/* hover/focus: gray/black, underline stays */
.navbar.pp-navbar .nav-link:hover,
.navbar.pp-navbar .nav-link:focus {
    color: var(--pp-gray-900) !important;
    text-decoration: underline; /* stays */
    text-underline-offset: .25em;
}

/* active/current: gray/black, underline removed */
.navbar.pp-navbar .nav-link.active {
    color: var(--pp-gray-900) !important;
    text-decoration: none !important;
}

/* Logout in navbar – align like other nav-links */
/*.pp-navbar .pp-logout-form{
  display: flex;*/     /* zarovná do řádku jako ostatní */
  /*margin: 0;
}

.pp-navbar .pp-logout-btn{
  background: transparent;
  border: 0;
  font: inherit;
  cursor: pointer;*/

  /* DŮLEŽITÉ: neseber padding nav-linku */
  /*line-height: 1.2;
  display: inline-flex;
  align-items: center;
}*/

/* zrušení modrého oválu (focus ring) */
/*.pp-navbar .pp-logout-btn:focus,
.pp-navbar .pp-logout-btn:focus-visible{
  outline: none !important;
  box-shadow: none !important;*/
}

/* Main surface */
.pp-surface{
  background:#fff;
  border: 1px solid var(--pp-gray-200);
  border-radius: calc(var(--pp-radius) + 2px);
  box-shadow: 0 10px 25px rgba(0,0,0,.06);
  padding: 1.25rem;
}

/* Cards */
.card{
  border-radius: calc(var(--pp-radius) + 2px);
  border-color: var(--pp-gray-200);
  box-shadow: 0 10px 25px rgba(0,0,0,.06);
}
.card-header{
  background:#fff;
  border-bottom: 1px solid var(--pp-gray-200);
  font-weight: 700;
}

/* Buttons */
.btn{
  border-radius: 999px;
  font-weight: 700;
  padding: .55rem 1.05rem;
}
.btn-primary{
  background: var(--pp-green) !important;
  border-color: var(--pp-green) !important;
}
.btn-primary:hover, .btn-primary:focus{
  background: var(--pp-green-dark) !important;
  border-color: var(--pp-green-dark) !important;
}
.btn-outline-primary{
  color: var(--pp-green) !important;
  border-color: var(--pp-green) !important;
}
.btn-outline-primary:hover{
  background: var(--pp-green) !important;
  color:#fff !important;
}
.btn-secondary{
  background:#e5e7eb !important;
  border-color:#e5e7eb !important;
  color:#111827 !important;
}
.btn-secondary:hover{
  background:#d1d5db !important;
  border-color:#d1d5db !important;
}

/* Inputs */
.form-control, .form-select{
  border-radius: var(--pp-radius);
  border-color: var(--pp-gray-300);
  padding: .7rem .85rem;
}
.form-control:focus, .form-select:focus{
  border-color: var(--pp-green);
  box-shadow: 0 0 0 .2rem rgba(0,125,0,.15);
}
.form-check-input:checked{
  background-color: var(--pp-green);
  border-color: var(--pp-green);
}

/* Validation */
.field-validation-error, .text-danger{
  color: #b91c1c !important;
}
.validation-summary-errors{
  background:#fef2f2;
  border:1px solid #fecaca;
  border-radius: var(--pp-radius);
  padding:.75rem .9rem;
}

/* Tables - green header like price list */
.table{
  background:#fff;
}
.table thead th{
  background: var(--pp-green);
  color:#fff;
  font-weight: 800;
  border-color: var(--pp-green);
}
.table tbody td, .table tbody th{
  border-color: var(--pp-gray-200);
}
.table-hover tbody tr:hover{
  background: rgba(0,125,0,.06);
}

/* Calendar placeholders (CreateStep2) */
.pp-calendar-placeholder{
  height: 693px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: .75rem;
  background:#f8f9fa;
  border:1px solid #ddd;
  border-radius: 12px;
}
.pp-calendar-placeholder .spinner-border{
  width: 3rem;
  height: 3rem;
}
.pp-calendar-host{
  min-height: 693px;
  opacity:0;
}

/* FullCalendar tweaks (works with most versions) */
.fc .fc-button-primary{
  background: var(--pp-green) !important;
  border-color: var(--pp-green) !important;
  border-radius: 999px !important;
  font-weight: 700;
}
.fc .fc-button-primary:hover{
  background: var(--pp-green-dark) !important;
  border-color: var(--pp-green-dark) !important;
}
.fc .fc-toolbar-title{
  font-weight: 800;
}
.fc .fc-col-header-cell-cushion{
  color: var(--pp-gray-900);
  font-weight: 800;
}
.fc .fc-daygrid-day-number, .fc .fc-timegrid-axis-cushion{
  color: var(--pp-gray-700);
}
.fc .fc-highlight{
  background: rgba(0,125,0,.12) !important;
}

/* Footer like pneuparking.cz */
.pp-footer{
  margin-top: 3rem;
}
.pp-footer-top{
  background: #555;
  color: #fff;
  padding: 2rem 0;
}
/* Footer links: always white (internal + external), underline by default, no underline on hover */
.pp-footer-top .pp-footer-links a:link,
.pp-footer-top .pp-footer-links a:visited,
.pp-footer-top .pp-footer-links a:focus {
  color: #fff !important;
  text-decoration: underline;
  text-underline-offset: .25em;
}

.pp-footer-top .pp-footer-links a:hover {
  color: #fff !important;
  text-decoration: none;
}
.pp-footer-bottom{
  background:#fff;
  color:#6b7280;
  padding: 1.2rem 0;
  border-top: 1px solid var(--pp-gray-200);
}
.pp-footer-links{
  display:flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  justify-content: center;
  font-weight: 700;
  text-transform: uppercase;
  font-size: .85rem;
}


/* Social icons – pneuparking.cz (footer) */
.pp-footer .pp-social{
  display:flex;
  gap: .8rem;
  justify-content:center;
  margin-top: 1rem;
}

.pp-footer .pp-social a{
  display:inline-flex;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  align-items:center;
  justify-content:center;
  background: #fff !important;
  color: #555 !important;
  text-decoration: none !important;
}

.pp-footer .pp-social a:hover{
  background: rgba(255,255,255,.92) !important;
}

/* velikost SVG */
.pp-footer .pp-social-icon{
  width: 35px;
  height: 35px;
  display:block;
  fill: currentColor;
}

/* posun jen FB */
.pp-footer svg.pp-social-facebook {
    transform: translateY(7px);
}

/* IG bez posunu */
.pp-footer svg.pp-social-instagram {
    transform: none;
}

/* mobil */
@media (max-width: 576px) {
    .pp-logo {
        height: 34px;
    }

    .pp-footer .pp-social-icon {
        width: 30px;
        height: 30px;
    }

    .pp-footer svg.pp-social-facebook {
        transform: translateY(6px);
    }
}
