/*
Theme Name: Jecapte - Child
Author: MATRYS
Author URI: https://matrys.fr
Description: Thème enfant Astra pour Jecapte
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jecapte-child
Template: astra
*/

/* =====================================================================
   MATRYS CSS UTILITIES v1.0
   Breakpoints: 1200px (tablet) / 767px (mobile)
   Cross-browser: -webkit-, -moz-, -ms- prefixes, no nesting
   ===================================================================== */

/* --- VARIABLES GLOBALES --- */
:root {
    --matrys-transition: all 0.3s ease;
    --matrys-transition-slow: all 0.5s ease;
    --matrys-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1);
    --matrys-shadow-hover: 0px 8px 24px rgba(0, 0, 0, 0.15);
    --matrys-shadow-active: 0px 1px 4px rgba(0, 0, 0, 0.12);
    --matrys-radius: 8px;
}

/* --- RESET GLOBAL --- */
* {
    word-wrap: normal !important;
    overflow-wrap: normal !important;
    -webkit-hyphens: none !important;
       -moz-hyphens: none !important;
        -ms-hyphens: none !important;
            hyphens: none !important;
    word-break: normal !important;
    /* background: rgba(128, 77, 0, 0.1) !important; */
} 



/* --- ASTRA: SCROLL TO TOP --- */
.ast-scroll-to-top-right {
    bottom: 15px !important;
    right: 15px !important;
    border: 1px solid #fff;
    -webkit-transition: var(--matrys-transition);
       -moz-transition: var(--matrys-transition);
            transition: var(--matrys-transition);
    -webkit-box-shadow: var(--matrys-shadow);
            box-shadow: var(--matrys-shadow);
}
.page-id-409 .ast-scroll-to-top-right,.page-id-13 .ast-scroll-to-top-right, .page-id-413 .ast-scroll-to-top-right{
    bottom: 80px !important;

}

.ast-scroll-to-top-right:hover {
    -webkit-transform: translateY(-3px) !important;
       -moz-transform: translateY(-3px) !important;
            transform: translateY(-3px) !important;
    -webkit-box-shadow: var(--matrys-shadow-hover) !important;
            box-shadow: var(--matrys-shadow-hover) !important;
}

/* --- ASTRA: FOOTER MENU RESET --- */
ul#astra-footer-menu {
    padding: 0;
    margin: 0;
    text-align: center;
}

/* --- ASTRA: STICKY HEADER SHADOW --- */
.ast-primary-sticky-enabled .ast-main-header-wrap {
    -webkit-box-shadow: var(--matrys-shadow) !important;
            box-shadow: var(--matrys-shadow) !important;
}


/* Logo wifi animation */
.site-logo-img .custom-logo-link {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.logo-wifi-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
}

.logo-wifi-overlay svg {
    width: 100%;
    height: 100%;
    display: block;
}

.logo-wifi-overlay .cov {
    fill: var(--ast-global-color-0, #f4f1ea);
    opacity: 1;
    animation: wifiBuild 3.2s ease-out infinite;
}

.logo-wifi-overlay .c2 { animation-delay: .3s; }
.logo-wifi-overlay .c3 { animation-delay: .6s; }
.logo-wifi-overlay .c4 { animation-delay: .9s; }

.site-logo-img:hover .logo-wifi-overlay .cov {
    animation-duration: 1.9s;
}

@keyframes wifiBuild {
    0%   { opacity: 1; }
    12%  { opacity: 0; }
    86%  { opacity: 0; }
    96%  { opacity: 1; }
    100% { opacity: 1; }
}

.hero{
    position: relative !important;
}

.hero-confetti {
    position: absolute !important;
    inset: 0;
    pointer-events: none;
    z-index: 20;
}

.phone{
position: relative !important;
box-shadow: 0px 40px 70px -30px rgba(43, 26, 18, 0.6) !important ;
transition: box-shadow 0.4s ease !important;
width: 235px !important;
aspect-ratio: 16/7 !important;
}

.phone-home{
transform: rotateZ(-4deg);
}



.phone:hover{
    box-shadow: 0px 40px 70px -20px rgba(43, 26, 18, 0.8) !important ;

}

.phone::before{
content:"";
transform: translateX(-50%);
position :absolute;
left : 50%;
top :6px;
width : 60px;
height: 15px;
background:var(--ast-global-color-2);
border-radius: 14px
}

.uagb-swiper{
    overflow: visible !important;
}

.phone_tarif{
    border-radius: 14px ;
    padding: 13px 14px;
    background: var(--ast-global-color-0);
    color: #fff !important;

}

.notification{
        margin-left: auto   !important;
    color: #fff !important;
    border-radius: 100px !important;
    min-width: 24px !important;
    height: 22px !important ;
    padding: 0 7px !important;
    display: grid !important;
    place-items: center !important;
    font-size: .72rem !important;
    font-weight: 800 !important ;
    line-height: 1 !important;



}

.notification-rouge{
background: var(--ast-global-color-0);
}
.notification-bleue{
background: var(--ast-global-color-1);

}

.card-connecte{
    background: #d9e6ee ;
}

.prob-card{
    transition: all 0.4s ease;
    border: 1px solid rgba(255,255,255,0.1);
    background: rgba(255, 255, 255, .05);
    border-radius: 22px ;
    padding: 26px !important;

}

.prob-card .uagb-iconbox-icon-wrap{
    border-radius: 14px;
}

.prob-card:hover{
    background: rgba(255, 255, 255, .09);
}

.badge{
background:#fff ;
box-shadow: 0 8px 22px -12px rgba(125, 22, 14, .45);
}





.badge_flash{
    border-radius: 100px !important;
}

.tarif_card{
    box-shadow: 0 8px 22px -12px rgba(125, 22, 14, .45) !important;
}

/* Carte Leaflet */
.jc-map-wrap {
    height: 480px;
    border-radius: 22px;
    overflow: hidden;
    border: 14px solid #fff;
}

.jc-zones-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.zone-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: #fff;
    border-radius: 100px;
    font-size: .92rem;
    font-weight: 500;
    cursor: pointer;
    transition: .15s;
    color: #1c1c1e;
}

.zone-chip:hover,
.zone-chip.hot {
    background: #e41e13;
    color: #fff;
}

.zone-chip .pin {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ast-global-color-1);
}

.zone-chip:hover .pin,
.zone-chip.hot .pin {
    background: #fff;
}

/* Marqueurs custom */
.jc-marker { background: none; border: none; }

.jc-pinwifi {
    width: 26px;
    height: 26px;
    background: #e41e13;
    border-radius: 50%;
    display: grid;
    place-items: center;
    box-shadow: 0 2px 8px rgba(228,30,19,.35);
    transition: transform .15s;
}

.jc-pinwifi i {
    width: 8px;
    height: 8px;
    background: #fff;
    border-radius: 50%;
}

.jc-poi {
    width: 36px;
    height: 36px;
    background: #2f6f8f;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    box-shadow: 0 2px 8px rgba(47,111,143,.35);
    transition: transform .15s;
}

.jc-poi svg {
    width: 18px;
    height: 18px;
}

.jc-marker.hot .jc-pinwifi,
.jc-marker.hot .jc-poi {
    transform: scale(1.3);
}

/* Popup Leaflet */
.leaflet-popup-content b {
    display: block;
    font-family: "Fredoka", sans-serif;
    font-size: .95rem;
}

.pp-sub {
    display: block;
    font-size: .78rem;
    color: #888;
    margin-top: 2px;
}

@media (max-width: 560px) {
    .jc-map-wrap { height: 360px; border-radius: 16px; }
}


.uagb-loop-post-inner{
    display: block !important;
    align-content: center !important;
}

.logo-partner .uagb-loop-post{
    background: #fff;
    border-radius: 22px;
    overflow: hidden !important;
    box-shadow: 0 8px 22px -12px rgba(125, 22, 14, .45);
    transition: all 0.4s ease;

}

.logo-partner .uagb-loop-post:hover{
transform: translateY(-10px );
}

.logo-partner img{
    width: 100% !important;
    aspect-ratio: 16/9 !important;
    object-fit: contain !important;
    height: auto !important;
}

.uagb-faq-item-active{
    border-color: var(--ast-global-color-0) !important;
}

 .wp-block-uagb-faq-child {
    transition: all 0.2s ease;
}

.uagb-faq-item-active .uagb-icon-active{
    background: var(--ast-global-color-0) !important;
    transform: rotateZ(45deg);
}
.uagb-faq-item-active .uagb-icon-active svg{
    fill: #fff !important;
}

.uagb-faq-item{
    box-shadow: 0 8px 22px -12px rgba(125, 22, 14, .45);
}
.site-header{
    z-index: 2000 !important;
}

.forminator-button{
    width: 100%;
}

.forminator-consent__label{
    color: rgba(28, 28, 30, .7) !important;
    font-size: 0.8em !important;
}

.pill_activity{
    background: #fff !important;
    border-radius: 100px !important;
    padding: 9px 16px !important;
        border: 1.5px solid rgba(125, 22, 14, .14);
}

.tech_card{
width:220px !important;
background:#fff;
    box-shadow: 0 8px 22px -12px rgba(125, 22, 14, .45);

}

.uagb-infobox-shape-squre{
    border-radius: 22px !important;
}

@media (prefers-reduced-motion: reduce) {
    .tech-link .dot {
        animation: none;
    }
}

.tech-link .dot {
    position: absolute;
    top: 50%;
    left: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--ast-global-color-0);
    transform: translateY(-50%);
    animation: flow 2s linear infinite;
}

.tech-link {
    flex: 0 0 64px;
    height: 4px;
    background: repeating-linear-gradient(90deg, var(--ast-global-color-0) 0 9px, transparent 9px 18px);
    position: relative;
    align-self: center;
}

@keyframes flow {
    0%   { left: 0; }
    100% { left: 100%; }
}

@media (max-width: 767px) {
    .tech-link, .steps-serp{
        display: none !important;
    }
}

.skeleton{
height: 11px !important;
border-radius:100px !important;
background:var(--ast-global-color-7)
}

.skeleton-60{
width :60% !important;
}

.skeleton-80{
width :80% !important;
}

.skeleton-70{
width :80% !important;
}

.section-serpentin{
    position : relative !important
}

.wp-block-button__link, .ast-outline-button, .forminator-button{
    transition: all 0.4s ease !important;
}

.wp-block-button__link:hover, .ast-outline-button:hover, .forminator-button:hover{
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 16px 30px -12px rgba(228, 30, 19, .6) !important;
}