/* ===================================
   Elena Zelic — "Ti Ricamo Una Storia"
   Color Palette & Typography
   =================================== */

:root {
    --elena-pesca: #F5C6AA;
    --elena-carta-zucchero: #A2B5BB;
    --elena-cipria: #E8C4C4;
    --elena-text: #3D2B1F;
    --elena-bg: #FDF8F4;
    --elena-header-bg: #FAF0E6;
}

/* Global background */
body,
#page-container {
    background-color: var(--elena-bg) !important;
    color: var(--elena-text) !important;
}

/* Typography overrides */
body,
#page-container,
.et_pb_module p,
.et_pb_text_inner p {
    font-family: 'Lato', sans-serif !important;
    color: var(--elena-text);
}

h1, h2, h3, h4, h5, h6,
.et_pb_module h1,
.et_pb_module h2,
.et_pb_module h3,
.et_pb_module h4 {
    font-family: 'Playfair Display', serif !important;
    color: var(--elena-text);
}

/* Claim / decorative heading class */
.elena-claim {
    font-family: 'Great Vibes', cursive !important;
    color: var(--elena-text);
}

/* ===================================
   Buttons
   =================================== */
.et_pb_button,
.et_pb_module .et_pb_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button {
    background-color: var(--elena-pesca) !important;
    color: var(--elena-text) !important;
    border: 2px solid var(--elena-pesca) !important;
    border-radius: 30px !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
}

.et_pb_button:hover,
.et_pb_module .et_pb_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
    background-color: #c9b7bd !important;
    color: var(--elena-text) !important;
}

/* ===================================
   Links
   =================================== */
a {
    color: var(--elena-text);
    transition: color 0.3s ease;
}

a:hover {
    color: var(--elena-pesca);
}

/* ===================================
   WooCommerce Product Cards
   =================================== */
.woocommerce ul.products li.product {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 12px rgba(61, 43, 31, 0.06);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.woocommerce ul.products li.product:hover {
    box-shadow: 0 6px 24px rgba(61, 43, 31, 0.12);
    transform: translateY(-2px);
}

.woocommerce ul.products li.product .price {
    color: var(--elena-text) !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700;
}

/* ===================================
   WooCommerce Cart & Checkout
   =================================== */
.woocommerce table.shop_table {
    border-color: var(--elena-cipria);
}

.woocommerce .woocommerce-error, .woocommerce .woocommerce-info {
    background-color: var(--elena-pesca);
}

.woocommerce .woocommerce-info {
    color: #000 !important;
}

.woocommerce table.shop_table th {
    font-family: 'Playfair Display', serif;
    color: var(--elena-text);
}

/* ===================================
   Selection color
   =================================== */
::selection {
    background-color: var(--elena-pesca);
    color: var(--elena-text);
}

/* ===================================
   Header Fringe / Merletto Border
   =================================== */
#main-header,
.et-l--header {
    background-color: var(--elena-header-bg) !important;
}

/* Apply fringe to the sticky section inside the header */
.et-l--header .et_pb_section,
#main-header {
    position: relative;
    overflow: visible !important;
}

.et-l--header .et_pb_section::after,
#main-header::after {
    content: '';
    position: absolute;
    bottom: -32px;
    left: 0;
    right: 0;
    height: 32px;
    background-image: url('assets/fringe.svg');
    background-repeat: repeat-x;
    background-size: 120px 32px;
    z-index: 999;
    pointer-events: none;
}

/* Fringe overlaps content naturally — no padding needed */

/* ===================================
   Page Loader
   =================================== */
#elena-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--elena-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

#elena-loader.loaded {
    opacity: 0;
    visibility: hidden;
}

#elena-loader-animation {
    width: 200px;
    height: 200px;
}

/* ===================================
   WooCommerce Pages — Cart, Checkout, My Account
   =================================== */

/* Cart page */
.woocommerce-cart .woocommerce {
    padding: 40px 20px;
}

.woocommerce .cart_totals {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 12px rgba(61, 43, 31, 0.06);
}

/* Checkout page */
.woocommerce-checkout .woocommerce {
    padding: 40px 20px;
}

.woocommerce form.woocommerce-checkout .form-row input.input-text,
.woocommerce form.woocommerce-checkout .form-row textarea,
.woocommerce form.woocommerce-checkout .form-row select {
    border: 1px solid var(--elena-cipria);
    border-radius: 8px;
    padding: 10px 15px;
    font-family: 'Lato', sans-serif;
    transition: border-color 0.3s ease;
}

.woocommerce form.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce form.woocommerce-checkout .form-row textarea:focus {
    border-color: var(--elena-pesca);
    outline: none;
    box-shadow: 0 0 0 2px rgba(245, 198, 170, 0.3);
}

/* My Account page */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 12px 20px;
    border-radius: 8px;
    transition: background-color 0.3s ease;
    font-family: 'Lato', sans-serif;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background-color: var(--elena-pesca);
    color: var(--elena-text);
}

.woocommerce ul.products li.product {
    background: var(--elena-header-bg);
}

/* Form inputs globally */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce textarea,
.woocommerce select {
    border: 1px solid var(--elena-cipria) !important;
    border-radius: 8px !important;
    padding: 10px 15px !important;
    font-family: 'Lato', sans-serif !important;
}

/* Notices */
.woocommerce-message {
    border-top-color: var(--elena-pesca) !important;
}

.woocommerce-info {
    border-top-color: var(--elena-carta-zucchero) !important;
}

.woocommerce-error {
    border-top-color: #c0392b !important;
}

/* ===================================
   Responsive / Mobile
   =================================== */
@media (max-width: 980px) {
    /* Header fringe — tablet */
    #main-header::after,
    .et-l--header .et_pb_section::after {
        height: 28px;
        background-size: 105px 28px;
        bottom: -28px;
    }

    /* Mobile menu — full-width centered dropdown */
    .et-l--header .et_pb_menu_inner_container,
    .et-l--header .et_pb_menu,
    .et-l--header .et_pb_column,
    .et-l--header .et_pb_row {
        position: static !important;
    }

    .et-l--header .et_pb_menu .et_mobile_menu,
    .et-l--header .et_pb_menu .et_mobile_menu ul {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        margin-top: 28px !important;
        background-color: var(--elena-header-bg) !important;
        padding: 10px 0 !important;
        text-align: center !important;
        border-top: 1px solid var(--elena-cipria) !important;
        box-shadow: 0 4px 16px rgba(61, 43, 31, 0.08) !important;
        z-index: 99999 !important;
    }

    .et-l--header .et_mobile_menu li {
        border-bottom: 1px solid rgba(232, 196, 196, 0.3) !important;
        padding: 0 !important;
    }

    .et-l--header .et_mobile_menu li:last-child {
        border-bottom: none !important;
    }

    .et-l--header .et_mobile_menu li a {
        display: block !important;
        padding: 14px 20px !important;
        font-family: 'Playfair Display', serif !important;
        font-size: 16px !important;
        color: var(--elena-text) !important;
        letter-spacing: 1px !important;
        text-transform: uppercase !important;
    }

    /* Lace fringe at bottom of mobile menu */
    .et-l--header .et_mobile_menu::after {
        content: '';
        display: block;
        width: 100%;
        height: 24px;
        margin-top: 10px;
        background-image: url('assets/fringe.svg');
        background-repeat: repeat-x;
        background-size: 90px 24px;
        background-position: center top;
    }

    /* Loader animation smaller */
    #elena-loader-animation {
        width: 150px;
        height: 150px;
    }
}

@media (max-width: 767px) {
    /* Header fringe — mobile */
    #main-header::after,
    .et-l--header .et_pb_section::after {
        height: 24px;
        background-size: 90px 24px;
        bottom: -24px;
    }


    /* Loader animation smaller on mobile */
    #elena-loader-animation {
        width: 120px;
        height: 120px;
    }

    /* WooCommerce product cards full width */
    .woocommerce ul.products li.product {
        width: 100% !important;
        margin: 0 0 20px 0 !important;
    }
}
