.dab-schedule-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 16px;
    margin: var(--space-sm) 0 var(--space-md);
    padding: 1.2rem 1.6rem;
    background: var(--dab-white);
    border-radius: var(--radius-md);
    border: 1px solid var(--dab-border-light);
    box-shadow: var(--shadow-sm);
}

.dab-schedule-time {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    color: var(--dab-forest);
    font-size: 1rem;
    white-space: nowrap;
    padding: 4px 0;
}

.dab-schedule-desc {
    color: var(--dab-text-dark);
    font-size: .95rem;
    padding: 4px 0;
    border-bottom: 1px solid var(--dab-border-light);
}

.dab-schedule-grid > .dab-schedule-desc:last-child,
.dab-schedule-grid > .dab-schedule-time:nth-last-child(2) + .dab-schedule-desc {
    border-bottom: none;
}

@media (max-width: 600px) {
    .dab-schedule-grid {
        padding: 1rem;
        gap: 4px 12px;
    }
}

.dab-distance-card {
    display: flex;
    align-items: center;
    gap: 16px;
    text-align: left;
    padding: 1.6rem 2rem;
}

.dab-distance-card .dab-card-icon {
    flex-shrink: 0;
    margin-bottom: 0;
}

.dab-distance-name {
    font-family: 'Playfair Display', serif;
    font-size: 1.15rem;
    color: var(--dab-forest);
    display: block;
}

.dab-distance-value {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--dab-forest);
}

.dab-distance-note {
    font-size: .95rem;
    color: var(--dab-text-soft);
    display: block;
    margin-bottom: 2px;
}

.dab-article-text h3 {
    margin-top: var(--space-lg);
    margin-bottom: var(--space-sm);
}

.dab-photo-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.dab-photo-row img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: var(--radius-md);
    box-shadow: 0 8px 24px rgba(31, 61, 43, .12);
    transition: transform var(--tr-slow), box-shadow var(--tr-slow), filter var(--tr-slow);
    filter: brightness(.98) saturate(.92);
}

.dab-photo-row img:hover {
    transform: scale(1.02);
    box-shadow: 0 14px 32px rgba(31, 61, 43, .16);
    filter: brightness(1.02) saturate(1.05);
    z-index: 2;
    position: relative;
}

.dab-photo-row--3 {
    grid-template-columns: repeat(3, 1fr);
}

@media (min-width: 1280px) {
    .dab-photo-row img {
        height: 320px;
    }
}

@media (max-width: 750px) {
    .dab-photo-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .dab-photo-row--3 {
        grid-template-columns: 1fr 1fr;
    }
    .dab-photo-row img {
        height: 200px;
    }
}

@media (max-width: 480px) {
    .dab-photo-row--3 {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 1025px) {
    .dab-gallery-grid {
        grid-template-rows: 280px 280px 280px;
    }
}

@media (min-width: 1280px) {
    .dab-gallery-grid {
        grid-template-rows: 320px 320px 320px;
    }
}
