/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.4.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */







/* Wrapper Generale */
.ap-luxury-form-wrapper {
    background-color: #f8f6f3;
    max-width: 850px;
    margin: 0; /* Allineato a sinistra nel suo contenitore */
    padding: 10px 0;
    font-family: var(--ap-font-body);
}

/* Campi Input: Linee sottili */
.ap-luxury-form-wrapper input[type="text"],
.ap-luxury-form-wrapper input[type="email"],
.ap-luxury-form-wrapper textarea {
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #e2ded9 !important;
    padding: 12px 0 !important;
    font-size: 13px !important;
    color: #444 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Placeholder discreti */
.ap-luxury-form-wrapper input::placeholder,
.ap-luxury-form-wrapper textarea::placeholder {
    color: #bbb !important;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: 0.12em;
}

.ap-form-row {
    display: flex;
    gap: 40px;
}

.ap-field {
    flex: 1;
    margin-bottom: 30px;
}

/* PRIVACY: Piccola e grigia */
.ap-form-privacy {
    margin: 0px 0 30px 0;
    font-size: 11px !important;
    color: #aaa !important;
    font-weight: 300;
}

.ap-form-privacy input[type="checkbox"] {
    transform: scale(0.8);
    margin-right: 8px;
    accent-color: #AB9080;
}

.ap-form-privacy a {
    color: #888;
    text-decoration: underline;
}

/* PULSANTE ALLINEATO A SINISTRA */
.ap-form-submit {
    text-align: left; /* Pulsante a sinistra */
}

input.wpcf7-form-control.wpcf7-submit.ap-submit-btn {
    background: #222 !important;
    color: #fff !important;
    padding: 16px 60px !important;
    font-family: var(--ap-font-body) !important;
    font-size: 11px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 0.4s ease !important;
    -webkit-appearance: none;
}

/* HOVER RICHIESTO #AB9080 */
input.wpcf7-form-control.wpcf7-submit.ap-submit-btn:hover {
    background-color: #AB9080 !important;
}

/* Messaggi errore CF7 */
span.wpcf7-not-valid-tip {
    font-size: 9px;
    color: #AB9080;
    text-transform: uppercase;
}

.wpcf7-response-output {
    border: none !important;
    font-size: 12px;
    color: #AB9080 !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
}

/* Mobile */
@media (max-width: 600px) {
    .ap-form-row { flex-direction: column; gap: 0; }
}

.elementor-19 .elementor-element.elementor-element-2194bc34 .wpcf7-submit {
    color: #ffffff;
    fill: #ffffff!important;
    background-color: #A58771!important;
    border-style: none;
}

/* Shared product helpers */
.ap-product-badges {
    position:absolute;
    top:12px;
    left:12px;
    z-index:5;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    pointer-events:none;
}

.ap-product-badge {
    position:static;
    font-family:var(--ap-font-body);
    font-size:10px;
    font-weight:600;
    letter-spacing:.18em;
    text-transform:uppercase;
    padding:5px 10px;
    line-height:1;
    color:#fff;
    border:1px solid transparent;
    text-decoration:none;
    pointer-events:none;
}
.ap-badge--new { background:#1a1a1a; color:#fff; }
.ap-badge--limited { background:#bfa17a; color:#fff; }
.ap-badge--exclusive { background:#93743b; color:#fff; }
.ap-badge--unique { background:#596747; color:#fff; }
.ap-badge--last { background:#78554b; color:#fff; }
.ap-badge--sold { background:#d8d1c8; color:#5e5146; border-color:#c8beb3; text-decoration:none; }
.ap-product-image-link { display:flex; width:100%; height:100%; align-items:center; justify-content:center; color:inherit; text-decoration:none; }
.ap-product-title-link { color:inherit; text-decoration:none; }
.ap-empty-products-message { text-align:center; padding:100px; font-family:var(--ap-font-body); }

span.wpcf7-list-item-label {font-size: 13px;letter-spacing: 1px;color: #3b3939;}
button.wpcf7-form-control.wpcf7-submit.has-spinner.ap-submit-btn.wcf-btn-default.btn-hover-divide {
    font-size: 13px;
    margin-top: 0px;
}




.ap-magazine-grid {

    padding: 76px 0;
    background: #F8F6F3!important;
}






/* =========================================
   APERION GALLERY — PREVIEW CAROUSEL
========================================= */

/* Contenitore del singolo carosello */
.aperion-gallery {
    width: 100%;
    overflow: hidden;
}


/* Tutte le slide hanno la stessa proporzione */
.aperion-gallery .swiper-slide {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}


/* Immagini preview */
.aperion-gallery .swiper-slide img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
    object-position: center;

    transform: scale(1.06);
}


/* Evita eventuali dimensioni automatiche di Elementor */
.aperion-gallery .swiper-slide figure,
.aperion-gallery .swiper-slide a {
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
}


/* =========================================
   FRECCE CAROUSEL
========================================= */

.aperion-gallery .swiper-button-prev,
.aperion-gallery .swiper-button-next {
    z-index: 5;
}


/* =========================================
   ELEMENTOR LIGHTBOX
   Mantiene le proporzioni ORIGINALI
========================================= */

.elementor-lightbox .swiper-slide {
    aspect-ratio: auto !important;
    width: 100% !important;
    height: 100% !important;

    overflow: visible !important;
}


.elementor-lightbox .swiper-slide img,
.elementor-lightbox .elementor-lightbox-image {
    width: auto !important;
    height: auto !important;

    max-width: 90vw !important;
    max-height: 90vh !important;

    object-fit: contain !important;

    transform: none !important;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .aperion-gallery .swiper-slide {
        aspect-ratio: 4 / 3;
    }

    .aperion-gallery .swiper-slide img {
        transform: scale(1.04);
    }

}









/* =========================================================
   APERION — NEWSLETTER CONTACT FORM 7
   ========================================================= */

.ap-news-form-minimal {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
}


/* =========================================================
   PRIVACY
   ========================================================= */

.ap-privacy-consent {
    width: 100%;
    margin: 0 0 16px;
    color: #756e67;
    font-family: var(--ap-font-body, "Switzer", Arial, sans-serif);
    font-size: 10px;
    font-weight: 300;
    line-height: 1.35;
    letter-spacing: 0;
    text-align: left;
    text-transform: lowercase;
}

.ap-privacy-consent .wpcf7-form-control-wrap,
.ap-privacy-consent .wpcf7-form-control {
    display: block;
    width: 100%;
}

.ap-privacy-consent .wpcf7-list-item {
    margin: 0 !important;
}

.ap-privacy-consent .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
}

.ap-privacy-consent input[type="checkbox"] {
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    margin: 0;
    accent-color: #291d03;
}

.ap-privacy-consent .wpcf7-list-item-label {
    color: #756e67;
    font: inherit;
    letter-spacing: 0;
    text-transform: lowercase;
}

.ap-privacy-consent a {
    color: #291d03 !important;
    font: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    transition: color 0.25s ease;
}

.ap-privacy-consent a:hover {
    color: #a48764 !important;
}


/* =========================================================
   FORM ROW
   ========================================================= */

.ap-news-form-row {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
    padding-bottom: 12px;
    border-bottom: 1px solid #291d03;
}

.ap-news-email {
    flex: 1 1 auto;
    min-width: 0;
}

.ap-news-email .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}


/* =========================================================
   INPUT
   ========================================================= */

.ap-input-line {
    display: block;
    width: 100% !important;
    min-width: 0;
    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;

    color: #291d03 !important;
    background: transparent !important;
    box-shadow: none !important;

    font-family: var(--ap-font-body, "Switzer", Arial, sans-serif) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    line-height: 1.4 !important;

    appearance: none;
}

.ap-input-line::placeholder {
    color: #918982 !important;
    opacity: 1;
}

.ap-input-line:focus {
    outline: 0 !important;
    box-shadow: none !important;
}


/* =========================================================
   SUBMIT
   ========================================================= */

.ap-submit-line {
    display: inline-flex !important;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 9px;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;

    color: #291d03 !important;
    background: transparent !important;
    box-shadow: none !important;

    cursor: pointer;

    font-family: var(--ap-font-body, "Switzer", Arial, sans-serif) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0.13em !important;
    text-transform: uppercase !important;

    transition: color 0.25s ease;
}

.ap-submit-line svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 0.3s ease;
}

.ap-submit-line:hover {
    color: #a48764 !important;
}

.ap-submit-line:hover svg {
    transform: translateX(4px);
}


/* =========================================================
   CF7 ERROR
   ========================================================= */

.ap-news-form-minimal .wpcf7-not-valid-tip {
    margin-top: 8px;

    color: #9a3d35;

    font-family: var(--ap-font-body, "Switzer", Arial, sans-serif);
    font-size: 10px;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
}


/* =========================================================
   CF7 RESPONSE
   ========================================================= */

.ap-news-form-minimal ~ .wpcf7-response-output,
.wpcf7 .ap-news-form-minimal + .wpcf7-response-output,
.ap-newsletter-solid .wpcf7-response-output {
    max-width: 520px;

    margin: 22px auto 0 !important;
    padding: 12px 0 !important;

    border: 0 !important;
    border-top: 1px solid #d8d2ca !important;

    color: #635c55;

    font-family: var(--ap-font-body, "Switzer", Arial, sans-serif);
    font-size: 12px;
    font-weight: 300;
    line-height: 1.5;
    text-align: center;
}


/* Spinner */

.ap-news-form-minimal .wpcf7-spinner {
    display: none !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 768px) {

    .ap-news-form-row {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;

        padding-bottom: 0;
        border-bottom: 0;
    }

    .ap-input-line {
        padding: 0 0 12px !important;

        border-bottom: 1px solid #291d03 !important;

        text-align: center;
    }

    .ap-submit-line {
        align-self: center;
    }

    .ap-privacy-consent {
        max-width: 360px;
        margin-right: auto;
        margin-left: auto;

        font-size: 9px;

        text-align: center;
    }

    .ap-privacy-consent .wpcf7-list-item label {
        justify-content: center;
    }
}


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

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

    .ap-submit-line,
    .ap-submit-line svg,
    .ap-privacy-consent a {
        transition: none !important;
    }

}


span.ap-range-table__heading {
    display: none;
}


.sb_instagram_header.sbi_medium {
    display: flex!important;
    justify-content: center!important;
}