/* =========================================================================
   Чистовик — the modules' pages re-dressed (service landings, calculator,
   booking, price tables). Linked last, so it wins over the modules' own CSS.
   The same "sticker" language as the theme: 2px ink outline, hard shadow,
   big radii, mint and aqua fills.
   ========================================================================= */

/* Service landing ------------------------------------------------------- */

.svc-hero.cms-tone-soft { border-bottom: 0; }

.svc-hero__media {
    border: 3px solid var(--ch-ink);
    border-radius: 2.4rem 2.4rem 999px 2.4rem;
    box-shadow: 10px 10px 0 0 var(--ch-aqua);
}

.svc-hero__title { font-weight: 900; letter-spacing: -0.02em; }

.svc-badge {
    border: 2px solid var(--ch-ink);
    border-radius: 999px;
    background: var(--ch-sun);
    color: var(--ch-ink);
    font-weight: 800;
}

.svc-audience__item,
.svc-pack,
.svc-includes,
.svc-rows,
.svc-order__box {
    border: var(--card-border);
    border-radius: var(--ch-r);
    box-shadow: var(--card-shadow);
}

.svc-pack--top {
    background: var(--ch-mint);
    border-color: var(--ch-ink);
    box-shadow: 0 8px 0 0 var(--ch-ink);
}

.svc-pack__flag {
    border: 2px solid var(--ch-ink);
    background: var(--ch-sun);
    color: var(--ch-ink);
    font-weight: 800;
}

.svc-pack__price,
.svc-includes__price,
.svc-fact__value { font-family: var(--font-display); font-weight: 900; color: var(--ch-ink); }

.svc-gallery__item,
.svc-gallery__link { border-radius: var(--ch-r); }

.svc-gallery__link { border: 2px solid var(--ch-ink); overflow: hidden; }

.svc-order.cms-tone-dark .svc-order__box { background: var(--ch-ink); }

.svc-step__num {
    border: 2px solid var(--ch-ink);
    background: var(--ch-aqua);
    color: var(--ch-ink);
    font-family: var(--font-display);
    font-weight: 900;
}

.svc-benefit__icon { border: 2px solid var(--ch-ink); background: var(--ch-mint-2); color: var(--ch-ink); }

/* FAQ ------------------------------------------------------------------- */

.cms-faq__item { border: 2px solid var(--ch-ink); border-radius: calc(var(--ch-r) * 0.7); background: #ffffff; margin-block-end: 0.7rem; }
.cms-faq__question { font-family: var(--font-display); font-weight: 700; font-size: 1rem; }
.cms-faq__toggle { border: 2px solid var(--ch-ink); background: var(--ch-aqua); color: var(--ch-ink); border-radius: 50%; }

/* Calculator ------------------------------------------------------------ */

.cms-block--calculator .cms-calc__variants { grid-template-columns: repeat(auto-fit, minmax(min(12.5rem, 100%), 1fr)); }

.cms-block--calculator .cms-calc__variant-card {
    border: 2px solid var(--ch-ink);
    border-radius: calc(var(--ch-r) * 0.65);
    overflow-wrap: anywhere;
}

.cms-block--calculator .cms-calc__variant-title,
.cms-block--calculator .cms-calc__variant-card strong { font-family: var(--font-ui); font-weight: 800; hyphens: auto; }

.cms-block--calculator .cms-calc__radio:checked + .cms-calc__variant-card,
.cms-block--calculator .cms-calc__variant:has(:checked) .cms-calc__variant-card {
    background: var(--ch-mint-2);
    border-color: var(--ch-ink);
    box-shadow: 0 4px 0 0 var(--ch-ink);
}

.cms-block--calculator .cms-calc__total,
.cms-block--calculator .cms-calc__result-value { font-family: var(--font-display); font-weight: 900; color: var(--ch-ink); }

/* Booking and price table ------------------------------------------------ */

.cms-booking__form,
.cms-booking__panel,
.cms-calc__form,
.cms-calc__result { border-radius: var(--ch-r); }

.cms-ptable__plan--featured,
.cms-ptable__col--featured { background: var(--ch-mint-2); }

@media (max-width: 40rem) {
    .svc-hero__media { box-shadow: 6px 6px 0 0 var(--ch-aqua); }
}

.svc-card { border: var(--card-border); border-radius: var(--ch-r); box-shadow: var(--card-shadow); transition: transform .14s ease; }
.svc-card:hover { transform: translateY(-3px); }
