/* =======================================
   СТИЛИ ДЛЯ САЙТА 'ГИЛЬДИЯ КАПИТАЛУ'
   Стиль: Ковер (The Tapestry)
   ======================================= */

/* ---------------------------------------
   1. Глобальные Стили и Типографика
   --------------------------------------- */

:root {
    /* Цвета в стиле "Ковер": Глубокие и насыщенные */
    --color-primary: #8C2F39;   /* Глубокий Бордо/Винный (Основа) */
    --color-secondary: #004D40; /* Глубокий Изумрудно-Зеленый (Контраст) */
    --color-accent: #FFC107;    /* Яркий Золотисто-Желтый (Акцент) */
    --color-text-dark: #212121; /* Почти Черный */
    --color-text-light: #F5F5F5; /* Почти Белый */
    --color-bg-light: #E0E0E0;   /* Светло-Серый/Камень */
    --color-bg-dark: #37474F;    /* Темно-Серый/Антрацит */

    /* Стандартные, безопасные (system) шрифты */
    --font-primary: Georgia, serif;
    --font-secondary: 'Times New Roman', Times, serif;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-secondary);
    line-height: 1.6;
    color: var(--color-text-dark);
    background-color: var(--color-bg-light);
}

h1, h2, h3 {
    font-family: var(--font-primary);
    margin-bottom: 1rem;
    line-height: 1.2;
}

h1 { font-size: 2.5rem; color: var(--color-text-light); }
h2 { font-size: 2rem; color: var(--color-primary); }
h3 { font-size: 1.5rem; }

p {
    margin-bottom: 1rem;
}

/* ---------------------------------------
   2. Общие Стили для Блоков и Контейнеров
   --------------------------------------- */

.content-block {
    padding: 4rem 1rem;
    text-align: center;
    border-bottom: 8px solid var(--color-accent); /* Имитация узорчатой границы ковра */
}

/* Контрастное цветовое разделение блоков */
.bg-light {
    background-color: var(--color-bg-light);
    color: var(--color-text-dark);
}

.bg-dark {
    background-color: var(--color-bg-dark);
    color: var(--color-text-light);
}

.bg-dark h2, .bg-dark p {
    color: var(--color-text-light);
}

/* Контейнер для центрирования контента */
.products-grid, .specialist-grid, .reviews-container {
    display: grid;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* ---------------------------------------
   3. Блок 1: Hero/Header (Oferta)
   --------------------------------------- */

.hero-block {
    background: var(--color-primary);
    color: var(--color-text-light);
    padding: 6rem 1rem;
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7); /* Читабельность на фоне */
}

.hero-block h1 {
    font-size: clamp(2rem, 5vw, 3.5rem); /* Адаптивный размер */
    margin-bottom: 1.5rem;
}

/* Стили для кнопки CTA */
.button-cta {
    display: inline-block;
    background-color: var(--color-accent);
    color: var(--color-text-dark);
    font-family: var(--font-primary);
    padding: 1rem 2rem;
    margin-top: 1.5rem;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: bold;
    border-radius: 5px;
    border: 3px solid var(--color-text-dark);
    transition: background-color 0.3s, transform 0.3s;
}

.button-cta:hover {
    background-color: #fdd835; /* Более светлый акцент */
    transform: translateY(-2px);
}

/* ---------------------------------------
   4. Блоки 2, 5.2: Формы (Zapisz się, Zostaw Opinię)
   --------------------------------------- */

.subscription-form, .review-form {
    max-width: 600px;
    margin: 2rem auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.1); /* Прозрачный фон для темного блока */
    border-radius: 10px;
    border: 1px solid var(--color-accent);
}

input[type="email"], input[type="text"], textarea {
    padding: 12px;
    border: 2px solid var(--color-secondary);
    border-radius: 5px;
    font-size: 1rem;
    color: var(--color-text-dark);
}

textarea {
    resize: vertical;
}

.button-subscribe, .button-submit {
    padding: 12px 20px;
    background-color: var(--color-secondary);
    color: var(--color-text-light);
    border: none;
    border-radius: 5px;
    font-size: 1.1rem;
    cursor: pointer;
    font-family: var(--font-primary);
    transition: background-color 0.3s;
}

.button-subscribe:hover, .button-submit:hover {
    background-color: #00695C; /* Более темный зеленый */
}

/* ---------------------------------------
   5. Блок 3: Продукты и Статья
   --------------------------------------- */

/* Сетка для 5 продуктов */
@media (min-width: 600px) {
    .products-grid {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
}

.product-card {
    background-color: var(--color-bg-light);
    padding: 1.5rem;
    border: 4px solid var(--color-primary); /* Рамка в стиле ковра */
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: left;
}

.product-card h3 {
    color: var(--color-primary);
    margin-top: 0;
}

.price-placeholder {
    display: block;
    font-weight: bold;
    color: var(--color-accent);
    margin-top: 0.5rem;
}

/* Стили статьи */
.article-section {
    max-width: 800px;
    margin: 4rem auto 0;
    text-align: left;
    padding: 0 1rem;
}

.article-section h2 {
    border-bottom: 2px solid var(--color-accent);
    padding-bottom: 0.5rem;
}

.text-justify {
    text-align: justify;
}

/* ---------------------------------------
   6. Блоки 4, 4.1: Специалисты и Деятельность
   --------------------------------------- */

/* Сетка для 4 специалистов */
@media (min-width: 768px) {
    .specialist-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.specialist-card {
    background-color: var(--color-text-light);
    padding: 1.5rem;
    border: 1px solid var(--color-bg-dark);
    border-radius: 5px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.specialist-card h3 {
    color: var(--color-secondary);
}

/* Блок 4.1 */
#dzialalnosc {
    background-color: var(--color-secondary);
    color: var(--color-text-light);
    padding: 3rem 1rem;
}

#dzialalnosc h2 {
    color: var(--color-accent);
}

#dzialalnosc p {
    max-width: 800px;
    margin: 0 auto;
    text-align: justify;
}

.media-mention {
    font-weight: bold;
    color: var(--color-accent);
}

/* ---------------------------------------
   7. Блок 5: Отзывы (Opinie)
   --------------------------------------- */

/* Сетка для отзывов */
@media (min-width: 768px) {
    .reviews-container {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
}

.review-card {
    background-color: var(--color-text-light);
    padding: 1.5rem;
    border-left: 5px solid var(--color-primary);
    text-align: left;
}

.review-card h3 {
    font-style: italic;
    color: var(--color-text-dark);
    border-bottom: 1px dashed var(--color-bg-light);
    padding-bottom: 0.5rem;
}

.review-card p {
    margin-top: 0.5rem;
}

/* ---------------------------------------
   8. Блок 6: Адрес и Карта
   --------------------------------------- */

.map-block {
    padding-top: 2rem;
    padding-bottom: 2rem;
    background-color: var(--color-bg-dark); /* Темный фон для контраста */
}

.map-block h2 {
    color: var(--color-text-light);
}

address {
    font-style: normal;
    font-weight: bold;
    margin-bottom: 1.5rem;
    color: var(--color-accent);
}

.map-container {
    max-width: 1200px;
    margin: 0 auto;
    border: 5px solid var(--color-primary); /* Рамка карты в стиле Ковер */
}

.map-container iframe {
    display: block; /* Убирает лишний отступ под iframe */
}

/* ---------------------------------------
   9. Блок 7: Footer (Stopka)
   --------------------------------------- */

footer {
    background-color: var(--color-primary);
    color: var(--color-text-light);
    text-align: center;
    padding: 1.5rem 1rem;
    font-size: 0.9rem;
}

.currency-note {
    font-style: italic;
    margin-top: 0.5rem;
    color: rgba(255, 255, 255, 0.7);
}

/* ---------------------------------------
   10. Адаптивность (Mobile First)
   --------------------------------------- */

/* Стили для экранов средней ширины (Tablet) */
@media (min-width: 600px) {
    .content-block {
        padding: 5rem 2rem;
    }

    h1 { font-size: 3rem; }
    h2 { font-size: 2.5rem; }

    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Стили для больших экранов (Desktop) */
@media (min-width: 1024px) {
    .hero-block {
        padding: 8rem 2rem;
    }

    h1 { font-size: 4rem; }
    h2 { font-size: 3rem; }

    .products-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    .specialist-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .reviews-container {
        grid-template-columns: repeat(3, 1fr);
    }
}
