/* Tema OnlyPadel – base, header, footer, barra a tab. I componenti sono in OnlyPadel Core (op.css). */
:root{--op-red:#D7261E;--op-bg:#0F0F0F;--op-line:#2C2C2C;--op-muted:#A3A3A3;--op-pad:max(40px,calc((100% - 1320px)/2));--op-header-h:84px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.opt{margin:0;background:var(--op-bg);color:#fff;font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.5;overflow-x:clip;-webkit-font-smoothing:antialiased}
.opt a{color:#fff;text-decoration-color:var(--op-red)}
.opt img{max-width:100%}
.opt-content img,.opt-card img,.opt-hero-img img{height:auto}
*{-webkit-tap-highlight-color:transparent}
.screen-reader-text{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.screen-reader-text:focus{left:10px;top:10px;width:auto;height:auto;z-index:999;padding:10px 14px;background:#fff;color:#141414}
:focus-visible{outline:2px solid var(--op-red);outline-offset:3px}
.op-wrap{padding-left:var(--op-pad);padding-right:var(--op-pad)}
.opt-main{position:relative;z-index:1;min-height:50vh}
.opt-dots{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
/* header */
.opt-header{position:sticky;top:0;z-index:40;display:flex;flex-wrap:wrap;align-items:center;gap:14px 36px;padding:18px var(--op-pad);background:rgba(15,15,15,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #2A2A2A}
.admin-bar .opt-header{top:32px}
.opt-logo{display:flex;align-items:center}
.opt-logo img{height:44px;width:auto;display:block}
.opt-nav{flex:1 1 auto}
.opt-menu{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}
.opt-menu a{position:relative;display:block;padding:12px 14px;font:700 17px Inter,sans-serif;text-decoration:none;color:#fff}
.opt-menu a::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--op-red);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.opt-menu a:hover::after{transform:scaleX(1)}
.opt-menu .is-active>a{font-weight:800;box-shadow:inset 0 -3px 0 var(--op-red)}
.opt-cta{height:48px;padding:0 24px;border-radius:999px;background:#fff;color:#141414!important;display:inline-flex;align-items:center;font-weight:800;font-size:16px;text-decoration:none;transition:transform .25s}
.opt-cta:hover{transform:translateY(-2px)}
.opt-burger{display:none;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#141414;align-items:center;justify-content:center;cursor:pointer}
.opt-drawer{position:fixed;inset:68px 0 0;z-index:39;background:rgba(15,15,15,.98);padding:24px 20px 120px;display:flex;flex-direction:column;gap:20px}
.opt-drawer[hidden]{display:none}
.opt-drawer__menu{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.opt-drawer__menu a{display:block;padding:14px 0;border-bottom:1px solid var(--op-line);font:900 italic 40px/1 Archivo,sans-serif;text-transform:uppercase;text-decoration:none}
.opt-drawer__menu .is-active>a{color:var(--op-red)}
/* social laterali */
.opt-dock{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.opt-dock__lab{writing-mode:vertical-rl;transform:rotate(180deg);align-self:center;margin:0 4px 6px 0;font:800 italic 12px Archivo,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--op-muted)}
.opt-ig{display:flex;flex-direction:row-reverse;align-items:center;height:56px;border-radius:999px;background:var(--op-red);color:#fff;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.opt-ig__b{flex:none;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.opt-ig__l{overflow:hidden;white-space:nowrap;display:flex;flex-direction:column;line-height:1.15;max-width:0;opacity:0;padding:0;transition:max-width .5s cubic-bezier(.2,.8,.2,1),opacity .3s,padding .5s}
.opt-ig__l b{font:900 italic 15px Archivo,sans-serif;text-transform:uppercase}
.opt-ig__l small{font-size:12px;font-weight:600}
.opt-ig.is-nudge .opt-ig__l,.opt-ig:hover .opt-ig__l{max-width:240px;opacity:1;padding:0 6px 0 18px}
.opt-ig.is-nudge .opt-ig__b{animation:opt-nudge 1.3s cubic-bezier(.3,.7,.4,1),opt-ring 1.3s ease-out}
@keyframes opt-nudge{0%,100%{transform:rotate(0) scale(1)}8%{transform:rotate(-16deg) scale(1.18)}16%{transform:rotate(13deg) scale(1.18)}24%{transform:rotate(-9deg) scale(1.12)}32%{transform:rotate(6deg) scale(1.06)}40%{transform:rotate(0) scale(1)}}
@keyframes opt-ring{0%{box-shadow:0 0 0 0 rgba(215,38,30,.75)}100%{box-shadow:0 0 0 18px rgba(215,38,30,0)}}
.opt-sb{width:44px;height:44px;border-radius:50%;border:1px solid #3A3A3A;background:#141414;color:#fff;display:flex;align-items:center;justify-content:center;transition:transform .25s,background-color .25s,border-color .25s}
.opt-sb:hover,.opt-sb.is-red{background:var(--op-red);border-color:var(--op-red)}
.opt-sb:hover{transform:translateX(-4px) scale(1.08)}
/* footer */
.opt-footer{position:relative;z-index:1;margin-top:120px;padding:80px var(--op-pad) 40px;display:flex;flex-direction:column;gap:80px;background:var(--op-bg)}
.opt-footer__logo{display:block;max-width:720px}
.opt-footer__logo svg{width:100%;height:auto;display:block}
.fo path{transition:fill .6s cubic-bezier(.2,.8,.2,1),stroke .6s}
.fo:hover .fo-o,.fo:hover .fo-s path,.fo:hover .fo-n{fill:var(--op-red);stroke:transparent}
.fo:hover .fo-p{fill:#fff;stroke:transparent}
.opt-footer__bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:28px;border-top:1px solid #262626;font-size:14px;color:var(--op-muted)}
.opt-footer__menu{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.opt-footer__menu a{color:var(--op-muted);text-decoration:none;padding:4px 12px}
.opt-footer__menu a:hover{color:#fff}
.opt-footer__soc{display:flex;gap:10px}
/* barra a tab (mobile) */
.opt-tabbar{display:none}
/* pagine standard */
.opt-page{padding-top:50px;padding-bottom:40px}
.opt-title{margin:0 0 24px;font:900 italic clamp(44px,6vw,96px)/.9 Archivo,sans-serif;text-transform:uppercase}
.opt-title span{color:var(--op-red)}
.opt-meta{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--op-muted)}
.opt-content{max-width:760px;font-size:18px;line-height:1.65;color:#D4D4D4}
.opt-content a{color:#fff}
.opt-hero-img img{border-radius:24px;margin:10px 0 30px}
.opt-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.opt-card{border-radius:22px;background:#1A1A1A;border:1px solid var(--op-line);overflow:hidden}
.opt-card>div{padding:20px}
.opt-card h2{margin:8px 0;font:800 22px Archivo,sans-serif}
.opt-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.opt-btn{display:inline-flex;align-items:center;height:52px;padding:0 22px;border-radius:999px;background:var(--op-red);color:#fff!important;font-weight:700;text-decoration:none;margin:4px 6px 4px 0}
.opt-btn--ghost{background:#2A2A2A;border:1px solid #4A4A4A}
.opt-search{display:flex;gap:6px}
.opt-search input{height:48px;padding:0 14px;border-radius:12px;border:1px solid #4A4A4A;background:#141414;color:#fff}
.opt-search button{height:48px;padding:0 18px;border-radius:999px;border:0;background:var(--op-red);color:#fff;font-weight:700}
/* login nativo di WordPress dentro le pagine */
.opt #loginform p{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}
.opt #loginform input[type=text],.opt #loginform input[type=password]{height:50px;padding:0 14px;border-radius:12px;border:1px solid #4A4A4A;background:#141414;color:#fff;font:500 15px Inter,sans-serif}
.opt #loginform .login-remember{flex-direction:row;align-items:center;font-size:14px}
.opt #loginform input[type=submit]{height:52px;padding:0 24px;border-radius:999px;border:0;background:var(--op-red);color:#fff;font:700 15px Inter,sans-serif;cursor:pointer}
/* Elementor: niente margini di colonna sui widget OnlyPadel */
.elementor-widget-container>.op{width:100%}
.elementor-section.elementor-section-full_width>.elementor-container{max-width:none}
/* mobile */
@media (max-width:1100px){.opt-menu a{font-size:15px;padding:10px}.opt-header{gap:12px 20px}}
@media (max-width:760px){
 :root{--op-pad:20px;--op-header-h:68px}
 .opt-header{padding:12px 20px;flex-wrap:nowrap;justify-content:space-between}
 .opt-logo img{height:32px}
 .opt-nav,.opt-header>.opt-cta{display:none}
 .opt-burger{display:flex}
 .opt-dock{display:none}
 .opt-footer{margin-top:70px;padding:60px 20px 120px;gap:40px}
 .opt-footer__logo{max-width:250px}
 .opt-footer__bar{flex-direction:column;align-items:flex-start}
 .opt-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;padding:4px 8px calc(10px + env(safe-area-inset-bottom));background:rgba(15,15,15,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid #2A2A2A}
 .opt-tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 6px;text-decoration:none;font-size:11px;font-weight:600;color:var(--op-muted);border-top:3px solid transparent}
 .opt-tabbar a.is-on{color:#fff;font-weight:800;border-top-color:var(--op-red)}
 .opt-tabbar a.is-on svg{color:var(--op-red)}
 body.opt{padding-bottom:0}
 html,body{scrollbar-width:none}
 html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}
}
@media (max-width:782px){.admin-bar .opt-header{top:46px}}
