/* =========================================================
   GENERAL SMT RESPONSIVE

   Purpose:
   - Centralize responsive overrides for General SMT pages.

   Dependencies:
   - hero.css
   - categories.css
   - spareparts.css
   - parts.css
   - existing machine-detail rules
========================================================= */

/* =========================================================
   Hero
========================================================= */

@media (max-width: 1100px) {
    .smt-hero-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .smt-hero-left {
        text-align: center;
        align-items: center;
    }

    .smt-hero-description {
        margin-left: auto;
        margin-right: auto;
    }

    .smt-hero-buttons {
        justify-content: center;
    }

    .smt-hero-sparepart-area,
    .smt-sparepart-carousel {
        height: 560px;
    }
}

@media (max-width: 700px) {
    .smt-hero {
        padding: 80px 0 50px;
    }

    .smt-hero-wrapper {
        width: 90%;
        gap: 20px;
    }

    .smt-hero-title .line {
        font-size: clamp(2.8rem, 12vw, 4rem);
        letter-spacing: -2px;
    }

    .smt-hero-description {
        font-size: 1rem;
        line-height: 1.6;
    }

    .smt-hero-buttons {
        width: 100%;
        flex-direction: column;
        gap: 14px;
    }

    .smt-hero-btn {
        width: 100%;
        min-width: 0;
    }

    .smt-hero-stat-panel {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 24px;
        text-align: left;
        box-sizing: border-box;
    }

    .smt-hero-sparepart-area,
    .smt-sparepart-carousel {
        height: 430px;
    }

    .smt-sparepart-image {
        width: min(420px, 90%);
        max-height: 300px;
    }

    .smt-sparepart-name {
        font-size: 1.4rem;
    }
}

/* =========================================================
   Spare Part Categories
========================================================= */

@media (max-width: 1100px) {
    .smt-sparepart-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .smt-spareparts-categories {
        padding: 70px 0 80px;
    }

    .smt-spareparts-categories-intro {
        margin-bottom: 36px;
    }

    .smt-spareparts-categories-title {
        letter-spacing: -1px;
    }

    .smt-sparepart-category-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .smt-sparepart-category-card {
        min-height: 300px;
        padding: 20px;
    }

    .smt-sparepart-category-image-wrapper {
        min-height: 190px;
    }
}

/* =========================================================
   Spare Parts Catalogue
========================================================= */

@media (max-width: 1200px) {
    .smt-spare-part-card {
        width: calc((100% - 48px) / 3);
    }
}

@media (max-width: 900px) {
    .smt-spare-parts-section {
        padding-top: 0;
    }

    .smt-spare-parts-header {
        min-height: calc(100vh - 70px);
        padding: 70px 0 60px;
    }

    .smt-spare-parts-container {
        gap: 80px;
    }

    .smt-spare-part-card {
        width: calc((100% - 24px) / 2);
    }
}

@media (max-width: 600px) {
    .smt-spare-parts-section {
        padding: 0 0 90px;
    }

    .smt-spare-parts-header {
        min-height: calc(100vh - 70px);
        padding: 60px 20px;
        margin-bottom: 0;
    }

    .smt-spare-parts-grid {
        flex-direction: column;
        align-items: stretch;
    }

    .smt-spare-part-card {
        width: 100%;
        min-height: 430px;
        padding: 24px;
    }
}

/* =========================================================
   Spare Part Detail
========================================================= */

@media (max-width: 1100px) {
    .spare-part-detail-hero .spare-part-detail-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
        min-height: auto;
    }

    .spare-part-detail-intro {
        max-width: none;
    }

    .spare-part-application-grid,
    .spare-part-advantages,
    .spare-part-related-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {
    #spare-part-detail-page {
        padding: 110px 0 80px;
    }

    .spare-part-detail-hero {
        margin-bottom: 80px;
    }

    .spare-part-detail-hero .spare-part-detail-wrapper {
        width: min(94%, 1400px);
        padding: 30px 22px;
        border-radius: 24px;
    }

    .spare-part-detail-image {
        min-height: 320px;
    }

    .spare-part-detail-image-placeholder {
        height: 300px;
    }

    .spare-part-detail-name {
        font-size: clamp(2.6rem, 11vw, 4rem);
        letter-spacing: -1px;
    }

    .spare-part-detail-section {
        margin-bottom: 80px;
    }

    .spare-part-highlight-grid {
        justify-content: stretch;
    }

    .spare-part-highlight-card {
        flex: 1 1 100%;
        max-width: none;
    }

    .spare-part-spec-row,
    .spare-part-specification-row {
        grid-template-columns: 1fr;
    }

    .spare-part-spec-label {
        min-height: auto;
        padding: 11px 16px;
        border-right: none;
        border-bottom: 1px solid var(--card-border);
    }

    .spare-part-spec-value {
        padding: 13px 16px;
    }

    .spare-part-feature-list {
        grid-template-columns: 1fr;
    }

    .spare-part-application-grid,
    .spare-part-advantages,
    .spare-part-related-grid {
        grid-template-columns: 1fr;
    }

    .spare-part-inquiry-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 24px;
    }

    .spare-part-inquiry-action {
        width: 100%;
    }

    .spare-part-inquiry-action button {
        width: 100%;
    }

    .spare-part-detail-section-header {
        margin-bottom: 24px;
    }

    .spare-part-specification-label {
        min-height: auto;
        padding: 12px 16px 6px;
        background: transparent;
        font-size: .75rem;
    }

    .spare-part-specification-value {
        padding: 4px 16px 14px;
        font-size: .86rem;
    }

    .spare-part-specification-divider {
        padding: 12px 16px;
    }

    .spare-part-detail-section-title {
        font-size: 1.7rem;
    }
}

@media (max-width: 900px) {
    .spare-part-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .spare-part-related-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .spare-part-related-card-image {
        height: 200px;
    }

    .spare-part-related-card-content {
        padding: 18px;
    }
}

/* =========================================================
   Existing General SMT machine-detail responsive rules
========================================================= */

@media (max-width: 1100px) {
    .machine-detail-hero .machine-detail-wrapper {
        grid-template-columns: 1fr;
        gap: 45px;
        text-align: center;
        padding: 50px;
    }

    .machine-detail-intro {
        max-width: 760px;
        margin: 0 auto;
    }

    .machine-detail-description {
        margin-left: auto;
        margin-right: auto;
    }

    .machine-advantages {
        grid-template-columns: 1fr;
    }

    .machine-related-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 800px) {
    #machine-detail-page {
        padding-top: 110px;
    }

    .machine-detail-hero .machine-detail-wrapper {
        padding: 35px 25px;
        border-radius: 24px;
    }

    .machine-detail-image {
        min-height: 350px;
    }

    .machine-detail-image-placeholder {
        height: 350px;
    }

    .machine-detail-name {
        font-size: clamp(3rem, 12vw, 4.5rem);
    }

    .machine-feature-list,
    .machine-application-grid {
        grid-template-columns: 1fr;
    }

    .machine-related-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .machine-inquiry-card {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 700px) {
    .machine-spec-row {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 16px 18px;
    }

    .machine-spec-label {
        font-size: .82rem;
    }

    .machine-spec-value {
        font-size: .88rem;
    }
}

@media (max-width: 600px) {
    #machine-detail-page {
        padding: 90px 0 80px;
    }

    .machine-detail-wrapper {
        width: 90%;
    }

    .machine-detail-hero .machine-detail-wrapper {
        padding: 25px 20px;
    }

    .machine-detail-image {
        min-height: 280px;
    }

    .machine-detail-image-placeholder {
        height: 280px;
    }

    .machine-highlight-grid {
        flex-direction: column;
        align-items: center;
    }

    .machine-highlight-card {
        width: 100%;
        max-width: 420px;
        box-sizing: border-box;
    }

    .machine-related-grid {
        grid-template-columns: 1fr;
    }

    .machine-inquiry-card {
        padding: 28px;
    }

    .machine-inquiry-action {
        width: 100%;
    }

    .machine-inquiry-action button {
        width: 100%;
    }
}
