/* ==========================================================
   LOCALHOSTING UK
   PRICING PAGE
   ========================================================== */


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

.lhuk-pricing-page {

    --lhuk-bg: #ffffff;
    --lhuk-surface: #f3f3f8;
    --lhuk-surface-soft: #f7f7fa;
    --lhuk-surface-purple: #f0edfb;

    --lhuk-text: #17182f;
    --lhuk-text-soft: #70758e;
    --lhuk-text-muted: #85899d;

    --lhuk-border: #d9d9e5;
    --lhuk-border-strong: #c8c8da;

    --lhuk-purple: #8064ed;
    --lhuk-purple-bright: #9278ff;

    --lhuk-purple-soft: rgba(128, 100, 237, .12);

    --lhuk-table-line: rgba(25, 27, 55, .10);


    /*
     * THIS IS WHAT MAKES THE PAGE FULL WIDTH.
     *
     * WHMCS/Lagom places the template inside a .container.
     * We deliberately break out of that container.
     */

    position: relative;

    width: 100vw !important;
    max-width: none !important;

    left: 50%;
    right: auto;

    margin-left: -50vw !important;
    margin-right: 0 !important;

    padding: 0 !important;

    background: var(--lhuk-bg);

    color: var(--lhuk-text);

    font-family:
        "Poppins",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    overflow: hidden;
}


/*
 * Prevent the WHMCS theme from limiting the sections.
 */

.lhuk-pricing-page .lhuk-pricing-hero,
.lhuk-pricing-page .lhuk-section,
.lhuk-pricing-page .lhuk-camera-section {

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

}


/*
 * Everything inside the page.
 */

.lhuk-pricing-page *,
.lhuk-pricing-page *::before,
.lhuk-pricing-page *::after {

    box-sizing: border-box;

}


/* ==========================================================
   INNER CONTENT WIDTH
   ========================================================== */

.lhuk-pricing-container {

    width: min(1160px, calc(100% - 48px));

    max-width: 1160px;

    margin-left: auto !important;
    margin-right: auto !important;

}


/* ==========================================================
   LIGHT MODE
   ========================================================== */

.lhuk-pricing-page {

    background: #ffffff;

}


/* ==========================================================
   DARK MODE
   ========================================================== */

html.dark .lhuk-pricing-page,
html.dark-mode .lhuk-pricing-page,
html.theme-dark .lhuk-pricing-page,

html[data-theme="dark"] .lhuk-pricing-page,
html[data-mode="dark"] .lhuk-pricing-page,

body.dark .lhuk-pricing-page,
body.dark-mode .lhuk-pricing-page,
body.theme-dark .lhuk-pricing-page,

body[data-theme="dark"] .lhuk-pricing-page,
body[data-mode="dark"] .lhuk-pricing-page,

.lhuk-pricing-page[data-lhuk-theme="dark"] {

    --lhuk-bg: #141522;

    --lhuk-surface: #202330;
    --lhuk-surface-soft: #222532;
    --lhuk-surface-purple: #29283d;

    --lhuk-text: #f3f2fa;
    --lhuk-text-soft: #989caf;
    --lhuk-text-muted: #85899e;

    --lhuk-border: #383b49;
    --lhuk-border-strong: #414452;

    --lhuk-purple: #9a7cff;
    --lhuk-purple-bright: #a78cff;

    --lhuk-purple-soft: rgba(154, 124, 255, .16);

    --lhuk-table-line: rgba(177, 177, 208, .11);

    background: #141522;

}


/* ==========================================================
   HERO
   ========================================================== */

.lhuk-pricing-hero {

    width: 100%;

    padding:
        72px
        0
        52px;

    background: var(--lhuk-bg);

}


/* ==========================================================
   PRICING LABEL
   ========================================================== */

.lhuk-pricing-pill {

    display: inline-flex;

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

    padding:
        8px
        15px;

    margin-bottom: 20px;

    border-radius: 999px;

    background: var(--lhuk-purple-soft);

    color: var(--lhuk-purple);

    font-size: 12px;

    font-weight: 700;

    line-height: 1;

    letter-spacing: .06em;

}


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

.lhuk-pricing-hero h1 {

    max-width: 950px;

    margin:
        0
        0
        22px;

    color: var(--lhuk-text);

    font-size:
        clamp(
            46px,
            5.2vw,
            70px
        );

    line-height: 1.04;

    font-weight: 500;

    letter-spacing: -.045em;

}


/* ==========================================================
   HERO DESCRIPTION
   ========================================================== */

.lhuk-pricing-intro {

    max-width: 720px;

    margin: 0;

    color: var(--lhuk-text-soft);

    font-size: 17px;

    line-height: 1.6;

}


/* ==========================================================
   BILLING TOGGLE
   ========================================================== */

.lhuk-billing-toggle {

    display: inline-flex;

    align-items: center;

    margin-top: 23px;

    padding: 4px;

    border-radius: 999px;

    background: var(--lhuk-surface-soft);

}


.lhuk-billing-toggle button {

    min-height: 40px;

    padding:
        0
        18px;

    border: 0;

    border-radius: 999px;

    background: transparent;

    color: var(--lhuk-text-soft);

    font-family: inherit;

    font-size: 13px;

    cursor: pointer;

}


.lhuk-billing-toggle button.is-active {

    background: var(--lhuk-purple);

    color: #ffffff;

}


/* ==========================================================
   PLAN GRID
   ========================================================== */

.lhuk-plan-grid {

    display: grid;

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

    gap: 15px;

    align-items: stretch;

    margin-top: 40px;

}


/* ==========================================================
   PLAN CARD
   ========================================================== */

.lhuk-plan-card {

    position: relative;

    display: flex;

    flex-direction: column;

    min-width: 0;

    min-height: 318px;

    padding:
        28px
        27px
        25px;

    border:
        1px solid
        var(--lhuk-border);

    border-radius: 30px;

    background:
        var(--lhuk-surface-soft);

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;

}


.lhuk-plan-card:hover {

    transform: translateY(-3px);

    border-color:
        var(--lhuk-purple-bright);

}


/* ==========================================================
   FEATURED PLAN
   ========================================================== */

.lhuk-plan-card.is-featured {

    border-color:
        var(--lhuk-purple);

    background:
        var(--lhuk-surface-purple);

}


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

.lhuk-plan-title-row {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 8px;

}


.lhuk-plan-title-row h2 {

    margin: 0;

    color: var(--lhuk-text);

    font-size: 18px;

    line-height: 1.2;

    font-weight: 600;

}


/* ==========================================================
   MOST CHOSEN
   ========================================================== */

.lhuk-most-chosen {

    display: inline-flex;

    align-items: center;

    min-height: 23px;

    padding:
        0
        9px;

    border-radius: 999px;

    background:
        var(--lhuk-purple-soft);

    color:
        var(--lhuk-purple);

    font-size: 9px;

    font-weight: 700;

}


/* ==========================================================
   DESCRIPTION
   ========================================================== */

.lhuk-plan-description {

    min-height: 54px;

    margin:
        15px
        0
        0;

    color:
        var(--lhuk-text-soft);

    font-size: 13px;

    line-height: 1.55;

}


/* ==========================================================
   PRICE
   ========================================================== */

.lhuk-plan-price {

    display: flex;

    align-items: baseline;

    margin-top: 17px;

}


.lhuk-pound,
.lhuk-price-value {

    color:
        var(--lhuk-text);

}


.lhuk-pound {

    font-size: 29px;

    line-height: 1;

}


.lhuk-price-value {

    font-size: 35px;

    line-height: 1;

    font-weight: 400;

    letter-spacing: -.04em;

}


.lhuk-price-period {

    margin-left: 6px;

    color:
        var(--lhuk-text-muted);

    font-size: 12px;

}


/* ==========================================================
   RENEWAL
   ========================================================== */

.lhuk-renewal {

    margin-top: 13px;

    color:
        var(--lhuk-purple);

    font-size: 12px;

    font-weight: 600;

}


/* ==========================================================
   PLAN BUTTON
   ========================================================== */

.lhuk-plan-button {

    display: flex;

    align-items: center;

    justify-content: center;

    min-height: 46px;

    margin-top: 21px;

    border:
        1px solid
        var(--lhuk-purple);

    border-radius: 999px;

    background: transparent;

    color:
        var(--lhuk-purple) !important;

    text-decoration: none !important;

    font-size: 13px;

    font-weight: 600;

}


.lhuk-plan-button:hover {

    background:
        var(--lhuk-purple-soft);

}


/* ==========================================================
   SPEC LINK
   ========================================================== */

.lhuk-spec-link {

    display: block;

    margin-top: 17px;

    color:
        var(--lhuk-text-muted) !important;

    font-size: 11px;

    text-decoration: none !important;

}


/* ==========================================================
   SECTIONS
   ========================================================== */

.lhuk-section {

    width: 100%;

    padding:
        38px
        0;

    background:
        var(--lhuk-bg);

}


/* ==========================================================
   DARK/SURFACE CARDS
   ========================================================== */

.lhuk-dark-card {

    border-radius: 30px;

    background:
        var(--lhuk-surface);

}


/* ==========================================================
   SECTION KICKER
   ========================================================== */

.lhuk-section-kicker {

    color:
        var(--lhuk-purple);

    font-size: 10px;

    line-height: 1;

    font-weight: 700;

    letter-spacing: .20em;

    text-transform: uppercase;

}


/* ==========================================================
   TABLE CARDS
   ========================================================== */

.lhuk-tech-card,
.lhuk-comparison-card {

    padding:
        38px
        35px
        27px;

}


.lhuk-tech-card h2,
.lhuk-comparison-card h2 {

    margin:
        14px
        0
        7px;

    color:
        var(--lhuk-text);

    font-size: 27px;

    line-height: 1.2;

    font-weight: 400;

    letter-spacing: -.025em;

}


.lhuk-section-lead {

    max-width: 650px;

    margin: 0;

    color:
        var(--lhuk-text-soft);

    font-size: 13px;

    line-height: 1.7;

}


/* ==========================================================
   TABLE
   ========================================================== */

.lhuk-table-wrap {

    width: 100%;

    overflow-x: auto;

    margin-top: 23px;

}


.lhuk-pricing-table,
.lhuk-comparison-table {

    width: 100%;

    min-width: 850px;

    border-collapse: collapse;

    table-layout: fixed;

}


.lhuk-pricing-table th,
.lhuk-pricing-table td,
.lhuk-comparison-table th,
.lhuk-comparison-table td {

    border-bottom:
        1px solid
        var(--lhuk-table-line);

    text-align: left;

}


/* ==========================================================
   PRICING TABLE
   ========================================================== */

.lhuk-pricing-table th {

    padding:
        0
        12px
        15px;

    color:
        var(--lhuk-text-muted);

    font-size: 10px;

    font-weight: 600;

    letter-spacing: .11em;

    text-transform: uppercase;

}


.lhuk-pricing-table th:first-child {

    width: 30%;

    padding-left: 0;

}


.lhuk-pricing-table th:not(:first-child) {

    width: 17.5%;

}


.lhuk-pricing-table th strong {

    display: block;

    margin-top: 5px;

    color:
        var(--lhuk-text-soft);

    font-size: 12px;

    font-weight: 400;

    letter-spacing: 0;

    text-transform: none;

}


.lhuk-pricing-table td {

    padding:
        12px;

    color:
        var(--lhuk-text-soft);

    font-size: 12px;

    line-height: 1.4;

}


.lhuk-pricing-table td:first-child {

    padding-left: 0;

    color:
        var(--lhuk-text);

}


.lhuk-pricing-table .lhuk-highlight-row td {

    color:
        var(--lhuk-purple);

}


.lhuk-table-note {

    margin:
        19px
        0
        0;

    color:
        var(--lhuk-text-muted);

    font-size: 11px;

    line-height: 1.55;

}


/* ==========================================================
   BIG BRAND COMPARISON
   ========================================================== */

.lhuk-comparison-table {

    min-width: 950px;

}


.lhuk-comparison-table th {

    padding:
        18px
        12px
        13px;

    color:
        var(--lhuk-text-muted);

    font-size: 10px;

    font-weight: 600;

}


.lhuk-comparison-table th:first-child,
.lhuk-comparison-table td:first-child {

    width: 38%;

    padding-left: 0;

}


.lhuk-comparison-table th:nth-child(2),
.lhuk-comparison-table td:nth-child(2) {

    width: 27%;

}


.lhuk-comparison-table th:nth-child(3),
.lhuk-comparison-table td:nth-child(3) {

    width: 35%;

}


.lhuk-comparison-table td {

    padding:
        13px
        12px;

    color:
        var(--lhuk-text-soft);

    font-size: 12px;

    line-height: 1.55;

    vertical-align: top;

}


.lhuk-comparison-table td:first-child {

    color:
        var(--lhuk-text);

}


.lhuk-brand-chip {

    display: inline-flex;

    align-items: center;

    min-height: 28px;

    padding:
        0
        12px;

    border:
        1px solid
        var(--lhuk-purple);

    border-radius: 999px;

    color:
        var(--lhuk-purple);

    font-size: 11px;

    font-weight: 600;

}


.lhuk-comparison-table td:nth-child(3) {

    color:
        var(--lhuk-text);

}


.lhuk-comparison-highlight td {

    background:
        var(--lhuk-surface-soft);

}


.lhuk-comparison-note {

    margin:
        15px
        0
        0;

    color:
        var(--lhuk-text-muted);

    font-size: 10px;

    line-height: 1.55;

}


/* ==========================================================
   1% SECTION
   ========================================================== */

.lhuk-one-percent-section {

    padding-top: 32px;

    padding-bottom: 39px;

}


.lhuk-one-percent-card {

    padding: 36px;

    background:
        var(--lhuk-surface-purple);

}


.lhuk-one-percent-card p {

    max-width: 760px;

    margin:
        17px
        0
        0;

    color:
        var(--lhuk-text-soft);

    font-size: 15px;

    line-height: 1.65;

}


.lhuk-inline-link {

    display: inline-block;

    margin-top: 20px;

    color:
        var(--lhuk-purple) !important;

    font-size: 12px;

    font-weight: 600;

    text-decoration: none !important;

}


/* ==========================================================
   CAMERA ROLL
   ========================================================== */

.lhuk-camera-section {

    width: 100%;

    padding:
        52px
        0
        68px;

    border-top:
        1px solid
        var(--lhuk-table-line);

    background:
        var(--lhuk-bg);

}


.lhuk-camera-heading {

    display: flex;

    justify-content: space-between;

    align-items: flex-start;

    gap: 40px;

}


.lhuk-camera-heading h2 {

    margin:
        13px
        0
        8px;

    color:
        var(--lhuk-text);

    font-size: 25px;

    line-height: 1.2;

    font-weight: 400;

}


.lhuk-camera-heading p {

    max-width: 610px;

    margin: 0;

    color:
        var(--lhuk-text-soft);

    font-size: 13px;

    line-height: 1.65;

}


.lhuk-camera-heading > span {

    padding-top: 2px;

    color:
        var(--lhuk-text-muted);

    font-size: 11px;

    white-space: nowrap;

}


/* ==========================================================
   CAMERA GRID
   ========================================================== */

.lhuk-camera-grid {

    display: grid;

    grid-template-columns:
        .82fr
        1.22fr
        .9fr
        1.28fr
        .82fr
        .95fr;

    gap: 13px;

    margin-top: 21px;

}


.lhuk-camera-item {

    min-width: 0;

}


.lhuk-camera-placeholder {

    display: flex;

    align-items: center;

    justify-content: center;

    border:
        2px dashed
        var(--lhuk-border-strong);

    border-radius: 23px;

    background:
        var(--lhuk-surface-soft);

    color:
        var(--lhuk-text-muted);

    text-align: center;

    font-size: 11px;

}


.lhuk-camera-placeholder.portrait {

    min-height: 264px;

}


.lhuk-camera-placeholder.landscape,
.lhuk-camera-placeholder.square {

    min-height: 207px;

}


.lhuk-camera-item p {

    margin:
        7px
        5px
        0;

    color:
        var(--lhuk-text-soft);

    font-size: 11px;

    line-height: 1.55;

}


.lhuk-camera-item > span {

    display: block;

    margin:
        3px
        5px
        0;

    color:
        var(--lhuk-text-muted);

    font-size: 10px;

}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1050px) {

    .lhuk-plan-grid {

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

    }


    .lhuk-camera-grid {

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

    }

}


@media (max-width: 800px) {

    .lhuk-pricing-container {

        width:
            min(
                calc(100% - 40px),
                760px
            );

    }


    .lhuk-pricing-hero {

        padding:
            52px
            0
            34px;

    }


    .lhuk-pricing-hero h1 {

        font-size: 46px;

    }


    .lhuk-camera-heading {

        display: block;

    }


    .lhuk-camera-heading > span {

        display: block;

        margin-top: 15px;

    }


    .lhuk-camera-grid {

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

    }

}


@media (max-width: 600px) {

    .lhuk-pricing-container {

        width:
            calc(100% - 28px);

    }


    .lhuk-pricing-hero h1 {

        font-size: 40px;

    }


    .lhuk-pricing-intro {

        font-size: 14px;

    }


    .lhuk-billing-toggle {

        width: 100%;

    }


    .lhuk-billing-toggle button {

        flex: 1;

        padding:
            0
            9px;

        font-size: 12px;

    }


    .lhuk-plan-grid {

        grid-template-columns: 1fr;

        margin-top: 28px;

    }


    .lhuk-plan-card {

        min-height: 0;

    }


    .lhuk-tech-card,
    .lhuk-comparison-card {

        padding:
            27px
            20px
            22px;

        border-radius: 25px;

    }


    .lhuk-one-percent-card {

        padding:
            28px
            22px;

        border-radius: 25px;

    }


    .lhuk-one-percent-card p {

        font-size: 13px;

    }


    .lhuk-camera-grid {

        grid-template-columns: 1fr;

    }


    .lhuk-camera-placeholder.portrait,
    .lhuk-camera-placeholder.landscape,
    .lhuk-camera-placeholder.square {

        min-height: 190px;

    }

}


/* ==========================================================
   ACCESSIBILITY
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .lhuk-plan-card {

        transition: none;

    }


    .lhuk-plan-card:hover {

        transform: none;

    }

}

/* Remove the unwanted gap above the pricing page */
#main-body {
    padding-top: 0 !important;
}

section#main-body.main-body {
    padding-top: 0 !important;
}

#main-body > .container {
    padding-top: 0 !important;
}