/*
Theme Name: Astra Child
Template: astra
Version: 1.0
*/

/* ============================================================
   PHAP PRODUCT PAGE — CLEAN PRODUCT PAGE CSS

   Desktop layout:
   LEFT   = Gallery (vertical thumbnails + selected image)
   CENTER = Product information
   RIGHT  = Promotional banner

   Below hero:
   OEM / Affiliate links
   WooCommerce / PHAP tabs
   Related products

   No !important rules.
   No attribute selectors.
   No duplicate rules.
   ============================================================ */

/* ------------------------------------------------------------
   1. PAGE CONTAINER
   ------------------------------------------------------------ */
.phap-product-page {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 30px 50px;
    box-sizing: border-box;
}

/* ------------------------------------------------------------
   2. HERO — GALLERY | INFORMATION | ADVERT
   ------------------------------------------------------------ */
.phap-product-hero {
    display: grid;
    grid-template-columns: minmax(0, 46%) minmax(0, 32%) minmax(0, 22%);
    column-gap: 32px;
    align-items: flex-start;
    width: 100%;
    margin: 0 0 24px;
    padding: 0;
    box-sizing: border-box;
}

/* ------------------------------------------------------------
   3. GALLERY OUTER COLUMN
   ------------------------------------------------------------ */
.phap-product-gallery {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery {
    position: relative;
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    column-gap: 16px;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 0;
    float: none;
    box-sizing: border-box;
}

/* WooCommerce also stamps the legacy ".images" class onto this same
   element for backward-compatibility with older themes. Astra's own
   compatibility CSS targets that legacy class with width:50%; float:left.
   Confirmed via DevTools (August 24, 2026): raising this rule to 6
   classes of specificity (above) still produced zero change in the
   computed width, which is only possible if Astra's rule carries
   !important — no amount of specificity can out-rank that. This is a
   deliberate, narrowly-scoped exception to this file's "no !important"
   rule: one third-party rule, on one element, on the four properties
   needed to break the 50% split. Do not extend !important elsewhere
   in this file on the strength of this exception. */
.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery.images {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

/* ------------------------------------------------------------
   4. GALLERY — VERTICAL THUMBNAILS ON LEFT
   ------------------------------------------------------------ */
.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery .flex-control-thumbs {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 10px;
    width: 76px;
    max-height: 334px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    overflow-x: hidden;
    list-style: none;
    box-sizing: border-box;
}

.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery .flex-control-thumbs li img {
    display: block;
    width: 76px;
    height: 76px;
    margin: 0;
    padding: 0;
    object-fit: contain;
    border: 1px solid #d8dde3;
    border-radius: 4px;
    opacity: 0.75;
    cursor: pointer;
    box-sizing: border-box;
}

.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery .flex-control-thumbs li img:hover {
    opacity: 1;
}

.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery .flex-control-thumbs .flex-active {
    opacity: 1;
    border-color: #12345b;
}

/* ------------------------------------------------------------
   5. GALLERY — SELECTED / MAIN IMAGE
   ------------------------------------------------------------ */
.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery__wrapper {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery__image {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery__image a {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    text-decoration: none;
}

.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 560px;
    margin: 0 auto;
    padding: 0;
    object-fit: contain;
    box-sizing: border-box;
}

.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery__trigger {
    z-index: 5;
}

/* FlexSlider viewport — the actual main-image container on this
   site's gallery markup (confirmed via DevTools, August 24, 2026).
   The __wrapper / __image rules above are kept as a fallback for
   any WooCommerce/theme version that uses the BEM gallery markup
   instead; these target the FlexSlider structure that is actually
   present now. */
.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery .flex-viewport {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery .flex-viewport img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 560px;
    margin: 0 auto;
    padding: 0;
    object-fit: contain;
    box-sizing: border-box;
}

/* ------------------------------------------------------------
   6. PRODUCT INFORMATION — CENTER
   ------------------------------------------------------------ */
.phap-product-summary {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 2px 0 0;
    box-sizing: border-box;
}

.phap-product-brand {
    margin: 0 0 8px;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;
}

.phap-product-brand a {
    text-decoration: none;
}

.phap-product-title {
    margin: 0 0 16px;
    padding: 0;
    font-size: 36px;
    line-height: 1.15;
    font-weight: 600;
    color: #12345b;
}

.phap-product-category {
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.4;
    color: #6b7280;
}

.phap-product-category a {
    color: inherit;
    text-decoration: none;
}

.phap-product-summary-text {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 1.55;
}

.phap-product-summary-text p {
    margin: 0 0 12px;
}

.phap-product-short-description {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 1.55;
}

.phap-product-short-description p {
    margin: 0 0 12px;
}

/* ------------------------------------------------------------
   7. PROMOTIONAL BANNER — RIGHT
   ------------------------------------------------------------ */
.phap-product-advertisement {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.phap-banner {
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    overflow: hidden;
}

.phap-banner-link {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 0;
    text-decoration: none;
}

.phap-banner-image {
    display: block;
    width: 100%;
    max-width: 280px;
    height: auto;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ------------------------------------------------------------
   8. OEM / AFFILIATE LINKS
   ------------------------------------------------------------ */
.phap-product-links {
    width: 100%;
    margin: 0 0 28px;
    padding: 0;
    box-sizing: border-box;
}

.phap-product-links-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    width: 100%;
    margin: 0;
    padding: 0;
}

.phap-product-link {
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;
    text-decoration: none;
}

.phap-product-link:hover {
    text-decoration: underline;
}

/* ------------------------------------------------------------
   9. REMOVE WOOCOMMERCE DEFAULT PRODUCT FLOATS
   ------------------------------------------------------------ */
.phap-product-page .woocommerce-product-gallery,
.phap-product-page .summary {
    float: none;
}

.phap-product-page .summary {
    width: auto;
    margin: 0;
}

/* ------------------------------------------------------------
   10. PRODUCT TABS
   ------------------------------------------------------------ */
.phap-product-page .woocommerce-tabs {
    width: 100%;
    margin: 0;
    padding: 0;
    clear: both;
    box-sizing: border-box;
}

.phap-product-page .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #d8dde3;
    list-style: none;
    box-sizing: border-box;
}

.phap-product-page .woocommerce-tabs ul.tabs::before,
.phap-product-page .woocommerce-tabs ul.tabs::after {
    display: none;
}

.phap-product-page .woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.phap-product-page .woocommerce-tabs ul.tabs li a {
    display: block;
    margin: 0;
    padding: 14px 18px;
    border-top: 3px solid transparent;
    text-decoration: none;
    font-weight: 600;
    line-height: 1.3;
}

.phap-product-page .woocommerce-tabs ul.tabs .active a {
    border-top-color: #0878d1;
}

.phap-product-page .woocommerce-Tabs-panel {
    margin: 0;
    padding: 24px 0 0;
    box-sizing: border-box;
}

/* ------------------------------------------------------------
   11. PRODUCT INFORMATION TABLES
   ------------------------------------------------------------ */
.phap-product-page .woocommerce-Tabs-panel table {
    width: 100%;
    margin: 0 0 30px;
    border-collapse: collapse;
}

.phap-product-page .woocommerce-Tabs-panel th,
.phap-product-page .woocommerce-Tabs-panel td {
    padding: 14px;
    border: 1px solid #d8dde3;
    text-align: left;
    vertical-align: top;
}

.phap-product-page .woocommerce-Tabs-panel th {
    width: 180px;
    font-weight: 600;
}

/* ------------------------------------------------------------
   12. RELATED PRODUCTS
   ------------------------------------------------------------ */
.phap-product-page .related.products {
    width: 100%;
    margin: 50px 0 0;
    padding: 0;
    clear: both;
}

.phap-product-page .related.products h2 {
    margin: 0 0 28px;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 500;
    color: #12345b;
}

.phap-product-page .related.products ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.phap-product-page .related.products ul.products li.product {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.phap-product-page .related.products ul.products li.product img {
    display: block;
    width: 100%;
    height: 250px;
    margin: 0 0 18px;
    object-fit: contain;
}

.phap-product-page .related.products .woocommerce-loop-product__title {
    margin: 0 0 10px;
    font-size: 18px;
    line-height: 1.4;
    color: #12345b;
}

.phap-product-page .related.products .price {
    font-size: 17px;
    color: #12345b;
}

/* ------------------------------------------------------------
   13. TABLET
   ------------------------------------------------------------ */
@media (max-width: 1199px) {
    .phap-product-page {
        padding-left: 20px;
        padding-right: 20px;
    }

    .phap-product-hero {
        grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
        column-gap: 25px;
    }

    .phap-product-advertisement {
        grid-column: 2;
        margin-top: 0;
    }

    .phap-banner {
        margin-left: 0;
        margin-right: 0;
    }

    .phap-product-page .related.products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* ------------------------------------------------------------
   14. SMALL TABLET / LARGE MOBILE
   ------------------------------------------------------------ */
@media (max-width: 900px) {
    .phap-product-hero {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .phap-product-advertisement {
        grid-column: auto;
        margin-top: 0;
    }

    .phap-banner {
        max-width: 320px;
        margin-left: 0;
        margin-right: 0;
    }

    .phap-product-title {
        font-size: 32px;
    }

    .phap-product-page .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ------------------------------------------------------------
   15. MOBILE
   ------------------------------------------------------------ */
@media (max-width: 767px) {
    .phap-product-page {
        padding-left: 15px;
        padding-right: 15px;
    }

    .phap-product-hero {
        display: block;
    }

    .phap-product-gallery {
        margin-bottom: 30px;
    }

    .single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery {
        display: block;
    }

    .single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery__wrapper {
        width: 100%;
        margin: 0;
    }

    .single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery .flex-control-thumbs {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        width: 100%;
        max-height: none;
        margin: 12px 0 0;
        padding: 0;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 10px;
    }

    .single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery .flex-control-thumbs li {
        flex: 0 0 65px;
        width: 65px;
        height: 65px;
    }

    .single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery .flex-control-thumbs li img {
        width: 65px;
        height: 65px;
    }

    .single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery__image img {
        max-height: 420px;
    }

    .single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery .flex-viewport img {
        max-height: 420px;
    }

    .phap-product-title {
        font-size: 30px;
    }

    .phap-product-summary-text,
    .phap-product-short-description {
        font-size: 16px;
        line-height: 1.6;
    }

    .phap-banner,
    .phap-banner-image {
        width: 100%;
        max-width: 320px;
    }

    .phap-product-links-list {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .phap-product-page .woocommerce-tabs ul.tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
    }

    .phap-product-page .woocommerce-tabs ul.tabs li {
        flex: 0 0 auto;
    }

    .phap-product-page .woocommerce-tabs ul.tabs li a {
        white-space: nowrap;
        padding: 12px 15px;
    }

    .phap-product-page .related.products ul.products {
        grid-template-columns: 1fr;
    }
}

/* ------------------------------------------------------------
   16. SMALL MOBILE
   ------------------------------------------------------------ */
@media (max-width: 480px) {
    .phap-product-page {
        padding-left: 12px;
        padding-right: 12px;
    }

    .phap-product-title {
        font-size: 27px;
    }

    .single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery__image img {
        max-height: 340px;
    }

    .single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery .flex-viewport img {
        max-height: 340px;
    }
}

/* =========================================================
   PHAP — PRODUCT GALLERY SIZE
   ========================================================= */

.single-product.single-product.single-product .phap-product-gallery .woocommerce-product-gallery {
    width: 100%;
    max-width: none;
}

/* ============================================================
   PHAP REVIEW PAGE — REVIEW PRESENTATION
   ============================================================ */

.phap-review-page {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 30px 60px;
    box-sizing: border-box;
}

.phap-review-container {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.phap-review-hero {
    display: grid;
    grid-template-columns: minmax(0, 46%) minmax(0, 32%) minmax(0, 22%);
    column-gap: 32px;
    align-items: flex-start;
    width: 100%;
    margin: 0 0 24px;
    padding: 0;
    box-sizing: border-box;
}

.phap-review-gallery {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.phap-review-gallery-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.phap-review-gallery-layout {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    column-gap: 16px;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.phap-review-gallery-thumbs {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 76px;
    max-height: 560px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
}

.phap-review-gallery-thumb {
    display: block;
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
    margin: 0;
    padding: 0;
    border: 1px solid #d8dde3;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    box-sizing: border-box;
}

.phap-review-gallery-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: contain;
}

.phap-review-gallery-main {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 1px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.phap-review-gallery-main-item {
    display: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

.phap-review-gallery-main-item img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 560px;
    margin: 0 auto;
    object-fit: contain;
}

.phap-review-gallery-view-link {
    display: block;
    margin: 10px 0 0;
    text-align: center;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
}

.phap-review-gallery-input:nth-of-type(1):checked ~ .phap-review-gallery-layout .phap-review-gallery-main-item:nth-child(1),
.phap-review-gallery-input:nth-of-type(2):checked ~ .phap-review-gallery-layout .phap-review-gallery-main-item:nth-child(2),
.phap-review-gallery-input:nth-of-type(3):checked ~ .phap-review-gallery-layout .phap-review-gallery-main-item:nth-child(3),
.phap-review-gallery-input:nth-of-type(4):checked ~ .phap-review-gallery-layout .phap-review-gallery-main-item:nth-child(4),
.phap-review-gallery-input:nth-of-type(5):checked ~ .phap-review-gallery-layout .phap-review-gallery-main-item:nth-child(5),
.phap-review-gallery-input:nth-of-type(6):checked ~ .phap-review-gallery-layout .phap-review-gallery-main-item:nth-child(6),
.phap-review-gallery-input:nth-of-type(7):checked ~ .phap-review-gallery-layout .phap-review-gallery-main-item:nth-child(7),
.phap-review-gallery-input:nth-of-type(8):checked ~ .phap-review-gallery-layout .phap-review-gallery-main-item:nth-child(8),
.phap-review-gallery-input:nth-of-type(9):checked ~ .phap-review-gallery-layout .phap-review-gallery-main-item:nth-child(9),
.phap-review-gallery-input:nth-of-type(10):checked ~ .phap-review-gallery-layout .phap-review-gallery-main-item:nth-child(10) {
    display: block;
}

.phap-review-gallery-input:nth-of-type(1):checked ~ .phap-review-gallery-layout .phap-review-gallery-thumb:nth-child(1),
.phap-review-gallery-input:nth-of-type(2):checked ~ .phap-review-gallery-layout .phap-review-gallery-thumb:nth-child(2),
.phap-review-gallery-input:nth-of-type(3):checked ~ .phap-review-gallery-layout .phap-review-gallery-thumb:nth-child(3),
.phap-review-gallery-input:nth-of-type(4):checked ~ .phap-review-gallery-layout .phap-review-gallery-thumb:nth-child(4),
.phap-review-gallery-input:nth-of-type(5):checked ~ .phap-review-gallery-layout .phap-review-gallery-thumb:nth-child(5),
.phap-review-gallery-input:nth-of-type(6):checked ~ .phap-review-gallery-layout .phap-review-gallery-thumb:nth-child(6),
.phap-review-gallery-input:nth-of-type(7):checked ~ .phap-review-gallery-layout .phap-review-gallery-thumb:nth-child(7),
.phap-review-gallery-input:nth-of-type(8):checked ~ .phap-review-gallery-layout .phap-review-gallery-thumb:nth-child(8),
.phap-review-gallery-input:nth-of-type(9):checked ~ .phap-review-gallery-layout .phap-review-gallery-thumb:nth-child(9),
.phap-review-gallery-input:nth-of-type(10):checked ~ .phap-review-gallery-layout .phap-review-gallery-thumb:nth-child(10) {
    border-color: #12345b;
}

.phap-review-summary {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 2px 0 0;
    box-sizing: border-box;
}

.phap-review-brand {
    margin: 0 0 8px;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;
}

.phap-review-product-title {
    margin: 0 0 16px;
    padding: 0;
    font-size: 36px;
    line-height: 1.15;
    font-weight: 600;
    color: #12345b;
}

.phap-review-product-category {
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.4;
    color: #6b7280;
}

.phap-review-product-summary,
.phap-review-product-description {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 1.55;
}

.phap-review-product-summary p,
.phap-review-product-description p {
    margin: 0 0 12px;
}

.phap-review-advertisement {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.phap-review-banner {
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.phap-review-banner .phap-banner-link {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 0;
    text-decoration: none;
}

.phap-review-banner .phap-banner-image {
    display: block;
    width: 100%;
    max-width: 280px;
    height: auto;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.phap-review-links {
    width: 100%;
    margin: 0 0 28px;
    padding: 0;
    box-sizing: border-box;
}

.phap-review-links-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    width: 100%;
    margin: 0;
    padding: 0;
}

.phap-review-link {
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;
    text-decoration: none;
}

.phap-review-link:hover {
    text-decoration: underline;
}

.phap-review-title-block {
    width: 100%;
    margin: 0 0 22px;
    padding: 0;
}

.phap-review-title {
    margin: 0;
    padding: 0;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 600;
    color: #12345b;
}

.phap-review-narrative {
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 16px;
    line-height: 1.65;
    color: #27364a;
}

.phap-review-narrative-block {
    margin: 0 0 18px;
    padding: 0;
}

.phap-review-narrative-block:last-child {
    margin-bottom: 0;
}

.phap-review-narrative-block p {
    margin: 0 0 14px;
}

.phap-review-narrative-block p:last-child {
    margin-bottom: 0;
}

.phap-review-narrative-block ul,
.phap-review-narrative-block ol {
    margin-top: 0;
    margin-bottom: 14px;
}

.phap-review-narrative-block img {
    max-width: 100%;
    height: auto;
}

.phap-review-video {
    width: 100%;
    max-width: 830px;
    margin: 38px 0 0;
    padding: 0;
    box-sizing: border-box;
}

.phap-review-video h2 {
    margin: 0 0 18px;
    padding: 0;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 500;
    color: #12345b;
}

.phap-review-video .embedyt-container,
.phap-review-video iframe {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 1199px) {
    .phap-review-page {
        padding-left: 20px;
        padding-right: 20px;
    }

    .phap-review-hero {
        grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
        column-gap: 25px;
    }

    .phap-review-advertisement {
        grid-column: 2;
    }

    .phap-review-banner {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 900px) {
    .phap-review-hero {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .phap-review-advertisement {
        grid-column: auto;
    }

    .phap-review-banner {
        max-width: 320px;
        margin-left: 0;
        margin-right: 0;
    }

    .phap-review-product-title {
        font-size: 32px;
    }
}

@media (max-width: 767px) {
    .phap-review-page {
        padding-left: 15px;
        padding-right: 15px;
    }

    .phap-review-hero {
        display: block;
    }

    .phap-review-gallery {
        margin-bottom: 30px;
    }

    .phap-review-gallery-layout {
        display: block;
    }

    .phap-review-gallery-thumbs {
        flex-direction: row;
        flex-wrap: nowrap;
        width: 100%;
        max-height: none;
        margin: 12px 0 0;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .phap-review-gallery-thumb {
        flex: 0 0 65px;
        width: 65px;
        height: 65px;
    }

    .phap-review-gallery-main-item img {
        max-height: 420px;
    }

    .phap-review-product-title {
        font-size: 30px;
    }

    .phap-review-links-list {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .phap-review-video {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .phap-review-page {
        padding-left: 12px;
        padding-right: 12px;
    }

    .phap-review-product-title {
        font-size: 27px;
    }

    .phap-review-title {
        font-size: 27px;
    }

    .phap-review-gallery-main-item img {
        max-height: 340px;
    }
}
