/* ==========================================================================
   Тема «Модерн»: журнальная вёрстка, крупный шрифт, тонкие линии.
   Раскладка — в css/base.css, здесь только характер темы.
   ========================================================================== */

:root {
    --page-bg: var(--bg);
    --card-bg: var(--surface);
    --card-border: 1px solid rgba(var(--text-rgb), .14);
    --shadow: none;
    --line: rgba(var(--text-rgb), .9);
    --line-soft: rgba(var(--text-rgb), .16);
    --accent-fill: linear-gradient(var(--accent), var(--accent));
    --title-spacing: .02em;
}

/* крупная «журнальная» обложка с бегущими строками по краям */
.cover {
    padding-top: 96px;
}

.cover__glow {
    display: none;
}

.cover__decor {
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(var(--text-rgb), .9);
}

.cover__decor--top {
    top: 56px;
}

.cover__decor--bottom {
    bottom: 56px;
}

.cover__decor--top::after,
.cover__decor--bottom::after {
    position: absolute;
    left: 50%;
    padding: 0 16px;
    transform: translate(-50%, -50%);
    background: var(--bg);
    color: var(--text);
    font: 600 11px/1 var(--font-text);
    letter-spacing: .4em;
    text-transform: uppercase;
    white-space: nowrap;
}

.cover__decor--top::after {
    content: "приглашение · invitation";
}

.cover__decor--bottom::after {
    content: "save the date";
}

.cover--photo .cover__decor::after {
    background: transparent;
}

.cover__for {
    font: 500 clamp(15px, 3.6vw, 18px)/1.4 var(--font-text);
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--muted);
}

.cover__title {
    font-size: clamp(44px, 12vw, 128px);
    line-height: .95;
    letter-spacing: -.02em;
    text-transform: uppercase;
    color: var(--text);
}

.cover__accent {
    animation: none;
    letter-spacing: -.05em;
}

.cover__subtitle {
    font: 500 clamp(18px, 4.4vw, 26px)/1.3 var(--font-text);
    font-style: normal;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--text);
}

.cover__date {
    display: inline-block;
    padding: 12px 22px;
    background: var(--accent);
    color: var(--on-accent);
    font-weight: 600;
    letter-spacing: .24em;
}

.cover__scroll {
    bottom: 76px;
    border-color: rgba(var(--text-rgb), .9);
    color: var(--text);
}

/* заголовки секций: слева, с чертой */
.section__head {
    padding-top: 18px;
    border-top: 2px solid var(--text);
    text-align: left;
}

.section__head .ornament {
    display: none;
}

.section--finale .ornament,
.cover .ornament {
    display: none;
}

.section__title {
    font-size: clamp(26px, 6vw, 40px);
    letter-spacing: -.01em;
    color: var(--text);
}

.greeting,
.program__intro,
.prose {
    text-align: left;
}

.greeting__salutation,
.greeting__closing,
.finale__signature,
.rsvp__done-title {
    color: var(--accent);
}

.countdown__unit {
    border: 0;
    border-top: 2px solid var(--text);
    border-radius: 0;
    background: transparent;
}

.countdown__value {
    font-size: clamp(40px, 10vw, 64px);
    color: var(--text);
}

.program__day {
    color: var(--accent);
}

.timeline {
    /* время набрано основным шрифтом, замер по шрифту заголовков тут не нужен */
    --time-fit: 1;
    --time-col: 72px;
    --time-col-sm: 56px;
}

.timeline__time {
    font-family: var(--font-text);
    font-weight: 700;
    color: var(--accent);
}

.notice {
    border: 0;
    background: var(--accent);
    color: var(--on-accent);
}

.notice__title,
.notice__text,
.notice__icon {
    color: var(--on-accent);
}

.notice__icon {
    background: rgba(var(--bg-rgb), .16);
}

.location__place,
.host__name {
    color: var(--text);
}

.location__pin,
.gifts__icon {
    color: var(--accent);
}

.button {
    border-color: var(--text);
    color: var(--text);
    font-weight: 600;
}

.button--solid {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--on-accent);
}

.finale__phrase {
    font-size: clamp(30px, 8vw, 64px);
    letter-spacing: -.02em;
    line-height: 1.05;
}
