/* 共用家庭旅行布局，仅在朋友页覆盖主题颜色。 */
.friend-theme {
    --friend-accent: #c5432b;
    --friend-deep: #883a29;
    --friend-muted: #946c60;
    --friend-border: #f1d6c9;
    --friend-soft: #fff1e8;
    --friend-gradient: linear-gradient(120deg, #df671e 0%, #c93639 100%);
    --friend-tint: linear-gradient(120deg, #fff3e4 0%, #ffebe9 100%);
}

.friend-theme .family-title-with,
.friend-theme .family-travel-place,
.friend-theme .family-step-date {
    background: var(--friend-gradient);
    color: #fff;
}

.friend-theme .family-title-with::after,
.friend-theme .family-travel-place::after {
    border-left-color: #c93639;
}

.friend-theme .family-title-my-family,
.friend-theme .family-subtitle,
.friend-theme .family-travel-date,
.friend-theme .family-travel-hotel-icon,
.friend-theme .family-next-journey-icon,
.friend-theme .family-album-count {
    background: var(--friend-tint);
    color: var(--friend-deep);
    border-color: var(--friend-border);
}

.friend-theme .family-travel-title,
.friend-theme .family-memory-stats strong,
.friend-theme .family-year-divider strong,
.friend-theme .family-next-journey-copy h2,
.friend-theme .family-album-title,
.friend-theme .family-trip-album-action,
.friend-theme .family-journal h2 {
    color: var(--friend-deep);
}

.friend-theme .family-memory-stats,
.friend-theme .family-year-divider,
.friend-theme .family-next-journey-kicker,
.friend-theme .family-next-journey-copy > p:last-child,
.friend-theme .family-album-intro,
.friend-theme .family-album-caption,
.friend-theme .family-journey-ending,
.friend-theme .family-journal .family-journal-eyebrow,
.friend-theme .family-journal .family-journal-note,
.friend-theme .family-journal-photo figcaption {
    color: var(--friend-muted);
}

.friend-theme .family-memory-stats svg,
.friend-theme .family-next-journey-icon,
.friend-theme .family-back-link a,
.friend-theme .family-step-location {
    color: var(--friend-accent);
}

.friend-theme .family-travel-card,
.friend-theme .family-next-journey,
.friend-theme .family-trip-album-details,
.friend-theme .family-album-item,
.friend-theme .family-journal,
.friend-theme .family-journal-photo {
    border-color: var(--friend-border);
}

.friend-theme .family-travel-content {
    background: linear-gradient(135deg, #fff 0%, #fff0e9 100%);
}

.friend-theme .family-next-journey,
.friend-theme .family-trip-album-details {
    background: linear-gradient(110deg, #fff 0%, #fff0e8 50%, #fff 100%);
}

.friend-theme .family-journal {
    background: linear-gradient(110deg, #fff9f0 0%, #fff0e7 58%, #fff0ee 100%);
}

.friend-theme .family-year-divider::after {
    background: linear-gradient(90deg, #efc7b3, #fff0e9);
}

.friend-theme .family-journal-eyebrow::before {
    background: #d28d73;
}

.friend-theme .family-journal-photo::before {
    background: rgba(238, 182, 136, 0.55);
}

.friend-theme .family-journal-photo img,
.friend-theme .family-album-photo-trigger {
    background: var(--friend-soft);
}

.friend-theme .family-memory-number {
    background: #fff4e9;
    color: var(--friend-deep);
}

.friend-theme .family-travel-card:hover,
.friend-theme .family-travel-card:focus,
.friend-theme .family-album-item:hover {
    border-color: #df9676;
    box-shadow: 0 7px 18px rgba(177, 75, 43, 0.16);
}

.friend-theme .family-travel-card:focus-visible,
.friend-theme .family-trip-album-summary:focus-visible,
.friend-theme .family-album-photo-trigger:focus-visible {
    outline-color: var(--friend-accent);
}

.friend-theme .family-next-journey-line,
.friend-theme .family-trip-album,
.friend-theme .family-journey-ending::before,
.friend-theme .family-journey-ending::after,
.friend-theme .family-trip-album-action-arrow {
    border-color: #e8b59f;
}

.friend-theme .family-trip-album-details[open] .family-trip-album-summary {
    border-color: var(--friend-border);
    background: rgba(255, 229, 211, 0.56);
}

.friend-theme .family-timeline::before {
    background: linear-gradient(to bottom, #df813f, #d15245, rgba(209, 82, 69, 0.15));
}

.friend-theme .family-step-dot {
    background: var(--friend-gradient);
    box-shadow: 0 2px 10px rgba(197, 67, 43, 0.3);
}

.friend-theme .family-journey-seal-inner {
    border-color: #cf6344;
    color: var(--friend-deep);
    box-shadow: 0 0 0 7px rgba(207, 99, 68, 0.1), inset 0 0 0 6px rgba(207, 99, 68, 0.12);
}

.friend-theme .family-album-item,
.friend-theme .family-journal-photo {
    box-shadow: 0 3px 10px rgba(177, 75, 43, 0.05);
}

.friend-theme .family-travel-cover:not(.is-ready),
.friend-theme .family-step-photo-trigger:not(.is-ready),
.friend-theme .family-album-photo-trigger:not(.is-ready) {
    background-color: #f3ded1;
}

.friend-theme .family-empty,
.friend-theme .trip-not-found {
    border-color: var(--friend-border);
    background: #fff8f3;
    color: var(--friend-muted);
}

.friend-theme .family-photo-thumb.active {
    border-color: #f29866;
}
