
.navbar {
  position: relative;
  background: linear-gradient(115deg, rgba(255,255,255,.96), rgba(255,247,237,.94)) !important;
  border-bottom: 1px solid rgba(251,113,133,.15);
  box-shadow: 0 10px 28px rgba(124,45,68,.12) !important;
}
.navbar::after {
  content: "";
  position: absolute;
  right: 6%; bottom: -1px; left: 6%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #fbbf24 18%, #fb7185 50%, #a855f7 82%, transparent);
  opacity: .72;
}
.navbar-brand { position: relative; z-index: 1; }
.navbar-brand img {
  height: 48px !important;
  filter: drop-shadow(0 5px 8px rgba(123,59,15,.18));
  transition: transform .22s ease;
}
.navbar-brand:hover img { transform: translateY(-1px) scale(1.04); }
.navbar-nav { gap: .25rem !important; }
.nav-link {
  position: relative;
  color: #4b2d3a !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
  padding: .58rem .78rem !important;
  transition: color .2s ease, background .2s ease, transform .2s ease !important;
}
.nav-link::after {
  content: "";
  position: absolute;
  right: .85rem; bottom: .32rem; left: .85rem;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, #fb7185, #a855f7);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .2s ease;
}
.nav-link:hover, .nav-link:focus, .nav-link.active {
  color: #a21caf !important;
  background: linear-gradient(135deg, rgba(251,113,133,.13), rgba(168,85,247,.10)) !important;
  transform: translateY(-1px);
}
.nav-link:hover::after, .nav-link:focus::after, .nav-link.active::after { transform: scaleX(1); }
.navbar-toggler {
  color: #a21caf !important;
  border: 1px solid rgba(168,85,247,.25) !important;
  border-radius: 12px !important;
  padding: .45rem .6rem !important;
}
.navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(168,85,247,.15) !important; }

.footer {
  background: #fff1ea !important;
  color: var(--text, #3f2430);
  border-top: 1px solid var(--border, rgba(251,113,133,.18)) !important;
  border-image: none !important;
}
.footer .footer-grid {
  display: grid;
  grid-template-columns: minmax(245px, 1.45fr) repeat(3, minmax(125px, .9fr));
  gap: 2rem;
}
.footer .footer-brand img { height: 48px; width: auto; filter: drop-shadow(0 4px 8px rgba(123,59,15,.14)); }
.footer .footer-desc { max-width: 360px; color: var(--muted, #7a4b57); margin: 1rem 0; }
.footer .footer-title { color: var(--text, #3f2430); font-weight: 800; font-size: 1.05rem; margin-bottom: .85rem; }
.footer .footer-links { display: flex; flex-direction: column; gap: .5rem; }
.footer .footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; }
.footer .footer-contact .footer-title { margin-bottom: .35rem; }
.footer .footer-links a, .footer .footer-contact a { color: var(--muted, #7a4b57); text-decoration: none; transition: color .18s ease, transform .18s ease; }
.footer .footer-links a:hover, .footer .footer-contact a:hover { color: var(--primary, #fb7185); transform: translateX(3px); }
.footer .footer-contact p { color: var(--muted, #7a4b57); margin: .25rem 0 0; }
.footer .footer-badges { display: flex; flex-wrap: wrap; gap: .55rem; }
.footer .footer-badge { padding: .32rem .7rem; border: 1px solid rgba(251,113,133,.25); border-radius: 999px; color: var(--primary, #fb7185); background: rgba(251,113,133,.08); font-size: .8rem; font-weight: 700; }
.footer .footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; margin-top: 2rem; padding-top: 1.3rem; border-top: 1px solid var(--border, rgba(251,113,133,.18)); color: var(--muted, #7a4b57); font-size: .9rem; }

.content-image-section .img-block {
  display: flex;
  justify-content: center;
}
.content-image-section .img-block img {
  display: block;
  width: 100%;
  max-width: 860px;
  max-height: 520px;
  height: auto;
  object-fit: contain;
  border-radius: 18px;
}
@media (max-width: 991.98px) { .navbar::after { right: 0; left: 0; } .navbar-nav { padding: .75rem 0 1rem; } .nav-link { padding: .72rem .9rem !important; } .footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .footer .footer-grid > :first-child { grid-column: 1 / -1; } }
@media (max-width: 575.98px) { .navbar-brand img { height: 40px !important; } .footer .footer-grid { grid-template-columns: 1fr; } .footer .footer-grid > :first-child { grid-column: auto; } }
