/* ==========================================================
   LILIANA PONA JEWELLERY — GLOBAL STYLE SYSTEM
   Child theme base: Blocksy
   Paleta oficial:
   Gold:   #C2B59B
   Silver: #A7A9AC
   Black:  #000000
   White:  #FFFFFF
   ========================================================== */

/* Local font */
@font-face {
    font-family: 'Avenir Next LP';
    src: url('../fonts/AvenirNext.ttc') format('truetype-collection');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

/* Design tokens */
:root {
    --lp-gold: #C2B59B;
    --lp-silver: #A7A9AC;
    --lp-black: #000000;
    --lp-white: #FFFFFF;

    --lp-text: #3f3d3d;
    --lp-muted: #8f8f8f;
    --lp-border: rgba(0, 0, 0, .08);
    --lp-soft-bg: #f8f7f4;

    --lp-font-main: 'Avenir Next LP', 'Avenir Next', Avenir, Helvetica, Arial, sans-serif;

    --lp-transition: all .38s cubic-bezier(.22, .61, .36, 1);
    --lp-header-height: 112px;
}

/* Global base */
html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--lp-font-main);
    color: var(--lp-text);
    background: var(--lp-white);
    font-weight: 400;
    letter-spacing: .01em;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--lp-transition);
}

a:hover {
    color: var(--lp-gold);
}

img {
    max-width: 100%;
    height: auto;
}

/* Selection */
::selection {
    background: var(--lp-gold);
    color: var(--lp-white);
}

/* Elementor helpers */
.elementor-section,
.elementor-container,
.e-con {
    box-sizing: border-box;
}

/* Utility classes for Elementor containers */
.lp-fullscreen {
    min-height: 100vh;
}

.lp-white {
    background: var(--lp-white);
}

.lp-soft {
    background: var(--lp-soft-bg);
}

.lp-gold-text {
    color: var(--lp-gold);
}

.lp-silver-text {
    color: var(--lp-silver);
}

.lp-center {
    text-align: center;
}

.lp-luxury-title {
    font-family: var(--lp-font-main);
    font-size: clamp(34px, 5vw, 82px);
    font-weight: 300;
    line-height: .95;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.lp-editorial-text {
    font-family: var(--lp-font-main);
    font-size: clamp(14px, 1.1vw, 17px);
    line-height: 1.8;
    font-weight: 300;
    color: var(--lp-text);
}

/* Buttons */
.lp-btn,
.elementor-button.lp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 13px 34px;
    border: 1px solid var(--lp-gold);
    background: var(--lp-gold);
    color: var(--lp-white);
    font-family: var(--lp-font-main);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .12em;
    text-transform: uppercase;
    transition: var(--lp-transition);
}

.lp-btn:hover,
.elementor-button.lp-btn:hover {
    background: transparent;
    color: var(--lp-gold);
}

/* ==========================================================
   HOME HERO — editable Elementor containers
   Use these classes in Elementor:
   lp-home-hero
   lp-home-header
   lp-home-side-menu
   lp-home-brand
   lp-home-signature
   ========================================================== */

.lp-home-hero {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    background: var(--lp-white);
}

.lp-home-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 85% 45%, rgba(194,181,155,.18), transparent 28%),
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.72) 34%, rgba(255,255,255,.04) 68%);
    z-index: 1;
}

.lp-home-hero .elementor-widget-image,
.lp-home-hero .lp-hero-image {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.lp-home-hero .elementor-widget-image img,
.lp-home-hero .lp-hero-image img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    object-position: center right;
    display: block;
}

.lp-home-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: var(--lp-header-height);
    z-index: 5;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0,0,0,.035);
}

.lp-home-header .elementor-widget-image img {
    max-width: 92px;
    height: auto;
}

.lp-home-side-menu {
    position: absolute;
    z-index: 6;
    left: clamp(24px, 4vw, 64px);
    top: 31%;
    transform: translateY(-50%);
}

.lp-home-side-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lp-home-side-menu li {
    margin: 0 0 18px;
}

.lp-home-side-menu a {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--lp-text);
}

.lp-home-side-menu a:hover {
    color: var(--lp-gold);
    padding-left: 6px;
}

.lp-home-brand {
    position: absolute;
    z-index: 4;
    left: clamp(95px, 13vw, 220px);
    top: 43%;
    transform: translateY(-50%);
    max-width: 360px;
}

.lp-home-brand img {
    width: clamp(190px, 18vw, 330px);
    opacity: .68;
}

.lp-home-signature {
    position: absolute;
    z-index: 4;
    left: clamp(115px, 16vw, 280px);
    bottom: clamp(50px, 9vh, 115px);
    max-width: 560px;
    color: rgba(194,181,155,.70);
    font-size: clamp(28px, 4vw, 62px);
    line-height: 1;
    font-weight: 200;
}

/* Language/icons small top area */
.lp-top-actions {
    position: absolute;
    z-index: 7;
    top: 42px;
    right: clamp(18px, 3vw, 48px);
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--lp-text);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.lp-top-actions a:hover {
    color: var(--lp-gold);
}

/* ==========================================================
   WooCommerce clean luxury base
   ========================================================== */

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--lp-text);
    font-family: var(--lp-font-main);
    font-weight: 400;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    border-radius: 0;
    background: var(--lp-gold);
    color: var(--lp-white);
    border: 1px solid var(--lp-gold);
    font-family: var(--lp-font-main);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: var(--lp-transition);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background: transparent;
    color: var(--lp-gold);
}

/* Forms */
input,
textarea,
select {
    border-radius: 0 !important;
    font-family: var(--lp-font-main);
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--lp-gold) !important;
    box-shadow: none !important;
}

/* Soft reveal animation */
.lp-fade-up {
    opacity: 0;
    transform: translateY(22px);
    animation: lpFadeUp .9s ease forwards;
}

@keyframes lpFadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive */
@media (max-width: 1024px) {
    :root {
        --lp-header-height: 92px;
    }

    .lp-home-brand {
        left: 8vw;
        top: 45%;
    }

    .lp-home-side-menu {
        left: 28px;
        top: 34%;
    }
}

@media (max-width: 767px) {
    :root {
        --lp-header-height: 78px;
    }

    .lp-home-hero {
        min-height: 100svh;
    }

    .lp-home-hero .elementor-widget-image img,
    .lp-home-hero .lp-hero-image img {
        height: 100svh;
        object-position: 68% center;
    }

    .lp-home-hero::before {
        background:
            linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.62) 46%, rgba(255,255,255,.08) 100%);
    }

    .lp-home-side-menu {
        top: auto;
        left: 22px;
        bottom: 120px;
        transform: none;
    }

    .lp-home-side-menu li {
        margin-bottom: 11px;
    }

    .lp-home-side-menu a {
        font-size: 10px;
    }

    .lp-home-brand {
        top: 39%;
        left: 28px;
        max-width: 230px;
    }

    .lp-home-brand img {
        width: 190px;
    }

    .lp-home-signature {
        left: 28px;
        bottom: 50px;
        max-width: 280px;
        font-size: 34px;
    }

    .lp-top-actions {
        top: 30px;
        right: 16px;
        gap: 8px;
        font-size: 10px;
    }
}
