/* ================================
   SWP — PREMIUM GLOBAL CSS
   ================================ */

:root{
  --swp-blue:#1F6FA5;
  --swp-green:#1FA463;
  --swp-green-dark:#147A48;
  --swp-red:#D83A32;
  --swp-dark:#172033;
  --swp-text:#3B4656;
  --swp-light:#F5F8FB;
  --swp-border:#E3EAF1;
}

/* Smooth page feel */
html{
  scroll-behavior:smooth;
}

body{
  color:var(--swp-text);
  overflow-x:hidden;
}

/* Premium section breathing */
.elementor-section,
.e-con{
  transition:all .35s ease;
}

/* Main headings */
h1, h2, h3{
  letter-spacing:-0.03em;
}

/* Header navigation */
.elementor-nav-menu a,
.menu-item a{
  position:relative;
  transition:color .25s ease;
}

.elementor-nav-menu a:after,
.menu-item a:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:0;
  height:2px;
  background:var(--swp-green);
  transform:translateX(-50%);
  transition:width .28s ease;
}

.elementor-nav-menu a:hover:after,
.menu-item a:hover:after{
  width:70%;
}

.elementor-nav-menu a:hover,
.menu-item a:hover{
  color:var(--swp-green)!important;
}

/* Premium buttons */
.elementor-button,
button,
input[type="submit"]{
  border-radius:999px!important;
  background:var(--swp-green)!important;
  color:#fff!important;
  font-weight:600!important;
  letter-spacing:.01em;
  box-shadow:0 14px 30px rgba(31,164,99,.22);
  transition:all .28s ease!important;
}

.elementor-button:hover,
button:hover,
input[type="submit"]:hover{
  background:var(--swp-green-dark)!important;
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(31,164,99,.32);
}

/* Premium cards */
.elementor-widget-container,
.swp-card{
  transition:all .3s ease;
}

.swp-card,
.elementor-column .elementor-widget-wrap,
.e-con.e-child{
  border-radius:14px;
}

.swp-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 45px rgba(23,32,51,.10);
}

/* Image premium effect */
.elementor-widget-image img{
  border-radius:14px;
  transition:transform .45s ease, box-shadow .45s ease;
}

.elementor-widget-image img:hover{
  transform:scale(1.025);
  box-shadow:0 20px 45px rgba(23,32,51,.16);
}

/* Green dividers */
.elementor-divider-separator{
  border-color:var(--swp-green)!important;
}

/* Hero image polish */
.elementor-background-overlay{
  transition:opacity .3s ease;
}

/* Contact form */
.wpforms-form input,
.wpforms-form textarea,
.wpforms-form select{
  border:1px solid var(--swp-border)!important;
  border-radius:10px!important;
  padding:14px 16px!important;
  background:#fff!important;
  color:var(--swp-dark)!important;
  transition:all .25s ease!important;
}

.wpforms-form input:focus,
.wpforms-form textarea:focus{
  border-color:var(--swp-green)!important;
  box-shadow:0 0 0 3px rgba(31,164,99,.12)!important;
  outline:none!important;
}

.wpforms-submit{
  border-radius:999px!important;
  padding:14px 34px!important;
}

/* Language selector cleaner */
.gt_selector{
  border:1px solid var(--swp-border)!important;
  border-radius:8px!important;
  padding:10px 14px!important;
  font-weight:500;
}

/* Mobile polish */
@media(max-width:768px){
  h1{
    font-size:34px!important;
    line-height:1.15!important;
  }

  h2{
    font-size:28px!important;
    line-height:1.2!important;
  }

  .elementor-button{
    width:auto!important;
    max-width:90%;
  }

  .elementor-widget-image img{
    border-radius:10px;
  }

  .gt_selector{
    max-width:180px!important;
  }
}
/* ================================
   SWP — PREMIUM FOOTER / SEARCH / SOCIAL
   ================================ */

/* Footer global spacing */
footer,
.site-footer,
.elementor-location-footer{
  background:#ffffff!important;
  border-top:1px solid #E3EAF1;
  padding-top:55px!important;
  padding-bottom:28px!important;
}

/* Search bar */
footer input[type="search"],
.elementor-location-footer input[type="search"]{
  width:260px!important;
  max-width:90%!important;
  height:46px!important;
  border:1px solid #DDE3EA!important;
  border-radius:999px!important;
  padding:0 20px!important;
  font-size:14px!important;
  color:#1C2733!important;
  background:#fff!important;
  box-shadow:0 10px 25px rgba(23,32,51,.06);
  transition:all .25s ease!important;
}

footer input[type="search"]:focus,
.elementor-location-footer input[type="search"]:focus{
  border-color:#1FA463!important;
  box-shadow:0 0 0 4px rgba(31,164,99,.12), 0 14px 30px rgba(23,32,51,.08)!important;
  outline:none!important;
}

/* Social icons premium circles */
footer .elementor-social-icon,
.elementor-location-footer .elementor-social-icon{
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  box-shadow:0 10px 24px rgba(23,32,51,.12);
  transition:all .28s ease!important;
}

footer .elementor-social-icon:hover,
.elementor-location-footer .elementor-social-icon:hover{
  transform:translateY(-5px) scale(1.04);
  box-shadow:0 16px 34px rgba(23,32,51,.18);
}

/* Logo footer */
footer img,
.elementor-location-footer img{
  transition:all .35s ease;
}

footer img:hover,
.elementor-location-footer img:hover{
  transform:scale(1.04);
}

/* Footer tagline */
footer p,
.elementor-location-footer p{
  color:#1C2733;
}

/* Footer menu */
footer a,
.elementor-location-footer a{
  color:#1F6FA5!important;
  font-weight:500;
  transition:all .25s ease;
}

footer a:hover,
.elementor-location-footer a:hover{
  color:#1FA463!important;
}

/* Copyright */
footer .copyright,
.elementor-location-footer .copyright{
  font-size:13px;
  color:#6B7280;
}

/* GTranslate footer/mobile cleanup */
.gt_selector{
  min-width:170px!important;
  height:46px!important;
  border-radius:10px!important;
  border:1px solid #DDE3EA!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(23,32,51,.06);
}

/* Mobile footer */
@media(max-width:768px){
  footer,
  .elementor-location-footer{
    padding-top:40px!important;
    padding-bottom:24px!important;
  }

  footer input[type="search"],
  .elementor-location-footer input[type="search"]{
    width:220px!important;
  }

  footer .elementor-social-icon,
  .elementor-location-footer .elementor-social-icon{
    width:42px!important;
    height:42px!important;
  }

  footer nav,
  .elementor-location-footer nav{
    text-align:center!important;
  }
	/* SWP — Safe premium buttons only */
.elementor-button{
  border-radius:999px!important;
  box-shadow:0 12px 28px rgba(31,164,99,.18);
  transition:all .25s ease!important;
}

.elementor-button:hover{
  transform:translateY(-2px);
}

/* SWP — Safe image polish only */
.elementor-widget-image img{
  border-radius:14px;
}

/* Mobile safety */
@media(max-width:768px){
  .elementor-button{
    max-width:90%;
  }

  .elementor-widget-image img{
    border-radius:10px;
  }
}
}
/* Footer search premium */
footer input[type="search"],
.elementor-location-footer input[type="search"]{
  border-radius:999px!important;
  border:1px solid #DDE3EA!important;
  padding:12px 18px!important;
  box-shadow:0 10px 25px rgba(23,32,51,.06);
}

/* Language selector */
.gt_selector{
  border-radius:10px!important;
  border:1px solid #DDE3EA!important;
  box-shadow:0 8px 22px rgba(23,32,51,.06);
}
/* SWP — Premium Connect Section: search + social icons */

/* Search input premium */
input[type="search"]{
  width:280px!important;
  height:48px!important;
  border:1px solid #DDE3EA!important;
  border-radius:999px!important;
  padding:0 22px!important;
  background:#ffffff!important;
  color:#1C2733!important;
  font-size:14px!important;
  box-shadow:0 12px 28px rgba(23,32,51,.07)!important;
  transition:all .28s ease!important;
}

input[type="search"]:focus{
  border-color:#1FA463!important;
  box-shadow:0 0 0 4px rgba(31,164,99,.13), 0 18px 36px rgba(23,32,51,.10)!important;
  outline:none!important;
}

/* Social icons premium */
.elementor-social-icon{
  width:48px!important;
  height:48px!important;
  border-radius:50%!important;
  margin:0 5px!important;
  box-shadow:0 12px 26px rgba(23,32,51,.14)!important;
  transition:all .28s ease!important;
  position:relative;
  overflow:hidden;
}

.elementor-social-icon:hover{
  transform:translateY(-6px) scale(1.05);
  box-shadow:0 18px 38px rgba(23,32,51,.22)!important;
}

/* Premium shine effect */
.elementor-social-icon::after{
  content:"";
  position:absolute;
  top:-60%;
  left:-80%;
  width:60%;
  height:220%;
  background:rgba(255,255,255,.28);
  transform:rotate(25deg);
  transition:all .55s ease;
}

.elementor-social-icon:hover::after{
  left:130%;
}

/* Better spacing around connect area */
.elementor-widget-social-icons{
  margin-top:22px!important;
  margin-bottom:26px!important;
}

/* Subtle separator line */
.elementor-widget-social-icons::after{
  content:"";
  display:block;
  width:70%;
  height:1px;
  background:#E3EAF1;
  margin:28px auto 0;
}

/* Mobile */
@media(max-width:768px){
  input[type="search"]{
    width:230px!important;
  }

  .elementor-social-icon{
    width:42px!important;
    height:42px!important;
    margin:0 3px!important;
  }
}
/* SWP CONNECT SECTION */

.swp-connect{
  text-align:center;
  padding:60px 20px;
}

/* Title */
.swp-connect-title{
  font-size:20px;
  color:#1C2733;
  margin-bottom:8px;
  font-weight:600;
}

/* Subtitle */
.swp-connect-subtitle{
  font-size:14px;
  color:#6B7280;
  margin-bottom:25px;
}

/* Search */
.swp-search-input{
  width:280px;
  max-width:90%;
  height:48px;
  border:1px solid #DDE3EA;
  border-radius:999px;
  padding:0 20px;
  font-size:14px;
  box-shadow:0 12px 28px rgba(23,32,51,.07);
  transition:all .3s ease;
}

.swp-search-input:focus{
  border-color:#1FA463;
  box-shadow:0 0 0 4px rgba(31,164,99,.12), 0 18px 36px rgba(23,32,51,.10);
  outline:none;
}

/* Social icons */
.swp-social-icons{
  margin-top:25px;
}

.swp-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  margin:0 6px;
  color:#fff;
  font-size:16px;
  transition:all .3s ease;
  box-shadow:0 12px 26px rgba(23,32,51,.15);
}

/* Colors */
.swp-icon.fb{background:#3b5998;}
.swp-icon.mail{background:#e74c3c;}
.swp-icon.ig{background:#d946ef;}
.swp-icon.yt{background:#ff0000;}
.swp-icon.tt{background:#111;}

/* Hover */
.swp-icon:hover{
  transform:translateY(-6px) scale(1.05);
  box-shadow:0 18px 40px rgba(23,32,51,.25);
}
/* Footer credit */
.swp-footer-credit{
  text-align:center;
  font-size:13px;
  color:#6B7280;
  margin-top:8px;
}

.swp-footer-credit a{
  color:#1F6FA5;
  font-weight:600;
  text-decoration:none;
  transition:all .25s ease;
}

.swp-footer-credit a:hover{
  color:#1FA463;
}
/* SWP — Fix contact long text on mobile/tablet */
@media(max-width:1024px){
  .elementor-page .elementor-widget-text-editor p{
    font-size:16px!important;
    line-height:1.6!important;
    text-align:center!important;
  }
}

@media(max-width:768px){
  .elementor-page .elementor-widget-text-editor p{
    font-size:15px!important;
    line-height:1.55!important;
  }
}
@media(max-width:1024px){
  .elementor-page .elementor-widget-heading .elementor-heading-title{
    max-width:100%!important;
    overflow-wrap:normal!important;
  }
}
@media(max-width:768px){

  .elementor-menu-toggle{
    width:46px!important;
    height:46px!important;
    border-radius:50%!important;
    background:#1FA463!important;
    color:#ffffff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    opacity:1!important;
    visibility:visible!important;
    font-size:0!important;
  }

  .elementor-menu-toggle:before{
    content:"☰";
    color:#ffffff!important;
    font-size:24px!important;
    line-height:1!important;
    font-weight:700!important;
  }

  .elementor-menu-toggle i,
  .elementor-menu-toggle svg{
    display:none!important;
  }
  }
}
/* ================================
   ACTIVE MENU ITEM (PAGE ACTUELLE)
   ================================ */

.elementor-nav-menu .current-menu-item > a,
.elementor-nav-menu .current_page_item > a,
.menu-item.current-menu-item > a,
.menu-item.current_page_item > a{
  color:var(--swp-green)!important;
}

/* underline actif */
.elementor-nav-menu .current-menu-item > a:after,
.elementor-nav-menu .current_page_item > a:after,
.menu-item.current-menu-item > a:after,
.menu-item.current_page_item > a:after{
  width:70%!important;
}
/* ================================
   DONATE NOW — HEADER CTA
   ================================ */

.elementor-nav-menu a[href*="donate"],
.menu-item a[href*="donate"]{
  background:#D83A32!important;
  color:#ffffff!important;
  padding:11px 24px!important;
  border-radius:999px!important;
  font-weight:800!important;
  box-shadow:0 14px 30px rgba(216,58,50,.28)!important;
  margin-left:8px!important;
  transform:none!important;
}

.elementor-nav-menu a[href*="donate"]:hover,
.menu-item a[href*="donate"]:hover{
  background:#B72C25!important;
  color:#ffffff!important;
  transform:translateY(-2px)!important;
  box-shadow:0 18px 40px rgba(216,58,50,.38)!important;
}

.elementor-nav-menu a[href*="donate"]:after,
.menu-item a[href*="donate"]:after{
  display:none!important;
}

@media(max-width:768px){
  .elementor-nav-menu a[href*="donate"],
  .menu-item a[href*="donate"]{
    display:block!important;
    width:85%!important;
    margin:14px auto!important;
    text-align:center!important;
    padding:14px 22px!important;
  }
}
.menu-item a[href*="donate"]{
  position:relative;
  animation:pulseDonate 2.2s infinite;
}

@keyframes pulseDonate{
  0%{
    box-shadow:0 0 0 0 rgba(216,58,50,.5);
  }
  70%{
    box-shadow:0 0 0 14px rgba(216,58,50,0);
  }
  100%{
    box-shadow:0 0 0 0 rgba(216,58,50,0);
  }
}
.menu-item a[href*="donate"]{
  font-size:14px;
  letter-spacing:.3px;
}
.elementor-nav-menu a{
  font-weight:600;
}
