/* Vision 7 Group - design system (refonte 2026) */
:root{
 --v7-red:#93181E;--v7-red-dark:#7A1318;--v7-ink:#181818;--v7-anthracite:#2A2928;--v7-white:#FFFFFF;--v7-light:#F5F5F3;
 --v7-muted:#5E5A57;--v7-line:#E6E3DF;
 --v7-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
 --v7-sans:"Manrope","Helvetica Neue",Arial,sans-serif;
 --v7-radius:6px;--v7-radius-card:8px;
 --v7-shadow:0 10px 30px rgba(42,41,40,.08);--v7-shadow-hover:0 18px 40px rgba(42,41,40,.14);
 --v7-ease:cubic-bezier(.22,.61,.36,1);
 --v7-gap:clamp(18px,2.4vw,28px);
}
.v7-page,.v7-page p,.v7-page li,.v7-page input,.v7-page select,.v7-page button{font-family:var(--v7-sans);}
.v7-page{color:var(--v7-anthracite);overflow-x:clip;}
.v7-page p{font-size:clamp(16px,1.05vw,17px);line-height:1.65;}
.v7-page *:focus-visible{outline:2px solid var(--v7-red);outline-offset:3px;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}

/* Typographie */
.v7-page .v7-h1 .elementor-heading-title,.v7-h1{font-family:var(--v7-serif);font-weight:600;font-size:clamp(38px,5vw,66px);line-height:1.04;letter-spacing:-.01em;color:#fff;margin:0;}
.v7-page .v7-h2 .elementor-heading-title{font-family:var(--v7-serif);font-weight:600;font-size:clamp(31px,3.4vw,46px);line-height:1.08;color:var(--v7-ink);margin:0;}
.v7-page .v7-h2--light .elementor-heading-title{color:#fff;}
.v7-page .v7-h3 .elementor-heading-title{font-family:var(--v7-sans);font-weight:700;font-size:clamp(20px,1.8vw,24px);line-height:1.2;color:var(--v7-ink);}
.v7-page .v7-eyebrow .elementor-heading-title{font-family:var(--v7-sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--v7-red);display:flex;align-items:center;gap:12px;}
.v7-page .v7-eyebrow .elementor-heading-title::before{content:"";width:28px;height:2px;background:currentColor;}
.v7-page .v7-eyebrow--light .elementor-heading-title{color:#fff;}
.v7-page .v7-lead,.v7-page .v7-lead p{font-size:clamp(16px,1.2vw,18px);line-height:1.6;color:var(--v7-muted);max-width:60ch;}
.v7-page .v7-lead--light,.v7-page .v7-lead--light p{color:rgba(255,255,255,.9);}

/* Sections */
.v7-section{padding-block:clamp(56px,8vw,110px);}
.v7-section--tight{padding-block:clamp(44px,5vw,72px);}
.v7-bg-light{background:var(--v7-light);}

/* Boutons */
.v7-btn:not(.elementor-element),.v7-page .v7-btn .elementor-button,.v7-header .v7-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 22px;border-radius:var(--v7-radius);font-family:var(--v7-sans);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background-color .3s var(--v7-ease),color .3s var(--v7-ease),border-color .3s var(--v7-ease),transform .3s var(--v7-ease),box-shadow .3s var(--v7-ease);}
.v7-btn-primary:not(.elementor-element),.v7-page .v7-btn-primary .elementor-button,.v7-header .v7-btn-primary .elementor-button{background:var(--v7-red);color:#fff;border-color:var(--v7-red);}
.v7-btn-primary:not(.elementor-element):hover,.v7-page .v7-btn-primary .elementor-button:hover,.v7-header .v7-btn-primary .elementor-button:hover{background:var(--v7-red-dark);border-color:var(--v7-red-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(147,24,30,.25);}
.v7-btn-outline:not(.elementor-element),.v7-page .v7-btn-outline .elementor-button{background:transparent;color:var(--v7-red);border-color:var(--v7-red);}
.v7-btn-outline:not(.elementor-element):hover,.v7-page .v7-btn-outline .elementor-button:hover{background:var(--v7-red);color:#fff;}
.v7-page .v7-btn-light .elementor-button{background:#fff;color:var(--v7-ink);border-color:#fff;}
.v7-page .v7-btn-light .elementor-button:hover{background:transparent;color:#fff;}
.v7-page .v7-btn-ghost .elementor-button{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.85);}
.v7-page .v7-btn-ghost .elementor-button:hover{background:#fff;color:var(--v7-red);}
.v7-btn--block{width:100%;}
.v7-ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.v7-btn .v7-ico{width:16px;height:16px;transition:transform .3s var(--v7-ease);}
.v7-btn:hover .v7-ico{transform:translateX(3px);}
.v7-link{display:inline-flex;align-items:center;gap:8px;color:var(--v7-red);font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;}
.v7-link:hover{color:var(--v7-red-dark);}
.v7-page .v7-more a,.v7-page .v7-more .elementor-heading-title a{color:var(--v7-red);font-size:13px;font-weight:700;letter-spacing:.05em;text-decoration:underline;text-underline-offset:4px;}

/* Header */
.v7-header{background:#fff;transition:box-shadow .3s var(--v7-ease);}
.v7-header.v7-scrolled,.header-sticked .v7-header,.sticky-header .v7-header{box-shadow:0 6px 24px rgba(24,24,24,.08);}
.v7-header .elementor-widget-thegem-template-menu nav > ul > li > a,.v7-header .elementor-widget-thegem-template-menu .nav-menu > li > a{font-family:var(--v7-sans)!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:.08em;text-transform:uppercase;color:var(--v7-ink)!important;}
.v7-header .elementor-widget-thegem-template-menu nav > ul > li.menu-item-current > a,.v7-header .elementor-widget-thegem-template-menu nav > ul > li.menu-item-active > a,.v7-header .elementor-widget-thegem-template-menu nav > ul > li > a:hover{color:var(--v7-red)!important;}
@media (max-width:767px){.v7-header .v7-btn .elementor-button-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}.v7-header .v7-btn .elementor-button{padding:10px 12px;min-height:42px;}}

/* Hero */
.v7-hero{position:relative;}
.v7-hero .v7-hero-inner{max-width:640px;}
.v7-hero-label .elementor-heading-title{font-family:var(--v7-sans);font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff;}

/* Recherche */
.v7-search{background:#fff;border-radius:var(--v7-radius);box-shadow:0 24px 60px rgba(24,24,24,.14);padding:clamp(18px,2.4vw,28px);}
.v7-search-title{font-family:var(--v7-sans);font-weight:700;font-size:17px;color:var(--v7-ink);margin:0 0 14px!important;}
.v7-search-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.v7-tab{position:relative;cursor:pointer;margin:0;}
.v7-tab input{position:absolute;opacity:0;pointer-events:none;}
.v7-tab span{display:inline-block;min-width:110px;text-align:center;padding:9px 18px;border-radius:4px;background:var(--v7-light);color:var(--v7-anthracite);font-size:13px;font-weight:600;transition:background-color .25s,color .25s;}
.v7-tab input:checked + span{background:var(--v7-red);color:#fff;}
.v7-tab input:focus-visible + span{outline:2px solid var(--v7-red);outline-offset:2px;}
.v7-search-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;}
.v7-field{display:flex;flex-direction:column;gap:6px;}
.v7-field label{font-size:12px;font-weight:600;color:var(--v7-ink);margin:0;}
.v7-field select,.v7-field input{width:100%;height:48px;padding:0 14px;border:1px solid var(--v7-line);border-radius:4px;background:#fff;color:var(--v7-anthracite);font-size:14px;font-family:var(--v7-sans);box-shadow:none;}
.v7-field select:focus,.v7-field input:focus{border-color:var(--v7-red);outline:none;}
.v7-search .v7-btn{height:48px;padding-inline:28px;}
.v7-search--bar{box-shadow:none;padding:0;background:transparent;display:flex;gap:12px;align-items:end;flex-wrap:wrap;}
.v7-search--bar .v7-search-tabs{margin:0;}
.v7-search--bar .v7-search-fields{flex:1;}
.v7-search--bar .v7-field label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}

/* Grilles & cartes */
.v7-grid{display:grid;gap:var(--v7-gap);}
.v7-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.v7-program-card,.v7-property-card,.v7-post-card{background:#fff;border:1px solid var(--v7-line);border-radius:var(--v7-radius-card);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s var(--v7-ease),transform .3s var(--v7-ease);}
.v7-program-card:hover,.v7-property-card:hover,.v7-post-card:hover{box-shadow:var(--v7-shadow-hover);transform:translateY(-4px);}
.v7-card-media{position:relative;display:block;aspect-ratio:16/10.5;overflow:hidden;background:var(--v7-light);}
.v7-card-media img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform .5s var(--v7-ease);}
.v7-program-card:hover .v7-card-media img,.v7-property-card:hover .v7-card-media img,.v7-post-card:hover .v7-card-media img{transform:scale(1.05);}
.v7-badge{position:absolute;top:14px;left:14px;background:var(--v7-red);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;padding:6px 10px;border-radius:3px;}
.v7-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1;}
.v7-card-title{font-family:var(--v7-sans);font-size:19px;font-weight:800;letter-spacing:.02em;margin:0;line-height:1.25;}
.v7-card-title--sm{font-size:17px;letter-spacing:0;font-weight:700;}
.v7-card-title a{color:var(--v7-ink);text-decoration:none;}
.v7-card-title a:hover{color:var(--v7-red);}
.v7-card-loc{display:flex;align-items:center;gap:6px;margin:0!important;font-size:14px!important;color:var(--v7-anthracite);}
.v7-card-loc .v7-ico{color:var(--v7-red);width:16px;height:16px;}
.v7-card-type,.v7-card-excerpt{margin:0!important;font-size:14px!important;color:var(--v7-muted);}
.v7-card-kicker{margin:0!important;font-size:12px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--v7-red);}
.v7-card-body .v7-btn{margin-top:auto;}
.v7-program-card .v7-card-body .v7-btn{margin-top:14px;}
.v7-specs{list-style:none;margin:4px 0 0!important;padding:0!important;display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--v7-muted);}
.v7-specs li{display:flex;align-items:center;gap:6px;margin:0;}
.v7-specs .v7-ico{width:16px;height:16px;}
.v7-price{display:block;font-size:20px;font-weight:800;color:var(--v7-red);margin:6px 0 10px;}
.v7-price small{font-size:13px;font-weight:600;}
.v7-price--ask{font-size:16px;color:var(--v7-anthracite);}
.v7-post-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:var(--v7-muted);margin:4px 0 8px;}
.v7-post-meta time{display:flex;align-items:center;gap:6px;}
.v7-post-meta .v7-ico{width:14px;height:14px;}
.v7-tag{background:rgba(147,24,30,.08);color:var(--v7-red);padding:4px 8px;border-radius:3px;font-weight:600;}
.v7-empty{padding:24px;border:1px dashed var(--v7-line);border-radius:var(--v7-radius-card);text-align:center;color:var(--v7-muted);}

/* À propos */
.v7-about-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--v7-radius-card);}
.v7-about-card{background:var(--v7-red);color:#fff;border-radius:var(--v7-radius);padding:22px 24px;max-width:230px;box-shadow:var(--v7-shadow);}
.v7-about-card p{color:#fff!important;margin:0!important;font-weight:600;line-height:1.4!important;}
.v7-stat .elementor-counter-number-wrapper{font-family:var(--v7-serif);font-weight:700;font-size:clamp(34px,3vw,42px)!important;color:var(--v7-ink);justify-content:flex-start;line-height:1;}
.v7-stat .elementor-counter-title{font-family:var(--v7-sans);font-size:13px;color:var(--v7-muted);text-align:left;justify-content:flex-start;}

.v7-about-wrap{position:relative;}
.v7-about-wrap .v7-about-card{position:absolute;right:-18px;bottom:32px;}
.v7-stats{border-top:1px solid var(--v7-line);}
@media (max-width:767px){.v7-about-wrap .v7-about-card{position:relative;right:auto;bottom:auto;margin-top:-40px;margin-left:16px;margin-right:16px;}}

/* Services */
.v7-service-card{background:#fff;border:1px solid var(--v7-line);border-radius:var(--v7-radius-card);transition:border-color .3s var(--v7-ease),transform .3s var(--v7-ease),box-shadow .3s var(--v7-ease);height:100%;}
.v7-service-card:hover{border-color:var(--v7-red);transform:translateY(-4px);box-shadow:var(--v7-shadow);}
.v7-service-card .elementor-icon{color:var(--v7-anthracite)!important;fill:var(--v7-anthracite)!important;transition:color .3s;}
.v7-service-card .elementor-icon svg{fill:currentColor;}
.v7-service-card:hover .elementor-icon{color:var(--v7-red)!important;fill:var(--v7-red)!important;}
.v7-service-card .elementor-icon-box-title{font-family:var(--v7-sans);font-weight:700;font-size:17px;color:var(--v7-ink);}
.v7-service-card .elementor-icon-box-description{font-size:14px;line-height:1.6;color:var(--v7-muted);}

/* Pourquoi */
.v7-why .elementor-icon-box-wrapper{display:flex;align-items:flex-start;gap:16px;text-align:left;}
.v7-why .elementor-icon-box-icon{margin:0!important;}
.v7-why .elementor-icon{background:var(--v7-red);color:#fff!important;fill:#fff!important;border-radius:50%;width:58px;height:58px;display:inline-flex!important;align-items:center;justify-content:center;font-size:24px!important;padding:0!important;}
.v7-why .elementor-icon svg{width:24px;height:24px;fill:#fff;}
.v7-why .elementor-icon-box-title{color:#fff;font-family:var(--v7-sans);font-weight:700;font-size:17px;margin:0 0 6px;}
.v7-why .elementor-icon-box-description{color:rgba(255,255,255,.82);font-size:14px;line-height:1.55;}

/* MARWA */
.v7-marwa-title .elementor-heading-title{font-family:var(--v7-serif);font-weight:700;font-size:clamp(52px,7vw,96px);line-height:.95;letter-spacing:.02em;color:var(--v7-ink);}
.v7-lead-form{background:#fff;border-radius:var(--v7-radius-card);box-shadow:var(--v7-shadow-hover);}
.v7-lead-form h3,.v7-lead-form .elementor-heading-title{color:var(--v7-red);}
.v7-form-fields p{margin:0 0 12px!important;}
.v7-form-fields label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}
.v7-form-fields input[type=text],.v7-form-fields input[type=tel],.v7-form-fields input[type=email]{width:100%;height:50px;padding:0 16px;border:1px solid var(--v7-line);border-radius:4px;background:#fff;font-size:15px;font-family:var(--v7-sans);color:var(--v7-ink);}
.v7-form-fields input:focus{border-color:var(--v7-red);outline:none;box-shadow:0 0 0 3px rgba(147,24,30,.12);}
.v7-form-fields input.wpcf7-submit{width:100%;height:52px;}
.v7-form-note{font-size:12px!important;color:var(--v7-muted);line-height:1.5!important;}
.v7-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.v7-lead-form .wpcf7-not-valid-tip{font-size:12px;color:var(--v7-red);margin-top:4px;}
.v7-lead-form .wpcf7-response-output{margin:10px 0 0!important;padding:10px 12px!important;border-radius:4px;font-size:14px;}
.v7-lead-form .wpcf7 form.sent .wpcf7-response-output{border-color:#2e7d32;color:#1b5e20;background:#edf7ee;}
.v7-lead-form .wpcf7 form.invalid .wpcf7-response-output,.v7-lead-form .wpcf7 form.failed .wpcf7-response-output,.v7-lead-form .wpcf7 form.spam .wpcf7-response-output{border-color:var(--v7-red);color:var(--v7-red);background:#fbeeee;}
.v7-lead-form .wpcf7-spinner{display:block;margin:8px auto 0;}

/* CTA final */
.v7-cta-box{border:1.5px solid rgba(255,255,255,.7);border-radius:var(--v7-radius-card);background:rgba(147,24,30,.92);}
.v7-cta-box .elementor-icon-box-title,.v7-cta-box .elementor-icon-box-title a{color:#fff;font-family:var(--v7-sans);font-size:clamp(20px,2vw,26px);font-weight:800;text-decoration:none;}
.v7-cta-box .elementor-icon-box-description{color:rgba(255,255,255,.85);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;order:-1;}
.v7-cta-box .elementor-icon-box-content{display:flex;flex-direction:column;}
.v7-cta-box .elementor-icon{background:#fff;color:var(--v7-red)!important;fill:var(--v7-red)!important;border-radius:50%;width:56px;height:56px;display:inline-flex!important;align-items:center;justify-content:center;padding:0!important;font-size:22px!important;}
.v7-cta-box .elementor-icon svg{width:22px;height:22px;fill:var(--v7-red);}

/* Partenaires */
.v7-partners .swiper-slide img{max-height:64px;width:auto!important;margin:auto;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s;}
.v7-partners .swiper-slide img:hover{filter:none;opacity:1;}

/* Footer */
.v7-footer,.v7-footer p,.v7-footer li,.v7-footer a{font-family:var(--v7-sans);}
.v7-footer{background:#1C1C1C;color:rgba(255,255,255,.78);}
.v7-footer .elementor-heading-title{color:#fff;font-family:var(--v7-sans);font-size:15px;font-weight:700;letter-spacing:.02em;}
.v7-footer .v7-footer-tagline .elementor-heading-title{font-family:var(--v7-serif);font-size:24px;font-weight:600;line-height:1.2;}
.v7-footer .elementor-icon-list-text,.v7-footer .elementor-icon-list-item a{color:rgba(255,255,255,.78)!important;font-size:14px;transition:color .25s;}
.v7-footer .elementor-icon-list-item a:hover .elementor-icon-list-text{color:#fff!important;}
.v7-footer .elementor-icon-list-icon i,.v7-footer .elementor-icon-list-icon svg{color:#C9474D!important;fill:#C9474D!important;}
.v7-footer-bottom{border-top:1px solid rgba(255,255,255,.12);}
.v7-footer-bottom p,.v7-footer-bottom a{font-size:13px!important;color:rgba(255,255,255,.65)!important;margin:0!important;}
.v7-footer-bottom a:hover{color:#fff!important;}

/* WhatsApp */
.v7-whatsapp{position:fixed;right:20px;bottom:20px;z-index:9990;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(0,0,0,.22);transition:transform .3s var(--v7-ease);}
.v7-whatsapp:hover{transform:scale(1.07);color:#fff;}
.v7-whatsapp svg{width:30px;height:30px;}
@media (max-width:767px){.v7-whatsapp{right:15px;bottom:20px;width:54px;height:54px;}}

/* Animations */
.v7-js .v7-reveal{opacity:0;transform:translateY(18px);transition:opacity .5s var(--v7-ease),transform .5s var(--v7-ease);}
.v7-js .v7-reveal.is-in{opacity:1;transform:none;}
.v7-hero-anim > *{animation:v7FadeUp .7s var(--v7-ease) both;}
.v7-hero-anim > *:nth-child(2){animation-delay:.08s}.v7-hero-anim > *:nth-child(3){animation-delay:.16s}.v7-hero-anim > *:nth-child(4){animation-delay:.24s}
@keyframes v7FadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.v7-js .v7-reveal{opacity:1;transform:none;transition:none}.v7-hero-anim > *{animation:none}*{scroll-behavior:auto!important}}

/* Responsive */
@media (max-width:1199px){
 .v7-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));}
 .v7-search-fields{grid-template-columns:repeat(2,minmax(0,1fr));}
 .v7-search .v7-btn{grid-column:1/-1;}
}
@media (max-width:767px){
 .v7-grid--3{grid-template-columns:1fr;}
 .v7-search-fields{grid-template-columns:1fr;}
 .v7-tab span{min-width:0;padding:9px 14px;}
 .v7-search-tabs{display:grid;grid-template-columns:repeat(3,1fr);}
 .v7-search--bar .v7-search-tabs{grid-template-columns:repeat(2,1fr);width:100%;}
 .v7-about-card{max-width:none;}
 .v7-page .elementor-button{white-space:normal;}
}

/* Logo header */
.v7-header .thegem-te-logo img{width:150px!important;max-width:100%;height:auto!important;}
@media (max-width:767px){.v7-header .thegem-te-logo img{width:118px!important;}}

/* Corrections v1.1 */
.v7-header > .e-con-inner{flex-wrap:nowrap!important;}
.v7-header > .e-con-inner > .e-con{--width:auto;width:auto!important;}
.v7-header > .e-con-inner > .e-con:nth-child(1){flex:0 0 auto!important;}
.v7-header > .e-con-inner > .e-con:nth-child(2){flex:1 1 auto!important;min-width:0;}
.v7-header > .e-con-inner > .e-con:nth-child(3){flex:0 0 auto!important;}
.v7-header .elementor-widget-button .elementor-button{white-space:nowrap;}
@media (max-width:1199px){.v7-header .elementor-widget-thegem-template-menu nav > ul > li > a{font-size:11.5px!important;letter-spacing:.04em;}}
.v7-service-card .elementor-icon-box-title{font-size:16px;line-height:1.3;}
.v7-why .elementor-icon-box-title{font-size:16px;}
.v7-marwa .v7-marwa-title .elementor-heading-title{color:var(--v7-ink);}
.v7-about-media img{object-position:center;}
/* ===== Pages internes (v1.2) ===== */
.v7-wrap{max-width:1280px;margin:0 auto;padding-inline:24px;box-sizing:border-box;}
@media (max-width:1199px){.v7-wrap{padding-inline:30px;}}
@media (max-width:767px){.v7-wrap{padding-inline:20px;}}
.v7-page .v7-h1--page .elementor-heading-title,.v7-h1.v7-h1--page{font-size:clamp(36px,4.4vw,58px);}
.v7-page .v7-crumb p,.v7-crumb{font-size:13px!important;color:rgba(255,255,255,.75);margin:0!important;}
.v7-crumb a{color:#fff;text-decoration:none;}
.v7-crumb a:hover{text-decoration:underline;}
.v7-crumb span[aria-hidden]{margin:0 6px;opacity:.6;}
.v7-page .v7-h2--sm,.v7-h2.v7-h2--sm{font-family:var(--v7-serif);font-weight:600;font-size:clamp(26px,2.4vw,32px);line-height:1.15;color:var(--v7-ink);margin:0 0 18px;}
.v7-h2{font-family:var(--v7-serif);font-weight:600;font-size:clamp(31px,3.4vw,46px);line-height:1.08;color:var(--v7-ink);margin:0;}
.v7-eyebrow-p{font-size:12px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--v7-red);margin:0 0 10px!important;display:flex;align-items:center;gap:12px;}
.v7-eyebrow-p::before{content:"";width:28px;height:2px;background:currentColor;}
.v7-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:36px;}
.v7-results-count{font-size:14px!important;color:var(--v7-muted);margin:0 0 18px!important;}
.v7-empty p{margin:0 0 8px!important;}
/* Fiche bien / programme */
.v7-single-hero{position:relative;color:#fff;padding:110px 0 48px;background:#2A2928 var(--v7-bg) center/cover no-repeat;}
.v7-single-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,24,24,.86) 0%,rgba(24,24,24,.45) 100%);}
.v7-single-hero .v7-wrap{position:relative;display:flex;flex-direction:column;gap:12px;}
.v7-single-hero .v7-h1{margin:6px 0 0;}
.v7-badge--static{position:static;align-self:flex-start;}
.v7-single-loc{display:flex;align-items:center;gap:8px;margin:0!important;color:rgba(255,255,255,.9);font-size:16px!important;}
.v7-single-loc .v7-ico{color:#fff;}
.v7-single-hero-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2);}
.v7-single-hero .v7-price{color:#fff;font-size:26px;margin:0;}
.v7-single-hero .v7-price--ask{font-size:20px;}
.v7-actions{display:flex;flex-wrap:wrap;gap:12px;}
.v7-btn-light:not(.elementor-element){background:#fff;color:var(--v7-ink);border-color:#fff;}
.v7-btn-light:not(.elementor-element):hover{background:transparent;color:#fff;}
.v7-gallery-wrap{margin-top:-0px;padding-top:32px;}
.v7-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:10px;}
.v7-gallery-item{position:relative;display:block;overflow:hidden;border-radius:var(--v7-radius-card);background:var(--v7-light);}
.v7-gallery-item.is-main{grid-row:1/3;}
.v7-gallery-item img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform .5s var(--v7-ease);}
.v7-gallery-item:hover img{transform:scale(1.04);}
.v7-gallery-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(24,24,24,.55);color:#fff;font-weight:700;font-size:16px;}
.v7-single-body{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;padding-top:48px;padding-bottom:clamp(56px,7vw,96px);align-items:start;}
.v7-single-block{padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--v7-line);}
.v7-single-block:last-child{border-bottom:0;margin-bottom:0;}
.v7-prose p,.v7-prose li{font-size:16px;line-height:1.75;color:var(--v7-anthracite);}
.v7-prose h2,.v7-prose h3,.v7-prose h4{font-family:var(--v7-sans);font-weight:700;color:var(--v7-ink);font-size:19px!important;line-height:1.3;margin:24px 0 10px;}
.v7-prose strong{color:var(--v7-ink);}
.v7-prose ul{padding-left:20px;}
.v7-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--v7-line);border-radius:var(--v7-radius-card);overflow:hidden;}
.v7-facts > div{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--v7-line);}
.v7-facts > div:nth-child(odd){border-right:1px solid var(--v7-line);}
.v7-facts dt{color:var(--v7-muted);font-size:14px;font-weight:500;margin:0;}
.v7-facts dd{margin:0;font-weight:700;color:var(--v7-ink);font-size:14px;text-align:right;}
.v7-map{border-radius:var(--v7-radius-card);overflow:hidden;border:1px solid var(--v7-line);aspect-ratio:16/8;}
.v7-map iframe{width:100%;height:100%;border:0;display:block;}
.v7-single-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:18px;}
.v7-side-card{padding:28px 26px;border-radius:var(--v7-radius-card);background:#fff;border:1px solid var(--v7-line);}
.v7-side-title{font-family:var(--v7-sans);font-size:20px!important;font-weight:800;color:var(--v7-red);margin:0 0 4px!important;line-height:1.25;}
.v7-side-sub{font-size:14px!important;color:var(--v7-muted);margin:0 0 18px!important;}
.v7-side-card--dark{background:var(--v7-ink);border-color:var(--v7-ink);color:#fff;display:flex;flex-direction:column;gap:6px;}
.v7-side-kicker{margin:0 0 4px!important;font-size:12px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7);}
.v7-side-phone{color:#fff;font-size:22px;font-weight:800;text-decoration:none;}
.v7-side-phone:hover{color:#fff;text-decoration:underline;}
.v7-btn--wa{margin-top:12px;color:#fff!important;border-color:#fff!important;}
.v7-form-fields textarea,.v7-form-fields input[type=date],.v7-form-fields select{width:100%;padding:12px 16px;border:1px solid var(--v7-line);border-radius:4px;background:#fff;font-size:15px;font-family:var(--v7-sans);color:var(--v7-ink);box-sizing:border-box;}
.v7-form-fields input[type=date],.v7-form-fields select{height:50px;padding-block:0;}
.v7-form-fields textarea:focus,.v7-form-fields select:focus,.v7-form-fields input[type=date]:focus{border-color:var(--v7-red);outline:none;box-shadow:0 0 0 3px rgba(147,24,30,.12);}
.v7-form-fields--2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;}
.v7-form-fields--2 .v7-col-full{grid-column:1/-1;}
@media (max-width:767px){.v7-form-fields--2{grid-template-columns:1fr;}}
/* Contact */
.v7-contact-list{list-style:none;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:22px;}
.v7-contact-list li{display:flex;gap:16px;align-items:flex-start;margin:0;}
.v7-contact-ico{flex:none;width:46px;height:46px;border-radius:50%;background:rgba(147,24,30,.08);color:var(--v7-red);display:flex;align-items:center;justify-content:center;}
.v7-contact-ico .v7-ico{width:20px;height:20px;}
.v7-contact-list strong{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--v7-ink);margin-bottom:4px;}
.v7-contact-list span,.v7-contact-list a{font-size:15px;color:var(--v7-anthracite);text-decoration:none;line-height:1.6;}
.v7-contact-list a:hover{color:var(--v7-red);}
/* Étapes */
.v7-step{background:#fff;border:1px solid var(--v7-line);border-radius:var(--v7-radius-card);height:100%;}
.v7-step .v7-step-num .elementor-heading-title{font-family:var(--v7-serif);font-size:52px;font-weight:700;line-height:1;color:var(--v7-red);}
.v7-step .v7-h3 .elementor-heading-title{font-size:19px;}
/* Lightbox */
.v7-lb{position:fixed;inset:0;z-index:99999;background:rgba(10,10,10,.92);display:flex;align-items:center;justify-content:center;padding:60px 70px;}
.v7-lb[hidden]{display:none;}
.v7-lb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;}
.v7-lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;}
.v7-lb button:hover,.v7-lb button:focus-visible{background:var(--v7-red);outline:none;}
.v7-lb-close{top:16px;right:16px;}.v7-lb-prev{left:14px;top:50%;transform:translateY(-50%);}.v7-lb-next{right:14px;top:50%;transform:translateY(-50%);}
.v7-lb-count{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:rgba(255,255,255,.8);font-size:13px;}
@media (max-width:1024px){
 .v7-single-body{grid-template-columns:1fr;}
 .v7-single-side{position:static;}
}
@media (max-width:767px){
 .v7-single-hero{padding:80px 0 36px;}
 .v7-gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 120px 120px;}
 .v7-gallery-item.is-main{grid-column:1/-1;grid-row:auto;}
 .v7-facts{grid-template-columns:1fr;}
 .v7-facts > div:nth-child(odd){border-right:0;}
 .v7-map{aspect-ratio:4/3;}
 .v7-section-head{flex-direction:column;align-items:flex-start;}
 .v7-lb{padding:56px 10px;}
}
.v7-contact-icons .elementor-icon-list-icon i,.v7-contact-icons .elementor-icon-list-icon svg{color:var(--v7-red)!important;fill:var(--v7-red)!important;}
.v7-contact-icons .elementor-icon-list-text{font-size:15px;color:var(--v7-anthracite);}
.v7-contact-icons a:hover .elementor-icon-list-text{color:var(--v7-red);}
.v7-contact-map{line-height:0;}

/* Équipe */
.v7-team-photo img{width:100%!important;aspect-ratio:4/5;object-fit:cover;border-radius:var(--v7-radius-card);display:block;transition:transform .5s var(--v7-ease);}
.v7-team-photo{overflow:hidden;border-radius:var(--v7-radius-card);margin-bottom:12px;}
.v7-team-card:hover .v7-team-photo img{transform:scale(1.04);}
.v7-page .v7-team-name .elementor-heading-title{font-family:var(--v7-sans);font-size:17px;font-weight:700;color:var(--v7-ink);line-height:1.3;}
.v7-page .v7-team-role .elementor-heading-title{font-family:var(--v7-sans);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--v7-red);line-height:1.4;}

/* ===== Effets verre (glassmorphism) v1.3 ===== */
:root{
 --v7-glass-light:rgba(255,255,255,.74);--v7-glass-light-strong:rgba(255,255,255,.84);
 --v7-glass-dark:rgba(255,255,255,.07);--v7-glass-red:rgba(147,24,30,.78);
 --v7-glass-border:rgba(255,255,255,.55);--v7-glass-border-dark:rgba(255,255,255,.16);
 --v7-blur:saturate(170%) blur(16px);
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 /* Header sticky */
 .header-sticky-template,.header-sticky-template .header-background,.header-sticky-template .fullwidth-content,.header-sticky-template .thegem-template-wrapper{background:transparent!important;}
 .header-sticky-template .v7-header{background-color:var(--v7-glass-light)!important;-webkit-backdrop-filter:var(--v7-blur);backdrop-filter:var(--v7-blur);border-bottom:1px solid rgba(255,255,255,.6);box-shadow:0 8px 30px rgba(24,24,24,.08);}
 /* Recherche du hero */
 .v7-search--hero{background:var(--v7-glass-light-strong);-webkit-backdrop-filter:var(--v7-blur);backdrop-filter:var(--v7-blur);border:1px solid var(--v7-glass-border);}
 .v7-search--hero .v7-tab span{background:rgba(255,255,255,.6);}
 .v7-search--hero .v7-field select,.v7-search--hero .v7-field input{background:rgba(255,255,255,.85);}
 /* Bouton secondaire du hero et des fiches */
 .v7-page .v7-hero .v7-btn-light .elementor-button,.v7-single-hero .v7-btn-light{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.7)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
 .v7-page .v7-hero .v7-btn-light .elementor-button:hover,.v7-single-hero .v7-btn-light:hover{background:#fff!important;color:var(--v7-ink)!important;}
 /* Carte « Des projets qui construisent votre avenir » */
 .v7-about-wrap .v7-about-card{background:var(--v7-glass-red);-webkit-backdrop-filter:var(--v7-blur);backdrop-filter:var(--v7-blur);border:1px solid rgba(255,255,255,.25);}
 /* Pourquoi nous faire confiance : panneaux verre sur fond sombre */
 .v7-why .elementor-widget-icon-box{background:var(--v7-glass-dark);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--v7-glass-border-dark);border-radius:var(--v7-radius-card);padding:24px 22px;transition:background-color .3s var(--v7-ease),border-color .3s var(--v7-ease);}
 .v7-why .elementor-widget-icon-box:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);}
 /* Formulaire MARWA sur l'image */
 .v7-marwa .v7-lead-form{background:var(--v7-glass-light-strong)!important;-webkit-backdrop-filter:var(--v7-blur);backdrop-filter:var(--v7-blur);border:1px solid var(--v7-glass-border);}
 .v7-marwa .v7-form-fields input[type=text],.v7-marwa .v7-form-fields input[type=tel],.v7-marwa .v7-form-fields input[type=email]{background:rgba(255,255,255,.9);}
 /* Encadré téléphone du CTA */
 .v7-cta-box{background:rgba(147,24,30,.62)!important;-webkit-backdrop-filter:var(--v7-blur);backdrop-filter:var(--v7-blur);border-color:rgba(255,255,255,.35)!important;}
 /* Badges et fil d'Ariane */
 .v7-badge{background:rgba(147,24,30,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);}
 .v7-page-hero .v7-crumb p,.v7-single-hero .v7-crumb{display:inline-flex;align-items:center;flex-wrap:wrap;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);align-self:flex-start;}
 .v7-single-hero .v7-crumb{width:fit-content;}
 /* Galerie et visionneuse */
 .v7-gallery-more{background:rgba(24,24,24,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
 .v7-lb{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(10,10,10,.82);}
 .v7-lb button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);}
}
/* Accessibilité : transparence réduite demandée par le système */
@media (prefers-reduced-transparency:reduce){
 .header-sticky-template .v7-header{background-color:#fff!important;}
 .v7-search--hero,.v7-marwa .v7-lead-form{background:#fff!important;}
 .v7-about-wrap .v7-about-card,.v7-cta-box,.v7-badge{background:var(--v7-red)!important;}
 .v7-why .elementor-widget-icon-box{background:rgba(24,24,24,.85);}
 .v7-page .v7-hero .v7-btn-light .elementor-button,.v7-single-hero .v7-btn-light{background:#fff!important;color:var(--v7-ink)!important;}
}