body {
    margin: 0;
}
header {
    padding: 20px;
    min-height: 40px;
    background-image: linear-gradient(to right, lightblue, blue);
}
main {
    padding: 20px;
    min-height: 750px;
    background-color: azure;
    font-family: Arial, Helvetica, sans-serif;
}
footer {
    padding: 20px;
    min-height: 40px;
    color: silver;
    background-color: gray;
}
p {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}
address {
    font-style: normal;
    background: #ffffff;
    border-radius: 10px;
    padding: 16px 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}
.h-title {
    display: flex;
    align-items: center;
    gap: 20px;
}
.h-logo {
    width: 100%;
    max-width: 100px;
    height: auto;
}
.h-text {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    font-size: 36px;
    text-align: center;
}
.column {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.pill {
    display: inline-block;
    padding: 20px;
    border-radius: 100px;
    margin: 10px 0;
    color: azure;
    background-color: #111111;
    text-decoration: none;
    font-family: arial, sans-serif;
    font-size: 18px;
    white-space: nowrap;
    text-align: center;
    cursor: pointer;
}
.pill:hover {
    background-color: #1d1d1d;
}
.h-cont {
    text-align: center;
    font-weight: bold;
    color: black; font-size: 18px;
}
.f-cont {
    text-align: center;
    color: white; font-size: 22px;
}
.price-block {
            background: linear-gradient(145deg, #f1f2f6, #ffffff);
            padding: 20px 24px;
            border-radius: 12px;
            margin: 20px 0;
            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.price-item {
            font-size: 20px;
            font-weight: bold;
            color: #e74c3c;
            margin-bottom: 8px;
}
.price-note {
            color: #7f8c8d;
            font-size: 15px;
            margin-top: 12px;
            font-style: italic;
}
ul, ol {
            margin: 0 0 20px 0;
            padding-left: 24px;
}
li {
            margin-bottom: 10px;
            line-height: 1.6;
}
.shapes-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            margin: 20px 0;
}
.shape-card {
            flex: 1 1 200px;
            background: #ffffff;
            padding: 16px 18px;
            border-radius: 10px;
            border-left: 4px solid #3498db;
            box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}
.shape-card img {
            width: 100%;
            max-width: 180px;
            height: auto;
            display: block;
            margin: 0 auto 12px auto;
}
.shape-card strong {
            font-size: 18px;
            display: block;
            margin-bottom: 6px;
            color: #1a1a2e;
}
.shape-note {
            font-size: 14px;
            color: #7f8c8d;
            margin-top: 6px;
}
.important-box {
            background-color: #fdf2e9;
            border-radius: 10px;
            padding: 18px 22px;
            margin: 25px 0;
            border: 1px solid #fadbd8;
}
.services-list {
            background: #ffffff;
            border-radius: 10px;
            padding: 16px 20px;
            box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}
.services-list li {
            padding: 6px 0;
            border-bottom: 1px dashed #dfe6e9;
}
.services-list li:last-child {
            border-bottom: none;
}
@media (max-width: 768px) {
            h2 { font-size: 24px; }
            h3 { font-size: 20px; }
            .h-title {
                gap: 10px;
            }
            .h-logo {
                width: 50%;
                max-width: 50px;
                height: auto; /* Уменьшаем максимальный размер логотипа на мобилках */
            }
            .h-text {
                font-size: 18px; /* Уменьшаем шрифт в 2 раза */
            }

    .slider-wrapper { height: 250px; }
    .slider-arrow { width: 35px; height: 35px; font-size: 18px; }
    .arrow-left { left: 10px; }
    .arrow-right { right: 10px; }
    }

.slider-container {
    position: relative;
    max-width: 800px;
    margin: 30px auto;
    background: #ffffff;
    border-radius: 12px;
    padding: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Окно для вывода картинки */
.slider-wrapper {
    width: 100%;
    height: 450px; /* Редактируйте высоту тут */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 8px;
    background-color: white; /* Цвет пустых полей в тон вашего сайта */
    position: relative;
}

/* Сама картинка */
.slider-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    cursor: zoom-in; /* Курсор-лупа, показывающий, что можно кликнуть */
}

/* Стрелки управления */
.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(17, 17, 17, 0.6);
    color: #ffffff;
    font-size: 24px;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.2s, transform 0.2s;
    z-index: 10;
}
.slider-arrow:hover {
    background-color: #111111;
    transform: translateY(-50%) scale(1.1);
}
.arrow-left { left: 20px; }
.arrow-right { right: 20px; }

/* --- Большое полноэкранное окно --- */
.fullscreen-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    
    width: 85%;            
    max-width: 900px;      
    height: 80%;           /* Увеличили до 80%, чтобы влез ряд иконок */
    max-height: 700px;     
    
    background-color: #ffffff; 
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3); 
    padding: 20px;
    
    /* Меняем направление на колонку, чтобы миниатюры встали СНИЗУ */
    display: flex;
    flex-direction: column; 
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    gap: 15px;
}
.modal-wrapper {
    width: 100%;
    flex: 1; /* Занимает всё оставшееся место, кроме миниатюр */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
    background-color: white; 
    border-radius: 8px;
}
.modal-thumbnails {
    display: flex;
    justify-content: center;
    gap: 10px;
    width: 100%;
    overflow-x: auto; /* Если фото много, появится аккуратная прокрутка */
    padding: 5px 0;
}
.thumb-item {
    width: 60px;
    height: 45px;
    object-fit: cover;
    border-radius: 4px;
    cursor: pointer;
    opacity: 0.6;
    border: 2px solid transparent;
    transition: all 0.2s ease;
}
.thumb-item:hover {
    opacity: 0.9;
}
.thumb-item.active {
    opacity: 1;
    border-color: #111111; /* Черная рамка в цвет ваших кнопок .pill */
    transform: scale(1.05);
}
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9998;
}

.modal-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.modal-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: black;
    font-size: 50px;
    cursor: pointer;
    z-index: 10020;
    user-select: none;
}
.modal-arrow {
    font-size: 40px;
    background: rgba(17, 17, 17, 0.6);
}
.modal-arrow:hover {
    background-color: #111111;
    transform: translateY(-50%) scale(1.1);
}

/* --- Классы анимации сдвига --- */
.anim-next {
    animation: slideOutLeft 0.25s forwards;
}
.anim-prev {
    animation: slideOutRight 0.25s forwards;
}

@keyframes slideOutLeft {
    0% { transform: translateX(0); opacity: 1; }
    49% { transform: translateX(-100%); opacity: 0; }
    50% { transform: translateX(100%); opacity: 0; }
    100% { transform: translateX(0); opacity: 1; }
}

@keyframes slideOutRight {
    0% { transform: translateX(0); opacity: 1; }
    49% { transform: translateX(100%); opacity: 0; }
    50% { transform: translateX(-100%); opacity: 0; }
    100% { transform: translateX(0); opacity: 1; }
}