/* Cavalier theme — responsive overrides */

@media (max-width: 768px) {
    .hamburger {
        display: flex;
    }

    .header_section .container,
    .header_container {
        flex-wrap: wrap;
    }

    .logo_top {
        width: 160px;
        height: 60px;
    }

    .header_menu {
        order: 3;
        width: 100%;
    }

    .header_menu ul {
        flex-direction: column;
        width: 100%;
        gap: 0;
        overflow: hidden;
        max-height: 0;
        opacity: 0;
        transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                    opacity 0.35s ease,
                    padding 0.35s ease;
        padding: 0;
    }

    .header_menu.open ul {
        max-height: 400px;
        opacity: 1;
        padding: 15px 0 5px;
    }

    .header_menu ul li {
        display: block;
        margin: 0;
        line-height: 1;
    }

    .header_menu ul li a {
        display: block;
        padding: 12px 0;
        font-size: 19px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        transform: translateX(-20px);
        opacity: 0;
        transition: transform 0.3s ease,
                    opacity 0.3s ease,
                    color 0.3s ease;
    }

    .header_menu.open ul li a {
        transform: translateX(0);
        opacity: 1;
    }

    .header_menu.open ul li:nth-child(1) a { transition-delay: 0.05s; }
    .header_menu.open ul li:nth-child(2) a { transition-delay: 0.10s; }
    .header_menu.open ul li:nth-child(3) a { transition-delay: 0.15s; }
    .header_menu.open ul li:nth-child(4) a { transition-delay: 0.20s; }

    .header_menu ul li:last-child a {
        border-bottom: none;
    }

    .search_top.browser {
        display: none;
    }

    .search_top.mobile {
        display: block;
        width: 100%;
        margin-top: 14px;
    }

    .actions-grid {
        gap: 40px;
        margin-top: 20px;
    }

    .action-icon {
        width: 126px;
        height: 126px;
        border-width: 4px;
    }

    .action-icon i {
        font-size: 50px;
    }

    .hero {
        padding: 50px 0 110px;
    }

    .hero-title {
        font-size: 36px;
    }

    .hero-subtitle {
        font-size: 19px;
    }

    .dogs-grid {
        grid-template-columns: 1fr;
    }

    .section-title {
        font-size: 29px;
    }

    .dog .header {
        padding: 30px 0 60px;
    }

    .dog .header .container {
        flex-direction: column;
        align-items: center;
    }

    .dog .header .main_image {
        margin-bottom: -90px;
        height: 180px;
        width: 180px;
    }

    .dog .info {
        padding: 110px 0 40px;
    }

    .dog .info h2 {
        font-size: 29px;
    }

    .dog .pedigree {
        overflow-x: auto;
        padding: 30px 0;
    }

    .dog .pedigree table {
        min-width: 720px;
    }

    .account-layout {
        grid-template-columns: 1fr;
    }

    .dog-info-details {
        width: 100%;
        text-align: center;
    }

    .dog .header .main_image {
        width: 300px;
        height: 300px;
    }

    #pedigree-container {
        margin-top: 0;
    }

    .dog .info ul {
        flex-direction: column;
        align-items: center;
    }

    .dog .info li a {
        padding: 9px 25px;
        font-size: 21px;
        gap: 13px;
    }

    .dog .info li .fas {
        font-size: 21px;
    }
}

@media (max-width: 480px) {
    .actions-grid {
        flex-direction: column;
        align-items: center;
        gap: 30px;
        margin-top: 20px;
    }

    .hero-title {
        font-size: 29px;
    }

    .hero-subtitle {
        font-size: 15px;
    }

    .form-card {
        padding: 25px 20px;
    }
}

@media (min-width: 1110px) {
    .container {
        max-width: 1170px;
    }
}
