/* =============================================
   PARTY FEST – RESPONSIVE STYLES
   ============================================= */

/* ---- Tablet: max 1024px ---- */
@media only screen and (max-width: 1024px) {
    .pf-cat-output [class*="tw-grid"] {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .pf-product-output [class*="tw-grid"] {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .pf-valueprop-grid {
        grid-template-columns: 1fr;
        gap: 1px;
    }

    .pf-valueprop-card {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.06);
    }

    .pf-valueprop-card:last-child {
        border-bottom: none;
    }
}

/* ---- Tablet: max 991px ---- */
@media only screen and (max-width: 991px) {
    /* Nav: hide links, show toggler */
    .pf-navbar-collapse {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(8, 6, 26, 0.97);
        backdrop-filter: blur(16px);
        border-top: 1px solid rgba(201,168,76,0.15);
        padding: 16px 0 24px;
        z-index: 999;
    }

    .pf-navbar-collapse.open {
        display: block;
    }

    .pf-navbar-wrapper ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .pf-navbar-wrapper ul li {
        width: 100%;
    }

    .pf-navbar-wrapper ul li a {
        padding: 12px 24px;
        font-size: var(--font-body-md);
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }

    .pf-navbar-wrapper ul li a::after {
        display: none;
    }

    .pf-navbar-wrapper ul li > ul {
        position: static;
        display: none;
        background: rgba(255,255,255,0.04);
        border: none;
        border-radius: 0;
        padding: 0 0 0 20px;
    }

    .pf-navbar-wrapper ul li.open > ul {
        display: block;
    }

    .pf-navbar-toggler {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Hero: stack columns, hide photos */
    .pf-hero-inner {
        flex-direction: column;
        gap: 0;
    }

    .pf-hero-photos {
        display: none;
    }

    .pf-hero-text .pf-hero-subheading,
    .pf-hero-text .pf-hero-cta,
    .pf-hero-text .pf-hero-contact {
        text-align: center;
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
    }

    .pf-hero-heading {
        text-align: center;
        font-size: clamp(40px, 8vw, 60px);
    }

    /* Hours padding */
    .pf-hours-list li {
        padding: 18px 28px;
    }

    /* Testimonial carousel controls */
    .pf-testimonials-section .carousel-item {
        padding: 0 20px;
    }

    .pf-testimonials-section .carousel-control-prev {
        left: -8px;
    }

    .pf-testimonials-section .carousel-control-next {
        right: -8px;
    }
}

/* ---- Mobile: max 768px ---- */
@media only screen and (max-width: 768px) {
    .pf-cat-output [class*="tw-grid"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .pf-product-output [class*="tw-grid"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .pf-categories-section,
    .pf-services-section,
    .pf-featured-section,
    .pf-hours-section,
    .pf-testimonials-section {
        padding: 64px 0;
    }

    .pf-valueprop-section {
        padding-bottom: 48px;
    }

    .pf-section-header {
        margin-bottom: 40px;
    }

    .pf-hero-logo-badge,
    .pf-hero-logo-inner {
        width: 140px;
        height: 140px;
    }

    .pf-hero-logo-inner img {
        width: 108px;
        height: 108px;
    }

    .pf-hero-content {
        padding: 100px 0 60px;
    }

    .pf-hero-cta {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .pf-btn-primary,
    .pf-btn-outline {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }

    .pf-services-tags {
        gap: 10px;
    }

    .pf-service-tag {
        font-size: var(--font-body-xs);
        padding: 8px 16px;
    }

    .pf-hours-list li {
        padding: 16px 20px;
        font-size: var(--font-body-md);
    }

    .pf-hours-list li:hover {
        padding-left: 24px;
    }

    .pf-hours-card {
        border-radius: var(--radius-md);
    }

    .pf-testimonials-section .carousel-caption h5,
    .pf-testimonials-section .carousel-caption h5 p {
        font-size: 20px;
    }

    .pf-footer-nav {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }
}

/* ---- Small mobile: max 480px ---- */
@media only screen and (max-width: 480px) {
    .pf-cat-output [class*="tw-grid"],
    .pf-product-output [class*="tw-grid"] {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    .pf-hero-badge {
        font-size: 10px;
        padding: 6px 16px;
    }

    .pf-hero-subheading {
        font-size: var(--font-body-lg);
    }

    .pf-hero-contact {
        flex-direction: column;
        gap: 12px;
    }

    .pf-nav-right .pf-login-btn a {
        display: none;
    }

    .pf-valueprop-card {
        padding: 36px 24px;
    }
}

/* =============================================
   AWARDS + SEO SECTIONS
   ============================================= */

/* ---- Tablet: max 991px ---- */
@media only screen and (max-width: 991px) {
    .pf-awards-section {
        padding: 80px 0;
    }

    .pf-awards-layout {
        grid-template-columns: 1fr;
        gap: 48px;
        justify-items: center;
    }

    .pf-awards-ledger {
        width: 100%;
    }

    .pf-awards-note {
        max-width: none;
    }

    .pf-awards-badges {
        margin-top: 48px;
        padding-top: 40px;
        gap: 22px 26px;
    }

    .pf-awards-badges img {
        height: 64px;
    }

    .pf-seo-section {
        padding: 80px 0;
    }

    .pf-seo-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .pf-seo-card {
        position: static;
    }
}

/* ---- Mobile: max 768px ---- */
@media only screen and (max-width: 768px) {
    .pf-hero-awards {
        gap: 16px 28px;
        margin-bottom: 28px;
    }

    .pf-hero-awards li {
        padding: 0;
        border-left: none;
    }

    .pf-hero-awards strong {
        font-size: 19px;
    }

    .pf-award-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        padding: 24px 0;
    }

    .pf-award-name {
        font-size: 22px;
    }

    .pf-hof-medal {
        width: 220px;
        height: 220px;
    }

    .pf-hof-title {
        font-size: 30px;
    }

    .pf-seo-subtitle {
        margin-top: 30px;
    }

    .pf-seo-card {
        padding: 30px 26px;
    }
}

/* ---- Small mobile: max 480px ---- */
@media only screen and (max-width: 480px) {
    .pf-awards-section {
        padding: 64px 0;
    }

    .pf-hero-awards {
        gap: 14px 22px;
    }

    .pf-hero-awards strong {
        font-size: 17px;
    }

    .pf-hof-medal {
        width: 190px;
        height: 190px;
    }

    .pf-hof-title {
        font-size: 25px;
    }

    .pf-hof-text {
        max-width: 110px;
    }

    .pf-award-year {
        padding: 8px 15px;
    }

    .pf-awards-badges img {
        height: 56px;
    }

    .pf-seo-section {
        padding: 64px 0;
    }
}
