/*
Theme Name: Rewaloop
Theme URI: https://www.southstudio.it/
Description: Child theme di Hello Elementor sviluppato da SOUTHSTUDIO®
Author: SOUTHSTUDIO®
Author URI: https://www.southstudio.it/
Template: hello-elementor
Version: 2.0.0
Text Domain: rewaloop
*/

/* ============ Brand Rewaloop 2026 ============
   Colori sRGB (equivalenti dei valori P3 del grafico) e font. */
:root{
  --rw-arancio:#FF4714;
  --rw-giallo:#FDD800;
  --rw-verde:#00A34B;
  --rw-rosa:#FFA1C3;
  --rw-crema:#F8F4D7;
  --rw-nero:#1E1F1E;
  --rw-nero-2:#2A2B2A;
  --rw-font-titoli:'Momo Trust Display','Inter',system-ui,sans-serif;
  --rw-font-testo:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --rw-raggio:28px;
  --rw-bordo:2px solid var(--rw-nero);
  --rw-ombra:6px 6px 0 var(--rw-nero);
}

html{background:var(--rw-crema)}
body{
  background:var(--rw-crema)!important;
  background-image:none!important;
  color:var(--rw-nero);
  font-family:var(--rw-font-testo);
  -webkit-font-smoothing:antialiased;
}
body,button,input,select,textarea{font-family:var(--rw-font-testo)}
h1,h2,h3,h4,h5,h6{
  font-family:var(--rw-font-titoli);
  font-weight:400;
  font-synthesis:none;
  color:var(--rw-nero);
  letter-spacing:-.01em;
}
a{color:var(--rw-nero)}
a:hover{color:var(--rw-nero)}
::selection{background:var(--rw-giallo);color:var(--rw-nero)}

/* Elementor: testi e titoli dei widget seguono il brand */
.elementor-widget-text-editor{font-family:var(--rw-font-testo);color:var(--rw-nero)}
.elementor-widget-text-editor h1,.elementor-widget-text-editor h2,.elementor-widget-text-editor h3{font-family:var(--rw-font-titoli)}
.e-heading-base,.elementor-heading-title{font-family:var(--rw-font-titoli)!important;font-weight:400!important}

/* ---------- Header ---------- */
#masthead,.ehf-header #masthead{background:transparent}
.rw-header-logo img,.elementor-element-fba9aae img{width:220px!important;max-width:60vw;height:auto}
@media (max-width:767px){.rw-header-logo img,.elementor-element-fba9aae img{width:170px!important}}

/* ---------- Footer ---------- */
footer#colophon,.ehf-footer footer{background:transparent}
.rw-footer,.elementor-element-f49adde{
  background:var(--rw-arancio);
  color:#fff;
  border-radius:var(--rw-raggio) var(--rw-raggio) 0 0;
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  padding:44px 20px 34px!important;
  gap:18px!important;
}
.rw-footer .elementor-widget-image img,.elementor-element-db9d12e img{width:190px;height:auto}
.rw-footer,.rw-footer p,.rw-footer .elementor-widget-text-editor,.elementor-element-f49adde p,.elementor-element-f49adde .elementor-widget-text-editor{color:var(--rw-crema)!important;font-family:var(--rw-font-testo);font-size:14px;line-height:1.7}
.rw-footer a,.elementor-element-f49adde a{color:var(--rw-crema)!important;text-decoration:underline;text-underline-offset:3px}
.rw-footer a:hover,.elementor-element-f49adde a:hover{color:var(--rw-nero)!important}

/* ---------- Pagine di testo (Privacy, Termini, Cancellazione account, Cookie) ---------- */
.rw-doc{
  box-sizing:border-box;width:100%!important;max-width:1100px!important;margin:10px auto 50px!important;
  padding:clamp(24px,4.5vw,56px)!important;
  background:#fff!important;border:var(--rw-bordo)!important;border-radius:var(--rw-raggio)!important;box-shadow:var(--rw-ombra);
  color:var(--rw-nero)!important;font-family:var(--rw-font-testo)!important;
}
.rw-doc,.rw-doc p,.rw-doc li,.rw-doc td,.rw-doc th,.rw-doc span{font-size:16px!important;line-height:1.65!important;color:var(--rw-nero)!important;font-family:var(--rw-font-testo)!important}
.rw-doc p{margin:0 0 14px}
.rw-doc ul,.rw-doc ol{margin:0 0 14px;padding-left:22px}
.rw-doc h1{font-family:var(--rw-font-titoli)!important;font-weight:400!important;font-size:clamp(34px,4.2vw,48px)!important;line-height:1.08!important;margin:0 0 10px!important;color:var(--rw-nero)!important}
.rw-doc h2{font-family:var(--rw-font-titoli)!important;font-weight:400!important;font-size:clamp(23px,2.5vw,29px)!important;line-height:1.2!important;margin:36px 0 12px!important;color:var(--rw-nero)!important}
.rw-doc h3,.rw-doc h4{font-family:var(--rw-font-titoli)!important;font-weight:400!important;font-size:20px!important;line-height:1.25!important;margin:26px 0 10px!important;color:var(--rw-nero)!important}
.rw-doc a{color:var(--rw-nero)!important;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.rw-doc strong,.rw-doc b{font-weight:700}
.rw-doc em{font-style:italic}
.rw-doc table{width:100%;border-collapse:collapse;margin:0 0 18px}
.rw-doc td,.rw-doc th{border:1px solid rgba(30,31,30,.2);padding:8px 10px;text-align:left;vertical-align:top}
.rw-doc .cmplz-document,.rw-doc #cmplz-document{max-width:none!important;margin:0!important;padding:0!important;font-size:16px!important}
.rw-doc details,.rw-doc .cmplz-dropdown{border:1.5px solid var(--rw-nero)!important;border-radius:14px!important;margin:0 0 10px!important;background:var(--rw-crema)!important}
.rw-doc summary{padding:12px 14px!important;font-weight:700}
.page .site-main .e-con:has(> .rw-doc),.page .site-main .e-con:has(.rw-doc){padding-left:12px;padding-right:12px}
@media (max-width:767px){.rw-doc{box-shadow:4px 4px 0 var(--rw-nero);margin-bottom:34px!important}}

/* ---------- Footer uguale su tutte le pagine ---------- */
.elementor-element-f49adde .elementor-widget-text-editor,
.elementor-element-f49adde .elementor-widget-text-editor p{color:#fff!important;font-family:var(--rw-font-testo)!important;font-size:14px!important;line-height:1.7!important;margin:0}
.elementor-element-f49adde .elementor-widget-text-editor p + p{margin-top:8px}
.elementor-element-f49adde a,.elementor-element-f49adde a:visited{color:#fff!important;font-weight:500}
.elementor-element-f49adde .elementor-widget-image a{display:inline-block;width:190px;max-width:70vw;text-decoration:none!important}
.elementor-element-db9d12e img{width:100%!important;max-width:none!important}
/* ---------- Pagina 404 ---------- */
.error404 main .elementor-widget-text-editor{color:var(--rw-nero)}

/* ---------- Banner cookie (Complianz) ---------- */
.cmplz-cookiebanner{
  background:var(--rw-crema)!important;color:var(--rw-nero)!important;
  border:var(--rw-bordo)!important;border-radius:22px!important;box-shadow:var(--rw-ombra)!important;
  font-family:var(--rw-font-testo)!important;
}
.cmplz-cookiebanner .cmplz-title{font-family:var(--rw-font-titoli)!important;font-weight:400!important;color:var(--rw-nero)!important}
.cmplz-cookiebanner .cmplz-message,.cmplz-cookiebanner .cmplz-message *{color:var(--rw-nero)!important}
.cmplz-cookiebanner a,.cmplz-cookiebanner .cmplz-link{color:var(--rw-nero)!important;text-decoration:underline!important}
.cmplz-cookiebanner .cmplz-btn{border-radius:14px!important;font-weight:700!important;border:2px solid var(--rw-nero)!important;font-family:var(--rw-font-testo)!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept{background:var(--rw-giallo)!important;color:var(--rw-nero)!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny,.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{background:#fff!important;color:var(--rw-nero)!important}
.cmplz-cookiebanner .cmplz-close{color:var(--rw-nero)!important}
#cmplz-manage-consent .cmplz-manage-consent{
  background:var(--rw-nero)!important;color:var(--rw-crema)!important;
  border:2px solid var(--rw-nero)!important;font-family:var(--rw-font-testo)!important;font-weight:600!important;
}

/* Animazioni ridotte per chi le ha disattivate nel sistema */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* header: spazio attorno al logo */
.elementor-element-cd0e0dd{padding:26px 16px 6px!important;align-items:center}
.elementor-element-fba9aae{text-align:center}

/* Home mobile/tablet: spazio tra illustrazioni animate e testi */
@media (max-width:1024px){
  .rwh{margin-bottom:40px!important;aspect-ratio:1/1.22!important}
  .rwk{margin:6px auto 52px!important;width:calc(100% - 16px)!important}
  .elementor-element-a1b2c31{padding-top:10px}
}

/* Banner cookie: preferenze leggibili */
.cmplz-cookiebanner .cmplz-logo img,.cmplz-cookiebanner .cmplz-logo svg{max-height:26px;width:auto}
.cmplz-cookiebanner .cmplz-categories .cmplz-category{background:#fff!important;border:1.5px solid var(--rw-nero)!important;border-radius:14px!important}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title{color:var(--rw-nero)!important;font-weight:700!important}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description,.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description *{color:var(--rw-nero)!important}
.cmplz-cookiebanner .cmplz-always-active{color:var(--rw-nero)!important;font-weight:700!important;background:#FDD800;padding:2px 8px;border-radius:50px}
.cmplz-cookiebanner .cmplz-icon.cmplz-open,.cmplz-cookiebanner .cmplz-icon.cmplz-open svg,.cmplz-cookiebanner .cmplz-icon.cmplz-open path{color:var(--rw-nero)!important;fill:var(--rw-nero)!important}
.cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-label:before{border:1.5px solid var(--rw-nero)!important}
.cmplz-cookiebanner .cmplz-links a,.cmplz-cookiebanner .cmplz-documents a{color:var(--rw-nero)!important;font-weight:600}
.cmplz-cookiebanner .cmplz-header .cmplz-title{font-size:18px!important}

/* Banner cookie a tutta larghezza su desktop: bottoni di altezza normale */
@media (min-width:768px){
  .cmplz-cookiebanner.cmplz-bottom{border-radius:22px!important;border:2px solid var(--rw-nero)!important;box-shadow:6px 6px 0 var(--rw-nero)!important;left:16px!important;right:16px!important;bottom:16px!important;width:auto!important;max-width:none!important;transform:none!important}
  .cmplz-cookiebanner.cmplz-bottom .cmplz-buttons{align-self:center}
  .cmplz-cookiebanner.cmplz-bottom .cmplz-buttons .cmplz-btn{height:auto!important;min-height:46px;padding:12px 18px!important}
}

/* Home: piani e Come funziona attaccati, senza striscia crema in mezzo */
.elementor-element-1286937{padding-bottom:0!important;margin-bottom:0!important}

/* Badge store: sempre affiancati, anche su mobile */
@media (max-width:767px){
  .elementor-element-2f39c10{flex-direction:row!important;flex-wrap:nowrap!important;gap:10px!important;justify-content:center}
  .elementor-element-85efc54,.elementor-element-2f2f0f7{width:50%!important;max-width:50%!important;flex:1 1 50%!important}
  .elementor-element-d90cd5f,.elementor-element-1bd35a5{width:100%!important}
  .elementor-element-d90cd5f img,.elementor-element-1bd35a5 img{width:100%!important;max-width:150px!important}
  .elementor-element-d90cd5f{text-align:right!important}
  .elementor-element-1bd35a5{text-align:left!important}
}

/* === Spaziature sezioni home + badge animati (2026-10-13) === */
.elementor-element-e62f95c{margin-bottom:170px!important}
.elementor-element-5d93213 .rwp{padding-top:120px!important;padding-bottom:120px!important}
.elementor-element-d757c0d{padding-top:120px!important;padding-bottom:120px!important;margin-bottom:0!important}
.elementor-element-32e5356{margin-top:130px!important;margin-bottom:0!important}
.elementor-element-f468a0a{margin-top:130px!important}
.elementor-element-2f39c10{margin-bottom:0!important}
.elementor-element-51dbbf0{margin-top:120px!important;margin-bottom:130px!important}
@media (max-width:1024px){
 .elementor-element-e62f95c{margin-bottom:120px!important}
 .elementor-element-5d93213 .rwp{padding-top:96px!important;padding-bottom:96px!important}
 .elementor-element-d757c0d{padding-top:96px!important;padding-bottom:96px!important}
 .elementor-element-32e5356,.elementor-element-f468a0a{margin-top:100px!important}
 .elementor-element-51dbbf0{margin-top:90px!important;margin-bottom:100px!important}
}
@media (max-width:767px){
 .elementor-element-e62f95c{margin-bottom:90px!important}
 .elementor-element-5d93213 .rwp{padding-top:76px!important;padding-bottom:76px!important}
 .elementor-element-d757c0d{padding-top:76px!important;padding-bottom:76px!important}
 .elementor-element-32e5356,.elementor-element-f468a0a{margin-top:80px!important}
 .elementor-element-51dbbf0{margin-top:70px!important;margin-bottom:80px!important}
}
.elementor-element-2f39c10 a{display:inline-block;position:relative;overflow:hidden;border-radius:10px;vertical-align:top;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.elementor-element-2f39c10 a img{display:block}
.elementor-element-2f39c10 a::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:rwGlint 5s ease-in-out infinite;pointer-events:none}
.elementor-element-1bd35a5 a::after{animation-delay:2.5s}
@keyframes rwGlint{0%,70%{left:-60%}100%{left:130%}}
.elementor-element-d90cd5f,.elementor-element-1bd35a5{animation:rwBob 4s ease-in-out infinite}
.elementor-element-1bd35a5{animation-delay:-2s}
@keyframes rwBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.elementor-element-d90cd5f a:hover{transform:translate(-3px,-3px) rotate(-2deg);box-shadow:5px 5px 0 #FF4714}
.elementor-element-1bd35a5 a:hover{transform:translate(-3px,-3px) rotate(2deg);box-shadow:5px 5px 0 #FF4714}
.rw-anim .elementor-element-f468a0a{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.rw-anim .elementor-element-85efc54,.rw-anim .elementor-element-2f2f0f7{opacity:0;transform:translateY(30px) scale(.9);transition:opacity .5s ease .15s,transform .7s cubic-bezier(.34,1.56,.64,1) .15s}
.rw-anim .elementor-element-2f2f0f7{transition-delay:.3s}
.rw-anim .elementor-element-f468a0a.rw-in,.rw-anim .rw-in .elementor-element-85efc54,.rw-anim .rw-in .elementor-element-2f2f0f7{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.elementor-element-2f39c10 *,.elementor-element-d90cd5f,.elementor-element-1bd35a5{animation:none!important}}
/* === Forme decorative sullo sfondo panna === */
html.rw-has-deco{background-color:#F8F4D7}
html.rw-has-deco body{background-color:transparent!important}
.rw-deco{position:absolute;left:0;top:0;width:100%;overflow:hidden;pointer-events:none;z-index:-1}
.rw-sh{position:absolute;display:block;transform:rotate(var(--r));opacity:0;transition:opacity .9s ease}
.rw-deco.is-on .rw-sh{opacity:.9}
.rw-sh svg{display:block;width:100%;height:auto;animation:rwDecoF 10s ease-in-out infinite;animation-delay:var(--d)}
@keyframes rwDecoF{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(7deg)}}
@media (prefers-reduced-motion:reduce){.rw-sh svg{animation:none}}
/* Badge store: allineamento animato */
.elementor-element-d90cd5f,.elementor-element-1bd35a5{display:flex!important;align-items:center}
.elementor-element-d90cd5f{justify-content:flex-end!important}
.elementor-element-1bd35a5{justify-content:flex-start!important}
.elementor-element-2f39c10 a{flex:0 0 auto;width:190px!important;max-width:100%}
.elementor-element-2f39c10 a img{width:100%!important;max-width:none!important;height:auto}
@media (max-width:1024px){.elementor-element-2f39c10 a{width:170px!important}}
@media (max-width:767px){.elementor-element-2f39c10 a{width:100%!important;max-width:150px!important}}
/* fine badge */
.elementor-element-a1b2c3b{width:100%}

/* === Piani: box piu grandi, Basic in risalto, bordo con Come funziona === */
.elementor-element-5d93213 .rwp{border-bottom:0!important}
.elementor-element-d757c0d::before{content:''!important;position:absolute!important;left:-100vmax!important;right:-100vmax!important;top:0!important;bottom:auto!important;height:2px!important;width:auto!important;background:#1E1F1E!important;z-index:3;pointer-events:none}
@media (min-width:1025px){
 .rwp .rwp-in{max-width:1220px}
 .rwp .rwp-grid{gap:44px;align-items:stretch;padding-top:16px}
 .rwp .rwp-card{padding:38px 32px 32px}
 .rwp .rwp-card:nth-child(2){transform:translateY(-14px) scale(1.06);box-shadow:8px 8px 0 #1E1F1E;position:relative;z-index:2;padding-top:44px;padding-bottom:38px}
 .rwp .rwp-card:nth-child(2):hover{transform:translateY(-20px) scale(1.06)}
}
@media (max-width:1024px){
 .rwp .rwp-card:nth-child(2){box-shadow:6px 6px 0 #1E1F1E}
}
/* fine piani */
.elementor-element-f468a0a,.elementor-element-a1b2c3b{min-width:0;max-width:100%}

/* === Ordine finale home + box a tinta unita === */
.elementor-element-51dbbf0{margin-top:120px!important;margin-bottom:0!important}
.elementor-element-f468a0a{margin-top:130px!important;margin-bottom:130px!important}
@media (max-width:1024px){.elementor-element-51dbbf0{margin-top:100px!important}.elementor-element-f468a0a{margin-top:100px!important;margin-bottom:100px!important}}
@media (max-width:767px){.elementor-element-51dbbf0{margin-top:80px!important}.elementor-element-f468a0a{margin-top:80px!important;margin-bottom:80px!important}}
.rwl-faq{background:#FFA1C3!important}
.rwl-final{background:#00A34B!important}
.rwl-final h2,.rwl-final p{color:#fff!important}
/* fine ordine */
/* === Ritocchi home 2026-10-13b === */
.rwp .rwp-tag--star{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 7px}
.rwp .rwp-tag--star svg{width:16px;height:16px;flex:0 0 16px;animation:rwStar 3s ease-in-out infinite}
@keyframes rwStar{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(18deg) scale(1.15)}}
.rwp .rwp-toggle{margin-bottom:64px}
.rwp .rwp-custom{margin-top:150px!important}
@media (max-width:1024px){.rwp .rwp-toggle{margin-bottom:40px}.rwp .rwp-custom{margin-top:88px!important}}
.elementor-element-d757c0d{align-items:center!important}
.elementor-element-b70f8fb{display:flex!important;align-items:center!important;justify-content:center!important;align-self:center!important}
.elementor-element-b70f8fb>.elementor-widget,.elementor-element-a1b2c32{width:100%}
.rwl-faq h2,.rwl-faq-sub{color:#fff!important}
.rwl-faq .rwl-faq-chip.is-on,.rwl-faq button.rwl-faq-chip.is-on:hover,.rwl-faq button.rwl-faq-chip.is-on:focus{box-shadow:0 0 0 3px #FDD800!important}
.rwl-faq .rwl-faq-foot{background:#FDD800!important;border:2px solid #1E1F1E!important}
.rwl-faq .rwl-faq-foot p,.rwl-faq .rwl-faq-foot p b{color:#1E1F1E!important}
.rwl-faq .rwl-faq-cta{background:#fff!important;border:2px solid #1E1F1E!important;color:#1E1F1E!important;transition:background .2s,color .2s,transform .15s,box-shadow .15s}
.rwl-faq .rwl-faq-cta:hover{background:#1E1F1E!important;color:#F8F4D7!important;border-color:#1E1F1E!important;box-shadow:4px 4px 0 #fff!important}
/* fine ritocchi b */
@media (max-width:767px){.rwp .rwp-custom{margin-top:72px!important}}

/* === Ritocchi 2026-10-13c === */
.rwp .rwp-custom{margin-top:100px!important}
.elementor-element-5d93213 .rwp{padding-bottom:100px!important}
@media (max-width:1024px){.rwp .rwp-custom{margin-top:72px!important}.elementor-element-5d93213 .rwp{padding-bottom:80px!important}}
@media (max-width:767px){.rwp .rwp-custom{margin-top:56px!important}.elementor-element-5d93213 .rwp{padding-bottom:64px!important}}
html{overflow-x:hidden}
body{overflow-x:clip}
@media (max-width:767px){
  .elementor-element-e62f95c{margin-top:20px!important}
 .elementor-element-eacb929{padding-top:0!important;margin-top:0!important}
 .elementor-element-e62f95c{padding-top:0!important}
}
/* fine c */
@media (max-width:767px){.rwl-hero .rwl-eyebrow{display:none!important}}

@media (max-width:767px){.elementor-element-e62f95c{margin-bottom:30px!important}}

@media (max-width:767px){.elementor-element-5d93213 .rwp{padding-top:53px!important}}

@media (max-width:767px){.rwl-steps li{flex-direction:column!important;align-items:center!important;text-align:center!important;padding:30px!important;gap:14px!important}.rwl-steps li>div{width:100%}}
@media (max-width:767px){.rwl-steps li .rwl-num{flex:0 0 auto!important;width:40px!important;height:40px!important;min-width:40px!important}}
@media (max-width:767px){.rwl-steps p{line-height:1.3!important}#come-funziona .rwl-section-title{text-align:center!important}}
@media (max-width:767px){.rwl-final p{line-height:1.3!important}}

/* Footer sempre in fondo anche su pagine corte */
#page.site{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
#page.site>#content{flex:1 0 auto;width:100%}
#page.site>#masthead,#page.site>#colophon{flex-shrink:0;width:100%}
