/* =========================================================
AFISHA HEADER — FINAL CLEAN VERSION
========================================================= */

:root{
  --header-top-desktop:72px;
  --header-top-mobile:64px;
  --header-nav-desktop:60px;
  --header-nav-mobile:46px;
}

/* ---------- BASE ---------- */
.site-header{
  position:relative;
  z-index:1000;
  background:#fff;
  margin:0;
  padding:0;
}

.site-header .container{
  width:min(100% - 40px, var(--grid-max));
  margin:0 auto;
  padding:0;
}

.site-header a{
  text-decoration:none;
}

/* ---------- TOP WHITE HEADER ---------- */
.site-header-top{
  position:relative;
  min-height:var(--header-top-desktop);
  display:flex;
  align-items:center;
  justify-content:center;
}

.site-header-left{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  z-index:3;
}

.site-header-center{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  pointer-events:none;
}

.site-header-center .site-logo{
  pointer-events:auto;
}

.site-header-right{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-width:170px;
  z-index:3;
}

.site-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-family:"Tinos", Georgia, serif;
  font-size:36px;
  line-height:1;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--color-text);
}

.logo-heart{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--color-accent-red);
  font-size:10px;
  line-height:1;
  transform:translateY(-1px);
}

.burger-btn,
.search-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  padding:0;
  color:var(--color-text);
  cursor:pointer;
  line-height:1;
  transition:color .2s ease, transform .18s ease;
}

.burger-btn{
  font-size:34px;
}

.search-btn{
  width:28px;
  height:28px;
  margin-left:14px;
}

.search-btn svg{
  width:24px;
  height:24px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.header-social{
  display:flex;
  align-items:center;
  gap:14px;
}

.header-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  color:var(--color-text);
  transition:color .2s ease, transform .18s ease;
}

.header-social a svg{
  width:16px;
  height:16px;
  display:block;
}

.header-social a svg,
.header-social a svg *{
  fill:currentColor !important;
  stroke:currentColor !important;
}

.burger-btn:hover,
.burger-btn:focus,
.burger-btn[aria-expanded="true"],
.search-btn:hover,
.search-btn:focus,
.header-social a:hover{
  color:var(--color-accent-red);
}

.header-social a:hover{
  transform:translateY(-1px);
}

/* ---------- BLACK CATEGORY BAR ---------- */
.site-header-nav{
  position:relative;
  background:#000;
  min-height:var(--header-nav-desktop);
  display:block;
  overflow:hidden;
}

.site-header-nav > .container{
  width:min(100% - 40px, var(--grid-max));
}

.site-header-nav .main-nav{
  width:100%;
}

.site-header-nav .menu{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:42px;
  margin:0;
  padding:0;
  min-height:var(--header-nav-desktop);
  list-style:none;
}

.site-header-nav .menu > li{
  margin:0;
  padding:0;
  flex:0 0 auto;
}

.site-header-nav .menu > li > a{
  display:inline-block;
  color:#fff;
  font-size:16px;
  line-height:1;
  padding:0;
  text-transform:uppercase;
  letter-spacing:.02em;
  transition:color .2s ease;
  white-space:nowrap;
}

.site-header-nav .menu > li > a:hover,
.site-header-nav .menu > li > a:focus{
  color:var(--color-accent-red);
}

/* =========================
   HEADER MENU — CLEAN FIX
========================= */

/* Default */
.main-nav .menu > li > a {
    color: #fff;
    transition: color 0.2s ease;
}

/* Hover */
.main-nav .menu > li > a:hover {
    color: #ff1f2d;
}

/* ACTIVE */
.main-nav .menu > li.current-menu-item > a,
.main-nav .menu > li.current-menu-parent > a,
.main-nav .menu > li.current-menu-ancestor > a {
    color: #ff1f2d !important;
}

/* ---------- BURGER OVERLAY MENU ---------- */
.header-overlay-menu{
  position:fixed;
  top:calc(var(--header-top-desktop) + var(--header-nav-desktop));
  left:0;
  width:100%;
  z-index:99999;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px) scale(.98);
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
}

.header-overlay-menu.is-open{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}

.header-overlay-menu > .container{
  width:min(100% - 40px, 1380px);
  margin:0 auto;
  position:relative;
}

.overlay-menu-inner{
  position:relative;
  width:860px;
  max-width:100%;
  margin:0 auto;
  padding:24px 28px;
  border:1px solid rgba(255,80,80,.20);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 20px 50px rgba(0,0,0,.14);
}

.overlay-menu-layout{
  display:grid;
  grid-template-columns:minmax(260px,1.15fr) minmax(260px,.85fr);
  gap:32px;
}

.overlay-menu-featured{
  padding-right:28px;
  border-right:1px solid rgba(0,0,0,.08);
}

.overlay-menu-side{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}

.overlay-menu-column{
  min-width:0;
}

.overlay-submenu{
  list-style:none;
  margin:0;
  padding:0 0 0 28px;
}

.overlay-submenu-featured{
  padding-left:28px;
}

.overlay-submenu li{
  margin:0 0 8px;
}

.overlay-submenu li:last-child{
  margin-bottom:0;
}

.overlay-submenu a{
  display:inline-block;
  color:rgba(20,20,20,.92);
  font-weight:500;
  font-size:15px;
  line-height:1.35;
  transition:color .2s ease, transform .18s ease;
}

.overlay-submenu a:hover{
  color:var(--color-accent-red);
  transform:translateX(3px);
}

.overlay-menu-heading{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
  color:#000;
  font-size:17px;
  font-weight:700;
  line-height:1.2;
  transition:color .2s ease;
}

.overlay-menu-heading__icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  color:#111;
  opacity:.75;
  transition:color .2s ease, transform .18s ease;
}

.overlay-menu-heading__icon svg{
  width:100%;
  height:100%;
  fill:currentColor;
  stroke:currentColor;
}

.overlay-menu-heading:hover{
  color:var(--color-accent-red);
}

.overlay-menu-heading:hover .overlay-menu-heading__icon{
  color:var(--color-accent-red);
  transform:translateX(2px);
}

.overlay-menu-close{
  display:none;
}


/* ---------- FLOATING SEARCH ---------- */
.header-search-dropdown{
  display:none;
  position:fixed;
  top:84px;
  right:56px;
  z-index:100001;
  width:590px;
  max-width:calc(100vw - 112px);
}

.header-search-dropdown.is-open{
  display:block;
}

.search-dropdown-inner{
  width:100%;
  padding:0;
  background:#fff;
  border:1px solid #ddd;
  border-radius:0;
  box-shadow:0 18px 42px rgba(0,0,0,.14);
  overflow:hidden;
}

.header-search-dropdown .afisha-search-form{
  display:block;
  width:100%;
  margin:0;
}

.header-search-dropdown .afisha-search-form__row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 104px;
  width:100%;
  margin:0;
  padding:0;
  gap:0;
}

.header-search-dropdown .afisha-search-form__input{
  width:100%;
  min-width:0;
  height:54px;
  margin:0;
  padding:0 16px;
  border:0;
  border-right:1px solid #d8d8d8;
  border-radius:0;
  background:#fff;
  color:#111;
  font-size:16px;
  box-sizing:border-box;
}

.header-search-dropdown .afisha-search-form__button{
  width:104px;
  min-width:104px;
  height:54px;
  margin:0;
  padding:0 16px;
  border:0;
  border-radius:0;
  background:#111;
  color:#fff;
  cursor:pointer;
  white-space:nowrap;
  box-sizing:border-box;
  transition:background .2s ease;
}

.header-search-dropdown .afisha-search-form__button:hover{
  background:var(--color-accent-red);
}

.header-search-dropdown .afisha-search-autocomplete{
  display:none;
  margin:0;
  border-top:1px solid #ddd;
  background:#fff;
  max-height:480px;
  overflow-y:auto;
}

.header-search-dropdown .afisha-search-autocomplete.active{
  display:block;
}

.header-search-dropdown .afisha-search-autocomplete__discovery{
  padding:14px 16px 16px;
}

.header-search-dropdown .afisha-search-autocomplete__section + .afisha-search-autocomplete__section{
  margin-top:16px;
}

.header-search-dropdown .afisha-search-autocomplete__heading{
  margin-bottom:10px;
  font-size:11px;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8a8a8a;
  font-weight:700;
}

.header-search-dropdown .afisha-search-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.header-search-dropdown .afisha-search-tags a{
  display:inline-flex;
  align-items:center;
  padding:8px 10px;
  border:1px solid #e5e5e5;
  border-radius:999px;
  font-size:13px;
  line-height:1.2;
  color:#111;
  background:#fafafa;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}

.header-search-dropdown .afisha-search-tags a:hover{
  color:var(--color-accent-red);
  border-color:rgba(255,31,45,.25);
  background:#fff;
}

.header-search-dropdown .afisha-search-item{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:12px;
  padding:12px;
  border-bottom:1px solid #f1f1f1;
  text-decoration:none;
  color:#111;
}

.header-search-dropdown .afisha-search-item:hover{
  background:#fafafa;
}

.header-search-dropdown .afisha-search-item__thumb{
  width:72px;
  height:72px;
  background:#f3f3f3;
  overflow:hidden;
}

.header-search-dropdown .afisha-search-item__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.header-search-dropdown .afisha-search-item__thumb-placeholder{
  display:block;
  width:100%;
  height:100%;
  background:#efefef;
}

.header-search-dropdown .afisha-search-item__content{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.header-search-dropdown .afisha-search-item__category{
  margin-bottom:6px;
  font-size:10px;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--color-accent-red);
  font-weight:700;
}

.header-search-dropdown .afisha-search-item__title{
  font-size:15px;
  line-height:1.32;
  font-weight:600;
  color:#111;
}

.header-search-dropdown .afisha-search-autocomplete__empty{
  padding:14px 16px;
  font-size:14px;
  color:#666;
}

.header-search-dropdown .afisha-search-autocomplete__footer{
  padding:12px 16px;
  border-top:1px solid #eee;
  background:#fafafa;
}

.header-search-dropdown .afisha-search-autocomplete__all{
  display:inline-block;
  font-size:14px;
  line-height:1.3;
  font-weight:600;
  color:#111;
}

.header-search-dropdown .afisha-search-autocomplete__all:hover{
  color:var(--color-accent-red);
}

@media (max-width: 991px){
  .header-search-dropdown{
    top:64px;
    left:12px;
    right:12px;
    width:auto;
    max-width:none;
  }

  .header-search-dropdown .afisha-search-form__row{
    grid-template-columns:minmax(0, 1fr) 96px;
  }

  .header-search-dropdown .afisha-search-form__input{
    height:48px;
    font-size:15px;
  }

  .header-search-dropdown .afisha-search-form__button{
    width:96px;
    min-width:96px;
    height:48px;
  }
}

/* ---------- DESKTOP ---------- */
@media (min-width: 992px){
  .desktop-only{
    display:flex !important;
  }

  .site-header-nav{
    display:block !important;
  }
}

/* ---------- MOBILE / TABLET ---------- */
@media (max-width: 991px){
  body{
    overflow-x:hidden;
  }

  .site-header{
    position:sticky;
    top:0;
    z-index:10000;
    background:#fff;
  }

  .site-header .container{
    width:100%;
    max-width:100%;
    padding:0 16px;
    margin:0 auto;
  }

  .site-header-top{
    min-height:var(--header-top-mobile);
  }

  .site-header-left,
  .site-header-right{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
  }

  .site-header-left{
    left:16px;
  }

  .site-header-right{
    right:16px;
    min-width:auto;
  }

  .site-header-center{
    width:100%;
    justify-content:center;
  }

  .site-logo{
    font-size:24px;
    gap:10px;
  }

  .burger-btn{
    font-size:32px;
  }

  .header-social{
    display:none !important;
  }

  .search-btn{
    margin-left:0;
    width:28px;
    height:28px;
  }

  .site-header-nav{
    display:block !important;
    min-height:var(--header-nav-mobile);
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .site-header-nav::-webkit-scrollbar{
    display:none;
  }

  .site-header-nav > .container{
    width:100%;
    max-width:100%;
    padding:0 12px;
  }

  .site-header-nav .main-nav{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
  }

  .site-header-nav .menu{
    justify-content:flex-start;
    gap:18px;
    min-height:var(--header-nav-mobile);
    padding:0;
    width:max-content;
    min-width:max-content;
  }

  .site-header-nav .menu > li > a{
    font-size:12px;
    line-height:1;
    white-space:nowrap;
  }

  .header-overlay-menu{
    top:var(--header-top-mobile);
    height:calc(100vh - var(--header-top-mobile));
    padding:12px;
    overflow-y:auto;
    background:rgba(255,255,255,.02);
  }

  .header-overlay-menu > .container{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
  }

  .overlay-menu-inner{
    width:100%;
    max-width:none;
    margin:0;
    padding:18px 18px 24px;
    border-radius:18px;
    background:rgba(255,255,255,.97);
    box-shadow:0 14px 34px rgba(0,0,0,.18);
  }

  .overlay-menu-layout{
    grid-template-columns:1fr;
    gap:18px;
  }

  .overlay-menu-featured{
    padding-right:0;
    padding-bottom:14px;
    border-right:0;
    border-bottom:1px solid rgba(0,0,0,.08);
  }

  .overlay-menu-side{
    grid-template-columns:1fr;
    gap:18px;
  }

  .overlay-submenu{
    padding-left:16px;
  }

  .overlay-submenu a{
    font-size:15px;
    line-height:1.45;
  }

  .overlay-menu-heading{
    font-size:18px;
    line-height:1.25;
  }

  .overlay-menu-close{
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:10px;
    right:10px;
    width:36px;
    height:36px;
    border:0;
    background:transparent;
    color:#111;
    font-size:28px;
    line-height:1;
    cursor:pointer;
    z-index:2;
  }

  .header-search-dropdown{
    top:var(--header-top-mobile);
    left:12px;
    right:12px;
    width:auto;
  }

  .search-dropdown-inner{
    width:100%;
    max-width:none;
    border-radius:16px;
  }
}

/* ---------- MOBILE LANDSCAPE ---------- */
@media (max-width: 991px) and (orientation: landscape){
  .site-header-nav{
    display:block !important;
  }

  .site-header-nav .menu{
    min-height:42px;
    gap:16px;
  }

  .site-header-nav .menu > li > a{
    font-size:12px;
  }
}