/* 
Theme Name: Villa Favone
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Villa Favone is a child theme of Hello Elementor, created by Mixit7 team
Author: Mixit7
Author URI: https://www.mixit7.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: villa-favone
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 */

/* Langage switcher */
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {
    padding-right: calc(10px + 0em) !important;
}

.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
    opacity: 0;
}

a.wpml-ls-item-toggle,
a.wpml-ls-link {
    text-align: center;
    border: none;
}


/* POI Plugin - Match Villa Favone Branding */

/* Headers - Chopard font with brand color */
.m7poi-card-title,
.m7poi-popup-title,
.m7poi-card-category {
font-family: Chopard, sans-serif !important;
color: #0e8599 !important;
}

/* Body text - Gilroy font (but NOT icons) */
.m7poi-card-excerpt,
.m7poi-card-distance,
.m7poi-popup-excerpt,
.m7poi-popup-meta {
font-family: Gilroy, sans-serif !important;
}

/* Buttons - Gilroy font but exclude dashicons */
.m7poi-card-link,
.m7poi-popup-btn {
font-family: Gilroy, sans-serif !important;
}

/* Fix icons - force Dashicons font */
.m7poi-card-link .dashicons,
.m7poi-card-distance .dashicons,
.dashicons {
font-family: dashicons !important;
}

.elementor-widget-text-editor ul {
    margin-bottom: 0.8em;
}


/* Map tooltip - add padding around image and spacing below */
.m7poi-popup-image {
margin: 0 0 0.75rem 0 !important;
}

.m7poi-popup-image img {
height: 120px !important;
width: 100% !important;
object-fit: cover !important;
border-radius: 0 !important;
}

/* Tooltip padding */
.m7poi-marker-popup .leaflet-popup-content-wrapper {
padding: 0 !important;
overflow: hidden !important;
}

.m7poi-marker-popup .leaflet-popup-content {
margin: 0 !important;
width: 280px !important;
}

/* Add top padding for when there's no image */
.m7poi-popup-content {
padding: 0.75rem 1rem 1rem 1rem !important;
}

/* Category text color (lighter) */
.m7poi-card-category,
.m7poi-popup-category {
color: #666 !important;
}

/* Legal/Policy Pages styles */

  .legal-page h2,
  .legal-page h2 strong,
  .legal-page h2 b {
      color: #0e8599 !important;
      font-family: 'Chopard', sans-serif !important;
      font-size: 1.5rem !important;
      display: inline-block !important;
      margin-top: 15px !important; /* Small space before */
      margin-bottom: 8px !important; /* Less space after */
  }  

/* FAQ styles for text editor widget with faq-content class */

/* H2 section headers */
.faq-content h2 {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    font-size: calc(var(--e-global-typography-primary-font-size) * 0.85);
    font-weight: var(--e-global-typography-primary-font-weight);
    text-transform: var(--e-global-typography-primary-text-transform);
    line-height: var(--e-global-typography-primary-line-height);
    letter-spacing: var(--e-global-typography-primary-letter-spacing);
    color: var(--e-global-color-primary);
    margin-top: 2.5em;
    margin-bottom: 1em;
}

/* H3 questions */
.faq-content h3 {
    font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
    font-size: calc(var(--e-global-typography-secondary-font-size) * 0.85);
    font-weight: var(--e-global-typography-secondary-font-weight);
    text-transform: var(--e-global-typography-secondary-text-transform);
    line-height: var(--e-global-typography-secondary-line-height);
    letter-spacing: var(--e-global-typography-secondary-letter-spacing);
    color: var(--e-global-color-secondary);
}

/* FAQ items */
.faq-item {
    background: rgba(200, 180, 160, 0.1);
    padding: 1.5em 2em;
    margin-bottom: 1em;
    border-radius: 4px;
    border-left: 3px solid #0e8599;
}

.faq-content .faq-q {
    margin-top: 0;
    margin-bottom: 0.5em;
}

.faq-content .faq-a {
    margin-bottom: 0;
}

/* Carousel image height */
img.swiper-slide-image {
    width: 100%;
    height: 75vh;
    object-fit: cover;
}

/* Image background style */
/* Force overflow visible on Elementor containers */
.e-con:has(.photo-accent-left),
.e-con:has(.photo-accent-right),
.e-con .e-con:has(.photo-accent-left),
.e-con .e-con:has(.photo-accent-right) {
    overflow: visible !important;
}

/* Top-left accent */
.photo-accent-left {
    position: relative;
    overflow: visible !important;
}

.photo-accent-left::before {
    content: '';
    position: absolute;
    top: -5%;
    left: -4%;
    width: 50%;
    height: 70%;
    background-color: #eddfc5;
    z-index: 0;
}

.photo-accent-left img {
    position: relative;
    z-index: 1;
}

/* Bottom-right accent */
.photo-accent-right {
    position: relative;
    overflow: visible !important;
}

.photo-accent-right::after {
    content: '';
    position: absolute;
    bottom: -5%;
    right: -4%;
    width: 50%;
    height: 60%;
    background-color: #eddfc5;
    z-index: 0;
}

.photo-accent-right img {
    position: relative;
    z-index: 1;
}

@media (max-width: 1024px) and (min-width: 768px) {
    .photo-accent-right::after {
        bottom: -3%;
        right: -2%;
        width: 30%;
        height: 50%;
    }
}

/* Popup Onglet menu Contact */
.menu-popup li:last-child  {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.menu-popup li:last-child a {
    color: #0e8599 !important;
    border: 1px solid #0e8599;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    font-size: 19px !important;
    letter-spacing: 0.3px;
    margin-top: 10px;
    width: 250px;
}
.menu-popup li:last-child a:hover {
    background-color: #0e8599 !important;
    color: white !important;
}

.dash-list ul {
    list-style: none;
    padding-left: 1.2em;
}

.dash-list ul li::before {
    content: "–";
    position: absolute;
    margin-left: -1.2em;
}

.dash-list ul li a {
    color: #ffffff !important;
    font-weight: 700;
}