/* =============================================================================
   Liquid Pool Cover Page — ph-liquid-pool-cover.css
   All rules scoped under .ph-lpc-content
   ============================================================================= */

/* -----------------------------------------------------------------------------
   DESIGN TOKENS (edit these to change the whole page)
   ----------------------------------------------------------------------------- */
/*
   Section h2  : clamp(1.85rem, 2.3vw, 2.2rem)   — same on every content section
   Section h3  : clamp(1.25rem, 1.7vw, 1.5rem)
   Body copy   : 1.05rem / 1.75
   Section pad : 72px 0
   Container   : 1170px max, 24px horizontal gutter
   Blue        : #1d439c
   Yellow      : #feb415 / #faaa00
   Copy grey   : #4b5563
*/

/* -----------------------------------------------------------------------------
   GLOBAL RESET & BASE
   ----------------------------------------------------------------------------- */

.ph-lpc-content *,
.ph-lpc-content *::before,
.ph-lpc-content *::after {
    box-sizing: border-box;
}

.ph-lpc-content {
    font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
    font-size: 1.05rem;
    color: #4b5563;
    line-height: 1.75;
}

/* --- Unified heading scale ------------------------------------------------- */
.ph-lpc-content h1 {
    font-family: "Rajdhani", "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 0;
    line-height: 0.9;
}

.ph-lpc-content h2 {
    font-family: "Rajdhani", "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    text-align: left;
    margin-top: 0;
    margin-bottom: 1.1rem;
    font-size: clamp(1.85rem, 2.3vw, 2.2rem);
    line-height: 1.05;
    color: #333;
}

.ph-lpc-content h3 {
    font-family: "Rajdhani", "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    text-align: left;
    margin-top: 0;
    margin-bottom: 0.75rem;
    font-size: clamp(1.25rem, 1.7vw, 1.5rem);
    line-height: 1.15;
    color: #333;
}

/* Override Elementor's global heading-title centering */
.ph-lpc-content .elementor-heading-title {
    text-align: left;
}

.ph-lpc-content p {
    margin: 0 0 1rem;
    font-size: 1.05rem;
    color: #4b5563;
    line-height: 1.75;
}

.ph-lpc-content a {
    color: #1d439c;
}

.ph-lpc-content a:hover {
    text-decoration: underline;
}

.ph-lpc-content img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* --- Elementor layout helpers --------------------------------------------- */

.ph-lpc-content .elementor-section {
    padding: 72px 0;
}

.ph-lpc-content .elementor-section-boxed > .elementor-container {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 24px;
}

.ph-lpc-content .elementor-container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

/* Columns — default padding is a single gutter on each side */
.ph-lpc-content .elementor-column {
    padding: 0 16px;
}

.ph-lpc-content .elementor-widget-wrap {
    padding: 0;          /* cleared — gutter lives on .elementor-column */
    width: 100%;
}

.ph-lpc-content .elementor-col-100 { width: 100%; }
.ph-lpc-content .elementor-col-50  { width: 50%; }
.ph-lpc-content .elementor-col-25  { width: 25%; }
.ph-lpc-content .elementor-col-20  { width: 20%; }

/* Bleed the container's own padding so columns sit flush to the 1170px edge */
.ph-lpc-content .elementor-section-boxed > .elementor-container {
    padding-left:  8px;   /* 24px gutter - 16px column-pad */
    padding-right: 8px;
}

/* Compensate on small screens where the outer shell already has 16px */
@media (max-width: 767px) {
    .ph-lpc-content .elementor-section-boxed > .elementor-container {
        padding-left:  4px;
        padding-right: 4px;
    }
    .ph-lpc-content .elementor-column {
        padding: 0 12px;
    }
}

/* -----------------------------------------------------------------------------
   SHARED BUTTON
   ----------------------------------------------------------------------------- */

.ph-lpc-content .elementor-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7em 1.9em;
    border: 2px solid #feb415;
    border-radius: 999px;
    background: #1d439c;
    color: #fff;
    font-family: "Rajdhani", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    cursor: pointer;
}

.ph-lpc-content .elementor-button:hover {
    background: #feb415;
    border-color: #1d439c;
    color: #1d439c;
    text-decoration: none;
}

/* -----------------------------------------------------------------------------
   SECTION 1 — HERO
   ----------------------------------------------------------------------------- */

.ph-lpc-content .lpc-hero-section {
    padding: 0;
    min-height: 80vh;
    display: flex;
    align-items: flex-end;
    background:
        linear-gradient(180deg, rgba(8, 19, 44, 0.14) 0%, rgba(8, 19, 44, 0.52) 100%),
        url("https://poolheating.com.au/wp-content/uploads/2017/06/Kids-jumping-in-to-enjoy-heated-pool.jpeg")
        center center / cover no-repeat;
    position: relative;
}

.ph-lpc-content .lpc-hero-section .elementor-background-overlay {
    display: none;
}

.ph-lpc-content .lpc-hero-section .elementor-container {
    align-items: flex-end;
    padding-bottom: 4.5rem;
    padding-top:    2rem;
}

.ph-lpc-content .lpc-hero-section h1.elementor-heading-title {
    color: #feb415;
    font-size: clamp(3.2rem, 5.5vw, 5.4rem);
    line-height: 0.85;
    max-width: 8ch;
    margin: 0 0 0.5rem;
}

.ph-lpc-content .lpc-hero-tagline {
    font-family: "Rajdhani", "Helvetica Neue", Arial, sans-serif;
    font-weight: 600;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.2;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.92);
    max-width: 24rem;
    margin: 0;
}

/* -----------------------------------------------------------------------------
   SECTION 2 — FEATURES STRIP
   ----------------------------------------------------------------------------- */

.ph-lpc-content .lpc-features-section {
    padding: 28px 0;
    background: #fff;
    border-top:    1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
}

.ph-lpc-content .lpc-features-section .elementor-container {
    align-items: stretch;
    justify-content: center;   /* centres lone 5th item when wrapping to 2-col */
}

.ph-lpc-content .lpc-features-section .elementor-col-20 {
    border-right: 1px solid #eee;
}

.ph-lpc-content .lpc-features-section .elementor-col-20:last-child {
    border-right: none;
}

.ph-lpc-content .lpc-features-section .elementor-col-20 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.ph-lpc-content .lpc-features-section .elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.ph-lpc-content .lpc-features-section .elementor-icon-box-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0.6rem 0.75rem;
    width: 100%;
}

.ph-lpc-content .lpc-features-section .elementor-icon-box-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 2.5rem;
}

.ph-lpc-content .lpc-features-section .elementor-icon {
    font-size: 2rem;
    color: #1d439c;
    display: block;
    line-height: 1;
}

.ph-lpc-content .lpc-features-section .elementor-icon-box-title {
    font-family: "Rajdhani", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #1d439c;
    line-height: 1.2;
    margin: 0.4rem 0 0;
}

.ph-lpc-content .lpc-features-section .elementor-icon-box-title span {
    display: block;
    text-align: center;
}

/* -----------------------------------------------------------------------------
   SECTION 3 — PRODUCT INTRO
   ----------------------------------------------------------------------------- */

.ph-lpc-content .lpc-intro-section {
    background: #fff;
}

/* Subtitle sits right under the first h2 */
.ph-lpc-content .lpc-intro-section .lpc-subtitle {
    color: #1d439c;
    margin-bottom: 1.25rem;
}

.ph-lpc-content .lpc-product-images {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
    margin: 1.75rem 0;
    flex-wrap: wrap;
}

.ph-lpc-content .lpc-product-bottle {
    max-width: 110px;
    height: auto;
}

.ph-lpc-content .lpc-product-logo {
    max-width: 280px;
    height: auto;
    margin: 0 auto;
    display: block;
}

.ph-lpc-content .lpc-diagram {
    margin: 2rem 0 0;
    text-align: center;
    padding-top: 1.75rem;
    border-top: 1px solid #eee;
}

.ph-lpc-content .lpc-diagram img {
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.ph-lpc-content .lpc-diagram figcaption {
    font-size: 0.88rem;
    color: #888;
    margin-top: 0.5rem;
    font-style: italic;
}

/* -----------------------------------------------------------------------------
   SECTION 4 — CORE MESSAGE (blue band)
   ----------------------------------------------------------------------------- */

.ph-lpc-content .lpc-message-section {
    background: #1d439c;
    padding: 72px 0;
}

.ph-lpc-content .lpc-message-section h2 {
    color: #feb415;
    font-size: clamp(1.85rem, 2.8vw, 2.5rem);   /* slightly larger — banner context */
    text-align: center;
    max-width: 820px;
    margin: 0 auto 1rem;
    line-height: 1.1;
}

.ph-lpc-content .lpc-message-section p {
    color: rgba(255, 255, 255, 0.88);
    text-align: center;
    max-width: 680px;
    margin: 0 auto;
    font-size: 1.05rem;
}

/* -----------------------------------------------------------------------------
   SECTION 5 — ABOUT HEAT LOC
   ----------------------------------------------------------------------------- */

.ph-lpc-content .lpc-about-section {
    background: #f8f9fa;
}

/* h2 inherits global size — no override needed */

/* -----------------------------------------------------------------------------
   SECTION 6 — DOSAGE INFORMATION
   ----------------------------------------------------------------------------- */

.ph-lpc-content .lpc-dosage-section {
    background: #fff;
}

/* Stretch both cols to the same height so the image fills the text column height */
.ph-lpc-content .lpc-dosage-section .elementor-container {
    align-items: stretch;
}

.ph-lpc-content .lpc-dosage-section .lpc-image-col .elementor-widget-wrap {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ph-lpc-content .lpc-dosage-section .lpc-image-col img {
    max-width: 100%;
    height: auto;
    display: block;
}

.ph-lpc-content .lpc-dosage-section p strong {
    color: #1d439c;
}

/* -----------------------------------------------------------------------------
   SECTION 7 — PRODUCT BENEFITS
   ----------------------------------------------------------------------------- */

.ph-lpc-content .lpc-benefits-section {
    background: #f8f9fa;
}

.ph-lpc-content .lpc-benefits-section ul {
    list-style: none;
    padding: 0;
    margin: 1.25rem 0;
}

.ph-lpc-content .lpc-benefits-section li {
    position: relative;
    padding: 0.65rem 0.75rem 0.65rem 2.1rem;
    margin-bottom: 0.6rem;
    background: #fff;
    border-left: 3px solid #1d439c;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    font-size: 1.05rem;
}

.ph-lpc-content .lpc-benefits-section li::before {
    content: "";
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0.5rem;
    height: 0.5rem;
    background: #1d439c;
    border-radius: 50%;
}

/* -----------------------------------------------------------------------------
   SECTION 8 — AVAILABLE SIZE
   ----------------------------------------------------------------------------- */

.ph-lpc-content .lpc-size-section {
    background: #fff;
    padding-top: 0;    /* runs directly below benefits — no double gap */
}

.ph-lpc-content .lpc-size-section ul {
    list-style: none;
    padding: 0;
    margin: 1.25rem 0;
}

.ph-lpc-content .lpc-size-section li {
    position: relative;
    padding: 0.65rem 0.75rem 0.65rem 2.1rem;
    margin-bottom: 0.6rem;
    background: #f8f9fa;
    border-left: 3px solid #1d439c;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    font-size: 1.05rem;
}

.ph-lpc-content .lpc-size-section li::before {
    content: "";
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0.5rem;
    height: 0.5rem;
    background: #1d439c;
    border-radius: 50%;
}

/* -----------------------------------------------------------------------------
   SECTION 9 — SWIM NOW. PAY LATER
   ----------------------------------------------------------------------------- */

.ph-lpc-content .lpc-swim-section {
    background: #f2f4f8;
    text-align: center;
}

/* Force the single-column widget-wrap to stack children + centre them */
.ph-lpc-content .lpc-swim-section .elementor-col-100 > .elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ph-lpc-content .lpc-swim-section h2 {
    color: #1d439c;
    font-size: clamp(2rem, 3vw, 2.8rem);   /* decorative — larger than body h2s */
    margin-bottom: 0.2rem;
    line-height: 1;
}

.ph-lpc-content .lpc-swim-section h2 b {
    color: #faaa00;
}

.ph-lpc-content .lpc-divider {
    height: 2px;
    background: #d0d5df;
    width: 120px;
    margin: 0.9rem auto;
}

.ph-lpc-content .lpc-swim-section h3 {
    font-family: "Lato", sans-serif;
    font-weight: 600;
    font-size: 1.15rem;
    text-transform: none;
    letter-spacing: 0;
    color: #555;
    margin-bottom: 2rem;
}

/* 4-column equal-height cards */
.ph-lpc-content .lpc-swim-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    justify-content: center;
    margin-bottom: 2.5rem;
    width: 100%;
}

.ph-lpc-content .lpc-swim-grid .elementor-col-25 {
    width: calc(25% - 14px);
    flex: 0 0 calc(25% - 14px);
    max-width: calc(25% - 14px);
    display: flex;
    flex-direction: column;
    padding: 0;
}

.ph-lpc-content .lpc-swim-grid .elementor-widget-icon-box,
.ph-lpc-content .lpc-swim-grid .elementor-widget-container {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.ph-lpc-content .lpc-swim-section .elementor-icon-box-wrapper {
    background: #fff;
    padding: 1.4rem 1.25rem;
    text-align: left;
    border-top: 3px solid #feb415;
    flex: 1;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.ph-lpc-content .lpc-swim-section .elementor-icon-box-title {
    font-family: "Rajdhani", "Helvetica Neue", Arial, sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #1d439c;
    margin: 0 0 0.3rem;
    line-height: 1.1;
}

.ph-lpc-content .lpc-swim-section .elementor-icon-box-description {
    font-size: 0.92rem;
    color: #666;
    line-height: 1.55;
    margin: 0;
}

.ph-lpc-content .lpc-handypay-logo {
    max-width: 180px;
    height: auto;
    display: block;
    margin: 2rem auto 1rem;
}

.ph-lpc-content .lpc-swim-links {
    font-size: 0.95rem;
    text-align: center;
    width: 100%;
    margin-bottom: 1.5rem;
    color: #4b5563;
}

.ph-lpc-content .lpc-swim-links a {
    color: #1d439c;
    margin: 0 0.3rem;
}

.ph-lpc-content .lpc-swim-section .elementor-button-wrapper {
    text-align: center;
    width: 100%;
}

/* -----------------------------------------------------------------------------
   SECTION 10 — BROCHURE DOWNLOAD
   ----------------------------------------------------------------------------- */

.ph-lpc-content .lpc-brochure-section {
    background: #fff;
    text-align: center;
}

/* h2 inherits global size */

.ph-lpc-content .lpc-brochure-section p {
    color: #555;
    max-width: 560px;
    margin: 0 auto 1.75rem;
}

/* -----------------------------------------------------------------------------
   SECTION 11 — CONTACT
   ----------------------------------------------------------------------------- */

.ph-lpc-content .lpc-contact-section {
    background: #f8f9fa;
}

/* Stretch columns so the right-col background matches the form height */
.ph-lpc-content .lpc-contact-section .elementor-container {
    align-items: stretch;
}

.ph-lpc-content .lpc-contact-section .elementor-col-50:first-child .elementor-widget-wrap {
    padding-right: 32px;
    padding-bottom: 2rem;
}

.ph-lpc-content .lpc-contact-section .elementor-col-50:last-child .elementor-widget-wrap {
    padding-left: 40px;
    border-left: 1px solid #e0e3ea;
}

/* h2 in contact gets blue override */
.ph-lpc-content .lpc-contact-section h2 {
    color: #1d439c;
}

.ph-lpc-content .lpc-contact-section h3 {
    color: #333;
    font-size: clamp(1.2rem, 1.6vw, 1.4rem);
}

/* Contact & location lists */
.ph-lpc-content .lpc-contact-list,
.ph-lpc-content .lpc-location-list {
    list-style: none;
    padding: 0;
    margin: 0.75rem 0 1.5rem;
}

.ph-lpc-content .lpc-contact-list li,
.ph-lpc-content .lpc-location-list li {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0;
    margin-bottom: 0.55rem;
    background: transparent;
    box-shadow: none;
    border-left: none;
    font-size: 1rem;
    color: #4b5563;
}

.ph-lpc-content .lpc-contact-list li::before,
.ph-lpc-content .lpc-contact-list li::after,
.ph-lpc-content .lpc-location-list li::before,
.ph-lpc-content .lpc-location-list li::after {
    display: none;
}

.ph-lpc-content .lpc-contact-list li i,
.ph-lpc-content .lpc-location-list li i {
    color: #1d439c;
    width: 1.1rem;
    flex-shrink: 0;
    font-size: 0.9rem;
}

/* GravityForms field overrides */
.ph-lpc-content .lpc-contact-section .gform_wrapper {
    margin-top: 0.5rem;
}

.ph-lpc-content .lpc-contact-section input[type="text"],
.ph-lpc-content .lpc-contact-section input[type="email"],
.ph-lpc-content .lpc-contact-section input[type="tel"],
.ph-lpc-content .lpc-contact-section select,
.ph-lpc-content .lpc-contact-section textarea {
    width: 100%;
    padding: 0.65rem 0.9rem;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    font-size: 1rem;
    color: #333;
    margin-bottom: 0.4rem;
}

.ph-lpc-content .lpc-contact-section textarea {
    min-height: 120px;
    resize: vertical;
}

.ph-lpc-content .lpc-contact-section input[type="submit"],
.ph-lpc-content .lpc-contact-section .gform_button {
    padding: 0.7rem 2.2rem;
    background: #1d439c;
    color: #fff;
    border: 2px solid #feb415;
    border-radius: 999px;
    font-family: "Rajdhani", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

.ph-lpc-content .lpc-contact-section input[type="submit"]:hover,
.ph-lpc-content .lpc-contact-section .gform_button:hover {
    background: #feb415;
    color: #1d439c;
}

/* =============================================================================
   RESPONSIVE — tablet  ≤ 1024px
   ============================================================================= */

@media (max-width: 1024px) {
    /* Stack 50/50 columns */
    .ph-lpc-content .elementor-col-50 {
        width: 100%;
    }

    /* Add breathing room when second col stacks below first */
    .ph-lpc-content .elementor-col-50 + .elementor-col-50 {
        margin-top: 2rem;
    }

    /* Features: 2-up */
    .ph-lpc-content .elementor-col-20 {
        width: 50%;
    }

    /* Finance grid: 2-up */
    .ph-lpc-content .lpc-swim-grid .elementor-col-25 {
        width: calc(50% - 9px);
        flex: 0 0 calc(50% - 9px);
        max-width: calc(50% - 9px);
    }

    /* Show dosage image above the text on tablet, centred */
    .ph-lpc-content .lpc-dosage-section .lpc-image-col {
        order: -1;
        margin-top: 0;
        margin-bottom: 0;   /* gap comes from the text col's margin-top above */
    }

    .ph-lpc-content .lpc-dosage-section .lpc-image-col img {
        max-width: 320px;
        margin: 0 auto;
        display: block;
    }

    /* Centre all images that sit inside a stacked column */
    .ph-lpc-content .elementor-col-50 img {
        margin-left: auto;
        margin-right: auto;
    }

    /* Remove contact column border/extra padding on tablet */
    .ph-lpc-content .lpc-contact-section .elementor-col-50:first-child .elementor-widget-wrap {
        padding-right: 0;
    }

    .ph-lpc-content .lpc-contact-section .elementor-col-50:last-child .elementor-widget-wrap {
        padding-left: 0;
        padding-top: 2rem;
        border-left: none;
        border-top: 1px solid #e0e3ea;
    }

    /* No extra margin-top for dosage image col (already order:-1) */
    .ph-lpc-content .lpc-dosage-section .lpc-image-col + .elementor-col-50 {
        margin-top: 1.5rem;
    }
}

/* =============================================================================
   RESPONSIVE — mobile  ≤ 767px
   ============================================================================= */

@media (max-width: 767px) {
    .ph-lpc-content .elementor-section {
        padding: 48px 0;
    }

    .ph-lpc-content .lpc-hero-section {
        min-height: 60vh;
    }

    /* Features: 2-up stays on mobile */
    .ph-lpc-content .elementor-col-20 {
        width: 50%;
    }

    /* Finance cards: 1-up on mobile */
    .ph-lpc-content .lpc-swim-grid .elementor-col-25 {
        width: 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    /* Product images centred and stacked */
    .ph-lpc-content .lpc-product-images {
        flex-direction: column;
        align-items: center;
        gap: 1.25rem;
    }

    .ph-lpc-content .lpc-product-bottle,
    .ph-lpc-content .lpc-product-logo {
        margin: 0 auto;
        display: block;
    }

    /* Centre every standalone image inside a column */
    .ph-lpc-content .elementor-col-50 img,
    .ph-lpc-content .elementor-col-100 img:not(.lpc-product-bottle):not(.lpc-product-logo) {
        margin-left: auto;
        margin-right: auto;
        display: block;
    }

    .ph-lpc-content .lpc-message-section h2 {
        font-size: clamp(1.6rem, 5vw, 2rem);
    }

    /* Features: remove side border, use bottom separator */
    .ph-lpc-content .lpc-features-section .elementor-col-20 {
        border-right: none;
        border-bottom: 1px solid #eee;
    }

    .ph-lpc-content .lpc-features-section .elementor-col-20:last-child {
        border-bottom: none;
    }

    /* Consistent heading gap on small screens */
    .ph-lpc-content h2 {
        margin-bottom: 1rem;
    }

    .ph-lpc-content h3 {
        margin-bottom: 0.65rem;
    }
}
