/*
	Theme Name: Welfare Next
	Version: 2.0
	Text Domain: G2r.it
*/

/* ==========================
   THEME TOKENS (EDITA QUI)
   ========================== */
:root{
  /* Colori base */
  --bg:            #FFFFFF;   /* sfondo generale */
  --text:          #222222;   /* testo principale */
  --muted:         #707070;   /* testi secondari */
  --primary:       #00BB7D;   /* colore primario brand */
  --primary-ink:   #0C2A1F;   /* testo su fondo primario se serve contrasto diverso */
  --primary-10:    color-mix(in srgb, var(--primary) 10%, #ffffff);
  --primary-15:    color-mix(in srgb, var(--primary) 15%, #ffffff);
  --primary-20:    color-mix(in srgb, var(--primary) 20%, #ffffff);
  --primary-90:    color-mix(in srgb, var(--primary) 90%, #000000);

  /* Interfaccia */
  --white:         #ffffff;
  --black:         #222222;
  --blue:          #172B4F;   /* usato nel tuo menu */
  --shadow:        0 0 5px rgba(42,42,42,.55);

  /* Layout */
  --containerWidth:   1500px;
  --containerPaddingX: 20px;

  /* Tipografia */
  --fs-base: 16px;
  --lh-base: 1.5;
	
	--bs-btn-color: #fff;
    --bs-btn-bg: #00bb7d;
    --bs-btn-border-color: #00bb7d;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #00bb7d;
    --bs-btn-hover-border-color: #00bb7d;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #00bb7d;
    --bs-btn-active-border-color: #00bb7d;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0d6efd;
    --bs-btn-disabled-border-color: #0d6efd;

}

/* ==========================
   FONT-FACE (corretto)
   ========================== */
@font-face {
  font-family: "Aeonik";
  src:
    url("/wp-content/themes/themebase/inc/assets/fonts/Aeonik-Regular.woff2") format("woff2"),
    url("/wp-content/themes/themebase/inc/assets/fonts/Aeonik-Regular.woff")  format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Aeonik";
  src:
    url("/wp-content/themes/themebase/inc/assets/fonts/Aeonik-Bold.woff2") format("woff2"),
    url("/wp-content/themes/themebase/inc/assets/fonts/Aeonik-Bold.woff")  format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ==========================
   RESET / BASE
   ========================== */
*{ box-sizing: border-box; }

html, body{
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  margin: 0;
  padding: 0;
  color: var(--text);
  background: var(--bg);
  font-family: "Aeonik", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

p{
  margin: 0;
  padding: 0;
  font-size: 1rem;
  font-weight: 400; /* fix 400px */
  line-height: var(--lh-base);
}

h1, h2, h3, h4, h5, h6{
  margin: 0;
  font-weight: 400;
  line-height: 1.2;
  color: var(--text);
}
h1{ font-size: 62px; line-height: 75px; }
h2{ font-size: 48px; line-height: 52px; }
h3{ font-size: 40px; line-height: 44px; }
h4{ font-size: 30px; }
h5{ font-size: 25px; }
h6{ font-size: 20px; }

/* Link */
a{ color: inherit; text-decoration: none; }

/* ==========================
   HEADER / NAV
   ========================== */
header{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 9999;
  width: 100%;
  background: var(--white);
  box-shadow: var(--shadow);
}

.sub-menu-chiudi,
.sub-menu-chisiamo{ display: none; }

#menu-menu-principale-1{
  display: flex;
  gap: 1.2rem;
}
#menu-menu-principale-1 li a{
  color: var(--blue);
  text-transform: uppercase;
  font-weight: 500;
  font-size: 14px;
  transition: opacity .2s, color .2s;
}
#menu-menu-principale-1:hover li a{ opacity:.6; }
#menu-menu-principale-1 li a:hover{
  opacity:1;
  color:#3333cc;
}

/* Sub-sub menu */
#menu-menu-principale-1 .subsub-menu{ display:none; position:relative; }
#menu-menu-principale-1 .container-sub-sub-menu:hover .subsub-menu{
  display:flex;
  flex-direction:column;
  left:35%;
  top:0;
  position:absolute;
}

/* Decorazione link nav */
ul li a{ position: relative; }
ul.navbar-nav li a:after{
  content: "";
  position: absolute;
  bottom: -230%;
  width: 100%; height: 250%;
  left: 0;
}

/* Icona freccia */
.fa-arrow-rights{
  display:block; width:14px; height:14px; transition:.2s;
  background-image:url("data:image/svg+xml,%3Csvg width='14' height='15' viewBox='0 0 14 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.586 6.42172L6.636 2.47172C6.45384 2.28312 6.35305 2.03052 6.35533 1.76832C6.3576 1.50612 6.46277 1.25531 6.64818 1.0699C6.83359 0.884493 7.0844 0.779324 7.3466 0.777046C7.6088 0.774767 7.8614 0.875562 8.05 1.05772L13.707 6.71472C13.8002 6.80737 13.8741 6.91753 13.9246 7.03887C13.9751 7.1602 14.001 7.29031 14.001 7.42172C14.001 7.55313 13.9751 7.68324 13.9246 7.80457C13.8741 7.92591 13.8002 8.03607 13.707 8.12872L8.05 13.7857C7.95775 13.8812 7.84741 13.9574 7.7254 14.0098C7.6034 14.0622 7.47218 14.0898 7.3394 14.091C7.20662 14.0921 7.07494 14.0668 6.95205 14.0165C6.82915 13.9663 6.7175 13.892 6.62361 13.7981C6.52971 13.7042 6.45546 13.5926 6.40518 13.4697C6.3549 13.3468 6.3296 13.2151 6.33075 13.0823C6.3319 12.9495 6.35949 12.8183 6.4119 12.6963C6.46431 12.5743 6.54049 12.464 6.636 12.3717L10.586 8.42172H1C0.734784 8.42172 0.48043 8.31636 0.292893 8.12883C0.105357 7.94129 0 7.68694 0 7.42172C0 7.1565 0.105357 6.90215 0.292893 6.71461C0.48043 6.52708 0.734784 6.42172 1 6.42172H10.586Z' fill='%233333CC'/%3E%3C/svg%3E");
}
a:hover .fa-arrow-rights{
  background-image:url("data:image/svg+xml,%3Csvg width='14' height='15' viewBox='0 0 14 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.586 6.42172L6.636 2.47172C6.45384 2.28312 6.35305 2.03052 6.35533 1.76832C6.3576 1.50612 6.46277 1.25531 6.64818 1.0699C6.83359 0.884493 7.0844 0.779324 7.3466 0.777046C7.6088 0.774767 7.8614 0.875562 8.05 1.05772L13.707 6.71472C13.8002 6.80737 13.8741 6.91753 13.9246 7.03887C13.9751 7.1602 14.001 7.29031 14.001 7.42172C14.001 7.55313 13.9751 7.68324 13.9246 7.80457C13.8741 7.92591 13.8002 8.03607 13.707 8.12872L8.05 13.7857C7.95775 13.8812 7.84741 13.9574 7.7254 14.0098C7.6034 14.0622 7.47218 14.0898 7.3394 14.091C7.20662 14.0921 7.07494 14.0668 6.95205 14.0165C6.82915 13.9663 6.7175 13.892 6.62361 13.7981C6.52971 13.7042 6.45546 13.5926 6.40518 13.4697C6.3549 13.3468 6.3296 13.2151 6.33075 13.0823C6.3319 12.9495 6.35949 12.8183 6.4119 12.6963C6.46431 12.5743 6.54049 12.464 6.636 12.3717L10.586 8.42172H1C0.734784 8.42172 0.48043 8.31636 0.292893 8.12883C0.105357 7.94129 0 7.68694 0 7.42172C0 7.1565 0.105357 6.90215 0.292893 6.71461C0.48043 6.52708 0.734784 6.42172 1 6.42172H10.586Z' fill='%23ffffff'/%3E%3C/svg%3E");
}

/* Access reserved area */
.access-reserved-area{
  display:flex; gap:.2rem;
  line-height:1.8;
  padding:10px 0;
  text-transform:uppercase;
  font-weight:600;
  color: var(--blue);
}
.access-reserved-area::before{
  content:""; width:24px; height:24px; display:block;
  background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.534 12.07C8.65695 12.0175 8.78916 11.9903 8.92283 11.9898C9.0565 11.9893 9.18891 12.0156 9.31223 12.0672C9.43555 12.1188 9.54728 12.1945 9.64082 12.29C9.73436 12.3855 9.8078 12.4988 9.85681 12.6231C9.90582 12.7475 9.9294 12.8804 9.92615 13.014C9.92291 13.1477 9.8929 13.2793 9.83792 13.4011C9.78293 13.523 9.70408 13.6325 9.60602 13.7234C9.50796 13.8142 9.39268 13.8845 9.267 13.93C8.59854 14.1934 8.02483 14.6519 7.6205 15.2458C7.21618 15.8397 6.99997 16.5415 7 17.26V19C7 19.2652 7.10536 19.5196 7.29289 19.7071C7.48043 19.8946 7.73478 20 8 20H16C16.2652 20 16.5196 19.8946 16.7071 19.7071C16.8946 19.5196 17 19.2652 17 19V17.353C17.0001 16.6115 16.7749 15.8874 16.3541 15.2768C15.9334 14.6662 15.337 14.1979 14.644 13.934C14.5175 13.8901 14.4012 13.8213 14.3018 13.7316C14.2024 13.6419 14.1221 13.5332 14.0655 13.4119C14.009 13.2905 13.9773 13.1591 13.9725 13.0253C13.9677 12.8916 13.9897 12.7582 14.0374 12.6331C14.0851 12.508 14.1574 12.3938 14.25 12.2972C14.3427 12.2006 14.4538 12.1235 14.5767 12.0706C14.6997 12.0177 14.832 11.9901 14.9659 11.9893C15.0998 11.9885 15.2324 12.0146 15.356 12.066C16.4276 12.4742 17.3499 13.1983 18.0006 14.1425C18.6514 15.0867 18.9999 16.2063 19 17.353V19C19 19.7956 18.6839 20.5587 18.1213 21.1213C17.5587 21.6839 16.7956 22 16 22H8C7.20435 22 6.44129 21.6839 5.87868 21.1213C5.31607 20.5587 5 19.7956 5 19V17.26C5.00014 16.1402 5.33728 15.0463 5.96756 14.1206C6.59785 13.195 7.4921 12.4805 8.534 12.07ZM12 2C13.0609 2 14.0783 2.42143 14.8284 3.17157C15.5786 3.92172 16 4.93913 16 6V8C16 9.06087 15.5786 10.0783 14.8284 10.8284C14.0783 11.5786 13.0609 12 12 12C10.9391 12 9.92172 11.5786 9.17157 10.8284C8.42143 10.0783 8 9.06087 8 8V6C8 4.93913 8.42143 3.92172 9.17157 3.17157C9.92172 2.42143 10.9391 2 12 2V2ZM12 4C11.4696 4 10.9609 4.21071 10.5858 4.58579C10.2107 4.96086 10 5.46957 10 6V8C10 8.53043 10.2107 9.03914 10.5858 9.41421C10.9609 9.78929 11.4696 10 12 10C12.5304 10 13.0391 9.78929 13.4142 9.41421C13.7893 9.03914 14 8.53043 14 8V6C14 5.46957 13.7893 4.96086 13.4142 4.58579C13.0391 4.21071 12.5304 4 12 4Z' fill='%230A1E2D'/%3E%3C/svg%3E");
}

/* Mega sub-menu (desktop) */
.sub-menu{
  visibility: hidden;
  opacity: 0;
  position: fixed;
  left: 0; right: -100%;
  top: 120px;
  z-index: 9;
  width: 100%;
  padding: 70px 0;
  background: var(--white);
  box-shadow: inset 0 3px 4px rgba(44,44,44,.16);
  transition: opacity .3s ease, visibility .3s ease;
}
li:hover > .sub-menu{ visibility: visible; opacity: 1; }
.sub-menu a{ opacity: 1 !important; }
.sub-menu .col-xxl-6{
  display:flex; flex-direction:column; gap:1rem; padding:0 40px;
}
.sub-menu .container .row .col-xxl-6:first-child{ border-right: 1px solid var(--black); }

/* Pulsante login menu */
.p-login-button{ padding-left:30px !important; padding-right:20px !important; }
.top-voices{ font-size:12px; font-weight:500; text-transform:uppercase; }

/* ==========================
   MENU MOBILE
   ========================== */
.menu-mobile{
  position: fixed;
  top: 84px; right: -100%;
  width: 100%;
  height: 100vh;
  background: var(--white);
  padding: 0 !important;
  border-top: 1px solid #ccc;
  transition: right .3s ease;
}
.menu-mobile.open{ right:0; }
.no-scroll{ overflow:hidden; height:100vh; }

.menu-mobile li a{
  display:block;
  width:100%;
  margin-bottom:10px;
  padding-top:10px;
  text-transform:uppercase;
  font-weight:700 !important;
  border-top:1px solid #010198;
}
.menu-mobile li a:nth-child(1){ border-top:0 !important; }

.menu-mobile .sub-menu{
  visibility: visible; opacity:1; position:initial; padding:0; box-shadow:none;
}
.menu-mobile .sub-menu a:not(.sub-menu-chisiamo){
  font-weight:400 !important;
  border:0; margin-bottom:0; padding-top:5px;
}
.menu-mobile .col-md-6{ gap:0; border:0 !important; }

.menu-mobile .access-reserved-area{ padding:0 !important; }

.menu-mobile div:not(.menu-mobile-btns, .sub-menu){
  padding:0; margin:0 !important;
}
.menu-mobile-btns{ padding: 0 20px !important; }
.menu-mobile-btns a{ padding:18px 20px !important; }

/* Search bar menu */
.menu-search-bar{
  position: relative;
  opacity:0;
  transform: translateY(-50px);
  transition: .6s;
  border-bottom: 1px solid #ccc;
}
.open .menu-search-bar{ opacity:1; transform: translateY(0); }
.menu-search-bar input{
  width:100%;
  border:0;
  padding:10px 20px;
}
.menu-search-bar:after{
  position:absolute; right:20px; top:10px;
  content:""; display:block; width:25px; height:25px; background-size:cover;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' fill='%2321272A' width='100' height='100' viewBox='0 0 30 30'%3E%3Cpath d='M 13 3 C 7.4889971 3 3 7.4889971 3 13 C 3 18.511003 7.4889971 23 13 23 C 15.396508 23 17.597385 22.148986 19.322266 20.736328 L 25.292969 26.707031 A 1.0001 1.0001 0 1 0 26.707031 25.292969 L 20.736328 19.322266 C 22.148986 17.597385 23 15.396508 23 13 C 23 7.4889971 18.511003 3 13 3 z M 13 5 C 17.430123 5 21 8.5698774 21 13 C 21 17.430123 17.430123 21 13 21 C 8.5698774 21 5 17.430123 5 13 C 5 8.5698774 8.5698774 5 13 5 z'%3E%3C/path%3E%3C/svg%3E");
}

/* ==========================
   FOOTER / NEWSLETTER
   ========================== */
.newsletter-section{
  background: var(--blue);
  padding: 150px 10px;
  display:flex; flex-direction:column; align-items:center;
  color: var(--white);
  gap: 5px !important;
}
.newsletter-section h3{ color: var(--white); }

.statuto-newsletter-form{
  display:flex; justify-content:center; gap:24px; width:100%;
  margin-bottom:20px;
}
.newsletter-form3 .form-control{
  width:100%;
  padding:12px 10px 12px 50px;
  border:1px solid #ccc; border-radius:0;
  position: relative;
}
.modal-form .form-control{
  width:100%; padding:10px; border:1px solid #ccc; border-radius:4px;
}
.btn.btn-gold{ background-color: gold; color:#fff; border:none; padding:10px 20px; }
.btn.btn-gold:hover{ background-color: darkgoldenrod; }
.modal-content{ padding:20px; }

span.wpcf7-form-control-wrap[data-name="initial-email"]::after{
  content:"";
  background-image:url("data:image/svg+xml,%3Csvg width='21' height='14' viewBox='0 0 21 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.098 2L9.845 7.12C10.0281 7.28306 10.2648 7.37316 10.51 7.37316C10.7552 7.37316 10.9919 7.28306 11.175 7.12L16.923 2H4.098ZM18.5 3.273L12.506 8.614C11.9565 9.10374 11.2461 9.37436 10.51 9.37436C9.77392 9.37436 9.06352 9.10374 8.514 8.614L2.5 3.254V12H18.5V3.273ZM2.5 0H18.5C19.0304 0 19.5391 0.210714 19.9142 0.585786C20.2893 0.960859 20.5 1.46957 20.5 2V12C20.5 12.5304 20.2893 13.0391 19.9142 13.4142C19.5391 13.7893 19.0304 14 18.5 14H2.5C1.96957 14 1.46086 13.7893 1.08579 13.4142C0.710714 13.0391 0.5 12.5304 0.5 12V2C0.5 1.46957 0.710714 0.960859 1.08579 0.585786C1.46086 0.210714 1.96957 0 2.5 0V0Z' fill='%23697077'/%3E%3C/svg%3E");
  width:21px; height:14px; display:block;
  position:absolute; top:18px; left:20px; background-repeat:no-repeat; background-size:cover;
}
footer{ padding:50px 0; }
footer .logo-white{ border-bottom:1px solid; padding-bottom:3rem; margin-bottom:3rem; }
footer .row.line-bottom{ padding-bottom:3rem; margin-bottom:3rem; border-bottom:1px solid #fff; }
footer p{ margin-bottom:0; }
footer a{ text-transform:uppercase; }
footer li{ margin-bottom:.5rem; }
.bg-blue-dark{ background: var(--black); }
.email-low-case{ text-transform:lowercase; }
.rights{ font-weight:300 !important; font-size:14px; }
#newsletterModal{ padding:0 20px!important; }

/* ==========================
   BOTTONI – OMOLOGAZIONE
   (bordo + sfondo = --primary)
   ========================== */
:where(
  .btn, .button, button,
  input[type="submit"], input[type="button"], input[type="reset"],
  .wp-block-button__link,
  .elementor-button, .elementor a.elementor-button,
  .woocommerce a.button, .woocommerce button.button, .woocommerce input.button
){
  --btn-bg: var(--primary);
  --btn-fg: #ffffff;
  --btn-bd: var(--primary);
  --btn-shadow: 0 1px 2px rgba(0,0,0,.06);

  display:inline-flex; align-items:center; justify-content:center;
  gap:.5rem;
  padding: .75rem 1.25rem;
  border: 1px solid var(--btn-bd);
  border-radius: 6px;
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-weight: 600;
  line-height: 1.1;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .02s ease-in;
  box-shadow: var(--btn-shadow);
}
:where(
  .btn, .button, button,
  input[type="submit"], input[type="button"], input[type="reset"],
  .wp-block-button__link,
  .elementor-button, .elementor a.elementor-button,
  .woocommerce a.button, .woocommerce button.button, .woocommerce input.button
):hover{
  --btn-bg: var(--primary-90);
  --btn-bd: var(--primary-90);
  transform: translateY(-1px);
}
:where(
  .btn, .button, button,
  input[type="submit"], input[type="button"], input[type="reset"],
  .wp-block-button__link,
  .elementor-button, .elementor a.elementor-button,
  .woocommerce a.button, .woocommerce button.button, .woocommerce input.button
):focus-visible{
  outline: 2px solid color-mix(in srgb, var(--primary) 50%, #0000);
  outline-offset: 2px;
}

/* Variante outline */
.btn-outline,
:where(.wp-block-button.is-style-outline .wp-block-button__link){
  --btn-bg: transparent !important;
  --btn-fg: var(--primary) !important;
  --btn-bd: var(--primary) !important;
  box-shadow: none;
}
.btn-outline:hover,
:where(.wp-block-button.is-style-outline .wp-block-button__link):hover{
  --btn-bg: var(--primary-15) !important;
}

/* Utility rapide (opzionali) */
.text-primary{ color: var(--primary) !important; }
.bg-primary{ background: var(--primary) !important; color:#fff !important; }
.border-primary{ border-color: var(--primary) !important; }

/* ==========================
   RESPONSIVE
   ========================== */
@media (max-width:1000px){
  .swiper-button-next1:after, .swiper-button-prev1:after{ display:none; }
  .swiper-button-next{ top:97% !important; left:92% !important; }
}
@media (max-width:782px){
  .newsletter-section{ padding:50px 15px 34px !important; }
  .newsletter-section h3{ font-size:20px !important; }
  .statuto-newsletter-form{
    display:flex; flex-direction:column; gap:0 !important; padding:0 20px;
  }
  .statuto-newsletter-form button{ width:100% !important; }
  .newsletter-form3{ margin-bottom:15px !important; }
}

/* ==========================
   NOTE
   - per cambiare il colore di brand, modifica --primary
   - per cambiare lo sfondo globale, modifica --bg
   ========================== */
