/**
 * theme-unifier — load CUỐI CÙNG.
 * Size/spacing chung: css/tokens.css (sửa token ở đó).
 * File này chỉ APPLY token + glue mixed-block (không khai báo size rải rác).
 */
body[class*="block-"] .invitation {
    background: #fff !important;
}

body[class*="block-"] .save-date,
body[class*="block-"] .about,
body[class*="block-"] .timeline,
body[class*="block-"] .gallery,
body[class*="block-"] .wish,
body[class*="block-"] .gift,
body[class*="block-"] .thanks {
    background: transparent !important;
}

body[class*="block-"] .section-divider {
    background: transparent !important;
}

/* Title / subtitle sizes ← tokens.css */
.save-title,
.about-title,
.section-title,
.thanks-title {
    font-size: var(--section-title-size) !important;
}

.section-subtitle,
.gift-description,
.thanks-content {
    font-size: var(--section-subtitle-size) !important;
}

/* Unified section headings (layout + type) for mixed block mode */
body[class*="block-"] .save-title,
body[class*="block-"] .about-title,
body[class*="block-"] .section-title,
body[class*="block-"] .thanks-title {
    margin: 0 auto .18rem !important;
    color: var(--primary-color) !important;
    font-family: var(--font-heading, "Playfair Display", serif) !important;
    font-size: var(--section-title-size) !important;
    font-weight: 600 !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: none !important;
    text-shadow: none !important;
}

/* Save-date concept-3: script title (layout đặc biệt) */
body[class*="block-"] .save-date.block-skin-concept-3 .save-title,
.save-date.block-skin-concept-3 .save-title {
    font-family: var(--font-nickname, "Great Vibes", cursive) !important;
    font-size: var(--section-title-script-size) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: .01rem !important;
    text-shadow: none !important;
}

body[class*="block-"] .save-date.block-skin-concept-3 .save-title::after {
    display: none !important;
    content: none !important;
}

body[class*="block-"] .save-title::before,
body[class*="block-"] .about-title::before,
body[class*="block-"] .section-title::before,
body[class*="block-"] .thanks-title::before {
    display: none !important;
    content: none !important;
}

body[class*="block-"] .save-title::after,
body[class*="block-"] .about-title::after,
body[class*="block-"] .section-title::after,
body[class*="block-"] .thanks-title::after {
    content: "" !important;
    display: block !important;
    width: .82rem !important;
    height: 1px !important;
    margin: .16rem auto 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(var(--primary-rgb), .45) !important;
    opacity: 1 !important;
    transform: none !important;
}

/* Subtitle type (size ở :root --section-subtitle-size) */
body[class*="block-"] .section-subtitle,
body[class*="block-"] .gift-description,
body[class*="block-"] .thanks-content {
    color: #6f6a62 !important;
    font-family: var(--font-body, "Quicksand", sans-serif) !important;
    font-size: var(--section-subtitle-size) !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-shadow: none !important;
}

body[class*="block-"] .save-title + .section-subtitle,
body[class*="block-"] .about-title + .section-subtitle,
body[class*="block-"] .section-title + .section-subtitle,
body[class*="block-"] .thanks-title + .section-subtitle {
    display: block !important;
    max-width: 7.2rem !important;
    margin: .18rem auto .38rem !important;
}

/* concept-4 save-date: ẩn .save-title gốc (dùng .save-date-script) —
   KHÔNG ẩn subtitle user */
body[class*="block-"] .save-date.block-skin-concept-4 .save-title,
body[class*="block-"] .save-date.block-skin-concept-4 .save-title::before,
body[class*="block-"] .save-date.block-skin-concept-4 .save-title::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
}

/* Poster date/location ← tokens.css */
.poster .date__time { font-size: var(--poster-date-size) !important; }
.poster .location { font-size: var(--poster-location-size) !important; }

/* Nickname fonts: applied via JS inject (#theme-font-overrides) in js/utils/fonts.js
   so cover/poster hardcodes cannot pin everything to Great Vibes. */

/* NHÀ TRAI / NHÀ GÁI — đồng bộ font body (theme.fonts.body), không ép Lora/Nunito/Philosopher */
body .about .person-name::before,
body .timeline .timeline-side-badge,
body[class*="block-about"] .person-name::before,
body[class*="block-timeline"] .timeline-side-badge,
.about.block-skin-concept-1 .person-name::before,
.about.block-skin-concept-4 .person-name::before,
.timeline.block-skin-concept-1 .timeline-side-badge,
.timeline.block-skin-concept-2 .timeline-side-badge,
.timeline.block-skin-concept-3 .timeline-side-badge,
.timeline.block-skin-concept-4 .timeline-side-badge,
.timeline.block-skin-concept-5 .timeline-side-badge,
.timeline.block-skin-concept-6 .timeline-side-badge,
.timeline.block-skin-concept-7 .timeline-side-badge {
    font-family: var(--font-body, "Quicksand", sans-serif) !important;
}

/* ============================================================
   ABOUT + TIMELINE — sàn .27rem cho date/time & location
   (body mặc định .28rem → address hay bị inherit nhỏ)
   Title/name đang lớn hơn giữ nguyên (không gộp vào rule này).
   ============================================================ */

/* About: tên cô dâu/chú rể — cỡ đọc rõ (mọi concept) */
body .about .person-name,
body[class*="block-about"] .about .person-name,
.about .person-name,
.about.block-skin-concept-1 .person-name,
.about.block-skin-concept-2 .person-name,
.about.block-skin-concept-3 .person-name,
.about.block-skin-concept-4 .person-name,
body .about.block-skin-concept-1 .person-name,
body .about.block-skin-concept-2 .person-name,
body .about.block-skin-concept-3 .person-name,
body .about.block-skin-concept-4 .person-name {
    font-size: .4rem !important;
}

/* About concept 1 & 4: tên cô dâu / chú rể = màu chủ đạo */
.about.block-skin-concept-1 .person-name,
body .about.block-skin-concept-1 .person-name,
.about.block-skin-concept-4 .person-name,
body .about.block-skin-concept-4 .person-name {
    color: var(--primary-color) !important;
}

/* About: bố mẹ — cỡ rõ, không inherit body .28rem */
body .about .parent,
body[class*="block-about"] .about .parent,
.about .parent,
.about.block-skin-concept-1 .parent,
.about.block-skin-concept-2 .parent,
.about.block-skin-concept-3 .parent,
.about.block-skin-concept-4 .parent,
body .about.block-skin-concept-1 .parent,
body .about.block-skin-concept-2 .parent,
body .about.block-skin-concept-3 .parent,
body .about.block-skin-concept-4 .parent {
    font-size: .3rem !important;
}

/* Timeline: giờ + địa chỉ — mọi concept layout */
body .timeline .timeline-row span,
body .timeline .timeline-address,
body .timeline .timeline-address span,
body .timeline .timeline-ritual-time,
body .timeline .timeline-ritual-address,
body .timeline .timeline-itin-meta,
body .timeline .timeline-itin-place,
body .timeline .timeline-itin-address,
body .timeline .timeline-line-time,
body .timeline .timeline-line-address,
body[class*="block-timeline"] .timeline-row span,
body[class*="block-timeline"] .timeline-address,
body[class*="block-timeline"] .timeline-ritual-time,
body[class*="block-timeline"] .timeline-ritual-address,
body[class*="block-timeline"] .timeline-itin-meta,
body[class*="block-timeline"] .timeline-itin-place,
body[class*="block-timeline"] .timeline-itin-address,
body[class*="block-timeline"] .timeline-line-time,
body[class*="block-timeline"] .timeline-line-address,
.timeline.block-skin-concept-1 .timeline-row span,
.timeline.block-skin-concept-1 .timeline-address,
.timeline.block-skin-concept-2 .timeline-row span,
.timeline.block-skin-concept-2 .timeline-address,
.timeline.block-skin-concept-3 .timeline-row span,
.timeline.block-skin-concept-3 .timeline-address,
.timeline.block-skin-concept-4 .timeline-row span,
.timeline.block-skin-concept-4 .timeline-address,
.timeline.block-skin-concept-4 .timeline-row,
.timeline.block-skin-concept-4 .timeline-address,
.timeline.block-skin-concept-5 .timeline-ritual-time,
.timeline.block-skin-concept-5 .timeline-ritual-address,
.timeline.block-skin-concept-6 .timeline-itin-meta,
.timeline.block-skin-concept-6 .timeline-itin-place,
.timeline.block-skin-concept-6 .timeline-itin-address,
.timeline.block-skin-concept-7 .timeline-line-time,
.timeline.block-skin-concept-7 .timeline-line-address {
    font-size: .27rem !important;
}


