/* Текстовый блок страниц-калькуляторов (собирается seo-pages/calc_pages.py) */
.calc-crumbs { font-size: .8rem; color: #9e9e9e; margin-bottom: 1.25rem; font-family: Montserrat, sans-serif; }
.calc-crumbs a { color: #9e9e9e; text-decoration: none; }
.calc-crumbs a:hover { color: #b48a91; }
.calc-crumbs span { margin: 0 .35rem; }
.calc-crumbs span:last-child { margin: 0; }
.calc-h1 { font-size: clamp(2.1rem, 5.6vw, 4.2rem); hyphens: manual; }
.calc-seo { background: #fef9f7; padding: 3rem 1rem 1rem; }
.calc-seo .article { max-width: 820px; margin: 0 auto; color: #705b4d; font-family: Montserrat, sans-serif; }
.calc-seo .article > h2:first-child { margin-top: 0; }
.calc-seo h2 { font-family: Lora, serif; font-size: 1.75rem; line-height: 1.25; margin: 2.5rem 0 1rem; color: #705b4d; }
.calc-seo h3 { font-family: Lora, serif; font-size: 1.3rem; margin: 1.75rem 0 .75rem; color: #705b4d; }
.calc-seo p { font-size: 1.05rem; line-height: 1.8; margin: 0 0 1rem; font-weight: 300; }
.calc-seo ul { margin: 0 0 1.25rem 0; padding: 0; list-style: none; }
.calc-seo li { position: relative; padding-left: 1.5rem; margin-bottom: .6rem; line-height: 1.7; font-weight: 300; font-size: 1.02rem; }
.calc-seo li::before { content: ""; position: absolute; left: .2rem; top: .7rem; width: .45rem; height: .45rem; border-radius: 50%; background: #dcb6bc; }
.calc-seo .article a { color: #b48a91; text-decoration: underline; text-underline-offset: 3px; }
.calc-seo strong { font-weight: 600; }
.calc-seo .btn { display: inline-block; background: #dcb6bc; color: #fff !important; text-decoration: none !important; border-radius: 999px; padding: .95rem 2rem; font-weight: 600; letter-spacing: .02em; transition: background .2s; }
.calc-seo .btn:hover { background: #c99fa6; }
.calc-seo .btn-ghost { background: transparent; color: #705b4d !important; border: 1px solid #dcb6bc; margin-left: .5rem; }
.calc-seo .btn-ghost:hover { background: #f5edee; }
.calc-seo .figure { margin: 2.5rem 0; }
.calc-seo .figure img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; border-radius: 2rem; box-shadow: 0 20px 50px -20px rgba(112,91,77,.3); }
.calc-seo .mid { text-align: center; margin: 1.5rem 0 2rem; }
.calc-seo .mid p { font-size: .98rem; margin-bottom: 1rem; }
.calc-seo .cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1rem; margin: 1.25rem 0 2rem; }
.calc-seo .cards a { display: flex; flex-direction: column; justify-content: space-between; min-height: 150px; padding: 1.1rem 1.1rem 1rem; border-radius: 1.5rem; text-decoration: none !important; color: #705b4d !important; background: linear-gradient(160deg, #ffffff 0%, #f8eef0 100%); border: 1px solid #f2e1e4; box-shadow: 0 15px 35px -20px rgba(112,91,77,.25); transition: transform .25s, box-shadow .25s; }
.calc-seo .cards a:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -18px rgba(112,91,77,.35); }
.calc-seo .cards b { font-family: Lora, serif; font-size: 2.4rem; line-height: 1; color: #b48a91; font-weight: 500; }
.calc-seo .cards span { font-size: .85rem; line-height: 1.35; margin-top: .75rem; }
.calc-seo .cards.tails b { font-size: 1.55rem; white-space: nowrap; letter-spacing: -.01em; }
.calc-seo .cards.tails a { min-height: 120px; }
.calc-seo .cards.photo { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1.25rem; }
.calc-seo .cards.photo a { padding: 0; min-height: 0; justify-content: flex-start; background: #fff; overflow: hidden; border-radius: 1.75rem; box-shadow: 0 20px 40px -18px rgba(220,182,188,.45); }
.calc-seo .cards.photo .ph { aspect-ratio: 4/3; overflow: hidden; }
.calc-seo .cards.photo .ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.calc-seo .cards.photo a:hover .ph img { transform: scale(1.04); }
.calc-seo .cards.photo .t { font-family: Lora, serif; font-size: 1.12rem; line-height: 1.3; color: #705b4d; padding: 1rem 1.1rem .3rem; }
.calc-seo .cards.photo .d { font-size: .85rem; line-height: 1.45; color: #9e8f86; padding: 0 1.1rem 1.15rem; }
.calc-seo .cards.photo .t:last-child { padding-bottom: 1.15rem; }
.faq-section .faq-container { max-width: 1200px; }
.calc-seo .cta-photo { position: relative; overflow: hidden; border-radius: 2rem; margin: 3rem 0; padding: 3rem 2rem; text-align: center; color: #fff; background-size: cover; background-position: center; }
.calc-seo .cta-photo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(112,91,77,.88), rgba(180,138,145,.78)); }
.calc-seo .cta-photo > * { position: relative; }
.calc-seo .cta-photo h3 { font-size: 1.7rem; color: #fff; margin: 0 0 .75rem; }
.calc-seo .cta-photo p { color: rgba(255,255,255,.9); max-width: 560px; margin: 0 auto 1.5rem; }
.calc-seo .cta-photo .btn { background: #fff; color: #705b4d !important; }
.calc-seo .cta-photo .btn:hover { background: #f5edee; }
.calc-seo .cta-photo .btn-ghost { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.6); }
.calc-seo .promo { background: linear-gradient(150deg, #f8eef0 0%, #fff 70%); border: 1px solid #f2e1e4; border-radius: 2rem; padding: 2rem; margin: 2.5rem 0; }
.calc-seo .promo h3 { font-size: 1.5rem; margin: 0 0 .6rem; }
.calc-seo .promo .badge { display: inline-flex; padding: .5rem 1rem; border-radius: 999px; background: #f5edee; color: #8b6e73; font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; margin-bottom: 1rem; }
.calc-seo .author { display: flex; gap: 1.5rem; align-items: center; background: #fff; border-radius: 2rem; padding: 1.5rem; margin: 3rem 0; box-shadow: 0 20px 60px -15px rgba(112,91,77,.1); }
.calc-seo .author img { width: 110px; height: 110px; border-radius: 50%; object-fit: cover; flex: none; }
.calc-seo .author p { margin: 0 0 .4rem; font-size: .98rem; }
.calc-seo .author .name { font-family: Lora, serif; font-size: 1.25rem; font-weight: 500; }
.calc-seo .related { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; margin: 1rem 0 2rem; }
.calc-seo .related a { display: flex; justify-content: space-between; align-items: center; gap: .75rem; background: #fff; border: 1px solid #f2e1e4; border-radius: 1.25rem; padding: 1rem 1.25rem; text-decoration: none !important; color: #705b4d !important; box-shadow: 0 10px 30px -18px rgba(112,91,77,.2); transition: background .2s; }
.calc-seo .related a:hover { background: #f5edee; }
.calc-seo .related a::after { content: "→"; color: #b48a91; flex: none; }
@media (max-width: 640px) {
  .calc-seo h2 { font-size: 1.45rem; }
  .calc-seo .btn-ghost { margin: .75rem 0 0; }
  .calc-seo .author { flex-direction: column; text-align: center; }
  .calc-seo .cards { grid-template-columns: repeat(2, 1fr); }
  .calc-seo .cards.photo { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
  .calc-seo .cards.photo .t { font-size: 1rem; padding: .75rem .8rem .2rem; }
  .calc-seo .cards.photo .d { font-size: .78rem; padding: 0 .8rem .9rem; }
  .calc-seo .cards.photo a { border-radius: 1.25rem; }
}

/* Стили для блока FAQ */
        .faq-section {
            width: 100%;
            padding: 80px 20px;
            background-color: #ffffff;
        }

        .faq-container {
            max-width: 1400px;
            margin: 0 auto;
        }

        .faq-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 48px;
            align-items: start;
        }

        @media (min-width: 1024px) {
            .faq-grid {
                grid-template-columns: repeat(12, 1fr);
                gap: 96px;
            }
        }

        .faq-sidebar {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
        }

        @media (min-width: 1024px) {
            .faq-sidebar {
                grid-column: span 5;
                position: sticky;
                align-self: start;
                top: 120px;
                align-items: flex-start;
                text-align: left;
            }
        }

        .faq-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 6px 16px;
            border-radius: 9999px;
            background: #f5edee;
            color: #8b6e73;
            font-size: 12px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            margin-bottom: 24px;
        }

        .faq-badge i {
            font-size: 10px;
        }

        .faq-title {
            font-size: clamp(40px, 6vw, 60px);
            font-family: 'Lora', serif;
            color: #705b4d;
            margin-bottom: 24px;
            line-height: 1.1;
            font-weight: 400;
        }

        .faq-title .italic-accent {
            font-style: italic;
            color: #dcb6bc;
        }

        .faq-description {
            color: #9e9e9e;
            font-size: clamp(16px, 2vw, 18px);
            line-height: 1.6;
            font-family: 'Montserrat', sans-serif;
            max-width: 448px;
        }

        .faq-list {
            display: flex;
            flex-direction: column;
            width: 100%;
            gap: 8px;
        }

        @media (min-width: 1024px) {
            .faq-list {
                grid-column: span 7;
            }
        }

        .faq-item {
            border-bottom: 1px solid #e5e5e5;
            background: transparent;
            transition: all 0.3s;
        }

        .faq-item.open {
            background: #f5edee;
            border-radius: 16px;
            border-bottom: none;
        }

        .faq-button {
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            text-align: left;
            padding: 24px;
            background: none;
            border: none;
            cursor: pointer;
            transition: all 0.3s;
        }

        .faq-question {
            font-size: clamp(18px, 2.5vw, 20px);
            font-family: 'Lora', serif;
            color: #705b4d;
            padding-right: 24px;
            font-weight: 400;
        }

        .faq-icon {
            color: #705b4d;
            font-size: 14px;
            margin-top: 8px;
            transition: transform 0.3s;
            flex-shrink: 0;
        }

        .faq-item.open .faq-icon {
            transform: rotate(180deg);
        }

        .faq-content {
            max-height: 0;
            opacity: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
        }

        .faq-item.open .faq-content {
            max-height: 500px;
            opacity: 1;
        }

        .faq-answer {
            padding: 0 24px 24px;
            color: #9e9e9e;
            font-family: 'Montserrat', sans-serif;
            line-height: 1.6;
            font-size: clamp(14px, 2vw, 16px);
        }

        /* Адаптация для мобильных устройств */
        @media (max-width: 1023px) {
            .faq-section {
                padding: 60px 16px;
            }
        }

        @media (max-width: 768px) {
            .faq-section {
                padding: 40px 16px;
            }

            .faq-button {
                padding: 20px;
            }

            .faq-answer {
                padding: 0 20px 20px;
            }
        }

        