/* Editorial (design14) — белый «журнал»: крупная антиква, линейки, нумерация разделов, буквица, фото во всю ширину */
/* Шрифты — SIL Open Font License, файлы в fonts/tfl. Общий каркас — css/tfl-base.css. */
@font-face { font-family: "TFL Playfair"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/tfl/playfair-display-cyrillic-700-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "TFL Playfair"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/tfl/playfair-display-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "TFL Playfair"; font-style: normal; font-weight: 800; font-display: swap; src: url(../fonts/tfl/playfair-display-cyrillic-800-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "TFL Playfair"; font-style: normal; font-weight: 800; font-display: swap; src: url(../fonts/tfl/playfair-display-latin-800-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "TFL Playfair"; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/tfl/playfair-display-cyrillic-400-italic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "TFL Playfair"; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/tfl/playfair-display-latin-400-italic.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "TFL Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/tfl/inter-cyrillic-400-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "TFL Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/tfl/inter-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "TFL Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/tfl/inter-cyrillic-500-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "TFL Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/tfl/inter-latin-500-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "TFL Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/tfl/inter-cyrillic-600-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "TFL Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/tfl/inter-latin-600-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "TFL Inter"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/tfl/inter-cyrillic-700-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "TFL Inter"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/tfl/inter-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
    --t-bg: #ecebe6;
    --t-paper: #ffffff;
    --t-ink: #111111;
    --t-muted: #5f5f5f;
    --t-line: rgba(17, 17, 17, 0.14);
    --t-surface: #ffffff;
    --t-surface-2: #f4f2ec;
    --t-accent: #e4572e;
    --t-sale: #e4572e;
    --t-btn-bg: #111111;
    --t-btn-ink: #ffffff;
    --t-btn-radius: 0;
    --t-btn-shadow: none;
    --t-radius: 0;
    --t-radius-sm: 0;
    --t-shadow: none;
    --t-border: 0;
    --t-display: "TFL Playfair", Georgia, "Times New Roman", serif;
    --t-text: "TFL Inter", "Segoe UI", Arial, sans-serif;
    --t-title-align: left;
    --t-title-size: 34px;
    --t-title-weight: 800;
    --t-title-spacing: -0.015em;
    --t-price-size: 64px;
    --t-gap: 60px;
    --eb-desc: "Історія";
    --eb-features: "Головне";
    --eb-steps: "Інструкція";
    --eb-specs: "Факти";
    --eb-reviews: "Голоси покупців";
    --eb-how: "Доставка";
}

.content-wrap { counter-reset: tflsec; padding: 22px 22px 30px; }

.title { padding: 14px 0 0; border-top: 2px solid #111; line-height: 1.08; counter-increment: tflsec; }
.title::after { content: none; }
.product-description .title::before,
.features-block .title::before,
.steps-block .title::before,
.specifications .title::before,
.reviews .title::before,
.how-to-get .title::before {
    margin: 0 0 10px;
    padding: 0;
    border-radius: 0;
    background: none;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.22em;
    color: var(--t-accent);
}
.product-description .title::before { content: counter(tflsec, decimal-leading-zero) " — " var(--eb-desc); }
.features-block .title::before { content: counter(tflsec, decimal-leading-zero) " — " var(--eb-features); }
.steps-block .title::before { content: counter(tflsec, decimal-leading-zero) " — " var(--eb-steps); }
.specifications .title::before { content: counter(tflsec, decimal-leading-zero) " — " var(--eb-specs); }
.reviews .title::before { content: counter(tflsec, decimal-leading-zero) " — " var(--eb-reviews); }
.how-to-get .title::before { content: counter(tflsec, decimal-leading-zero) " — " var(--eb-how); }

.item-card .header { text-align: left; border-bottom: 1px solid #111; padding-bottom: 14px; }
.product-subtitle { padding: 0; border-radius: 0; background: none; font-size: 12px; letter-spacing: 0.22em; color: var(--t-accent); }
.product-title { font-size: 42px; font-weight: 800; line-height: 1.02; }

.featured-media { margin: 18px -22px 6px; }
.featured-media img { border-radius: 0; }
.featured-media .discount {
    top: auto;
    bottom: -26px;
    left: auto;
    right: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 92px;
    height: 92px;
    padding: 10px;
    border-radius: 50%;
    background: var(--t-accent);
    font-family: var(--t-display);
    font-size: 15px;
    font-style: italic;
    line-height: 1.05;
    text-align: center;
    text-transform: none;
    transform: rotate(-8deg);
}

.pricing-block { margin-top: 32px; padding: 6px 0; background: none; }
.old-price { border-right: 1px solid #111; }
.old-price span, .new-price span { font-size: 11px; letter-spacing: 0.2em; font-weight: 600; }
.old-price strong { font-family: var(--t-text); font-weight: 500; font-size: 22px; }
.new-price strong { font-weight: 800; color: #111; }

.order-button a::after, .order-form form button::after { content: "→"; font-size: 20px; }
.order-button a, .order-form form button { font-family: var(--t-text); font-size: 15px; font-weight: 600; letter-spacing: 0.16em; }
@media (prefers-reduced-motion: no-preference) {
    .order-button a, .order-form form button { animation: none; }
}

.number-discount { padding: 16px 0; border-top: 1px solid #111; border-bottom: 1px solid #111; background: none; text-align: left; }
.number-discount .block-title { font-size: 22px; }
.discount-list li { padding: 10px 0; border: 0; border-bottom: 1px dotted var(--t-line); border-radius: 0; background: none; color: var(--t-ink); }
.discount-list li:last-child { border-bottom: 0; color: var(--t-accent); }
.discount-list li strong { font-size: 19px; }

.countdown { padding: 16px 0; border-bottom: 1px solid #111; background: none; }
.countdown__timer { gap: 0; }
.countdown__item { min-width: 0; padding: 0 16px; background: none; border-left: 1px solid var(--t-line); }
.countdown__item:first-child { border-left: 0; }
.countdown__value { font-size: 44px; font-weight: 800; }

.presentation { color: #2b2b2b; text-align: left; font-size: 17px; line-height: 1.75; }
.presentation > p:first-of-type::first-letter {
    float: left;
    margin: 6px 10px 0 0;
    font-family: var(--t-display);
    font-size: 64px;
    font-weight: 800;
    line-height: 0.8;
    color: var(--t-accent);
}
.presentation img { width: calc(100% + 44px); max-width: none; margin: 26px -22px; }
.presentation ul { gap: 0; counter-reset: tflli; }
.presentation ul li { padding: 12px 0 12px 44px; border-bottom: 1px solid var(--t-line); border-radius: 0; background: none; counter-increment: tflli; }
.presentation ul li::before { content: counter(tflli, decimal-leading-zero); width: auto; height: auto; margin-top: -11px; left: 0; border-radius: 0; background: none; font-family: var(--t-display); font-size: 17px; line-height: 22px; color: var(--t-accent); }

.feature-item-wrap { gap: 0; counter-reset: tflfeat; }
.features-block .feature-item { padding: 18px 0; border-bottom: 1px solid var(--t-line); counter-increment: tflfeat; }
.features-block .feature-item::before { content: counter(tflfeat); flex: 0 0 34px; font-family: var(--t-display); font-size: 40px; font-weight: 800; font-style: italic; line-height: 1; color: var(--t-accent); }
.feature-image { order: 3; width: 74px; height: 74px; flex: 0 0 74px; filter: grayscale(0.15); }
.feature-text { flex: 1; }
.feature-title { font-size: 21px; }

.steps-item { padding: 18px 0; border-bottom: 1px solid var(--t-line); }
.steps-item::before { font-size: 54px; font-style: italic; color: var(--t-accent); }
.steps-item p span { font-size: 22px; }

.characteristics__list { padding: 0; border-top: 1px solid #111; }
.characteristics__list li { padding: 12px 0; }
.characteristics__list li b { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.characteristics__list li span { font-family: var(--t-display); font-size: 19px; }

.rev_item { padding: 0; }
.rev-text { padding: 16px 0 0; font-family: var(--t-display); font-size: 21px; font-style: italic; font-weight: 400; line-height: 1.4; color: #111; }
.rev-text::before { content: "“"; margin-bottom: -16px; font-size: 80px; line-height: 1; letter-spacing: 0; color: var(--t-accent); }
.rev-title { font-style: normal; font-weight: 800; font-size: 24px; }
.rev-name { border-top: 0; }
.rev-author { font-family: var(--t-text); font-style: normal; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; }
.rev-author::before { content: "— "; }
.reviews .swiper-button-next, .reviews .swiper-button-prev { border-radius: 0; background: #111; --swiper-navigation-color: #fff; box-shadow: none; }

.order_steps1 { grid-template-columns: 1fr; gap: 0; }
.order_steps1 .step_item { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--t-line); }
.order_steps1 .step_item .image { margin: 0; }
.order_steps1 .bg_icon { border-radius: 50%; background: #111; }
.order_steps1 .text h4 { font-size: 21px; }

.how-to-get + .top-card-wrap { padding: 22px 18px 8px; border: 2px solid #111; background: #fff; }
.order-form form span input { border: 0; border-bottom: 2px solid #111; background: transparent; padding: 0 2px; font-size: 18px; }
.order-form form span input:focus { box-shadow: none; border-color: var(--t-accent); }
