/* ===== style-header.css — Header refined (light gray + violet logo) ===== */

/* убираем фон wrapper */
.wrapper::before { display: none !important; }

/* основная структура */
.header {
    height: auto !important;
    background: transparent !important;
    overflow: visible !important;
}

/* фуллблид, нежный фон */
.header_bg {
    background: linear-gradient(180deg, #FCFCFD 0%, #F5F6FA 60%, #F2F3F7 100%) !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);

    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    width: 100vw !important;
    padding-inline: 16px !important;
}

/* внутренний контейнер */
.header__top{


    display: grid !important;
    grid-template-areas: "brand nav search" !important;




    max-width: 1200px !important;
    margin-inline: auto !important;


    grid-template-columns: minmax(auto, 280px) 1fr minmax(260px, 320px) !important; /* бренд | меню | поиск */
    align-items: center !important;
    justify-content: space-between !important;

    gap: 32px !important;   /* одинаковое расстояние между колонками */
    padding: 20px 0 !important;

}
.header__brand{ grid-area: brand; }
.header__nav{   grid-area: nav; }
.search{        grid-area: search; }


/* бренд */
.header__brand {
    display: flex;
    align-items: center;
    gap: 18px;
    text-decoration: none !important;
}
.header__brand-icon {
    width: 72px;
    height: auto;
    display: block;
}
.header__brand-title {
    display: block;
    font-weight: 600;
    font-size: 23px;
    line-height: 1.15;
    color: #2E2E48;
    margin-bottom: 4px;
}
.header__brand-desc {
    display: block;
    font-size: 15px;
    line-height: 1.3;
    color: #6B6B80;
    white-space: normal;
    overflow-wrap: anywhere;
    text-decoration: none;
}
.header__brand:hover,
.header__brand:hover .header__brand-title,
.header__brand:hover .header__brand-desc {
    text-decoration: none !important;
    border-bottom: 0 !important;
}

/* поиск */
.search {
    display: flex !important;
    align-items: center !important;
    height: 45px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);


    justify-self: end !important;
    width: 100% !important;
    max-width: 320px !important;

}
.search__input {
    flex: 1 1 auto !important;
    max-width: none !important;
    height: 45px !important;
    padding: 0 12px !important;
    border: 0 !important;
    outline: none !important;
    background: transparent !important;
    color: rgb(15, 39, 66) !important;
}
.search__input::placeholder {
    color: #555d66 !important;
}
.search__button {
    width: 44px !important;
    height: 44px !important;
    border: none !important;
    background: url('data:image/gif;base64,R0lGODlhCwALAIABAPdObv///yH5BAEAAAEALAAAAAALAAsAAAIYTIBge6z7XjNKzmalpa6zk4Cfg4xQaYIFADs=') no-repeat 50% 50% !important;
    opacity: 0.9;
}
.search__button:hover {
    opacity: 1;
}



/* ===== Мини-навигация справа ===== */

.header__nav{
    display: flex;
    flex-wrap: nowrap;                   /* на десктопе в одну строку */
    justify-content: center;
    align-items: center;
    gap: 32px;  /* расстояние между пунктами меню */

}

/* ссылки меню */
.header__link{
    font-size: 15px;
    font-weight: 500;
    color: #2E2E48;
    text-decoration: none;
    transition: color .2s ease;
    padding: 4px 0;                      /* чуть кликабельнее */
}
.header__link:hover{ color: #5A3E8C; }


/* === SEARCH BELOW NAV ON TABLETS & MOBILE === */

/* iPad и меньше: стек = бренд → меню → поиск (на белом фоне) */
@media (max-width: 1024px){
    .header__top{
        grid-template-columns: 1fr !important;
        grid-template-areas:
      "brand"
      "nav"
      "search" !important;
        gap: 12px !important;
        padding-bottom: 8px !important;   /* чуть воздуха под меню */
    }

    /* меню переносится на строки, аккуратно */
    .header__nav{
        justify-self: start;
        display: flex; flex-wrap: wrap;
        gap: 10px 18px; /* row-gap 10, column-gap 18 */
    }

    /* поиск — отдельным блоком, во всю ширину, на белом фоне */
    .search{
        justify-self: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        background: #fff !important;
        border: 1px solid rgba(15,23,42,.12) !important;
        box-shadow: 0 1px 2px rgba(16,24,40,.06);
    }

    /* убираем низ шапки и рисуем разделитель под меню, перед поиском */
    .header_bg{ border-bottom: 0 !important; }
    .header__top{ position: relative; }
    .header__top::after{
        content:""; position:absolute; left:0; right:0; bottom:-8px;
        height:1px; background: rgba(15,23,42,.08);
    }

    /* небольшой отступ, чтобы поиск не “лип” к линии */
    .search{ margin-top: 6px !important; }
}

/* телефоны компактнее */
@media (max-width: 430px){
    .header__brand-icon{ width: 44px; }
    .header__brand-title{ font-size: 19px; }
    .header__brand-desc{ font-size: 13px; }
    .header__link{ font-size: 14px; }
}
/* === MOBILE OVERLAP FIX (≤ 720px) === */
@media (max-width: 720px){
    /* один столбец: бренд → меню → поиск */
    .header__top{
        grid-template-columns: 1fr !important;
        grid-template-areas:
      "brand"
      "nav"
      "search" !important;
    }

    /* меню: даём нижний внутренний отступ, рисуем разделитель */
    .header__nav{
        position: relative; z-index: 2;
        flex-wrap: wrap;
        gap: 10px 18px;
        padding: 6px 0 10px;                  /* ↓ больше воздуха под меню */
    }

    /* поиск: всегда НИЖЕ меню и отступ от него */
    .search{
        position: relative; z-index: 1;       /* ниже слоя меню */
        margin-top: 10px !important;          /* ↑ разрыв между меню и поиском */
        justify-self: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* убираем «старую» линию из ::after, чтобы не перекрывалась с border-bottom у меню */
    .header__top::after{ content: none !important; }

    /* фон шапки – чуть больше нижний паддинг, чтобы скругление поиска не прилипало */
    .header_bg{ padding-bottom: 10px !important; }
}

/* очень узкие экраны (iPhone 390–430px) — ещё чуть воздуха */
@media (max-width: 430px){
    .search{ margin-top: 12px !important; }
    .header__nav{ gap: 8px 16px; }
}
