/* Обнуление стилей */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

body {
  /* Цвет фона вокруг "телефона" */
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 100vh;
    text-decoration: none;
}

a{
    text-decoration: none;
}
a:visited {
    color: inherit;
    text-decoration: none;
}

/* Контейнер приложения */
.app-container {
    width: 100%;
    max-width: 430px; /* Ширина как у iPhone 14/15 Pro Max */
    background-color: #fff;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: 0 0 50px rgba(0,0,0,0.5);
}

/* ШАПКА: Картинка с городом и текстом */
.header {
    width: 100%;
    height: 480px; /* Высота фона. Важно: должна совпадать с высотой вашей картинки */
    background-image: url('images/bg_city.jpg');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    flex-shrink: 0;
}

/* БЕЛАЯ ПАНЕЛЬ С КОНТЕНТОМ */
.content-panel {
    background: #ffffff;
    margin-top: -35px; /* Наплыв на картинку города */
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    padding: 24px 16px;
    flex-grow: 1;
    z-index: 10;
}

/* СЕКЦИЯ ПОИСКА */
.search-section {
    display: flex;
    gap: 12px;
    margin-bottom: 25px;
    height: 48px;
}

.search-bar {
    flex: 1;
    background: #f0f1f5;
    border-radius: 14px;
    display: flex;
    align-items: center;
    padding: 0 14px;
}

.search-icon {
    width: 20px;
    height: 20px;
    opacity: 0.4;
}

.search-bar input {
    background: none;
    border: none;
    outline: none;
    padding-left: 10px;
    font-size: 16px;
    color: #333;
    width: 100%;
}

.search-bar input::placeholder {
    color: #8e8e93;
}

/* КНОПКА ЗАКАЗЫ */
.orders-btn {
    background: #4a8df8;
    color: #fff;
    border: none;
    border-radius: 14px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

.orders-btn img {
    width: 18px;
    height: 18px;
}

/* СЕТКА СЕРВИСОВ (ИКОНКИ) */
.services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* Ровно 4 колонки */
    gap: 20px 10px;
}

.service-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Рамка иконки - РАСТЯГИВАЕМ КАРТИНКУ ТУТ */
.icon-wrapper {
    width: 100%;
    aspect-ratio: 1 / 1; /* Всегда квадратная */
    border-radius: 20px;
    overflow: hidden; /* Обрезает края картинки по радиусу */
    background: #f5f5f5; /* Цвет-заглушка */
}

.icon-wrapper img {
    width: 100%; /* Растянуть на всю ширину рамки */
    height: 100%; /* Растянуть на всю высоту рамки */
    object-fit: cover; /* Заполнить без черных полос */
    display: block;
}

.service-item span {
    font-size: 11px;
    margin-top: 8px;
    color: #2c2c2c;
    font-weight: 500;
    line-height: 1.2;
}

/* НИЖНЕЕ МЕНЮ */
.bottom-nav {
    position: sticky;
    bottom: 0;
    width: 100%;
    background: #ffffff;
    display: flex;
    justify-content: space-around;
    padding: 10px 0 25px; /* Нижний отступ для безрамочных экранов */
    border-top: 1px solid #f0f0f0;
    z-index: 100;
}

.nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    color: #8e8e93;
    font-size: 10px;
    flex: 1;
}

.nav-item.active {
    color: #4a8df8; /* Синий цвет для активной вкладки "Город" */
}

.nav-item img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

/* Убираем стандартные рамки кнопок */
button:focus {
    outline: none;
}