body {
    background-color: #e9ebee;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    padding-top: 72px; /* съобразено с по-високия header */
}

body.noscroll {
  overflow: hidden;
  padding-right: var(--scrollbar-comp, 0px);
}

.navbar {
    background-color: #3b5998 !important;
    min-height: 64px; /* по-висок header за четливост */
}

.navbar .nav-link,
.navbar .navbar-brand {
    color: #fff !important;
}

.container {
    max-width: 800px;
}

.card {
    border: 1px solid #ddd;
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    background-color: #fff;
    margin-bottom: 1.5rem;
}

.btn-primary {
    background-color: #4267b2;
    border-color: #4267b2;
}

.btn-primary:hover {
    background-color: #365899;
    border-color: #365899;
}

.btn-outline-primary {
    color: #4267b2;
    border-color: #4267b2;
}

.btn-outline-primary:hover {
    background-color: #4267b2;
    color: #fff;
}

textarea.form-control {
    resize: vertical;
}
img.img-fluid, .img-profile {
    max-width: 100%;
    height: auto;
}
img.img-fluid {
    border-radius: 4px;
}
.img-profile {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
.navbar-brand .logo-paw {
    color: white !important;
    font-size: 1.4em;
}

/* Desktop navbar spacing for links */
.navbar .nav-link {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
}
.navbar .navbar-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.25rem;
}

/* Allow header menu to wrap onto two lines on narrower screens */
.navbar-nav { flex-wrap: wrap; gap: 8px; }

/* Slightly tighter horizontal padding on medium widths to fit text */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .navbar .nav-link { padding-left: .5rem; padding-right: .5rem; }
}

/* Minimal dropdown styles (fallback if Bootstrap CSS not present) */
.dropdown { position: relative; }
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 2000;
  display: none;
  min-width: 10rem;
  padding: .5rem 0;
  margin: .125rem 0 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: .25rem;
}
.dropdown-menu.show { display: block; }
.dropdown-item { display: block; width: 100%; padding: .25rem 1rem; clear: both; color: #212529; text-decoration: none; white-space: nowrap; }
.dropdown-item:hover { background-color: #f8f9fa; color: #16181b; }

/* Language toggle: show icon + text on all breakpoints */

/* Desktop perfect centering of menu for public site header only */
@media (min-width: 768px) {
  .site-navbar .container-fluid { position: relative; }
  .site-navbar .navbar-nav { position: absolute; left: 50%; transform: translateX(-50%); }
}
.d-none {
    display: none;
}
.video-embed {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    margin-bottom: 1em;
}
.video-embed iframe {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    border-radius: 8px;
    border: none;
}

.icon-paw {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: -0.2em;
    fill: currentColor;
}

.icon-paw.icon-lg {
    width: 1.4em;
    height: 1.4em;
    vertical-align: -0.25em;
}

/* Like button pulse animation (shared) */
@keyframes heart-pulse {
  0% { transform: scale(1); }
  30% { transform: scale(1.4); }
  60% { transform: scale(1); }
  100% { transform: scale(1); }
}
.pulse { animation: heart-pulse 0.4s ease; }
.drawer {
    position: fixed;
    top: 0;
    left: -250px;
    width: 250px;
    height: 100%;
    background: #fff;
    box-shadow: 2px 0 5px rgba(0,0,0,0.2);
    padding: 70px 20px 20px 20px; /* ⬅️ вместо само padding: 20px */
    transition: left 0.3s ease;
    z-index: 1100;
}
.drawer.open {
    left: 0;
}
.drawer a {
    display: flex;
    align-items: center;
    padding: 12px 0;
    color: #333;
    text-decoration: none;
    font-size: 18px;
    border-bottom: 1px solid #eee;
}
.drawer a:hover {
    color: #007BFF;
}
.drawer a i {
    margin-right: 8px;
    font-size: 18px;
    vertical-align: middle;
}
/* Mobile Header */
.main-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 64px; /* увеличена височина */
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center; /* Центрира съдържанието по средата */
    padding: 8px 16px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    z-index: 1100;
}
/* Floating Action Button */
.fab {
    position: fixed;
    bottom: 80px;
    right: 20px;
    width: 56px;
    height: 56px;
    background: #007BFF;
    color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
    cursor: pointer;
}
.fab i { display:none; }
.fab .fab-svg { width: 26px; height: 26px; }
.fab .fab-svg line { stroke: #fff; stroke-width: 3; stroke-linecap: round; }
.menu-btn {
    position: absolute;
    left: 15px; /* Лепен бутон вляво */
    font-size: 26px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: transparent; /* без фон */
    border: 0;               /* без рамка */
    color: #222;
    border-radius: 10px;     /* меко фокус очертание */
    line-height: 1;
    transition: background-color .2s ease, transform .05s ease;
    -webkit-tap-highlight-color: transparent; /* iOS highlight off */
    appearance: none;
}

/* Fallback icon for burger when Font Awesome is missing */
.fa-missing .menu-btn i { display:none; }
.fa-missing .menu-btn::before { content:'≡'; font-size:26px; line-height:1; }

.menu-btn:hover { background: rgba(0,0,0,.06); }
.menu-btn:active { transform: scale(.96); }
.menu-btn:focus { outline: none; }
.menu-btn:focus-visible {
  outline: 2px solid #0d6efd; /* видим и достъпен фокус */
  outline-offset: 2px;
}
.logo {
    font-size: 22px;
    text-align: center;
}
/* Floating Action Button Hover */
.fab:hover { background: #0056b3; }

/* lift FAB above safe area */
.fab { bottom: calc(80px + env(safe-area-inset-bottom)); }
/* фон зад менюто */
.drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.25);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
  z-index: 1099; /* точно под drawer, над всичко друго */
}
.drawer.open + .drawer-backdrop {
  opacity: 1;
  pointer-events: auto;
}
/* Responsive Settings Enhancements */
@media (max-width: 767.98px) {
    .container {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        max-width: 100%;
    }
    .logo {
        font-size: 24px;
        margin-left: 10px; /* малко въздух от бутона */
        text-align: center;
        flex-grow: 1; /* разширява се */
        }
    .menu-btn {
            flex-shrink: 0; /* не се свива бутона */
        }
    body {
        padding-bottom: calc(70px + env(safe-area-inset-bottom)); /* колкото е височината на .bottom-nav */
    }
    }

/* Responsive Settings */
@media (min-width: 768px) {
    body {
        padding-top: 72px; /* десктоп: синхрон с min-height */
    }
    .menu-btn {
        display: none;
    }
    .drawer {
        display: none;
    }
    .bottom-nav, .fab {
        display: none;
    }
    .main-header {
        display: none;
    }
}

/* Mobile specific styles */
@media (max-width: 767.98px) {
    body {
        padding-top: 64px; /* синхрон с по-високия мобилен header */
        padding-bottom: 70px; /* за bottom navigation */
    }
    
    .main-header {
        display: flex !important;
    }
    
    .drawer {
        display: block !important;
    }
    
    .bottom-nav {
        display: flex !important;
    }
    
    .fab {
        display: flex !important;
    }
    
.navbar {
        display: none !important;
    }
}

.like-button,
.like-btn {
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.like-button .like-icon,
.like-btn .like-icon {
    color: #b5b5b5;
    transition: color 0.2s ease, transform 0.2s ease;
}

.like-button .like-count,
.like-btn .like-count {
    transition: color 0.2s ease;
}

.like-button.liked,
.like-btn.liked,
.btn-outline-danger.like-button.liked,
.btn-outline-danger.like-btn.liked {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #fff !important;
}

.like-button.liked .like-icon,
.like-btn.liked .like-icon {
    color: #fff !important;
}

.like-button.liked .like-count,
.like-btn.liked .like-count {
    color: #fff !important;
}

.like-icon.pulse {
    animation: heart-pulse 0.4s ease;
}
