/*
Theme Name: Hello Child - Studio Fragnito
Theme URI: https://studiofragnito.test
Description: Child theme di Hello Elementor per Studio Fragnito (consulenza sovraindebitamento). Replica palette/font del sito originale.
Author: Gaetano Leone
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-child
*/

/* --- Brand palette (recuperata da archive.org) --- */
:root{
  --sf-green: #2ecc71;
  --sf-green-light: #7adcb4;
  --sf-green-dark: #25a85b;
  --sf-heading: #333333;
  --sf-text: #555555;
  --sf-hero-bg: #6f6f6f;
}

body{ font-family: "Inter", "Open Sans", sans-serif; color: var(--sf-text); }
h1,h2,h3,h4,h5,h6{ font-family: "Roboto", "Open Sans", sans-serif; color: var(--sf-heading); }

/* CTA verde con gradient + animazione bounce (come originale) */
.sf-cta .elementor-button,
.sf-cta a.elementor-button{
  background-image: linear-gradient(135deg, var(--sf-green-light) 0%, var(--sf-green) 100%);
  color:#fff; border:0; border-radius:30px; font-weight:700;
  box-shadow:0 6px 16px rgba(46,204,113,.35);
  transition:transform .2s ease, box-shadow .2s ease;
}
.sf-cta .elementor-button:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(46,204,113,.45); }

/* Immagini circolari con bordo grigio */
.sf-circle img{ border-radius:50%; border:6px solid #b9b9b9; }

/* ===================================================================
   Modern dark landing (/home-moderna) helpers
   =================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

/* Body / paragraph font */
body, .elementor-widget-text-editor, .elementor-widget-icon-box .elementor-icon-box-description{ font-family:"Inter","Open Sans",sans-serif; }

.sf-modern-h .elementor-heading-title{ font-family:"Poppins","Roboto",sans-serif !important; }

/* Neon green CTA */
.sf-neon .elementor-button{
  background:linear-gradient(135deg,#00e676 0%,#00c853 100%);
  color:#04231a; font-weight:700; border:0; border-radius:40px;
  letter-spacing:.4px; padding:16px 40px;
  box-shadow:0 0 26px rgba(0,230,118,.55);
  transition:transform .25s ease, box-shadow .25s ease;
}
.sf-neon .elementor-button:hover{ transform:translateY(-3px); box-shadow:0 0 40px rgba(0,230,118,.9); color:#04231a; }

/* Glass card */
.sf-glass{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  box-shadow:0 8px 30px rgba(0,0,0,.35);
}
.sf-glass .elementor-widget-container{ color:#e8eef0; }

/* Rounded modern image */
.sf-round img{ border-radius:24px; }

/* Big stat numbers */
.sf-stat .elementor-heading-title{
  font-family:"Poppins",sans-serif !important; font-weight:800;
  background:linear-gradient(135deg,#00e676,#1de9b6);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

/* Dark-section accordion restyle */
.sf-acc .elementor-accordion .elementor-tab-title{ font-family:"Poppins",sans-serif; font-weight:600; }

.sf-logo img{ display:block; max-width:88%; height:auto; }

/* Procedure number badge spacing */
.sf-modern-h.sf-stat .elementor-heading-title{ line-height:1; margin-bottom:6px; }

/* CF7 form on dark sections */
.sf-dark-form{ max-width:640px; margin:24px auto 0; }
.sf-dark-form .sf-form-row{ margin-bottom:14px; }
.sf-dark-form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance){
  width:100%; padding:14px 16px; border-radius:10px;
  border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); color:#fff; font-family:"Inter",sans-serif;
}
.sf-dark-form .wpcf7-form-control::placeholder{ color:#9aa4a6; }
.sf-dark-form textarea.wpcf7-form-control{ min-height:120px; }
.sf-dark-form .sf-form-note{ color:#ffb4a8; font-size:13px; margin:4px 0; }
.sf-dark-form .sf-form-privacy{ color:#aab4b6; font-size:13px; margin:8px 0 14px; }
.sf-dark-form .wpcf7-submit{
  background:linear-gradient(135deg,#00e676,#00c853); color:#04231a; font-weight:700; border:0;
  border-radius:40px; padding:16px 40px; box-shadow:0 0 26px rgba(0,230,118,.5); cursor:pointer;
  font-family:"Poppins",sans-serif; letter-spacing:.4px; transition:transform .2s,box-shadow .2s;
}
.sf-dark-form .wpcf7-submit:hover{ transform:translateY(-2px); box-shadow:0 0 38px rgba(0,230,118,.85); }

/* ===================================================================
   MOBILE / RESPONSIVE
   =================================================================== */
html, body{ overflow-x:hidden; }
.sf-modern-h .elementor-heading-title{ word-wrap:break-word; overflow-wrap:break-word; }

/* parallax/fixed backgrounds break on mobile -> scroll */
@media (max-width:1024px){
  .elementor-section{ background-attachment:scroll !important; }
}

@media (max-width:767px){
  /* header: stack + center, shrink brand text */
  .sf-head{ text-align:center !important; margin-top:10px; }
  .sf-head .elementor-heading-title span:first-child{ font-size:18px !important; letter-spacing:1px !important; }
  .sf-head .elementor-heading-title span:last-child{ font-size:9px !important; letter-spacing:.5px !important; }
  /* center the header logo on mobile */
  .sf-logo, .sf-logo .elementor-widget-container, .sf-logo img{ margin-left:auto !important; margin-right:auto !important; }

  /* tighter section padding */
  .elementor-section .elementor-container{ padding-left:6px; padding-right:6px; }
  .sf-glass{ margin-left:0 !important; margin-right:0 !important; }

  /* CTA buttons fit width */
  .sf-neon .elementor-button{ padding:14px 26px; font-size:14px; }

  /* form full width + readable */
  .sf-dark-form{ max-width:100%; }
  .sf-dark-form .wpcf7-submit{ width:100%; }

  /* break long emails/PEC so they don't overflow */
  .elementor-widget-text-editor p{ overflow-wrap:break-word; word-break:break-word; }

  /* map height a bit shorter */
  .elementor-widget-html iframe{ height:280px !important; }

  /* force columns full width + headings to fit (tag-based, beats Elementor) */
  .elementor-column{ width:100% !important; }
  h1.elementor-heading-title{ font-size:30px !important; line-height:1.2 !important; }
  h2.elementor-heading-title{ font-size:24px !important; line-height:1.25 !important; }
  h3.elementor-heading-title{ font-size:20px !important; }
  h4.elementor-heading-title{ font-size:18px !important; }
  /* keep stat numbers prominent */
  .sf-stat .elementor-heading-title{ font-size:40px !important; }
  .sf-modern-h .elementor-heading-title{ white-space:normal !important; overflow-wrap:break-word; word-break:normal; }
}

/* ===================================================================
   POLISHED FORM + ANIMATED CTA
   =================================================================== */
@keyframes sf-glow{ 0%,100%{ box-shadow:0 0 16px rgba(0,230,118,.40); } 50%{ box-shadow:0 0 34px rgba(0,230,118,.80); } }
@keyframes sf-arrow{ 0%,100%{ transform:translateX(0); } 50%{ transform:translateX(5px); } }

/* animated neon CTA (home) + form submit */
.sf-neon .elementor-button, .sf-dark-form .wpcf7-submit{
  position:relative; overflow:hidden; isolation:isolate;
  animation:sf-glow 2.6s ease-in-out infinite;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.sf-neon .elementor-button::after, .sf-dark-form .wpcf7-submit::after{
  content:""; position:absolute; top:0; left:-130%; width:55%; height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.55), transparent);
  transform:skewX(-20deg); transition:left .6s ease; z-index:1; pointer-events:none;
}
.sf-neon .elementor-button:hover::after, .sf-dark-form .wpcf7-submit:hover::after{ left:150%; }
.sf-neon .elementor-button:hover, .sf-dark-form .wpcf7-submit:hover{
  transform:translateY(-3px) scale(1.03); filter:brightness(1.06);
}
.sf-neon .elementor-button:active, .sf-dark-form .wpcf7-submit:active{ transform:translateY(-1px) scale(.99); }
@media (prefers-reduced-motion:reduce){
  .sf-neon .elementor-button, .sf-dark-form .wpcf7-submit{ animation:none; }
}

/* form as a glass card */
.sf-dark-form{
  max-width:660px; margin:30px auto 0;
  background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.10);
  border-radius:22px; padding:40px 36px; box-shadow:0 24px 60px rgba(0,0,0,.45);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.sf-dark-form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance){
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.sf-dark-form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):focus{
  outline:none; border-color:#00e676; background:rgba(0,230,118,.07);
  box-shadow:0 0 0 3px rgba(0,230,118,.18);
}
.sf-dark-form input[type=checkbox]{ accent-color:#00e676; width:16px; height:16px; vertical-align:-2px; }
.sf-dark-form .wpcf7-submit{ width:100%; margin-top:8px; }
@media (max-width:767px){ .sf-dark-form{ padding:26px 18px; } }

/* Hero with bright photo: stronger dark veil on mobile for white-text readability */
@media (max-width:767px){
  .sf-hero > .elementor-background-overlay{ background:rgba(7,18,14,0.50) !important; }
  .sf-hero{ background-position:center center !important; min-height:560px; padding-top:54px !important; padding-bottom:54px !important; }
}
