/*
Theme Name: Ibrida Sport
Author: TCL Sport
Description: Progetto personalizzato Ibrida: Home, struttura, sport, configuratore e contatti. Foto locali, layout responsive, senza dipendenze da builder.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: ibrida-sport
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root{--orange:#f7941d;--ink:#171724;--muted:#696975;--soft:#f6f5f2;--line:#e5e4e1;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:17px/1.6 var(--sans);background:white}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p{margin:0 0 18px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(48px,6.6vw,90px)}h2{font-size:clamp(32px,3.6vw,49px)}h3{font-size:27px}p{color:var(--muted)}.container{width:min(1240px,calc(100% - 80px));margin-inline:auto}.site-header{position:relative;z-index:30;background:white;border-bottom:1px solid var(--line)}.header-inner{width:min(1400px,calc(100% - 64px));margin:auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:36px}.logo{width:190px;height:auto}.brand{flex-shrink:0}nav{display:flex;align-items:center;gap:26px;font-size:14px}nav>a:not(.button){padding:13px 0}nav a[aria-current]{border-bottom:2px solid var(--orange)}.menu-toggle{display:none;border:0;background:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:15px 25px;background:var(--orange);color:#171724;border:1px solid var(--orange);border-radius:4px;font-size:15px;font-family:var(--sans);letter-spacing:0;line-height:1.5;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#ffac42;transform:translateY(-1px)}.button span{font-size:26px;line-height:1}.button.small{font-size:13px;padding:13px 17px}.outline{background:transparent}.outline.light{border-color:#fff;color:white}.outline.light:hover{background:#ffffff18}.hero{min-height:620px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.32) 45%,rgba(0,0,0,.02) 80%)}.hero-content{position:relative;z-index:1;padding-block:75px;color:white}.hero h1{max-width:760px;margin-bottom:25px}.hero p{font-size:23px;line-height:1.5;color:#fff;max-width:650px}.eyebrow{display:block;font-size:11px;letter-spacing:.2em;font-weight:700;margin-bottom:22px;color:#806147}.hero .eyebrow{color:#fcd7a9}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:29px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-block:35px}.benefits>div{display:flex;gap:20px;align-items:center;padding-right:25px;border-right:1px solid var(--line)}.benefits>div:last-child{border:0}.benefits h3{font-size:25px;margin-bottom:7px}.benefits p{font-size:14px;line-height:1.45;margin:0}.benefit-icon{font-size:54px;color:#a1a1a9;line-height:1}.arch-icon{display:block;min-width:54px;height:36px;border:2px solid #a1a1a9;border-bottom:0;border-radius:60px 60px 0 0}.sports-section{padding-block:65px 75px}.sports-section h2{margin-bottom:36px}.sports-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:28px 24px}.major{grid-column:span 3}.minor{grid-column:span 2}.sport-card>img{width:100%;aspect-ratio:1.85;object-fit:cover;border-radius:6px}.minor>img{aspect-ratio:1.45}.sport-card h3{font-size:29px;margin:12px 0 4px}.sport-card h3 span{color:#a95c00;margin-left:12px}.sport-card p{font-size:12px;margin:0}.sprite{position:relative;overflow:hidden;border-radius:5px;width:100%}.sprite img{position:absolute;height:auto}.cta-band{background:linear-gradient(110deg,#f5f1eb,#f8eee1);padding-block:43px}.cta-band>.container{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{font-size:39px;margin:0;max-width:800px}.site-footer{padding:33px 40px;display:flex;justify-content:center;gap:25px;align-items:center;border-top:1px solid var(--line);font-size:13px;flex-wrap:wrap}.site-footer p{margin:0}.site-footer a:hover{text-decoration:underline}.structure-hero{min-height:590px}.structure-hero h1{font-size:clamp(50px,6vw,78px)}.feature{padding-top:50px}.feature-title{display:flex;align-items:center;gap:30px;margin-bottom:27px}.number{color:#b45c00;font:100px/1 var(--serif);letter-spacing:-.07em;flex-shrink:0}.feature-title h2{margin-bottom:10px;font-size:41px}.feature-title p{max-width:490px;font-size:15px;margin:0}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}.comparison figure{margin:0;position:relative}.comparison figcaption{position:absolute;bottom:0;left:0;background:var(--orange);color:var(--ink);font-size:15px;font-weight:600;padding:12px 22px;border-radius:0 4px 0 4px}.note{font-size:12px;line-height:1.55}.feature .note{margin:14px 0 0}.feature-split{display:grid;grid-template-columns:1fr 1fr;margin-top:45px}.feature-split>img{width:100%;height:400px;object-fit:cover;object-position:center 33%}.split-copy{display:flex;align-items:center;gap:25px;padding:50px max(30px,calc((100vw - 1240px)/2)) 50px 40px}.feature-split:not(.reverse) .split-copy{padding-left:max(40px,calc((100vw - 1240px)/2))}.split-copy .number{font-size:90px;align-self:flex-start}.split-copy h2{font-size:38px}.split-copy p{font-size:15px;max-width:380px}.soft{background:var(--soft)}.reverse{margin-top:0}.final-cta{text-align:center;padding-block:45px}.final-cta .actions{justify-content:center}.page-heading{padding-block:75px 40px;max-width:1240px}.page-heading h1{font-size:clamp(45px,5vw,75px)}.page-heading p{max-width:700px}.sport-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding-block:35px;border-bottom:1px solid var(--line)}.sport-detail img:not(.sprite img){border-radius:5px;max-height:400px;width:100%;object-fit:cover}.sport-detail:last-of-type{margin-bottom:60px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-bottom:65px}.gallery figure{margin:0}.gallery img{width:100%;height:350px;object-fit:cover;border-radius:5px}.gallery figcaption{font-size:15px;padding-top:10px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-bottom:95px}.contact-card{padding:40px;background:var(--soft)}.email-link{font-size:clamp(20px,2vw,30px)}.configurator{display:grid;grid-template-columns:420px 1fr;gap:60px;padding-bottom:75px}#config-form{display:grid;gap:17px}label{display:block;font-size:14px;font-weight:600}select,input:not([type=checkbox]),textarea{display:block;width:100%;padding:11px 13px;border:1px solid #b9b9c0;border-radius:3px;background:white;color:var(--ink);margin-top:5px}fieldset{border:1px solid var(--line);padding:15px}legend{font-size:14px}label.check{font-weight:400;margin:5px 0}label.check input{accent-color:var(--orange)}.config-preview{background:var(--soft);padding:35px;align-self:start;position:sticky;top:30px}.config-preview h2{font-size:35px}#court-plan{display:grid;gap:14px;grid-template-columns:repeat(var(--courts,1),1fr);margin:25px 0}.court{background:#196788;border:2px solid white;outline:1px solid #196788;aspect-ratio:1/2;position:relative;display:flex;align-items:center;justify-content:center;font-size:13px;color:white}.court::before{content:'';position:absolute;inset:20%;border:1px solid #ffffffaa}.court::after{content:'';position:absolute;width:100%;top:50%;border-top:1px solid white}.court span{z-index:2;background:#18566e;padding:2px 5px}.court.tennis{background:#b3542d;outline-color:#b3542d}.court.beach{background:#d5ae68;outline-color:#d5ae68;color:#171724}.court.beach span{background:#72591f;color:white}#court-plan.sequence{grid-template-columns:1fr;max-width:160px;margin-inline:auto}#court-plan.sequence .court{aspect-ratio:1/1.25}#config-summary{font:14px/1.6 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere}.generic{padding-block:70px;min-height:65vh}.generic article{margin-bottom:45px}.extra-content{padding-block:40px}.faq-open{position:fixed;bottom:20px;right:22px;z-index:50;background:white;border:1px solid var(--line);box-shadow:0 3px 22px #0002;border-radius:30px;padding:12px 18px;font-size:13px;display:flex;align-items:center;gap:10px}.faq-open span{color:#b65b00;font-size:23px;line-height:1}.faq-panel{position:fixed;bottom:83px;right:22px;width:min(360px,calc(100vw - 36px));max-height:75vh;overflow:auto;z-index:60;background:white;border:1px solid var(--line);box-shadow:0 10px 40px #0003;border-radius:12px;padding:22px}.faq-panel[hidden]{display:none}.faq-heading{display:flex;align-items:center;justify-content:space-between}.faq-heading button{border:0;background:none;font-size:30px}.faq-panel p{font-size:14px}.faq-panel details{border-top:1px solid var(--line);padding:12px 0;font-size:14px}.faq-panel summary{cursor:pointer}.faq-panel .button{margin-top:15px;width:100%}.skip{position:absolute;left:20px;top:-80px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}:focus-visible{outline:3px solid #216aa5;outline-offset:4px}a:hover h3{color:#a85600}body.admin-bar .site-header{margin-top:0}@media(max-width:1100px){nav{gap:14px}.header-inner{gap:20px}.logo{width:160px}.container{width:calc(100% - 56px)}.split-copy{padding:35px!important;gap:20px;flex-direction:column;align-items:flex-start}.split-copy .number{font-size:70px}.configurator{grid-template-columns:350px 1fr;gap:30px}}@media(max-width:850px){.header-inner{min-height:74px;width:calc(100% - 36px)}.logo{width:150px}.menu-toggle{display:flex;gap:12px;align-items:center}nav{display:none;position:absolute;top:100%;left:0;width:100%;padding:20px;background:white;box-shadow:0 8px 12px #0001;flex-direction:column;align-items:stretch}nav.open{display:flex}nav>a:not(.button){padding:8px}.hero{min-height:540px}.hero-content{padding-block:65px}.hero h1{font-size:65px}.hero p{font-size:20px}.benefits{gap:20px}.benefits>div{display:block;padding-right:12px}.benefit-icon{display:none}.benefits h3{font-size:22px}.feature-title h2{font-size:34px}.number{font-size:80px}.split-copy h2{font-size:30px}.sport-detail{gap:30px}.configurator{grid-template-columns:1fr 1fr;gap:25px}.config-preview{padding:22px;position:static}.cta-band h2{font-size:32px}.contact-grid{gap:30px}}@media(max-width:600px){body{font-size:16px}.container{width:calc(100% - 36px)}.hero{min-height:555px}.hero h1{font-size:53px;letter-spacing:-.055em}.hero p{font-size:18px}.hero-shade{background:linear-gradient(90deg,#000b,#0005)}.desktop{display:none}.hero .eyebrow{font-size:10px}.actions{gap:10px}.button{font-size:14px;padding:13px 17px;gap:16px}.benefits{grid-template-columns:1fr;padding-block:25px;gap:0}.benefits>div{display:flex;padding:17px 0;border:0;border-bottom:1px solid var(--line)}.benefit-icon{display:block;font-size:39px;min-width:42px}.arch-icon{height:27px}.benefits h3{font-size:24px}.sports-section{padding-block:35px 45px}.sports-section h2{font-size:36px}.sports-grid{grid-template-columns:1fr;gap:25px}.major,.minor{grid-column:auto}.sport-card>img{aspect-ratio:1.65}.sport-card h3{font-size:29px}.cta-band>.container{flex-direction:column;align-items:flex-start}.cta-band h2{font-size:34px}.structure-hero h1{font-size:52px}.structure-hero{min-height:525px}.feature{padding-top:35px}.feature-title{gap:18px;align-items:flex-start}.feature-title h2{font-size:29px}.feature-title p{font-size:14px}.number{font-size:67px}.comparison{gap:12px}.comparison figcaption{font-size:11px;padding:8px}.feature-split{grid-template-columns:1fr;margin-top:30px}.feature-split>img{height:320px}.split-copy{flex-direction:row;padding:28px 18px!important;gap:20px}.split-copy .number{font-size:67px}.split-copy h2{font-size:31px}.reverse{margin-top:0}.final-cta h2{font-size:34px}.page-heading{padding-block:45px 20px}.page-heading h1{font-size:47px}.sport-detail{grid-template-columns:1fr;gap:20px}.sport-detail h2{font-size:36px}.gallery,.contact-grid,.configurator{grid-template-columns:1fr;gap:25px}.gallery img{height:260px}.contact-grid{padding-bottom:45px}.contact-card{padding:25px}.configurator{padding-bottom:40px}.config-preview{padding:25px}.site-footer{padding:30px 20px 90px;gap:18px}.faq-open{bottom:14px;right:14px}.faq-panel{right:14px;bottom:75px}.note{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
