/* =========================================================
   SINN - NEW SINGLE PRODUCT OVERVIEW
   Shortcode: [sinn_product_overview]
   ========================================================= */


/* =========================================================
   ROOT
   ========================================================= */

.sinn-po-new {
    --po-black: #101315;
    --po-yellow: #ffc500;

    --po-title: #111111;
    --po-body: #4b4f54;
    --po-muted: #6f7479;

    --po-white: #ffffff;
    --po-surface: #f4f5f6;

    --po-border-light: #e6e8ea;
    --po-border: #d9dcdf;

    box-sizing: border-box;

    width: min(1440px, calc(100% - 64px));
    max-width: 1440px;

    margin: 26px auto 0;
    padding: 30px;

    display: grid;

    grid-template-columns:
        minmax(320px, .78fr)
        minmax(0, 1.22fr);

    grid-template-areas:
        "title title"
        "intro1 intro1"
        "intro2 intro2"
        "main gallery";

    column-gap: 16px;
    row-gap: 0;

    color: var(--po-title);

    background:
        linear-gradient(
            180deg,
            rgba(16, 19, 21, .040),
            rgba(16, 19, 21, .015)
        ),
        var(--po-surface);

    border: 1px solid var(--po-border);
    border-top: 2px solid rgba(16, 19, 21, .20);
    border-radius: 7px;

    box-shadow:
        0 12px 28px rgba(16, 19, 21, .055),
        0 2px 7px rgba(16, 19, 21, .035);

    font-family:
        Inter,
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;
}


.sinn-po-new *,
.sinn-po-new *::before,
.sinn-po-new *::after {
    box-sizing: border-box;
}


/* =========================================================
   TITLE
   ========================================================= */

.sinn-po-new__title {
    grid-area: title;

    margin: 0 0 12px;

    color: var(--po-title);

    font-size: clamp(30px, 2.35vw, 35px);
    line-height: 1.12;
    font-weight: 800;

    letter-spacing: -.025em;
}


/* =========================================================
   INTRO COPY
   ========================================================= */

.sinn-po-new__intro {
    margin: 0;

    color: var(--po-body);

    font-size: 16px;
    line-height: 1.72;
    font-weight: 400;
}


.sinn-po-new__intro--1 {
    grid-area: intro1;

    margin-bottom: 7px;
}


.sinn-po-new__intro--2 {
    grid-area: intro2;

    margin-bottom: 16px;
}


/* =========================================================
   LEFT MAIN STACK
   ========================================================= */

.sinn-po-new__main-stack {
    grid-area: main;

    min-width: 0;

    display: flex;
    flex-direction: column;
    align-items: stretch;

    align-self: stretch;
}


/* =========================================================
   MAIN PRODUCT IMAGE
   ========================================================= */

.sinn-po-new__main-visual {
    flex: 1 1 auto;

    min-height: 0;

    width: 100%;

    margin: 0;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: var(--po-white);

    border: 1px solid var(--po-border);
    border-radius: 4px 4px 0 0;
}


.sinn-po-new__main-image {
    display: block;

    width: 88%;
    max-width: 88%;

    height: 88%;
    max-height: 88%;

    margin: auto;

    object-fit: contain;
    object-position: center;
}


/* =========================================================
   MAIN BLACK CAPTION
   ========================================================= */

.sinn-po-new__caption {
    min-height: 78px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 4px;

    width: 100%;

    margin: 0;
    padding: 12px 14px;

    background: var(--po-black);

    border: 1px solid var(--po-black);
    border-top: 0;
    border-radius: 0 0 4px 4px;
}


.sinn-po-new__caption-primary {
    color: var(--po-yellow);

    font-size: 12px;
    line-height: 1.35;
    font-weight: 900;

    letter-spacing: .055em;
    text-transform: uppercase;
}


.sinn-po-new__caption-secondary {
    color: rgba(244, 245, 242, .72);

    font-size: 11px;
    line-height: 1.42;
    font-weight: 400;
}


/* =========================================================
   RIGHT 5-CARD STRUCTURE GRID
   ========================================================= */

.sinn-po-new__structure-grid {
    grid-area: gallery;

    min-width: 0;

    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    grid-template-rows:
        repeat(2, minmax(0, 1fr));

    gap: 10px;

    align-self: stretch;
    align-items: stretch;
}


/* =========================================================
   STRUCTURE CARD
   ========================================================= */

.sinn-po-new__structure-card {
    position: relative;

    min-width: 0;
    height: 100%;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: var(--po-white);

    border: 1px solid var(--po-border);
    border-radius: 4px;

    box-shadow: none;
}


/* Yellow engineering accent */
.sinn-po-new__structure-card::before {
    content: "";

    position: absolute;
    z-index: 2;

    top: 0;
    left: 0;

    width: 28px;
    height: 2px;

    background: var(--po-yellow);
}


.sinn-po-new__structure-card--1,
.sinn-po-new__structure-card--2,
.sinn-po-new__structure-card--3 {
    grid-column: span 2;
}


.sinn-po-new__structure-card--4 {
    grid-column: 1 / span 3;
}


.sinn-po-new__structure-card--5 {
    grid-column: 4 / span 3;
}


/* =========================================================
   CARD IMAGE
   ========================================================= */

.sinn-po-new__structure-image {
    flex: 1 1 auto;

    width: 100%;
    height: 170px;
    min-height: 170px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    padding: 12px 14px 10px;

    background: #f4f5f6;

    border-bottom: 1px solid var(--po-border-light);
}


.sinn-po-new__structure-img {
    display: block;

    width: 100%;
    height: 100%;

    max-width: 100%;
    max-height: 100%;

    object-fit: contain;
    object-position: center;
}


/* =========================================================
   CARD COPY
   ========================================================= */

.sinn-po-new__structure-copy {
    flex: 0 0 auto;

    min-height: 78px;

    margin-top: auto;

    padding: 10px 12px 12px;

    background: var(--po-white);

    border-top: 1px solid var(--po-border-light);
}


.sinn-po-new__structure-title {
    margin: 0 0 5px;

    color: #111111;

    font-size: 13px;
    line-height: 1.30;
    font-weight: 800;
}


.sinn-po-new__structure-description {
    margin: 0;

    color: var(--po-body);

    font-size: 11px;
    line-height: 1.45;
    font-weight: 400;
}


/* =========================================================
   TABLET <= 990
   ========================================================= */

@media (max-width: 990px) {

    .sinn-po-new {
        width: calc(100% - 48px);

        padding: 26px 24px;

        grid-template-columns: 1fr;

        grid-template-areas:
            "title"
            "intro1"
            "intro2"
            "main"
            "gallery";
    }


    .sinn-po-new__main-stack {
        margin-bottom: 12px;
    }


    .sinn-po-new__main-visual {
        min-height: 420px;
    }


    .sinn-po-new__main-image {
        width: 74%;
        max-width: 74%;

        height: 90%;
        max-height: 90%;
    }


    .sinn-po-new__structure-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        grid-template-rows: auto;
    }


    .sinn-po-new__structure-card--1,
    .sinn-po-new__structure-card--2,
    .sinn-po-new__structure-card--3,
    .sinn-po-new__structure-card--4,
    .sinn-po-new__structure-card--5 {
        grid-column: auto;
    }

}


/* =========================================================
   MOBILE LANDSCAPE <= 766
   ========================================================= */

@media (max-width: 766px) {

    .sinn-po-new {
        width: calc(100% - 32px);

        margin-top: 22px;

        padding: 20px;
    }


    .sinn-po-new__title {
        font-size: 28px;
    }


    .sinn-po-new__intro {
        font-size: 15px;
        line-height: 1.65;
    }


    .sinn-po-new__main-visual {
        min-height: 340px;
    }


    .sinn-po-new__main-image {
        width: 82%;
        max-width: 82%;
    }


    .sinn-po-new__structure-grid {
        grid-template-columns: 1fr;
    }


    .sinn-po-new__structure-card {
        min-height: 150px;

        display: grid;

        grid-template-columns:
            150px minmax(0, 1fr);

        grid-template-rows: 1fr;
    }


    .sinn-po-new__structure-image {
        width: 150px;
        height: 100%;
        min-height: 150px;

        padding: 8px;

        border-bottom: 0;
        border-right: 1px solid var(--po-border-light);
    }


    .sinn-po-new__structure-copy {
        min-height: 0;

        display: flex;
        flex-direction: column;
        justify-content: center;

        border-top: 0;
    }

}


/* =========================================================
   MOBILE PORTRAIT <= 477
   ========================================================= */

@media (max-width: 477px) {

    .sinn-po-new {
        width: calc(100% - 24px);

        padding: 18px 16px;
    }


    .sinn-po-new__main-visual {
        min-height: 300px;
    }


    .sinn-po-new__main-image {
        width: 88%;
        max-width: 88%;
    }


    .sinn-po-new__caption-primary {
        font-size: 11px;
    }


    .sinn-po-new__caption-secondary {
        font-size: 10px;
    }


    .sinn-po-new__structure-card {
        grid-template-columns:
            120px minmax(0, 1fr);

        min-height: 130px;
    }


    .sinn-po-new__structure-image {
        width: 120px;
        min-height: 130px;
    }

}