/* Personalizzazioni minime per Tommaso Forneris. Il resto usa il template Reeni. */
:root{--color-primary:#8b2cf5;--color-primary-alt:#8b2cf5d9;--color-primary-2nd:#6c22c7}.tf-logo{display:flex;align-items:center;gap:10px;color:#fff!important}.tf-logo strong{display:grid;place-items:center;width:42px;height:42px;border:2px solid var(--color-primary);border-radius:50%;color:var(--color-primary);font-size:18px}.tf-logo span{font-weight:700;letter-spacing:.03em}.tf-hero{min-height:100vh;background-image:linear-gradient(90deg,rgba(4,3,10,.20) 0%,rgba(5,3,12,.18) 38%,rgba(16,7,28,.72) 67%,rgba(5,3,10,.94) 100%),radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.48) 100%),url('/assets/images/tommaso/tommaso-forneris-hero-bn-hd.jpg')!important;background-size:cover!important;background-position:center center!important;display:flex;align-items:center}.tf-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 40%);pointer-events:none}.tf-hero .container{position:relative;z-index:2}.tf-hero-copy{margin-left:auto!important;max-width:650px!important;text-align:left!important}.tf-hero-copy .title{font-size:clamp(64px,8vw,120px)!important;line-height:.84!important;text-transform:uppercase}.tf-hero-copy .title span{color:var(--color-primary)}.tf-kicker{letter-spacing:.25em;font-weight:700;color:#fff}.tf-hero-copy .disc{font-size:22px!important}.button-area-banner-one{display:flex;gap:15px;flex-wrap:wrap}.tf-home-minimal{background:#090909}.tf-points p{font-size:18px;border-bottom:1px solid rgba(255,255,255,.12);padding:14px 0;margin:0}.tf-stat,.tf-sponsor,.tf-map-placeholder{padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:12px;height:100%}.tf-stat strong{display:block;font-size:38px;color:var(--color-primary)}.tf-stat span{display:block}.tf-results p{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);margin:0}.tf-memory{border-left:3px solid var(--color-primary);padding-left:20px}.tf-sponsor h3{margin-bottom:12px}.lang-disabled{display:block;padding:10px 20px;opacity:.45}.tf-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.tf-check{display:flex;gap:10px;align-items:flex-start}.contact-inner input,.contact-inner select,.contact-inner textarea{background:#111!important;color:#fff!important;border:1px solid #333!important;padding:14px!important}.breadcrumb-area{padding-top:160px!important}.radius-10{border-radius:10px}.accordion-item{background:#111;border-color:#2b2b2b}.accordion-button,.accordion-button:not(.collapsed){background:#111;color:#fff;box-shadow:none}.accordion-body{color:#ccc}@media(max-width:991px){.tf-hero{background-position:38% center!important}.tf-hero:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.48)}.tf-hero-copy{margin:0!important;padding-top:120px;max-width:100%!important}.tf-hero-copy .title{font-size:clamp(52px,15vw,82px)!important}.tf-hero-copy .disc{font-size:18px!important}.tf-logo span{display:none}}
/* Sponsor e foto indoor: adattamenti minimi richiesti */
.tf-sponsor-logo{display:flex;align-items:center;justify-content:center;min-height:150px;text-decoration:none!important;transition:transform .25s ease,border-color .25s ease}.tf-sponsor-logo:hover{transform:translateY(-4px);border-color:var(--color-primary)}.tf-sponsor-wordmark{font-size:clamp(24px,3vw,38px);font-weight:800;letter-spacing:.08em;color:#fff}.tf-sponsor-wordmark small{display:block;font-size:12px;letter-spacing:.28em;margin-top:5px}.tf-indoor-photo{max-width:245px;margin:0 auto}.tf-indoor-photo img{display:block;width:100%;height:auto;filter:contrast(1.04) saturate(.94)}@media(max-width:991px){.tf-indoor-photo{max-width:210px}}

/* Upgrade 003 — hero responsive: non spezzare mai il nome a metà parola. */
.tf-hero-copy .title{font-size:clamp(58px,7vw,104px)!important;line-height:.88!important;overflow-wrap:normal!important;word-break:keep-all!important;hyphens:none!important}
.tf-hero-copy .title .tf-name-line{display:block;white-space:nowrap}
@media (min-width:992px) and (max-width:1399px){.tf-hero-copy{max-width:600px!important}.tf-hero-copy .title{font-size:clamp(58px,6.4vw,86px)!important}}
@media(max-width:991px){.tf-hero-copy .title{font-size:clamp(48px,13vw,78px)!important}.tf-hero-copy .title .tf-name-line{white-space:nowrap}}
@media(max-width:575px){.tf-hero-copy .title{font-size:clamp(43px,12.2vw,66px)!important}}

/* Upgrade 003 — targa Tiberio/Tommaso nella sezione Dolceacqua. */
.tf-memory-photo{max-width:620px;margin:0 auto}.tf-memory-photo img{display:block;width:100%;height:auto}.tf-memory-note{border-left:3px solid var(--color-primary);padding:8px 0 8px 20px;margin-top:20px}

/* Upgrade 004 — correzioni hero, footer, lezioni e contatti. */
.tf-hero-copy .title .tf-name-line:first-child{color:#fff!important}
.tf-hero-copy .title .tf-name-line:last-child{color:var(--color-primary)!important}
.tf-points .tmp-btn{margin-top:28px}
.footer-area .single-footer-wrapper .description{font-size:15px!important;line-height:1.6!important;max-width:390px;margin-top:18px}
.tf-whatsapp-contact a{display:inline-flex;align-items:center;gap:9px;color:#fff!important;text-decoration:none}.tf-whatsapp-contact i{font-size:22px;color:#fff}.tf-whatsapp-contact-large a{font-size:20px;font-weight:700}.tf-whatsapp-contact-large i{font-size:27px}
.tf-section-intro{max-width:800px;margin:0 auto 35px}.tf-lesson-types .service-card-v2{height:100%}.tf-lesson-types .service-card-v2 h3{font-size:22px}
.tf-contact-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.tf-contact-actions button:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.35);pointer-events:none}.tf-whatsapp-btn i{margin-right:8px}.tf-email-note,.tf-question-hint{font-size:.78em;font-weight:400;opacity:.72}.tf-question-hint a{text-decoration:underline}
@media(max-width:575px){.tf-contact-actions .tmp-btn{width:100%;justify-content:center}.footer-area .single-footer-wrapper .description{font-size:14px!important}}

/* Upgrade 005 — ritmo verticale, footer e blocco Dolceacqua. */
.footer-area .single-footer-wrapper .description{font-size:17px!important;line-height:1.55!important;max-width:430px}
/* Il template usa spazi molto ampi: nella pagina Lezioni li riduciamo circa della metà. */
body.tf-lessons-page .tmp-section-gap{padding-top:60px!important;padding-bottom:60px!important}
body.tf-lessons-page .section-head{margin-bottom:28px!important}
body.tf-lessons-page .section-head .title{margin-bottom:12px!important}
body.tf-lessons-page .tf-section-intro{margin-bottom:22px!important}
.tf-dolceacqua-section .section-head{max-width:900px;margin-left:auto;margin-right:auto}
.tf-club-gallery{align-items:stretch!important}
.tf-club-figure{height:100%;margin:0;display:flex;align-items:center;justify-content:center}
.tf-club-figure img{display:block;width:100%;height:100%;max-height:430px;object-fit:cover}
.tf-club-copy{max-width:900px;margin:28px auto 0;text-align:center}
.tf-club-copy p{margin-bottom:0}
.tf-local-seo{margin-top:24px}.tf-local-seo h3{font-size:24px;margin-bottom:12px}.tf-local-seo p{margin-bottom:0}
@media(max-width:991px){body.tf-lessons-page .tmp-section-gap{padding-top:45px!important;padding-bottom:45px!important}.tf-club-figure img{height:auto;max-height:none}.footer-area .single-footer-wrapper .description{font-size:16px!important}}


/* Upgrade 006 — crop controllato immagini introduttive. */
.tf-profile-crop{height:520px!important;object-fit:cover;object-position:50% 24%}
.tf-lessons-intro-crop{height:390px!important;object-fit:cover;object-position:50% 38%}
@media(max-width:991px){.tf-profile-crop,.tf-lessons-intro-crop{height:auto!important;max-height:560px;object-fit:cover}}


/* Upgrade 007 — menu Home visibile da subito e ritmo verticale reale. */
/* index-15 nasconde l'header finché non diventa sticky: sulla Home personale lo mostriamo subito. */
body.tf-home.demo-model .header-one.header--transparent{display:block!important}

/* Riduzione dei margini utility del template tra le row, limitata a Chi sono e Lezioni. */
body.tf-about-page .mt--20,body.tf-lessons-page .mt--20{margin-top:10px!important}
body.tf-about-page .mt--30,body.tf-lessons-page .mt--30{margin-top:15px!important}
body.tf-about-page .mt--40,body.tf-lessons-page .mt--40{margin-top:20px!important}
body.tf-about-page .mt--50,body.tf-lessons-page .mt--50{margin-top:25px!important}
body.tf-about-page .mt--60,body.tf-lessons-page .mt--60{margin-top:30px!important}
body.tf-about-page .mt--80,body.tf-lessons-page .mt--80{margin-top:40px!important}
body.tf-about-page .mb--20,body.tf-lessons-page .mb--20{margin-bottom:10px!important}
body.tf-about-page .mb--30,body.tf-lessons-page .mb--30{margin-bottom:15px!important}
body.tf-about-page .mb--40,body.tf-lessons-page .mb--40{margin-bottom:20px!important}
body.tf-about-page .mb--50,body.tf-lessons-page .mb--50{margin-bottom:25px!important}
body.tf-about-page .mb--60,body.tf-lessons-page .mb--60{margin-bottom:30px!important}
body.tf-about-page .mb--80,body.tf-lessons-page .mb--80{margin-bottom:40px!important}
/* Anche Chi sono usa ora lo stesso gap verticale compatto di Lezioni. */
body.tf-about-page .tmp-section-gap{padding-top:60px!important;padding-bottom:60px!important}
body.tf-about-page .section-head{margin-bottom:28px!important}
@media(max-width:991px){body.tf-about-page .tmp-section-gap{padding-top:45px!important;padding-bottom:45px!important}}


/* Upgrade 008 — sezioni più compatte e footer più leggibile. */
/* Override finale: riduce realmente la somma padding-bottom + padding-top tra sezioni. */
body.tf-lessons-page .tmp-section-gap,
body.tf-about-page .tmp-section-gap{
    padding-top:35px!important;
    padding-bottom:35px!important;
}
body.tf-lessons-page .section-head,
body.tf-about-page .section-head{
    margin-bottom:20px!important;
}
body.tf-lessons-page .tf-section-intro{
    margin-bottom:16px!important;
}
/* 1,5x rispetto ai 17px impostati nell'upgrade 005. */
.footer-area .single-footer-wrapper .description{
    font-size:25.5px!important;
    line-height:1.32!important;
    max-width:520px;
}
@media(max-width:991px){
    body.tf-lessons-page .tmp-section-gap,
    body.tf-about-page .tmp-section-gap{
        padding-top:25px!important;
        padding-bottom:25px!important;
    }
    .footer-area .single-footer-wrapper .description{
        font-size:21px!important;
        line-height:1.38!important;
    }
}
@media(max-width:575px){
    .footer-area .single-footer-wrapper .description{
        font-size:19px!important;
    }
}


/* Upgrade 009 — FIX reale del ritmo verticale.
   tf-lessons-page / tf-about-page sono MAIN, non classi del BODY. */
main.tf-lessons-page > section.tmp-section-gap,
main.tf-about-page > section.tmp-section-gap{
    padding-top:28px!important;
    padding-bottom:28px!important;
    margin-top:0!important;
    margin-bottom:0!important;
}
main.tf-lessons-page > section.tmp-section-gap + section.tmp-section-gap,
main.tf-about-page > section.tmp-section-gap + section.tmp-section-gap{
    margin-top:0!important;
}
main.tf-lessons-page .section-head,
main.tf-about-page .section-head{
    margin-top:0!important;
    margin-bottom:18px!important;
}
main.tf-lessons-page .tf-section-intro,
main.tf-about-page .tf-section-intro{
    margin-bottom:16px!important;
}
main.tf-lessons-page .mt--20,main.tf-about-page .mt--20{margin-top:10px!important}
main.tf-lessons-page .mt--30,main.tf-about-page .mt--30{margin-top:15px!important}
main.tf-lessons-page .mt--40,main.tf-about-page .mt--40{margin-top:20px!important}
main.tf-lessons-page .mt--50,main.tf-about-page .mt--50{margin-top:25px!important}
main.tf-lessons-page .mt--60,main.tf-about-page .mt--60{margin-top:30px!important}
main.tf-lessons-page .mt--80,main.tf-about-page .mt--80{margin-top:40px!important}
main.tf-lessons-page .mb--20,main.tf-about-page .mb--20{margin-bottom:10px!important}
main.tf-lessons-page .mb--30,main.tf-about-page .mb--30{margin-bottom:15px!important}
main.tf-lessons-page .mb--40,main.tf-about-page .mb--40{margin-bottom:20px!important}
main.tf-lessons-page .mb--50,main.tf-about-page .mb--50{margin-bottom:25px!important}
main.tf-lessons-page .mb--60,main.tf-about-page .mb--60{margin-bottom:30px!important}
main.tf-lessons-page .mb--80,main.tf-about-page .mb--80{margin-bottom:40px!important}
@media(max-width:991px){
    main.tf-lessons-page > section.tmp-section-gap,
    main.tf-about-page > section.tmp-section-gap{
        padding-top:22px!important;
        padding-bottom:22px!important;
    }
}


/* Upgrade 010 — Chi sono: attiva davvero il layout compatto. */
main.tf-about-page > section.tmp-section-gap{
    padding-top:24px!important;
    padding-bottom:24px!important;
}
main.tf-about-page .section-head{
    margin-top:0!important;
    margin-bottom:16px!important;
}
main.tf-about-page .tf-results p{
    margin-bottom:12px!important;
}
@media(max-width:991px){
    main.tf-about-page > section.tmp-section-gap{
        padding-top:20px!important;
        padding-bottom:20px!important;
    }
}

/* Upgrade 011 — consenso Google Analytics + Google Maps. */
.tf-cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:99999;background:#111018;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 45px rgba(0,0,0,.38);border-radius:14px;padding:18px;color:#fff}
.tf-cookie-banner[hidden]{display:none!important}.tf-cookie-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.tf-cookie-inner strong{font-size:18px}.tf-cookie-inner p{margin:5px 0 0;max-width:760px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.8)}.tf-cookie-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.tf-cookie-actions .tmp-btn{white-space:nowrap}.tf-cookie-reject{border:0;background:transparent;color:#fff;text-decoration:underline;cursor:pointer;padding:10px}
.tf-map-wrap{width:100%;min-height:390px;border-radius:12px;overflow:hidden;background:#16141d}.tf-map-wrap iframe{display:block;width:100%;height:390px;border:0}.tf-map-placeholder{min-height:390px;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px}.tf-map-placeholder p{max-width:580px;margin:8px auto 20px}
@media(max-width:767px){.tf-cookie-inner{display:block}.tf-cookie-actions{margin-top:14px;flex-wrap:wrap}.tf-map-wrap,.tf-map-wrap iframe,.tf-map-placeholder{min-height:320px;height:320px}}

/* Upgrade 013 — checkbox privacy realmente visibile. */
.contact-inner .tf-check{display:flex!important;align-items:flex-start!important;gap:12px!important;cursor:pointer;line-height:1.5}
.contact-inner .tf-check input[type="checkbox"]{
    -webkit-appearance:checkbox!important;
    appearance:checkbox!important;
    display:inline-block!important;
    position:static!important;
    opacity:1!important;
    visibility:visible!important;
    width:20px!important;
    min-width:20px!important;
    height:20px!important;
    margin:2px 0 0!important;
    padding:0!important;
    accent-color:#7b36b3;
    cursor:pointer;
}
.contact-inner .tf-check a{text-decoration:underline}

/* Upgrade 015 — Contatti: una sola mappa, integrata nella colonna contatti. */
.tf-contact-inline-map{margin-top:24px!important}
.tf-contact-inline-map h3{margin-bottom:12px}
.tf-contact-inline-map .tf-map-wrap{min-height:300px;height:300px}
.tf-contact-inline-map .tf-map-wrap iframe{width:100%;height:300px}
.tf-contact-inline-map .tf-map-placeholder{min-height:300px;height:300px;padding:20px}
@media(max-width:991px){
  .tf-contact-inline-map .tf-map-wrap,
  .tf-contact-inline-map .tf-map-wrap iframe,
  .tf-contact-inline-map .tf-map-placeholder{min-height:280px;height:280px}
}

/* Upgrade 016 — hero Home B/N HD. */
.tf-hero{
    background-position:center center!important;
}
@media(max-width:991px){
    .tf-hero{background-position:38% center!important}
}

/* Upgrade 017 — foto introduttiva Lezioni: originale verticale, nessun crop. */
.tf-lessons-intro-full{
    display:block;
    width:100%;
    height:auto!important;
    object-fit:contain!important;
}

/* Upgrade 018 — prima foto Chi sono: torneo di Sanremo. */
.tf-about-intro-photo{
    display:block;
    width:100%;
    height:auto!important;
    object-fit:contain!important;
    border-radius:10px;
}

/* Upgrade 019 — sponsor: immagini uniformi nei tre box. */
.tf-sponsor-logo{display:flex!important;align-items:center;justify-content:center;overflow:hidden;padding:0!important;min-height:0!important;aspect-ratio:2/1}
.tf-sponsor-logo img{display:block;width:100%;height:100%;object-fit:cover}

/* Upgrade 020 — breadcrumb: separatore visibile tra le voci. */
.breadcrumb-inner .page-list,
.breadcrumb-inner .breadcrumb,
.breadcrumb-area .breadcrumb{
    display:flex!important;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:0!important;
}
.breadcrumb-inner .page-list > *,
.breadcrumb-inner .breadcrumb > *,
.breadcrumb-area .breadcrumb > *{
    display:inline-flex;
    align-items:center;
}
.breadcrumb-inner .page-list > * + *::before,
.breadcrumb-inner .breadcrumb > * + *::before,
.breadcrumb-area .breadcrumb > * + *::before{
    content:"/";
    display:inline-block;
    margin:0 9px;
    opacity:.55;
    color:currentColor;
}
