@media (max-width: 640px) {
    .menu-toggle {
        display: inline-flex;
        order: 2;
    }
    .header-search {
        order: 3;
        flex: 1 1 100%;
        max-width: none;
    }
    .primary-nav {
        order: 4;
        width: 100%;
        display: none;
        border-top: 1px solid var(--border);
        margin-top: 0.5rem;
        padding-top: 0.75rem;
    }
    .primary-nav.is-open {
        display: block;
    }
    .primary-nav ul {
        flex-direction: column;
        gap: 0.65rem;
        font-size: 0.95rem;
    }
    .primary-nav a {
        display: block;
        padding: 0.35rem 0;
    }
    .search-card {
        padding: 1.5rem;
    }
    .breed-card {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1.25rem;
    }
    .breed-card__media {
        max-width: 320px;
        margin: 0 auto;
        aspect-ratio: 16 / 9;
    }
    .breed-card__content {
        margin-left: 0;
    }
    .characteristics-table table {
        min-width: 720px;
    }
    .breed-card__content {
        margin-left: 0;
    }
    .breed-modal {
        padding: 1rem;
        align-items: flex-start;
    }
    .breed-modal__content {
        width: 100%;
        max-height: 90vh;
        border-radius: 1rem;
    }
    .breed-modal__body {
        padding: 1.5rem;
    }
}

@media (max-width: 720px) {
    .top-bar {
        align-items: flex-start;
        padding: 1rem 0 1.25rem;
        gap: 0.75rem;
    }
    .hero {
        padding: 3rem 0 2.25rem;
    }
    .search-card {
        margin: 2.25rem 0;
    }
    .breed-gallery {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 540px) {
    .search-controls {
        gap: 0.75rem;
        grid-template-columns: 1fr;
    }
    .hero h1 {
        font-size: clamp(1.9rem, 7vw, 2.35rem);
    }
    .hero p {
        font-size: 1rem;
    }
    .section-card {
        padding: 1.5rem;
    }
    .lead {
        font-size: 1.05rem;
    }
}

@media (max-width: 600px) {
    .table-data {
        display: block;
    }
    .table-data tbody {
        display: block;
    }
    .table-data tr {
        display: block;
        padding: 0.75rem 0;
        border-bottom: 1px solid rgba(94, 107, 123, 0.2);
    }
    .table-data tr:last-child {
        border-bottom: none;
    }
    .table-data th,
    .table-data td {
        display: block;
        width: 100%;
        padding: 0.25rem 0;
        border-bottom: none;
    }
    .table-data th {
        color: var(--text);
        font-size: 0.95rem;
    }
    .table-data td {
        padding-top: 0.1rem;
    }
}

@media (max-width: 960px) {
    .content-wrapper {
        grid-template-columns: 1fr;
    }
    .sidebar {
        position: static;
        max-height: none;
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
    .sidebar ul {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
    .sidebar a {
        padding: 0.4rem 0.75rem;
    }
    .timeline::before {
        left: 0.75rem;
    }
    .timeline-marker {
        left: -0.6rem;
    }
}

@media (max-width: 540px) {
    .stat-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
    .badge {
        font-size: 0.85rem;
        padding: 0.4rem 0.9rem;
    }
    .timeline {
        padding-left: 2rem;
    }
    .timeline-marker {
        width: 26px;
        height: 26px;
        font-size: 0.75rem;
    }
    .timeline-card h3 {
        font-size: 1.1rem;
    }
}
.breed-photo-card[data-theme="sunshine"] .breed-photo-info {
    background: rgba(255, 248, 229, 0.9);
}
.breed-photo-card[data-theme="amber"] .breed-photo-info {
    background: rgba(255, 235, 214, 0.9);
}
.breed-photo-card[data-theme="forest"] .breed-photo-info {
    background: rgba(244, 247, 239, 0.9);
}
.breed-photo-card[data-theme="rose"] .breed-photo-info {
    background: rgba(253, 236, 246, 0.9);
}
.breed-photo-card[data-theme="sky"] .breed-photo-info {
    background: rgba(232, 244, 252, 0.9);
}
.breed-photo-card[data-theme="copper"] .breed-photo-info {
    background: rgba(255, 233, 222, 0.9);
}
