.elementor-4038 .elementor-element.elementor-element-960ca86{--display:flex;}/* Start custom CSS for html, class: .elementor-element-ace9412 *//* ==========================================================
   OLIVERA BEAUTY CENTER
   LISTĂ PREȚURI — TRATAMENTE FACIALE
   CSS COMPLET V1

   Prefix unic: olfp-
   Font unic: Montserrat
   WordPress + Elementor + Astra safe
========================================================== */


/* ==========================================================
   01. ROOT + VARIABLES
========================================================== */

.olfp-page {
    --olfp-bg: #050505;
    --olfp-bg-soft: #080808;
    --olfp-bg-card: #0b0b0b;
    --olfp-bg-card-2: #101010;
    --olfp-bg-navy: #071623;

    --olfp-white: #ffffff;
    --olfp-text: #ececec;
    --olfp-muted: #a8a8a8;
    --olfp-muted-dark: #727272;

    --olfp-gold: #D4AF37;
    --olfp-gold-light: #F7D978;
    --olfp-gold-dark: #9D7722;

    --olfp-border: rgba(255,255,255,.075);
    --olfp-border-medium: rgba(255,255,255,.12);
    --olfp-border-gold: rgba(212,175,55,.28);

    --olfp-container: 1240px;

    --olfp-radius-sm: 12px;
    --olfp-radius: 18px;
    --olfp-radius-lg: 26px;
    --olfp-radius-xl: 34px;

    --olfp-shadow:
        0 30px 90px rgba(0,0,0,.34);

    --olfp-transition:
        .35s cubic-bezier(.22,.61,.36,1);

    position: relative;

    width: 100%;
    max-width: 100%;

    overflow-x: clip;

    color: var(--olfp-text);

    background:
        radial-gradient(
            circle at 88% 4%,
            rgba(212,175,55,.07),
            transparent 24%
        ),
        radial-gradient(
            circle at 8% 14%,
            rgba(18,48,68,.14),
            transparent 29%
        ),
        linear-gradient(
            180deg,
            #06111a 0%,
            #050505 15%,
            #050505 100%
        );

    font-family: "Montserrat", Arial, sans-serif !important;

    isolation: isolate;
}


/* ==========================================================
   02. LOCAL RESET
========================================================== */

.olfp-page,
.olfp-page *,
.olfp-page *::before,
.olfp-page *::after {
    box-sizing: border-box;

    font-family: "Montserrat", Arial, sans-serif !important;
}

.olfp-page h1,
.olfp-page h2,
.olfp-page h3,
.olfp-page h4,
.olfp-page p,
.olfp-page figure,
.olfp-page blockquote {
    margin-top: 0;
}

.olfp-page img {
    display: block;

    width: 100%;
    max-width: 100%;
}

.olfp-page a {
    text-decoration: none;
}

.olfp-page button,
.olfp-page input {
    font: inherit;
}

.olfp-page button,
.olfp-page a {
    -webkit-tap-highlight-color: transparent;
}


/* ==========================================================
   03. CONTAINER
========================================================== */

.olfp-container {
    position: relative;

    width: min(
        calc(100% - 48px),
        var(--olfp-container)
    );

    margin: 0 auto;
}


/* ==========================================================
   04. EYEBROW
========================================================== */

.olfp-eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 18px;

    padding: 8px 13px;

    border: 1px solid var(--olfp-border-gold);
    border-radius: 999px;

    color: var(--olfp-gold-light);

    background:
        rgba(212,175,55,.045);

    font-size: 9px;
    font-weight: 700;

    line-height: 1.2;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.olfp-eyebrow-dot {
    width: 6px;
    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background:
        var(--olfp-gold-light);

    box-shadow:
        0 0 0 4px rgba(212,175,55,.08),
        0 0 16px rgba(247,217,120,.18);
}


/* ==========================================================
   05. BUTTONS
========================================================== */

.olfp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    min-height: 56px;

    padding: 13px 23px;

    border-radius: 999px;

    font-size: 9px;
    font-weight: 800;

    line-height: 1.2;

    letter-spacing: .035em;

    text-align: center;
    text-transform: uppercase;

    transition:
        transform var(--olfp-transition),
        box-shadow var(--olfp-transition),
        border-color var(--olfp-transition),
        background var(--olfp-transition),
        color var(--olfp-transition),
        filter var(--olfp-transition);
}


.olfp-btn--gold {
    border: 1px solid rgba(247,217,120,.50);

    color: #050505 !important;

    background:
        linear-gradient(
            135deg,
            var(--olfp-gold-dark),
            var(--olfp-gold-light) 50%,
            var(--olfp-gold)
        );

    box-shadow:
        0 14px 38px rgba(212,175,55,.14);
}


.olfp-btn--outline {
    border: 1px solid var(--olfp-border-medium);

    color: var(--olfp-white) !important;

    background:
        rgba(255,255,255,.02);
}


.olfp-btn-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;

    flex: 0 0 25px;

    border-radius: 50%;

    color: #050505;

    background:
        rgba(0,0,0,.08);

    font-size: 13px;
}


/* ==========================================================
   06. HERO
========================================================== */

.olfp-hero {
    position: relative;

    padding: 105px 0 92px;

    overflow: hidden;

    background: transparent !important;
    background-image: none !important;
}


.olfp-hero::before {
    content: "";

    position: absolute;

    top: -230px;
    right: -160px;

    width: 650px;
    height: 650px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(212,175,55,.09),
            transparent 67%
        );

    filter: blur(12px);

    pointer-events: none;
}


.olfp-hero::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.08),
            transparent
        );
}


.olfp-hero-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(300px,.55fr);

    align-items: end;

    gap: 72px;
}


.olfp-hero-content {
    position: relative;
    z-index: 2;
}


.olfp-hero-title {
    max-width: 880px;

    margin-bottom: 28px;

    color: var(--olfp-white);

    font-size: clamp(52px, 6.3vw, 88px);
    font-weight: 500;

    line-height: .95;

    letter-spacing: -.065em;
}


.olfp-hero-title span {
    display: block;

    margin-top: 6px;

    color: var(--olfp-gold-light);
}


.olfp-hero-description {
    max-width: 720px;

    margin-bottom: 31px;

    color: var(--olfp-muted);

    font-size: 13px;
    font-weight: 400;

    line-height: 1.82;
}


/* BENEFITS */

.olfp-hero-benefits {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;
}


.olfp-benefit {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    min-height: 42px;

    padding: 9px 13px;

    border: 1px solid var(--olfp-border);
    border-radius: 999px;

    color: #d8d8d8;

    background:
        rgba(255,255,255,.018);

    font-size: 8px;
    font-weight: 600;

    line-height: 1.2;
}


.olfp-benefit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 20px;
    height: 20px;

    flex: 0 0 20px;

    border-radius: 50%;

    color: var(--olfp-gold-light);

    background:
        rgba(212,175,55,.08);

    font-size: 9px;
}


/* HERO SIDE CARD */

.olfp-hero-side {
    position: relative;
    z-index: 2;
}


.olfp-hero-side-card {
    position: relative;

    padding: 30px;

    overflow: hidden;

    border: 1px solid var(--olfp-border-gold);
    border-radius: 24px;

    background:
        radial-gradient(
            circle at 90% 0%,
            rgba(212,175,55,.09),
            transparent 35%
        ),
        rgba(255,255,255,.018);

    box-shadow:
        0 25px 65px rgba(0,0,0,.30);
}


.olfp-hero-side-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 25px;
    right: 25px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(247,217,120,.44),
            transparent
        );
}


.olfp-side-kicker {
    display: block;

    margin-bottom: 35px;

    color: var(--olfp-gold);

    font-size: 7px;
    font-weight: 700;

    line-height: 1.4;

    letter-spacing: .10em;

    text-transform: uppercase;
}


.olfp-hero-side-card strong {
    display: block;

    margin-bottom: 7px;

    color: var(--olfp-white);

    font-size: 24px;
    font-weight: 600;

    line-height: 1.12;

    letter-spacing: -.035em;
}


.olfp-hero-side-card > span:last-child {
    display: block;

    color: var(--olfp-gold-light);

    font-size: 15px;
    font-weight: 500;

    line-height: 1.4;
}


/* ==========================================================
   07. PRICE SECTION
========================================================== */

.olfp-price-section {
    position: relative;

    padding: 0 0 120px;

    background:
        linear-gradient(
            180deg,
            #050505,
            #070707 50%,
            #050505
        );
}


/* ==========================================================
   08. PRICE SHELL
========================================================== */

.olfp-price-shell {
    position: relative;

    overflow: hidden;

    border: 1px solid var(--olfp-border);
    border-radius: var(--olfp-radius-xl);

    background:
        radial-gradient(
            circle at 90% 0%,
            rgba(212,175,55,.065),
            transparent 25%
        ),
        rgba(255,255,255,.015);

    box-shadow: var(--olfp-shadow);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}


.olfp-price-shell::before {
    content: "";

    position: absolute;

    left: 36px;
    right: 36px;
    top: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(247,217,120,.45),
            transparent
        );

    pointer-events: none;
}


/* ==========================================================
   09. TOOLBAR
========================================================== */

.olfp-toolbar {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(330px,.62fr);

    align-items: center;

    gap: 25px;

    padding: 28px;

    border-bottom: 1px solid var(--olfp-border);
}


.olfp-toolbar-title span {
    display: block;

    margin-bottom: 5px;

    color: var(--olfp-gold);

    font-size: 7px;
    font-weight: 700;

    line-height: 1.3;

    letter-spacing: .10em;

    text-transform: uppercase;
}


.olfp-toolbar-title strong {
    display: block;

    color: var(--olfp-white);

    font-size: 22px;
    font-weight: 600;

    line-height: 1.2;

    letter-spacing: -.025em;
}


/* ==========================================================
   10. SEARCH
========================================================== */

.olfp-search {
    position: relative;

    width: 100%;
}


.olfp-search-icon {
    position: absolute;

    top: 50%;
    left: 18px;

    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #777;

    transform:
        translateY(-50%);

    pointer-events: none;

    transition:
        color var(--olfp-transition);
}


.olfp-search-input {
    width: 100%;
    height: 56px;

    padding:
        0 46px
        0 48px;

    outline: none;

    border:
        1px solid rgba(255,255,255,.065);

    border-radius:
        999px;

    color:
        var(--olfp-white);

    background:
        linear-gradient(
            180deg,
            #070707,
            #020202
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.02),
        0 12px 30px rgba(0,0,0,.22);

    font-size: 10px;
    font-weight: 500;

    transition:
        border-color var(--olfp-transition),
        background var(--olfp-transition),
        box-shadow var(--olfp-transition);
}


.olfp-search-input::placeholder {
    color: #595959;

    opacity: 1;
}


.olfp-search-input:focus {
    border-color:
        rgba(212,175,55,.40);

    background:
        #020202;

    box-shadow:
        0 0 0 3px rgba(212,175,55,.045),
        0 14px 36px rgba(0,0,0,.30);
}


.olfp-search:focus-within
.olfp-search-icon {
    color:
        var(--olfp-gold-light);
}


/* CLEAR BUTTON */

.olfp-search-clear {
    position: absolute;

    top: 50%;
    right: 13px;

    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    color: #8c8c8c;

    background:
        rgba(255,255,255,.035);

    font-size: 18px;
    font-weight: 300;

    line-height: 1;

    cursor: pointer;

    transform:
        translateY(-50%);

    transition:
        color var(--olfp-transition),
        background var(--olfp-transition);
}


.olfp-search-clear[hidden] {
    display: none !important;
}


.olfp-search-status {
    grid-column: 2;

    min-height: 13px;

    margin-top: -17px;

    padding-left: 18px;

    color: var(--olfp-muted-dark);

    font-size: 7px;
    font-weight: 500;

    line-height: 1.3;
}


/* ==========================================================
   11. CONSULTATION NOTE
========================================================== */

.olfp-consultation-note {
    display: grid;

    grid-template-columns:
        40px
        minmax(0,1fr);

    align-items: start;

    gap: 17px;

    margin: 26px 28px 0;

    padding: 20px 22px;

    border: 1px solid var(--olfp-border-gold);
    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            rgba(212,175,55,.06),
            rgba(255,255,255,.01)
        );
}


.olfp-note-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    border: 1px solid rgba(212,175,55,.22);
    border-radius: 50%;

    color:
        var(--olfp-gold-light);

    background:
        rgba(212,175,55,.055);

    font-size: 13px;
}


.olfp-consultation-note strong {
    display: block;

    margin-bottom: 6px;

    color:
        var(--olfp-white);

    font-size: 11px;
    font-weight: 600;

    line-height: 1.45;
}


.olfp-consultation-note p {
    max-width: 850px;

    margin-bottom: 0;

    color:
        var(--olfp-muted);

    font-size: 9px;

    line-height: 1.65;
}


/* ==========================================================
   12. TABLE WRAP
========================================================== */

.olfp-table-wrap {
    margin:
        22px 28px 0;

    overflow: hidden;

    border:
        1px solid var(--olfp-border);

    border-radius:
        22px;

    background:
        rgba(0,0,0,.18);
}


/* ==========================================================
   13. TABLE HEAD
========================================================== */

.olfp-table-head {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        170px;

    align-items: center;

    min-height: 50px;

    padding:
        0 22px;

    border-bottom:
        1px solid var(--olfp-border);

    background:
        rgba(255,255,255,.016);
}


.olfp-table-head span {
    color:
        var(--olfp-muted-dark);

    font-size: 7px;
    font-weight: 700;

    line-height: 1.3;

    letter-spacing: .09em;

    text-transform: uppercase;
}


.olfp-table-head span:last-child {
    text-align: right;
}


/* ==========================================================
   14. TABLE ROWS
========================================================== */

.olfp-row {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        170px;

    align-items: center;

    min-height: 76px;

    padding:
        13px 22px;

    border-bottom:
        1px solid rgba(255,255,255,.055);

    background:
        rgba(255,255,255,.004);

    transition:
        background var(--olfp-transition),
        border-color var(--olfp-transition),
        transform var(--olfp-transition);
}


.olfp-row:last-of-type {
    border-bottom: 0;
}


.olfp-row.is-hidden {
    display: none !important;
}


/* TREATMENT */

.olfp-treatment {
    display: flex;
    align-items: center;

    min-width: 0;

    gap: 18px;
}


.olfp-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    flex: 0 0 32px;

    border: 1px solid var(--olfp-border);
    border-radius: 50%;

    color:
        #737373;

    background:
        rgba(255,255,255,.018);

    font-size: 7px;
    font-weight: 700;

    letter-spacing: .04em;
}


.olfp-treatment > div {
    min-width: 0;
}


.olfp-treatment strong {
    display: block;

    margin-bottom: 4px;

    color:
        var(--olfp-white);

    font-size: 12px;
    font-weight: 600;

    line-height: 1.35;

    letter-spacing: -.01em;
}


.olfp-treatment small {
    display: block;

    color:
        var(--olfp-muted-dark);

    font-size: 8px;
    font-weight: 500;

    line-height: 1.45;
}


/* PRICE */

.olfp-price {
    color:
        var(--olfp-gold-light);

    font-size: 15px;
    font-weight: 700;

    line-height: 1.2;

    letter-spacing: -.025em;

    text-align: right;

    white-space: nowrap;
}


.olfp-price-prefix {
    display: inline-block;

    margin-right: 2px;

    color:
        var(--olfp-gold);

    font-size: 12px;
}


/* ==========================================================
   15. FEATURED ROW
========================================================== */

.olfp-row--featured {
    background:
        linear-gradient(
            90deg,
            rgba(212,175,55,.035),
            transparent 70%
        );
}


.olfp-row--featured::before {
    content: "";

    position: absolute;

    left: 0;
    top: 14px;
    bottom: 14px;

    width: 2px;

    background:
        var(--olfp-gold);
}


/* ==========================================================
   16. PREMIUM ROWS
========================================================== */

.olfp-row--premium {
    background:
        radial-gradient(
            circle at 95% 50%,
            rgba(212,175,55,.06),
            transparent 24%
        ),
        rgba(255,255,255,.005);
}


.olfp-row--premium
.olfp-number {
    border-color:
        rgba(212,175,55,.20);

    color:
        var(--olfp-gold);

    background:
        rgba(212,175,55,.04);
}


/* ==========================================================
   17. SIGNATURE ROW
========================================================== */

.olfp-row--signature {
    position: relative;

    margin: 8px;

    min-height: 105px;

    padding:
        18px 18px;

    border:
        1px solid rgba(212,175,55,.27);

    border-radius:
        17px;

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(212,175,55,.10),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            rgba(212,175,55,.055),
            rgba(255,255,255,.01)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.02);
}


.olfp-row--signature::before {
    content: "";

    position: absolute;

    top: 0;
    left: 24px;
    right: 24px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(247,217,120,.50),
            transparent
        );
}


.olfp-row--signature
.olfp-number {
    border-color:
        rgba(212,175,55,.25);

    color:
        var(--olfp-gold-light);

    background:
        rgba(212,175,55,.055);
}


.olfp-signature-label {
    display: block;

    margin-bottom: 5px;

    color:
        var(--olfp-gold);

    font-size: 6.5px;
    font-weight: 700;

    line-height: 1.3;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.olfp-row--signature
.olfp-treatment strong {
    color:
        var(--olfp-gold-light);

    font-size: 14px;
}


.olfp-price--range {
    display: flex;
    flex-direction: column;
    align-items: flex-end;

    gap: 3px;
}


.olfp-price--range small {
    color:
        var(--olfp-muted-dark);

    font-size: 7px;
    font-weight: 500;

    text-transform: uppercase;
}


.olfp-price--range strong {
    color:
        var(--olfp-gold-light);

    font-size: 15px;
    font-weight: 700;
}


/* ==========================================================
   18. EMPTY STATE
========================================================== */

.olfp-empty {
    padding:
        60px 25px;

    text-align: center;
}


.olfp-empty[hidden] {
    display: none !important;
}


.olfp-empty span {
    display: block;

    margin-bottom: 7px;

    color:
        var(--olfp-white);

    font-size: 12px;
    font-weight: 600;
}


.olfp-empty p {
    margin: 0;

    color:
        var(--olfp-muted-dark);

    font-size: 8px;

    line-height: 1.6;
}


/* ==========================================================
   19. TABLE FOOTER
========================================================== */

.olfp-table-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 25px;

    padding:
        20px 28px 26px;
}


.olfp-result-counter {
    display: flex;
    align-items: center;

    gap: 10px;
}


.olfp-result-counter span {
    color:
        var(--olfp-muted-dark);

    font-size: 7px;
    font-weight: 600;

    letter-spacing: .06em;

    text-transform: uppercase;
}


.olfp-result-counter strong {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 29px;
    height: 29px;

    border:
        1px solid rgba(212,175,55,.20);

    border-radius:
        50%;

    color:
        var(--olfp-gold-light);

    background:
        rgba(212,175,55,.04);

    font-size: 8px;
    font-weight: 700;
}


.olfp-table-footer > p {
    margin: 0;

    color:
        var(--olfp-muted-dark);

    font-size: 7px;

    line-height: 1.4;
}


/* ==========================================================
   20. PERSONALIZED SECTION
========================================================== */

.olfp-personalized {
    position: relative;

    padding:
        110px 0;

    background:
        radial-gradient(
            circle at 12% 30%,
            rgba(17,50,69,.14),
            transparent 28%
        ),
        #050505;
}


.olfp-personalized-shell {
    position: relative;

    display: grid;

    grid-template-columns:
        110px
        minmax(0,1fr);

    gap: 55px;

    padding:
        54px;

    overflow: hidden;

    border:
        1px solid var(--olfp-border);

    border-radius:
        var(--olfp-radius-xl);

    background:
        radial-gradient(
            circle at 95% 0%,
            rgba(212,175,55,.065),
            transparent 28%
        ),
        rgba(255,255,255,.015);

    box-shadow:
        var(--olfp-shadow);
}


.olfp-personalized-number {
    color:
        rgba(255,255,255,.075);

    font-size:
        clamp(70px, 8vw, 110px);

    font-weight: 500;

    line-height: .9;

    letter-spacing: -.07em;
}


.olfp-personalized-content {
    max-width:
        850px;
}


.olfp-personalized-content h2 {
    margin-bottom:
        27px;

    color:
        var(--olfp-white);

    font-size:
        clamp(40px, 5vw, 66px);

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.055em;
}


.olfp-personalized-content h2 span {
    display: block;

    color:
        var(--olfp-gold-light);
}


.olfp-personalized-content p {
    max-width:
        760px;

    margin-bottom:
        19px;

    color:
        var(--olfp-muted);

    font-size:
        12px;

    line-height:
        1.8;
}


.olfp-personalized-statement {
    display: block;

    max-width:
        700px;

    margin-top:
        30px;

    padding:
        20px 22px;

    border-left:
        2px solid var(--olfp-gold);

    border-radius:
        0 14px 14px 0;

    color:
        var(--olfp-gold-light);

    background:
        rgba(212,175,55,.04);

    font-size:
        15px;

    font-weight:
        600;

    line-height:
        1.55;
}


/* ==========================================================
   21. FINAL CTA
========================================================== */

.olfp-cta {
    position: relative;

    padding:
        125px 0;

    overflow:
        hidden;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(212,175,55,.10),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #070707,
            #030303
        );
}


.olfp-cta::before {
    content: "";

    position: absolute;

    left: 12%;
    right: 12%;
    top: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(247,217,120,.40),
            transparent
        );
}


.olfp-cta-inner {
    max-width:
        950px;

    margin:
        0 auto;

    text-align:
        center;
}


.olfp-cta h2 {
    margin-bottom:
        24px;

    color:
        var(--olfp-white);

    font-size:
        clamp(46px, 6vw, 76px);

    font-weight:
        500;

    line-height:
        .98;

    letter-spacing:
        -.06em;
}


.olfp-cta h2 span {
    display: block;

    color:
        var(--olfp-gold-light);
}


.olfp-cta-inner > p {
    max-width:
        650px;

    margin:
        0 auto 30px;

    color:
        var(--olfp-muted);

    font-size:
        11px;

    line-height:
        1.75;
}


.olfp-cta-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        center;

    gap:
        10px;

    margin-bottom:
        40px;
}


/* LOCATION */

.olfp-location {
    display:
        flex;

    flex-direction:
        column;

    max-width:
        620px;

    margin:
        0 auto;

    gap:
        5px;

    padding-top:
        27px;

    border-top:
        1px solid var(--olfp-border);
}


.olfp-location strong {
    color:
        #d9d9d9;

    font-size:
        9px;

    font-weight:
        600;
}


.olfp-location span {
    color:
        var(--olfp-muted-dark);

    font-size:
        8px;
}


/* ==========================================================
   22. DESKTOP HOVER
========================================================== */

@media (hover:hover) {

    .olfp-btn--gold:hover {
        transform:
            translateY(-3px);

        filter:
            brightness(1.05);

        box-shadow:
            0 20px 50px rgba(212,175,55,.20);
    }


    .olfp-btn--outline:hover {
        transform:
            translateY(-3px);

        border-color:
            rgba(212,175,55,.30);

        color:
            var(--olfp-gold-light) !important;

        background:
            rgba(212,175,55,.035);
    }


    .olfp-row:not(.olfp-row--signature):hover {
        background:
            rgba(255,255,255,.018);
    }


    .olfp-row--premium:hover {
        background:
            radial-gradient(
                circle at 95% 50%,
                rgba(212,175,55,.09),
                transparent 26%
            ),
            rgba(255,255,255,.012);
    }


    .olfp-row--signature:hover {
        border-color:
            rgba(212,175,55,.40);

        background:
            radial-gradient(
                circle at 90% 10%,
                rgba(212,175,55,.13),
                transparent 30%
            ),
            linear-gradient(
                135deg,
                rgba(212,175,55,.065),
                rgba(255,255,255,.014)
            );
    }


    .olfp-search-clear:hover {
        color:
            var(--olfp-white);

        background:
            rgba(255,255,255,.07);
    }

}


/* ==========================================================
   23. LAPTOP — 1100PX
========================================================== */

@media (max-width: 1100px) {

    .olfp-hero-grid {
        gap: 48px;
    }


    .olfp-toolbar {
        grid-template-columns:
            minmax(0,1fr)
            minmax(300px,.65fr);
    }


    .olfp-personalized-shell {
        gap: 40px;

        padding: 45px;
    }

}


/* ==========================================================
   24. TABLET — 900PX
========================================================== */

@media (max-width: 900px) {

    .olfp-hero {
        padding:
            80px 0 75px;
    }


    .olfp-hero-grid {
        grid-template-columns:
            1fr;

        gap:
            36px;
    }


    .olfp-hero-side {
        max-width:
            560px;
    }


    .olfp-toolbar {
        grid-template-columns:
            1fr;

        gap:
            18px;
    }


    .olfp-search-status {
        grid-column:
            1;

        margin-top:
            -10px;
    }


    .olfp-personalized-shell {
        grid-template-columns:
            1fr;

        gap:
            20px;
    }


    .olfp-personalized-number {
        font-size:
            70px;
    }

}


/* ==========================================================
   25. MOBILE — 768PX
========================================================== */

@media (max-width: 768px) {

    .olfp-page {
        width: 100%;
        max-width: 100%;

        overflow-x: hidden;
    }


    .olfp-page,
    .olfp-page * {
        max-width: 100%;
    }


    .olfp-container {
        width:
            calc(100% - 24px);

        max-width:
            100%;
    }


    /* HERO */

    .olfp-hero {
        padding:
            58px 0 65px;
    }


    .olfp-hero-title {
        font-size:
            clamp(42px, 12vw, 57px);

        line-height:
            .98;

        letter-spacing:
            -.055em;
    }


    .olfp-hero-description {
        font-size:
            10.5px;

        line-height:
            1.75;
    }


    .olfp-hero-benefits {
        display:
            grid;

        grid-template-columns:
            1fr;
    }


    .olfp-benefit {
        width:
            100%;

        justify-content:
            flex-start;
    }


    .olfp-hero-side-card {
        padding:
            23px;

        border-radius:
            19px;
    }


    .olfp-side-kicker {
        margin-bottom:
            22px;
    }


    .olfp-hero-side-card strong {
        font-size:
            21px;
    }


    /* PRICE */

    .olfp-price-section {
        padding-bottom:
            78px;
    }


    .olfp-price-shell {
        border-radius:
            23px;
    }


    .olfp-toolbar {
        padding:
            18px 15px;
    }


    .olfp-toolbar-title strong {
        font-size:
            18px;
    }


    .olfp-search-input {
        height:
            54px;

        padding-left:
            45px;

        font-size:
            9px;
    }


    .olfp-consultation-note {
        grid-template-columns:
            34px
            minmax(0,1fr);

        gap:
            13px;

        margin:
            15px 15px 0;

        padding:
            17px;

        border-radius:
            15px;
    }


    .olfp-note-icon {
        width:
            34px;

        height:
            34px;
    }


    .olfp-consultation-note strong {
        font-size:
            10px;
    }


    .olfp-consultation-note p {
        font-size:
            8px;
    }


    /* MOBILE TABLE -> CARDS */

    .olfp-table-wrap {
        margin:
            15px 15px 0;

        padding:
            7px;

        overflow:
            visible;

        border:
            0;

        border-radius:
            0;

        background:
            transparent;
    }


    .olfp-table-head {
        display:
            none;
    }


    .olfp-row {
        display:
            flex;

        align-items:
            center;

        justify-content:
            space-between;

        min-height:
            0;

        gap:
            14px;

        margin-bottom:
            7px;

        padding:
            16px;

        border:
            1px solid var(--olfp-border);

        border-radius:
            15px;

        background:
            rgba(255,255,255,.015);
    }


    .olfp-row:last-of-type {
        margin-bottom:
            0;
    }


    .olfp-treatment {
        flex:
            1 1 auto;

        min-width:
            0;

        gap:
            12px;
    }


    .olfp-number {
        width:
            29px;

        height:
            29px;

        flex-basis:
            29px;

        font-size:
            6px;
    }


    .olfp-treatment strong {
        font-size:
            10.5px;

        line-height:
            1.35;
    }


    .olfp-treatment small {
        font-size:
            7px;

        line-height:
            1.45;
    }


    .olfp-price {
        flex:
            0 0 auto;

        font-size:
            12px;

        text-align:
            right;
    }


    /* FEATURED */

    .olfp-row--featured::before {
        top:
            9px;

        bottom:
            9px;
    }


    /* SIGNATURE */

    .olfp-row--signature {
        display:
            grid;

        grid-template-columns:
            1fr;

        gap:
            15px;

        margin:
            8px 0 0;

        padding:
            18px;

        border-radius:
            16px;
    }


    .olfp-row--signature
    .olfp-price--range {
        align-items:
            flex-start;

        padding-left:
            41px;
    }


    .olfp-row--signature
    .olfp-price--range strong {
        font-size:
            15px;
    }


    .olfp-signature-label {
        font-size:
            6px;
    }


    /* FOOTER */

    .olfp-table-footer {
        align-items:
            flex-start;

        padding:
            18px 15px 22px;

        flex-direction:
            column;

        gap:
            10px;
    }


    /* PERSONALIZED */

    .olfp-personalized {
        padding:
            78px 0;
    }


    .olfp-personalized-shell {
        padding:
            24px 20px;

        border-radius:
            22px;
    }


    .olfp-personalized-number {
        font-size:
            58px;
    }


    .olfp-personalized-content h2 {
        font-size:
            clamp(35px, 10vw, 48px);
    }


    .olfp-personalized-content p {
        font-size:
            10px;
    }


    .olfp-personalized-statement {
        padding:
            17px;

        font-size:
            12px;
    }


    /* CTA */

    .olfp-cta {
        padding:
            90px 0;
    }


    .olfp-cta h2 {
        font-size:
            clamp(40px, 11vw, 56px);
    }


    .olfp-cta-inner > p {
        font-size:
            10px;
    }


    .olfp-cta-actions {
        display:
            grid;

        grid-template-columns:
            1fr;

        width:
            100%;
    }


    .olfp-btn {
        width:
            100%;

        min-width:
            0;
    }

}


/* ==========================================================
   26. MOBILE — 520PX
========================================================== */

@media (max-width: 520px) {

    .olfp-container {
        width:
            calc(100% - 20px);
    }


    .olfp-eyebrow {
        padding:
            7px 10px;

        font-size:
            7px;
    }


    .olfp-hero-title {
        font-size:
            42px;
    }


    .olfp-row {
        align-items:
            flex-start;
    }


    .olfp-price {
        padding-top:
            2px;
    }


    .olfp-personalized-content h2 {
        font-size:
            38px;
    }


    .olfp-cta h2 {
        font-size:
            42px;
    }

}


/* ==========================================================
   27. MOBILE — 414PX
========================================================== */

@media (max-width: 414px) {

    .olfp-container {
        width:
            calc(100% - 18px);
    }


    .olfp-hero-title {
        font-size:
            39px;
    }


    .olfp-toolbar {
        padding:
            16px 13px;
    }


    .olfp-consultation-note {
        margin:
            13px 13px 0;
    }


    .olfp-table-wrap {
        margin:
            13px 13px 0;

        padding:
            5px;
    }


    .olfp-row {
        padding:
            14px 13px;
    }


    .olfp-treatment strong {
        font-size:
            10px;
    }


    .olfp-treatment small {
        font-size:
            6.7px;
    }


    .olfp-price {
        font-size:
            11px;
    }


    .olfp-personalized-shell {
        padding:
            22px 17px;
    }


    .olfp-personalized-content h2 {
        font-size:
            35px;
    }

}


/* ==========================================================
   28. SMALL MOBILE — 360PX
========================================================== */

@media (max-width: 360px) {

    .olfp-container {
        width:
            calc(100% - 16px);
    }


    .olfp-hero-title {
        font-size:
            35px;
    }


    .olfp-row {
        display:
            grid;

        grid-template-columns:
            1fr;

        gap:
            11px;
    }


    .olfp-price {
        padding-left:
            41px;

        text-align:
            left;
    }


    .olfp-row--signature
    .olfp-price--range {
        padding-left:
            41px;
    }


    .olfp-personalized-content h2 {
        font-size:
            32px;
    }


    .olfp-cta h2 {
        font-size:
            37px;
    }

}


/* ==========================================================
   29. ELEMENTOR + ASTRA PROTECTION
========================================================== */

.olfp-page .elementor-widget-container,
.olfp-page .elementor-element,
.olfp-page .e-con,
.olfp-page .e-con-inner {
    max-width:
        100%;
}


.olfp-page .olfp-container,
.olfp-page .olfp-hero-grid,
.olfp-page .olfp-toolbar,
.olfp-page .olfp-row,
.olfp-page .olfp-treatment,
.olfp-page .olfp-personalized-shell,
.olfp-page .olfp-cta-inner {
    min-width:
        0;
}


/* ==========================================================
   30. FOCUS / ACCESSIBILITY
========================================================== */

.olfp-page a:focus-visible,
.olfp-page button:focus-visible,
.olfp-page input:focus-visible {
    outline:
        2px solid var(--olfp-gold-light);

    outline-offset:
        4px;
}


/* ==========================================================
   31. REDUCED MOTION
========================================================== */

@media (prefers-reduced-motion: reduce) {

    .olfp-page *,
    .olfp-page *::before,
    .olfp-page *::after {
        animation-duration:
            .01ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            .01ms !important;

        scroll-behavior:
            auto !important;
    }

}


/* ==========================================================
   32. FONT FORCE
========================================================== */

.olfp-page,
.olfp-page *,
.olfp-page *::before,
.olfp-page *::after {
    font-family:
        "Montserrat",
        Arial,
        sans-serif !important;
}
/* ==========================================================
   OLIVERA — IMAGE OFFER SLIDER
========================================================== */

#olfo-img-offers {
    --olfo-img-gold: #D4AF37;
    --olfo-img-gold-light: #F7D978;
    --olfo-img-bg: #050505;
    --olfo-img-border: rgba(255,255,255,.08);

    width: 100%;

    padding: 100px 0;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 85% 5%,
            rgba(212,175,55,.07),
            transparent 25%
        ),
        #050505;

    font-family: "Montserrat", Arial, sans-serif !important;
}


#olfo-img-offers *,
#olfo-img-offers *::before,
#olfo-img-offers *::after {
    box-sizing: border-box;

    font-family: "Montserrat", Arial, sans-serif !important;
}


.olfo-img-container {
    width: min(
        calc(100% - 48px),
        1240px
    );

    margin: 0 auto;
}


/* HEADER */

.olfo-img-header {
    display: flex;
    align-items: end;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 34px;
}


.olfo-img-eyebrow {
    display: block;

    margin-bottom: 10px;

    color: var(--olfo-img-gold-light);

    font-size: 8px;
    font-weight: 700;

    letter-spacing: .12em;

    text-transform: uppercase;
}


.olfo-img-header h2 {
    margin: 0;

    color: #fff;

    font-size: clamp(38px, 5vw, 64px);
    font-weight: 500;

    line-height: 1;

    letter-spacing: -.05em;
}


/* ARROWS */

.olfo-img-arrows {
    display: flex;

    gap: 8px;
}


.olfo-img-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    border: 1px solid var(--olfo-img-border);
    border-radius: 50%;

    color: #fff;

    background:
        rgba(255,255,255,.02);

    font-size: 25px;

    cursor: pointer;

    transition:
        .3s ease;
}


.olfo-img-arrow:disabled {
    opacity: .25;

    cursor: default;
}


@media (hover:hover) {

    .olfo-img-arrow:not(:disabled):hover {
        border-color:
            rgba(212,175,55,.35);

        color:
            var(--olfo-img-gold-light);

        background:
            rgba(212,175,55,.05);
    }

}


/* SLIDER */

.olfo-img-viewport {
    width: 100%;

    overflow: hidden;

    touch-action: pan-y;
}


.olfo-img-track {
    display: flex;

    gap: 18px;

    transition:
        transform .6s cubic-bezier(.22,.61,.36,1);

    will-change: transform;
}


/* SLIDE */

.olfo-img-slide {
    flex:
        0 0
        calc((100% - 18px) / 2);

    min-width: 0;

    overflow: hidden;

    border:
        1px solid var(--olfo-img-border);

    border-radius:
        24px;

    background:
        #0a0a0a;

    box-shadow:
        0 30px 80px rgba(0,0,0,.30);
}


.olfo-img-slide img {
    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 2 / 3;

    object-fit: cover;

    object-position: center;

    user-select: none;

    -webkit-user-drag: none;
}


/* DOTS */

.olfo-img-dots {
    display: flex;
    justify-content: center;

    gap: 7px;

    margin-top: 24px;
}


.olfo-img-dot {
    width: 7px;
    height: 7px;

    padding: 0;

    border: 0;
    border-radius: 999px;

    background:
        rgba(255,255,255,.17);

    cursor: pointer;

    transition:
        width .3s ease,
        background .3s ease;
}


.olfo-img-dot.is-active {
    width: 28px;

    background:
        var(--olfo-img-gold);
}


/* TABLET */

@media (max-width: 900px) {

    #olfo-img-offers {
        padding:
            80px 0;
    }


    .olfo-img-slide {
        flex:
            0 0 78%;
    }

}


/* MOBILE */

@media (max-width: 768px) {

    #olfo-img-offers {
        padding:
            70px 0;
    }


    .olfo-img-container {
        width:
            calc(100% - 24px);
    }


    .olfo-img-header {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            20px;
    }


    .olfo-img-header h2 {
        font-size:
            clamp(34px, 10vw, 48px);
    }


    .olfo-img-arrows {
        align-self:
            flex-end;
    }


    .olfo-img-arrow {
        width:
            44px;

        height:
            44px;
    }


    .olfo-img-slide {
        flex:
            0 0 100%;
    }


    .olfo-img-slide img {
        aspect-ratio:
            2 / 3;
    }

}


/* SMALL MOBILE */

@media (max-width: 420px) {

    .olfo-img-container {
        width:
            calc(100% - 18px);
    }


    .olfo-img-slide {
        border-radius:
            18px;
    }

}


/* ACCESSIBILITY */

#olfo-img-offers button:focus-visible {
    outline:
        2px solid var(--olfo-img-gold-light);

    outline-offset:
        4px;
}


/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {

    #olfo-img-offers * {
        transition:
            none !important;
    }

}/* End custom CSS */