/*
Theme Name: Alpins Child
Theme URI: http://themes.framework-y.com/alpins/
Description: Alpins Child Theme - Wild Maggiore Landing Page
Author: Schiocco
Author URI: http://schiocco.com/
Template: alpins
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: alpins
*/

/**
 * ============================================
 * COMPREHENSIVE CHILD THEME CSS
 * ============================================
 * 
 * This stylesheet imports the comprehensive variable-based CSS
 * that includes styling for all landing page sections with
 * responsive breakpoints (XS, SM, MD, LG, XL).
 * 
 * For documentation, see: CSS-DOCUMENTATION.md
 * For snippet library, see: style-variables.css (all wm-* prefixed, safe to load)
 * 
 * Quick Links (style-variables.css sections):
 * - CSS Variables (--wm-*):         lines 1-70
 * - Hero Section (.wm-hero-*):     lines 75-150
 * - Navigation (.wm-nav-*):        lines 155-210
 * - Activity Cards (.wm-activity-*): lines 215-310
 * - About Section (.wm-about-*):   lines 315-420
 * - Services (.wm-service-*):      lines 425-510
 * - Blog Section (.wm-blog-*):     lines 515-610
 * - Newsletter (.wm-newsletter-*): lines 615-700
 * - Sustainability (.wm-sust-*):   lines 705-790
 * - Footer (.wm-footer-*):         lines 795-890
 * - Responsive (wm-* only):        lines 895-970
 * - Utilities (.wm-*):             lines 975+
 */

/* Import comprehensive styling with variables and responsive design */
*@import url('style-variables.css');

/**
 * CHILD THEME SPECIFIC OVERRIDES
 * ==============================
 * Add your custom modifications below.
 * Avoid editing style-variables.css directly for easy future updates.
 */

/* Override stats container (keeping your original styling) */
.stats-container {
  /* Layout & Positioning */
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 240px;
  width: calc(100% - 60px);
  
  /* Styling */
  background-color: #b8aa93;
  padding: 17px 30px;
  border-radius: 3px;
  
  /* Typography */
  font-family: 'Montserrat', sans-serif;
  line-height: 1.2;
}

.stat-item {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.stat-item .value {
  color: #bacf95;
  font-size: 16px;
  font-weight: bold;
}

.stat-item .label {
  color: white;
  opacity: 0.8;
  font-size: 12px;
  margin-top: 3px;
}

/**
 * ADD YOUR CUSTOMIZATIONS BELOW THIS LINE
 * ======================================
 * 
 * Example overrides:
 * 
 * .hero-title {
 *   font-size: 48px;  // Change from default 32px
 *   color: #custom-color;
 * }
 * 
 * .activity-card {
 *   border: 2px solid var(--primary-color);
 * }
 * 
 * For responsive tweaks, use media queries:
 * @media (max-width: 768px) {
 *   .my-custom-class { ... }
 * }
 */


/* --- 1. VERSIONE DESKTOP (Terza Colonna) --- */
#section_PjG5P, #section_PjG5P .container, #section_PjG5P .row, #eMHnF, #GjfEM {
    overflow: visible !important;
    position: relative !important;
}

#section_PjG5P #GjfEM .glide__bullets {
    position: absolute !important;
    display: flex !important;
    left: 100% !important; 
    margin-left: 60px !important; 
    bottom: 20px !important; 
    width: 135px !important; 
    max-width: 135px !important;
    height: 10px !important;
    justify-content: flex-start !important; 
    align-items: center !important;
    gap: 4px !important; 
    transform: none !important;
    z-index: 9999 !important;
    background: transparent !important;
    padding: 0 !important;
}

#section_PjG5P #GjfEM .glide__bullet {
    flex: 0 0 42px !important; 
    width: 42px !important;
    height: 6px !important;
    background-color: #bacf95 !important; 
    border: none !important;
    border-radius: 3px !important;
    opacity: 0.3; 
    cursor: pointer;
}

#section_PjG5P #GjfEM .glide__bullet--active {
    opacity: 1 !important;
}

/* --- 2. VERSIONE MOBILE (Allineati a Sinistra e abbassati di 5px extra) --- */
@media (max-width: 991px) {
    #section_PjG5P #GjfEM .glide__bullets {
        position: relative !important;
        left: 0 !important; 
        margin-left: 0 !important;
        /* Aumentato a 25px per scendere ulteriormente rispetto alla slide */
        margin-top: 30px !important; 
        transform: none !important; 
        
        width: 135px !important;
        max-width: 135px !important;
        bottom: auto !important;
        top: auto !important;
        justify-content: flex-start !important;
        gap: 4px !important;
    }
}

/* Protezione immagini */
#GjfEM .glide__track {
    overflow: hidden !important;
}


/* --- SOLO PER MOBILE --- */
@media (max-width: 991px) {
   
    /* Contenitore principale: deve occupare tutto lo spazio */
    .menu-inner:not(.menu-inner-vertical) {
        display: block !important;
        width: 100% !important;
    }

    /* Barra Menu (Scritta a sx, Hamburger a dx) */
    .menu-inner:not(.menu-inner-vertical) > div {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center;
        width: 100%;
        padding: 10px 15px;
    }
    
    /* Lista Menu: deve stare sotto (display: block) e allineata a sx */
    .menu-inner:not(.menu-inner-vertical) > ul {
        display: none !important; /* Chiuso di default */
        width: 100% !important;
        text-align: left !important; /* Sposta il testo a sinistra */
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Forza l'apertura quando attivo */
    .menu-inner.active > ul {
        display: block !important;
        height: auto !important;
    }

    /* Singole voci del menu */
    .menu-inner:not(.menu-inner-vertical) > ul > li {
        width: 100% !important;
        display: block !important;
        float: none !important; /* Rimuove eventuali float a destra */
        margin: 0 !important;
    }

    .menu-inner:not(.menu-inner-vertical) > ul > li > a {
        justify-content: flex-start !important; /* Allinea il contenuto del link a sx */
        padding-left: 15px !important;
        width: 100%;
    }

}


/* --- 2. REGOLE SOLO PER DESKTOP (Schermi Grandi) --- */
@media (min-width: 992px) {
    /* Nasconde il pulsante/hamburger su desktop */
    .menu-inner:not(.menu-inner-vertical) > div {
        display: none !important;
    }

    /* Forza la lista a essere sempre visibile e orizzontale */
    .menu-inner:not(.menu-inner-vertical) > ul {
        display: flex !important;
        flex-direction: row;
        height: auto !important;
        overflow: visible !important;
    }

    /* Ripristina il margine tra le voci che avevi impostato */
    .menu-inner:not(.menu-inner-vertical) > ul > li:not(:last-child) {
        margin-right: 20px !important;
    }
}

/* ============================================================
   INFO BOX FIXED HEIGHT (SOFT OVERRIDE)
   Keeps original Alpins visual style, only normalizes card height/spacing
   ============================================================ */

.cnt-box-info {
    display: flex;
    flex-direction: column;
}

.cnt-box-info.info-box-a {
    height: 580px;
}

.cnt-box-info.info-box-c {
    height: 580px;
}

.cnt-box-info .img-box {
    display: block;
    overflow: hidden;
    aspect-ratio: 8 / 5;
    flex: 0 0 auto;
}

.cnt-box-info .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.cnt-box-info .caption,
.cnt-box-info.boxed .caption {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    padding-bottom: 52px;
}

.cnt-box-info .caption h2 {
    margin-bottom: 12px;
}

.cnt-box-info .caption > p,
.cnt-box-info .excerpt-text {
    margin-bottom: 0px;
}

.cnt-box-info .bottom-info {
    position: absolute;
    bottom: 16px;
    margin: 0;
}

footer {
    background-color: #13304a !important; /* Force the parent theme color */
}


/* Programma Slider full default styling */
.hc-cmp-programma-slider {
  position: relative;
  overflow: visible;
}

.hc-cmp-programma-slider .glide__track,
.hc-cmp-programma-slider .glide__slides,
.hc-cmp-programma-slider .glide__slide {
  min-width: 0 !important;
}

.hc-cmp-programma-slider .programma-slide {
  box-sizing: border-box !important;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  padding: 18px 20px 28px !important; /* single-day nav hidden: bottom becomes 18px */
}

.hc-cmp-programma-slider .programma-slide-inner {
  max-width: 980px;
  margin: 0 auto;
  width: 100%;
  min-width: 0;
}

.hc-cmp-programma-slider .programma-day-content {
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.hc-cmp-programma-slider .programma-day-content h2 {
  margin: 0 0 0 0 !important; /* title_top_spacing default = 0 */
  line-height: 1.2;
  text-wrap: pretty; /* avoid_orphans default ON */
  orphans: 2;
  widows: 2;
  overflow-wrap: anywhere;
}

.hc-cmp-programma-slider .programma-day-content p {
  margin: 0 !important;
  line-height: 1.6;
  text-wrap: pretty;
  orphans: 2;
  widows: 2;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.hc-cmp-programma-slider .programma-day-content .programma-list {
  margin: 0 !important;
  padding-left: 1.2em;
  text-wrap: pretty;
  orphans: 2;
  widows: 2;
}

.hc-cmp-programma-slider .programma-day-content ul.programma-list {
  list-style: disc;
}

.hc-cmp-programma-slider .programma-day-content .programma-list li {
  margin: 0 0 6px;
  line-height: 1.6;
  text-wrap: pretty;
  orphans: 2;
  widows: 2;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.hc-cmp-programma-slider .programma-day-content .programma-list li:last-child {
  margin-bottom: 0;
}

/* Arrows defaults */
.hc-cmp-programma-slider .glide__arrow--left {
  left: -26px;
}
.hc-cmp-programma-slider .glide__arrow--right {
  right: -26px;
}
.hc-cmp-programma-slider .glide__arrows {
  pointer-events: none;
}
.hc-cmp-programma-slider .glide__arrow {
  pointer-events: auto;
}

/* Bullets default position */
.hc-cmp-programma-slider .glide__bullets {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 8px;
}