/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:none dotted;text-decoration:none dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--forest:#063866;--forest-deep:#032c52;--red:#c62026;--red-deep:#9f181d;--cream:#f5f0e6;--paper:#fbf8f1;--ink:#202522;--sage:#9fc5df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.site-header{z-index:20;background:#f5f0e6f5;justify-content:space-between;align-items:center;height:116px;padding:0 clamp(24px,4vw,64px);display:flex;position:relative}.brand{z-index:2;flex:none;align-items:center;gap:26px;display:flex;position:relative}.brand img{object-fit:contain;transform-origin:50%;width:86px;height:86px;transform:scale(1.62)}.brand span{gap:4px;display:grid}.brand strong{letter-spacing:-.055em;font-size:clamp(27px,2.6vw,40px);line-height:.9}.brand small{font-size:13px;font-weight:600}.desktop-nav{z-index:2;align-items:stretch;gap:clamp(10px,1.35vw,24px);height:116px;display:flex;position:relative}.header-ridge{fill:none;opacity:.085;pointer-events:none;height:88px;stroke:var(--forest);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;z-index:1;width:auto;position:absolute;top:11px;left:clamp(350px,29vw,470px);right:clamp(34px,4vw,68px)}.nav-group{align-items:center;display:flex;position:relative}.nav-group>a,.nav-contact{white-space:nowrap;align-items:center;gap:7px;padding:14px 0;font-size:14px;font-weight:700;transition:color .18s,transform .18s;display:flex;position:relative}.nav-group>a:after,.nav-contact:after{background:var(--red);content:"";transform-origin:50%;border-radius:999px;width:calc(100% - 8px);height:2px;transition:transform .22s cubic-bezier(.22,.8,.32,1);position:absolute;bottom:8px;left:50%;transform:translate(-50%)scaleX(0)}.nav-group:hover>a:after,.nav-group:focus-within>a:after,.nav-contact:hover:after,.nav-contact:focus-visible:after{transform:translate(-50%)scaleX(1)}.nav-group:hover>a,.nav-group:focus-within>a,.nav-contact:hover,.nav-contact:focus-visible{color:var(--red);transform:translateY(-2px)}.dropdown-menu{background:var(--paper);border-top:5px solid var(--red);opacity:0;pointer-events:none;visibility:hidden;z-index:50;min-width:290px;padding:18px 24px 22px;transition:opacity .16s,transform .16s;display:grid;position:absolute;top:calc(100% - 1px);left:-24px;transform:translateY(10px);box-shadow:0 20px 45px #032c5233}.nav-group:hover .dropdown-menu,.nav-group:focus-within .dropdown-menu{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.dropdown-menu small{color:var(--red);letter-spacing:.16em;text-transform:uppercase;padding:5px 0 13px;font-size:10px;font-weight:900}.dropdown-menu a{white-space:nowrap;border-top:1px solid #d9ddd6;justify-content:space-between;align-items:center;padding:13px 0;font-size:14px;font-weight:750;display:flex}.dropdown-menu a span{color:var(--red);font-size:17px;transition:transform .15s}.dropdown-menu a:hover span,.dropdown-menu a:focus-visible span{transform:translate(4px)}.mobile-menu{display:none}.hero{grid-template-columns:44% 56%;min-height:calc(100vh - 116px);padding-bottom:92px;display:grid;position:relative}.hero-copy{background:var(--forest);color:var(--cream);min-height:650px;padding:clamp(58px,7vw,112px) clamp(28px,4.5vw,72px) 170px;position:relative;overflow:hidden}.hero-copy:before{background:var(--red);content:"";width:72px;height:6px;position:absolute;top:clamp(54px,6vw,90px);left:clamp(28px,4.5vw,72px)}.contour{pointer-events:none;border:1px solid #f5f0e617;border-radius:47% 53% 62% 38%;width:570px;height:420px;position:absolute;transform:rotate(18deg)}.contour-one{top:-120px;left:-170px}.contour-two{top:-55px;left:-100px;transform:rotate(18deg)scale(.78)}.eyebrow{letter-spacing:.13em;text-transform:uppercase;margin:18px 0 34px;font-size:13px;font-weight:800;display:block;position:relative}.hero h1{letter-spacing:-.065em;max-width:720px;margin:0;font-size:clamp(58px,6.15vw,96px);line-height:.93;position:relative}.hero-copy>p{max-width:650px;margin:30px 0 0;font-size:clamp(18px,1.55vw,23px);font-weight:600;line-height:1.45;position:relative}.hero-actions{flex-wrap:wrap;gap:18px;margin-top:38px;display:flex;position:relative}.button{border:2px solid var(--cream);justify-content:center;align-items:center;gap:18px;min-height:60px;padding:0 28px;font-size:16px;font-weight:800;transition:background .18s,color .18s,transform .18s;display:inline-flex}.drawn-arrow,.button:after,.text-link:after,.action-arrow:after{content:"";background:currentColor;flex:none;width:34px;height:22px;transition:transform .18s;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 22'%3E%3Cpath d='M2 16c9 0 16-2 25-10M20 4l8 1-2 8' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 22'%3E%3Cpath d='M2 16c9 0 16-2 25-10M20 4l8 1-2 8' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2'/%3E%3C/svg%3E") 50%/contain no-repeat}.drawn-arrow-up,.action-arrow-up:after{transform:rotate(-13deg)}.button:has(.drawn-arrow):after{display:none}.button:hover:after,.button:hover .drawn-arrow,.text-link:hover:after,.action-arrow:hover:after{transform:translate(4px)rotate(-4deg)}.button:hover .drawn-arrow-up,.action-arrow-up:hover:after{transform:translate(4px,-2px)rotate(-17deg)}.action-arrow{align-items:center;gap:11px;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);border-color:var(--red)}.button-primary:hover{background:var(--red-deep);border-color:var(--red-deep)}.button-secondary:hover{background:var(--cream);color:var(--forest)}.hero-photo{background:linear-gradient(#0000 60%,#032c527a),url(../images/site/escursionisti.jpg) 50%/cover no-repeat;min-height:650px;position:relative}.photo-label{color:#fff;text-shadow:0 2px 18px #0000008c;display:grid;position:absolute;bottom:154px;left:40px}.photo-label span{letter-spacing:.15em;text-transform:uppercase;font-size:13px;font-weight:800}.photo-label strong{margin-top:5px;font-size:25px}.quick-links{z-index:4;grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:8px;display:grid;position:absolute;bottom:28px;left:clamp(24px,3vw,52px);right:clamp(24px,3vw,52px)}.quick-links a{background:var(--cream);border-bottom:6px solid var(--red);grid-template-columns:auto 1fr auto;align-items:center;gap:22px;min-height:145px;padding:28px;transition:box-shadow .18s,transform .18s;display:grid}.quick-links a:hover{transform:translateY(-5px);box-shadow:0 16px 35px #032c522e}.quick-links a>span:nth-child(2){gap:8px;font-size:clamp(17px,1.55vw,24px);font-weight:800;display:grid}.quick-links small{color:var(--red);letter-spacing:.14em;font-size:11px}.quick-icon{border-right:2px solid var(--red);color:var(--forest);justify-content:center;align-items:center;width:94px;height:70px;padding-right:24px;display:flex}.quick-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;width:47px;height:47px}.booklet-icon .booklet-cover{fill:#18364b;stroke:#18364b}.booklet-icon path:not(.booklet-cover){stroke:var(--cream)}.quick-links a>span:last-child{font-size:25px}.notice{background:var(--red);color:#fff;justify-content:space-between;align-items:center;padding:25px clamp(24px,7vw,110px);display:flex}.notice>div,.notice p{align-items:center;gap:18px;margin:0;display:flex}.whatsapp-logo{background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:58px;height:58px;display:flex;box-shadow:0 7px 20px #570a0d38}.whatsapp-logo img{object-fit:contain;width:38px;height:38px}.notice p{flex-direction:column;align-items:flex-start;gap:4px;font-size:14px}.notice p strong{font-size:17px}.notice>a{border-bottom:2px solid #fff;padding:8px 0;font-size:15px;font-weight:800}.section{padding:clamp(82px,9vw,140px) clamp(24px,7vw,110px)}.section-heading{grid-template-columns:1.25fr .75fr;align-items:end;gap:60px;margin-bottom:58px;display:grid}.section-kicker{color:var(--red);letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px;font-size:12px;font-weight:900;display:block}.section-kicker:before{content:"";vertical-align:middle;background:currentColor;width:35px;height:4px;margin-right:13px;display:inline-block}.section h2,.gym h2,.story h2,footer h2{letter-spacing:-.055em;margin:0;font-size:clamp(46px,5vw,76px);line-height:.98}.section-heading>p{color:#435366;max-width:570px;margin:0;font-size:18px;line-height:1.65}.activity-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.activity-card{background-color:var(--forest);border-top:7px solid var(--forest);color:#fff;flex-direction:column;justify-content:space-between;min-height:430px;padding:27px;transition:transform .2s;display:flex;position:relative;overflow:hidden}.activity-main{background:linear-gradient(#032c521f 8%,#032c52f5 92%),url(../images/site/escursionisti.jpg) 50%/cover no-repeat}.activity-climb{background:linear-gradient(#032c521a 8%,#032c52f5 92%),url(../images/site/corde.jpg) 50%/cover no-repeat}.activity-senior{background:linear-gradient(#032c521a 8%,#032c52f5 92%),url(../images/site/seniores.jpg) 50%/cover no-repeat}.activity-path{background:linear-gradient(#032c521a 8%,#032c52f5 92%),url(../images/site/bosco.jpg) 50%/cover no-repeat}.activity-forest{background:linear-gradient(90deg,#032c52f5 0%,#032c52b8 55%,#032c5238 100%),url(../images/bosco-75/inaugurazione.jpg) 50% 58%/cover no-repeat}.activity-featured{grid-column:1/-1;grid-template-columns:44px minmax(0,560px);min-height:330px;display:grid}.activity-featured>div:last-child{align-self:end}.card-number{letter-spacing:.14em;font-size:12px;font-weight:900}.card-tag{color:var(--red);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:900}.activity-card h3{letter-spacing:-.04em;margin:14px 0 17px;font-size:clamp(26px,2.1vw,34px);line-height:1.05}.activity-card p{margin:0 0 27px;font-size:15px;line-height:1.6}.activity-card a,.text-link{text-decoration:none;-webkit-text-decoration-color:var(--red);-webkit-text-decoration-color:var(--red);-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:7px;align-items:center;gap:12px;font-size:14px;font-weight:900;text-decoration-thickness:2px;display:inline-flex}.gym{background:var(--forest-deep);color:var(--cream);grid-template-columns:47% 53%;display:grid}.gym-photo{background:linear-gradient(#0000 75%,#032c52a6),url(../images/site/corde.jpg) 50%/cover no-repeat;min-height:740px;position:relative}.gym-photo span{background:var(--red);color:#fff;letter-spacing:.16em;text-transform:uppercase;padding:18px 28px;font-size:13px;font-weight:900;position:absolute;bottom:0;left:0}.gym-content{padding:clamp(72px,7vw,112px) clamp(36px,6vw,96px)}.section-kicker.light{color:#f9d7d7}.gym-intro{color:#c9d4ce;max-width:700px;margin:30px 0 42px;font-size:18px;line-height:1.65}.gym-data{border-top:1px solid #f5f0e62e;border-bottom:1px solid #f5f0e62e;grid-template-columns:repeat(3,1fr);margin-bottom:38px;display:grid}.gym-data>div{gap:7px;padding:28px 18px 28px 0;display:grid}.gym-data>div+div{border-left:1px solid #f5f0e62e;padding-left:22px}.gym-data small{color:var(--sage);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.gym-data strong{font-size:19px}.gym-data span{font-size:14px}.gym-actions{flex-wrap:wrap;align-items:center;gap:30px;display:flex}.light-link{color:var(--cream)}.membership{background:#f1eee5;grid-template-columns:1fr .85fr;align-items:center;gap:clamp(60px,9vw,150px);display:grid;position:relative;overflow:hidden}.membership-copy,.membership-prices{z-index:1;position:relative}.membership-logo-watermark{filter:grayscale();opacity:.075;pointer-events:none;width:min(48vw,670px);position:absolute;top:2%;left:-5%;transform:rotate(-13deg)}.membership-copy>p{color:#435366;margin:28px 0;font-size:18px;line-height:1.65}.membership-copy ul{gap:12px;margin:0 0 34px;padding:0;list-style:none;display:grid}.membership-copy li{border-bottom:1px solid #d7d8d1;padding:0 0 12px 24px;font-weight:700;position:relative}.membership-copy li:before{color:var(--red);content:"✓";font-weight:900;position:absolute;left:0}.forest-button{background:var(--forest);border-color:var(--forest);color:#fff}.forest-button:hover{background:var(--forest-deep)}.membership-prices{color:var(--cream);background:#032c52f5;padding:clamp(30px,4vw,55px);overflow:hidden;box-shadow:22px 22px #d5e9f6}.membership-card-watermark{filter:grayscale(.25);opacity:.11;pointer-events:none;object-fit:cover;width:78%;height:125%;top:-12%;right:-19%;transform:rotate(-9deg);z-index:0!important;position:absolute!important}.membership-prices>:not(.membership-card-watermark){z-index:1;position:relative}.price-heading{border-bottom:1px solid #f5f0e647;justify-content:space-between;margin-bottom:8px;padding-bottom:26px;display:flex}.price-heading span{font-size:22px;font-weight:800}.price-heading small{color:var(--sage)}.membership-prices>div:not(.price-heading){border-bottom:1px solid #f5f0e626;justify-content:space-between;align-items:baseline;padding:20px 0;display:flex}.membership-prices strong{color:#fff;font-size:25px}.membership-prices>p{color:var(--sage);margin:22px 0 0;font-size:13px}.story{background:var(--red);color:#fff;grid-template-columns:.75fr 1fr;align-items:center;gap:8vw;padding:clamp(80px,9vw,140px) clamp(24px,7vw,110px);display:grid;overflow:hidden}.story-year{color:#ffffff21;letter-spacing:-.09em;margin-left:-5vw;font-size:clamp(125px,18vw,280px);font-weight:900;line-height:.7}.story-copy>p{max-width:720px;margin:30px 0;font-size:18px;line-height:1.7}.news{background:#edf7fd}.section-heading>.text-link{justify-self:end}.news-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.news-card{background:var(--paper);flex-direction:column;min-width:0;transition:transform .18s,box-shadow .18s;display:flex;overflow:hidden}.news-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px #032c5221}.news-card>img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.news-card>div{flex-direction:column;flex:1;padding:28px;display:flex}.news-card span{color:var(--red);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:900}.news-card time{color:#66726b;margin-top:8px;font-size:12px}.news-card h3{letter-spacing:-.04em;margin:32px 0 16px;font-size:27px;line-height:1.08}.news-card p{color:#435366;margin:0 0 26px;font-size:14px;line-height:1.55}.news-card a{text-decoration:none;-webkit-text-decoration-color:var(--red);-webkit-text-decoration-color:var(--red);-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:6px;align-items:center;gap:8px;margin-top:auto;font-weight:900;display:flex}footer{background:var(--forest-deep);color:var(--cream);padding:clamp(70px,8vw,120px) clamp(24px,7vw,110px) 28px}.footer-main{grid-template-columns:1.5fr repeat(3,.6fr);gap:45px;padding-bottom:80px;display:grid}.footer-brand>span,.footer-main small{color:var(--sage);letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;font-size:11px;font-weight:900;display:block}.footer-main>div:not(.footer-brand){padding-top:36px}.footer-icon{fill:none;opacity:.45;height:42px;stroke:var(--sage);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:42px;margin-bottom:18px;display:block}.footer-main strong,.footer-main a{margin-bottom:10px;font-size:17px;font-weight:800;display:block}.footer-main p{color:#bdc9c3;margin:0;line-height:1.55}.footer-bottom{color:var(--sage);border-top:1px solid #f5f0e62b;justify-content:space-between;align-items:center;padding-top:25px;font-size:12px;display:flex}.footer-bottom nav{align-items:center;gap:26px;display:flex}.footer-bottom nav>a{align-items:center;min-height:34px;display:inline-flex}:focus-visible{outline-offset:4px;outline:3px solid #f0b91d}.page-hero{background-color:var(--forest-deep);color:var(--cream);background-position:50%;background-size:cover;min-height:510px;padding:clamp(90px,10vw,155px) clamp(24px,7vw,110px);position:relative;overflow:hidden}.page-hero-content{z-index:2;max-width:850px;position:relative}.page-hero-art{color:var(--cream);opacity:.12;pointer-events:none;transform-origin:50%;z-index:1;width:min(56vw,760px);height:min(112%,620px);position:absolute;top:50%;right:clamp(-125px,-5vw,-45px);transform:translateY(-50%)rotate(-8deg)}.hero-emblem{fill:currentColor;opacity:.32}.hero-mark{fill:currentColor}.hero-cutout{fill:var(--forest-deep);opacity:.88}.hero-outline{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:11px;vector-effect:non-scaling-stroke}.hero-booklet{fill:currentColor}.hero-booklet .hero-detail{fill:none;stroke:var(--forest-deep);stroke-linecap:round;stroke-linejoin:round;stroke-width:7px}.hero-booklet .hero-eagle,.hero-booklet .hero-star{fill:var(--forest-deep)}.page-hero-trace{object-fit:contain;opacity:.14;width:min(53vw,720px);height:min(105%,590px)}.hero-trace-membership{transform:translateY(-50%)rotate(1deg)}.hero-trace-news{width:min(49vw,680px);height:min(98%,560px)}.hero-trace-contacts{width:min(52vw,710px);height:min(102%,575px)}.page-hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(58px,7vw,108px);line-height:.92}.page-hero p{max-width:720px;margin:30px 0 0;font-size:clamp(18px,1.7vw,24px);font-weight:600;line-height:1.55}.inner-section{padding:clamp(80px,9vw,140px) clamp(24px,7vw,110px)}.inner-section h2{letter-spacing:-.055em;margin:0;font-size:clamp(43px,5vw,74px);line-height:.98}.two-columns{grid-template-columns:.8fr 1fr;gap:clamp(50px,9vw,150px);display:grid}.rich-copy{color:#435366;font-size:18px;line-height:1.75}.rich-copy p:first-child{margin-top:0}.pale-section{background:#edf7fd}.stat-band{background:var(--red);color:#fff;grid-template-columns:repeat(3,1fr);padding:0 clamp(24px,7vw,110px);display:grid}.stat-band>div{gap:9px;padding:38px 30px 38px 0;display:grid}.stat-band>div+div{border-left:1px solid #ffffff40;padding-left:38px}.stat-band strong{font-size:clamp(23px,2.5vw,38px)}.stat-band span{letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:800}.feature-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 42px;display:grid}.feature-grid article{background:var(--paper);min-height:260px;padding:35px}.feature-grid b,.contact-grid>article>span,.shop-grid article>span{color:var(--red);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.feature-grid h3{margin:65px 0 15px;font-size:27px}.feature-grid p{line-height:1.6}.membership-page{grid-template-columns:1fr .75fr;align-items:start;gap:clamp(60px,9vw,140px);display:grid;position:relative;overflow:hidden}.membership-page>:not(.membership-page-watermark){z-index:1;position:relative}.membership-page-watermark{filter:grayscale();opacity:.065;pointer-events:none;width:min(48vw,680px);position:absolute;top:4%;left:-7%;transform:rotate(-13deg)}.steps{margin-top:45px}.steps>div{border-top:1px solid #ccd2ca;grid-template-columns:45px 1fr;gap:25px;padding:22px 0;display:grid}.steps b{color:var(--red)}.steps p{margin:0;font-size:17px;line-height:1.6}.news-archive-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.news-detail{max-width:900px;margin:0 auto}.news-detail>.text-link{margin-bottom:55px;display:inline-flex}.news-detail p{color:#394740;margin:0 0 28px;font-size:20px;line-height:1.8}.news-detail .button{margin-top:24px}.admin-page{background:#edf7fd;min-height:100vh}.admin-header{background:var(--forest-deep);color:var(--cream);justify-content:space-between;align-items:center;padding:24px clamp(22px,5vw,72px);display:flex}.admin-brand{letter-spacing:-.04em;font-size:25px;font-weight:900}.admin-brand span{color:var(--sage);letter-spacing:.14em;text-transform:uppercase;margin-top:4px;font-size:10px;display:block}.admin-header>div{align-items:center;gap:24px;font-size:13px;display:flex}.admin-header>div a{border-bottom:1px solid var(--red);font-weight:900}.admin-tabs{background:#112f28;gap:6px;padding:0 clamp(22px,5vw,72px);display:flex}.admin-tabs button{color:#b9c9c1;cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;padding:18px 22px 16px;font-size:13px;font-weight:900}.admin-tabs button.active{border-bottom-color:var(--red);color:var(--cream)}.admin-layout{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);min-height:calc(100vh - 90px);display:grid}.admin-editor{padding:clamp(45px,6vw,90px)}.admin-section-title>span,.admin-list>div>span{color:var(--red);letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:900}.admin-section-title h1{letter-spacing:-.055em;margin:8px 0 42px;font-size:clamp(42px,5vw,70px)}.admin-form{gap:24px;display:grid}.admin-form label{letter-spacing:.04em;gap:9px;font-size:13px;font-weight:900;display:grid}.admin-form label small{color:#647069;letter-spacing:0;font-weight:500}.admin-form input,.admin-form textarea{background:var(--paper);color:var(--ink);font:inherit;border:1px solid #c7cec4;border-radius:0;width:100%;padding:15px 16px;font-size:16px;font-weight:500}.admin-form input:focus,.admin-form textarea:focus{border-color:var(--forest);outline:3px solid #0638661f}.admin-form-row{grid-template-columns:1fr 220px;gap:18px;display:grid}.admin-image-preview{object-fit:cover;width:100%;height:260px}.admin-actions{flex-wrap:wrap;align-items:center;gap:13px;display:flex}.admin-actions button{cursor:pointer}.admin-secondary{border-color:var(--forest);color:var(--forest);background:0 0}.admin-cancel{color:#55625b;cursor:pointer;background:0 0;border:0;padding:14px;font-weight:800;text-decoration:none}.admin-message{border-left:4px solid var(--forest);background:#d6e3d2;margin:0;padding:14px 18px;font-weight:800}.admin-list{background:var(--paper);padding:clamp(45px,5vw,75px)}.admin-list h2{margin:8px 0 38px;font-size:36px}.admin-list article{border-top:1px solid #d5d9d2;padding:25px 0}.admin-list article>div:first-child{gap:7px;display:grid}.admin-list article small{letter-spacing:.12em;text-transform:uppercase;border-radius:999px;justify-self:start;padding:5px 8px;font-size:9px;font-weight:900}.admin-list article small.published{color:#0b4f83;background:#d9edf9}.admin-list article small.draft{color:#69472d;background:#e8c9a5}.admin-list article time{color:#68736d;font-size:11px}.admin-list article h3{margin:5px 0 13px;font-size:20px}.admin-list article>div:last-child{gap:16px;display:flex}.admin-list article button{cursor:pointer;text-underline-offset:4px;background:0 0;border:0;padding:0;font-weight:900;text-decoration:none}.admin-list article button.danger{color:#a43a37}.admin-denied{text-align:center;place-content:center;min-height:100vh;display:grid}.admin-denied h1{margin:0 0 15px;font-size:48px}.newsletter-admin{grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);display:grid}.newsletter-admin h2{letter-spacing:-.045em;margin:8px 0 34px;font-size:clamp(34px,4vw,52px)}.newsletter-contacts,.newsletter-compose,.newsletter-history{padding:clamp(38px,5vw,72px)}.newsletter-contacts{background:#dfe5da;grid-column:1/-1}.contact-stats{grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:28px;display:grid}.contact-stats>div{background:var(--paper);gap:5px;padding:24px 26px;display:grid}.contact-stats strong{color:var(--forest);font-size:36px}.contact-stats span{color:#657169;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.contact-import{grid-template-columns:minmax(240px,.7fr) minmax(320px,1.3fr) auto;align-items:end;gap:14px;display:grid}.contact-import label,.test-send label{gap:9px;font-size:13px;font-weight:900;display:grid}.contact-import label small{color:#647069;font-weight:500;line-height:1.45}.contact-import input,.contact-import textarea,.test-send input{background:var(--paper);color:var(--ink);font:inherit;border:1px solid #c7cec4;width:100%;padding:14px 15px}.contact-import textarea{resize:vertical}.contact-import .button{min-height:50px}.privacy-note{color:#5c6962;grid-column:1/-1;margin:0;font-size:12px}.newsletter-compose{background:#edf7fd}.newsletter-preview{background:var(--paper);padding:clamp(38px,4vw,58px)}.email-preview{background:#e7eadf;margin-bottom:28px;padding:22px;box-shadow:0 14px 40px #102a231c}.email-preview>header{background:var(--forest-deep);color:var(--cream);padding:20px 24px;font-size:20px;font-weight:900}.email-preview>img{object-fit:cover;width:100%;max-height:260px;display:block}.email-preview>div{background:var(--paper);padding:30px 26px}.email-preview h3{margin:0 0 20px;font-family:Georgia,serif;font-size:32px;line-height:1.1}.email-preview p{color:#3e4b44;white-space:pre-wrap;font-size:14px;line-height:1.6}.email-preview>footer{background:var(--paper);color:#68736d;border-top:1px solid #d5d9d2;padding:18px 26px;font-size:10px}.email-button{background:var(--red);color:#fff;margin-top:12px;padding:12px 17px;font-size:12px;font-weight:900;display:inline-block}.test-send{grid-template-columns:1fr auto;align-items:end;gap:12px;margin-bottom:14px;display:grid}.newsletter-send{justify-content:center;width:100%}.provider-warning{color:#684729;background:#f2dfc4;border-left:4px solid #c27a35;padding:14px 16px;font-size:13px;line-height:1.5}.newsletter-preview .admin-message{margin-top:14px}.newsletter-history{color:var(--cream);background:#063866;grid-column:1/-1}.newsletter-history .admin-section-title>span{color:#efaaa8}.newsletter-history-list{grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.newsletter-history-list article{background:#214b40;justify-content:space-between;align-items:end;min-height:180px;padding:26px;display:flex}.newsletter-history-list small{color:#69472d;letter-spacing:.1em;text-transform:uppercase;background:#e8c9a5;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;display:inline-block}.newsletter-history-list small.sent{color:#0b4f83;background:#d9edf9}.newsletter-history-list h3{margin:14px 0 6px;font-size:20px}.newsletter-history-list p{color:#c5d1ca;margin:0;font-size:12px}.newsletter-history-list button{color:var(--cream);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;padding:0;font-weight:900;text-decoration:none}.faq-list{max-width:1050px;margin:auto}.faq-list details{border-top:1px solid #bcc5bc}.faq-list details:last-child{border-bottom:1px solid #bcc5bc}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;padding:28px 0;font-size:clamp(20px,2.3vw,30px);font-weight:800;list-style:none;display:flex}.faq-list summary span{color:var(--red);font-size:35px}.faq-list p{color:#435366;max-width:800px;margin:0;padding:0 50px 28px 0;font-size:17px;line-height:1.7}.shop-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.shop-grid article{background:#edf7fd;padding:40px}.shirt-visual{background:var(--forest);color:#fff;letter-spacing:-.08em;flex-direction:column;justify-content:center;align-items:center;height:420px;margin-bottom:28px;font-size:68px;font-weight:900;display:flex}.shirt-visual span{color:#efb2b4;letter-spacing:.2em;font-size:26px}.shirt-red{background:var(--red)}.shop-grid h2{margin:8px 0;font-size:50px}.center-action{text-align:center;margin-top:42px}.contact-grid{grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.contact-grid article{background:#edf7fd;min-height:340px;padding:38px}.contact-grid .footer-icon{color:var(--forest);width:48px;height:48px;margin-bottom:26px}.contact-grid h2{margin:18px 0 15px;font-size:42px}.contact-grid p{font-size:17px;line-height:1.65}.contact-grid a{font-weight:800}.social-band{background:var(--red);color:#fff;grid-template-columns:repeat(3,1fr);padding:0 clamp(24px,7vw,110px);display:grid}.social-band a{align-items:center;gap:16px;padding:30px 0;font-size:20px;font-weight:900;display:flex}.social-band a .drawn-arrow{margin-left:auto;margin-right:38px}.social-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:38px;height:38px}.social-icon .icon-fill{fill:currentColor;stroke:none}.subnav{background:var(--paper);z-index:10;border-bottom:1px solid #d8ddd5;gap:clamp(24px,5vw,74px);padding:22px clamp(24px,7vw,110px);display:flex;position:sticky;top:0;overflow-x:auto}.subnav a{letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:13px;font-weight:900}.lead-copy{color:#435366;max-width:680px;margin:30px 0 18px;font-size:20px;line-height:1.65}.fine-print{border-left:4px solid var(--red);padding-left:18px;font-weight:800;line-height:1.55}.benefit-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.benefit-grid article{background:var(--paper);min-height:285px;padding:34px}.benefit-grid svg{filter:drop-shadow(0 8px 12px #1230281f);stroke-linecap:round;stroke-linejoin:round;width:72px;height:72px;overflow:visible}.benefit-grid h3{margin:38px 0 14px;font-size:25px}.benefit-grid .icon-sun{fill:#e8bd65;stroke:#9a6d22;stroke-width:1.5px}.benefit-grid .icon-mountain-back{fill:#a8c0ad;stroke:#0e78bd;stroke-width:2px}.benefit-grid .icon-mountain-front{fill:#567f68;stroke:#264d40;stroke-width:2px}.benefit-grid .icon-person-skin{fill:#e7bd96;stroke:#684a37;stroke-width:1.5px}.benefit-grid .icon-person{fill:#c84b42;stroke:#7a2826;stroke-width:2px}.benefit-grid .icon-detail,.benefit-grid .icon-book-lines,.benefit-grid .icon-magazine-lines{fill:none;stroke:#f6efdf;stroke-width:2px}.benefit-grid .icon-snow{fill:#f7f2e7;stroke:#0e78bd;stroke-width:1.5px}.benefit-grid .icon-rescue-badge{fill:#f4ead5;stroke:#b73834;stroke-width:2px}.benefit-grid .icon-cross{fill:#c74740}.benefit-grid .icon-hut-roof{fill:#a83935;stroke:#6d2927;stroke-width:2px}.benefit-grid .icon-hut{fill:#d6aa74;stroke:#76502f;stroke-width:2px}.benefit-grid .icon-door{fill:#795137}.benefit-grid .icon-window{fill:#e8bd65;stroke:#76502f;stroke-width:1.5px}.benefit-grid .icon-tag{fill:#d75b4e;stroke:#873630;stroke-width:2px}.benefit-grid .icon-tag-hole{fill:#f7f2e7;stroke:#873630;stroke-width:2px}.benefit-grid .icon-percent{fill:none;stroke:#fff5df;stroke-width:5px}.benefit-grid .icon-ribbon{fill:#0e78bd;stroke:#23483b;stroke-width:1.5px}.benefit-grid .icon-shelf{fill:#654735}.benefit-grid .icon-book-red{fill:#c84b42;stroke:#7a2826;stroke-width:1.5px}.benefit-grid .icon-book-green{fill:#4c765f;stroke:#294c3f;stroke-width:1.5px}.benefit-grid .icon-book-cream{fill:#dfc695;stroke:#765b34;stroke-width:1.5px}.benefit-grid .icon-magazine-back{fill:#0e78bd;stroke:#23483b;stroke-width:2px}.benefit-grid .icon-magazine-page{fill:#f5e9d1;stroke:#7e6547;stroke-width:2px}.benefit-grid .icon-magazine-photo{fill:#789782;stroke:#0e78bd;stroke-width:1.5px}.benefit-grid .icon-magazine-lines{stroke:#8a6f50}.benefit-grid p{color:#435366;margin:0;line-height:1.6}.insurance-section{background:var(--forest-deep);color:var(--cream);padding:clamp(82px,9vw,140px) clamp(24px,7vw,110px)}.insurance-heading{grid-template-columns:1fr .65fr;gap:25px;margin-bottom:48px;display:grid}.insurance-heading .section-kicker{grid-column:1/-1;margin-bottom:0}.insurance-heading h2,.gallery-heading h2,.gym-final h2{letter-spacing:-.055em;margin:0;font-size:clamp(45px,5vw,76px);line-height:.98}.insurance-heading p{color:#d8e9f5;margin:0;font-size:18px;line-height:1.65}.insurance-cards{grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:38px;display:grid}.insurance-cards article{background:#063866;min-height:310px;padding:30px}.insurance-cards span{letter-spacing:.15em;text-transform:uppercase;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;display:inline-block}.insurance-cards span.included{color:#0b4f83;background:#d9edf9}.insurance-cards span.optional{color:#69472d;background:#e8c9a5}.insurance-cards h3{margin:70px 0 16px;font-size:23px;line-height:1.15}.insurance-cards p{color:#d8e9f5;font-size:14px;line-height:1.6}.inline-actions{flex-wrap:wrap;align-items:center;gap:28px;margin-top:30px;display:flex}.gym-story{grid-template-columns:.7fr 1fr;gap:clamp(55px,8vw,130px);display:grid}.gym-features{grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.gym-features article{background:#edf7fd;min-height:285px;padding:32px}.gym-features strong{color:var(--red);letter-spacing:-.05em;font-size:45px}.gym-features h3{margin:50px 0 12px;font-size:23px}.gym-features p{color:#435366;margin:0;line-height:1.55}.gym-membership-notice{background:var(--forest);color:var(--cream);grid-template-columns:42px 1fr;gap:18px;margin-top:34px;padding:24px;display:grid}.gym-membership-notice>span{color:#0b4f83;background:#d9edf9;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;font-weight:900;display:flex}.gym-membership-notice strong{margin-bottom:8px;font-size:18px;display:block}.gym-membership-notice p{color:#c7d2cc;margin:0 0 14px;font-size:14px;line-height:1.55}.gym-membership-notice a{color:#fff;text-decoration:none;-webkit-text-decoration-color:var(--red);-webkit-text-decoration-color:var(--red);-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:5px;font-size:13px;font-weight:900}.gym-notice-links{flex-wrap:wrap;gap:12px 22px;display:flex}.private-area-link{border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;line-height:1;display:inline-flex}.private-area-link span{color:#d7c9a7;font-size:17px;line-height:1}.excursion-intro,.excursion-details{grid-template-columns:.75fr 1fr;gap:clamp(55px,8vw,130px);display:grid}.excursion-intro h2,.excursion-details h2{letter-spacing:-.055em;margin:0;font-size:clamp(48px,5.8vw,86px);line-height:.96}.excursion-programs{background:var(--forest-deep);grid-template-columns:repeat(2,1fr);gap:1px;padding:1px;display:grid}.sectional-program-layout,.senior-program-layout{background:var(--forest-deep);grid-template-columns:1.08fr .92fr;gap:1px;padding:1px;display:grid}.excursion-program{background:#f3eee2;padding:clamp(35px,5vw,76px)}.excursion-program>header{border-bottom:1px solid #c3d9e8;margin-bottom:10px;padding-bottom:34px}.excursion-program>header span{color:var(--red);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:900}.excursion-program>header h2{color:var(--forest-deep);letter-spacing:-.045em;margin:16px 0 12px;font-size:clamp(34px,3.6vw,57px);line-height:1}.excursion-program>header p{color:#5a6f82;margin:0;font-weight:700}.excursion-program-senior{background:#e4e9e0}.excursion-program-senior>header span{color:#0e78bd}.excursion-list article{border-bottom:1px solid #384c4233;grid-template-columns:76px 1fr auto;align-items:center;gap:16px;min-height:82px;padding:12px 0;display:grid}.excursion-list time{color:var(--red);letter-spacing:.05em;font-size:14px;font-weight:950}.excursion-program-senior .excursion-list time,.excursion-list-senior time{color:#0e78bd}.excursion-list time small{color:#7e897f;letter-spacing:.14em;margin-top:4px;font-size:9px;display:block}.excursion-list h3{color:#193c33;margin:0;font-size:19px;line-height:1.2}.excursion-list>article>span{color:#536158;border:1px solid #aab5ab;border-radius:999px;justify-content:center;align-items:center;min-width:39px;height:31px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.excursion-rules article{min-height:310px}.excursion-rules svg{filter:drop-shadow(0 8px 12px #1230281f);stroke-linecap:round;stroke-linejoin:round;width:72px;height:72px;overflow:visible}.excursion-rules p{margin-top:48px}.excursion-rules .trek-sun{fill:#e8bd65;stroke:#9a6d22;stroke-width:1.5px}.excursion-rules .trek-mountain{fill:#789982;stroke:#0e78bd;stroke-width:2px}.excursion-rules .trek-snow{fill:#f7f2e7;stroke:#0e78bd;stroke-width:1.5px}.excursion-rules .trek-pack{fill:#c84b42;stroke:#7a2826;stroke-width:2px}.excursion-rules .trek-pocket{fill:#e4ad76;stroke:#7a2826;stroke-width:1.5px}.excursion-rules .trek-path{fill:none;stroke:#b7996f;stroke-dasharray:4 5;stroke-width:5px}.excursion-rules .trek-person-skin{fill:#e7bd96;stroke:#684a37;stroke-width:1.5px}.excursion-rules .trek-jacket{fill:#c84b42;stroke:#7a2826;stroke-width:2px}.excursion-rules .trek-jacket-alt,.excursion-rules .trek-tree{fill:#0e78bd;stroke:#23483b;stroke-width:2px}.excursion-rules .trek-badge{fill:#e4eadf;stroke:#0e78bd;stroke-width:2px}.excursion-rules .trek-detail{fill:none;stroke:#f6efdf;stroke-width:2px}.trail-illustration{color:var(--cream);background:#063866;flex-direction:column;justify-content:space-between;min-height:970px;padding:clamp(45px,5vw,76px) clamp(24px,4vw,60px);display:flex;position:relative;overflow:hidden}.trail-illustration>div{z-index:1;position:relative}.trail-illustration span,.senior-community>span{color:#b9cbbf;letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:900}.trail-illustration strong{letter-spacing:-.05em;margin-top:20px;font-size:clamp(38px,4vw,67px);line-height:.98;display:block}.trail-illustration svg{opacity:.34;width:100%;height:100%;position:absolute;inset:0}.trail-sun{fill:#e8bd65;opacity:.95}.trail-mountain-back{fill:#789982;opacity:.72}.trail-mountain-front{fill:#0e78bd;stroke:#b3c9bb;stroke-width:3px}.trail-snow{fill:#f3eee2;opacity:.9}.trail-route{fill:none;stroke:#e8bd65;stroke-dasharray:10 14;stroke-linecap:round;stroke-width:8px}.trail-marker{fill:#c84b42;stroke:#f5e9d1;stroke-width:6px}.trail-tree{fill:#224f41;stroke:#b3c9bb;stroke-width:3px}.trail-tree-small{opacity:.8}.senior-community{color:#fff;background:#0e78bd;flex-direction:column;justify-content:center;min-height:1050px;padding:clamp(50px,7vw,110px);display:flex;position:relative}.facebook-emblem{background:#1877f2;border-radius:24px;justify-content:center;align-items:flex-end;width:112px;height:112px;margin-bottom:60px;font-family:Arial,sans-serif;font-size:92px;font-weight:900;line-height:.87;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000038}.senior-community h2{letter-spacing:-.055em;margin:20px 0 28px;font-size:clamp(48px,5vw,82px);line-height:.95}.senior-community p{color:#d0ddd5;max-width:580px;font-size:19px;line-height:1.65}.senior-community a{color:#163c32;background:#fff;align-self:flex-start;align-items:center;gap:28px;margin-top:24px;padding:18px 22px;font-weight:900;display:inline-flex}.senior-community a b{color:#1877f2;font-size:22px}.senior-community small{color:#b9cbbf;max-width:520px;margin-top:24px;line-height:1.55}.senior-closing{grid-template-columns:.75fr 1fr;gap:clamp(55px,8vw,130px);display:grid}.senior-closing h2{letter-spacing:-.055em;margin:0;font-size:clamp(48px,5.8vw,86px);line-height:.96}.gallery-section{background:var(--forest);color:var(--cream);padding:clamp(80px,9vw,130px) 0;overflow:hidden}.gallery-heading{justify-content:space-between;align-items:end;padding:0 clamp(24px,7vw,110px) 45px;display:flex}.gallery-heading p{color:var(--sage);text-transform:uppercase;font-size:13px;font-weight:800}.gym-gallery{scroll-snap-type:x mandatory;scrollbar-color:var(--red) transparent;gap:16px;padding:0 clamp(24px,7vw,110px) 24px;display:flex;overflow-x:auto}.gym-gallery figure{scroll-snap-align:start;flex:0 0 min(72vw,930px);margin:0}.gym-gallery img{object-fit:cover;width:100%;height:min(58vw,610px);display:block}.gym-gallery figcaption{color:var(--sage);letter-spacing:.15em;padding-top:14px;font-size:11px;font-weight:900}.gym-price-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.gym-price-grid article{background:var(--paper);min-height:240px;padding:26px;display:grid}.gym-price-grid span{font-size:14px;font-weight:800}.gym-price-grid strong{color:var(--forest);letter-spacing:-.05em;align-self:end;font-size:48px}.gym-price-grid small{color:#66726b}.rules-layout{grid-template-columns:.75fr 1fr;gap:clamp(50px,8vw,130px);display:grid}.document-card{background:var(--red);color:#fff;margin-top:42px;padding:30px}.document-card>span{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:900}.document-card h3{margin:48px 0 12px;font-size:27px}.document-card p{line-height:1.55}.document-card a{border-bottom:2px solid #fff;margin-top:15px;padding-bottom:7px;font-weight:900;display:inline-block}.rules-list>div{border-top:1px solid #c8d0c8;grid-template-columns:34px 68px 1fr;align-items:center;gap:20px;padding:18px 0;display:grid}.rules-list b{color:var(--red);letter-spacing:.08em;align-self:start;padding-top:8px;font-size:12px}.rules-list p{margin:0;font-size:16px;line-height:1.55}.gym-rule-icon{background:#f4eee2;border-radius:44% 56% 48% 52%;width:64px;height:64px;padding:7px;overflow:visible;transform:rotate(-3deg);box-shadow:0 5px #1f4c4114}.rules-list>div:nth-child(2n) .gym-rule-icon{background:#e6eee7;transform:rotate(3deg)}.rule-icon-paper{fill:#fffaf0;stroke:#1f4c41;stroke-linejoin:round;stroke-width:2.2px}.rule-icon-shadow{fill:#d7cbb8}.rule-icon-red{fill:#b53a30;stroke:#1f4c41;stroke-linejoin:round;stroke-width:1.7px}.rule-icon-ink{fill:#1f4c41;stroke:#1f4c41;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.3px}.rule-icon-line{fill:none;stroke:#1f4c41;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px}.rule-icon-rope{fill:none;stroke:#c65e40;stroke-linecap:round;stroke-width:6px}.rule-icon-rope-wrap{fill:none;stroke:#1f4c41;stroke-linecap:round;stroke-width:3.2px}.rule-icon-ban{fill:none;stroke:#b53a30;stroke-linecap:round;stroke-width:7px}.gym-final{background:var(--forest-deep);color:var(--cream);grid-template-columns:1fr auto;align-items:center;gap:70px;padding:clamp(70px,8vw,115px) clamp(24px,7vw,110px);display:grid}.bosco-intro{grid-template-columns:.85fr 1fr;gap:clamp(50px,9vw,150px);display:grid}.bosco-species-section .section-heading{margin-bottom:52px}.bosco-species-grid{grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.bosco-species-grid article{background:var(--paper);min-height:330px;padding:36px}.bosco-species-grid strong{color:var(--red);letter-spacing:-.06em;font-size:72px;line-height:1;display:block}.bosco-species-grid span{color:#65736b;margin-top:28px;font-size:12px;font-style:italic;display:block}.bosco-species-grid h3{letter-spacing:-.04em;margin:8px 0 16px;font-size:30px}.bosco-species-grid p{color:#435366;margin:0;line-height:1.6}.bosco-biodiversity{background:var(--forest-deep);color:var(--cream);grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(28px,5vw,72px);padding:clamp(70px,8vw,120px) clamp(24px,7vw,110px);display:grid;position:relative;overflow:hidden}.bosco-biodiversity-mark{color:var(--sage);opacity:.22;font-size:clamp(80px,12vw,170px);transform:rotate(18deg)}.bosco-biodiversity h2{letter-spacing:-.055em;margin:12px 0 24px;font-size:clamp(44px,5vw,76px);line-height:.98}.bosco-biodiversity p{color:#d3dccf;max-width:770px;margin:0;font-size:18px;line-height:1.7}.bosco-status{letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;border:1px solid #ffffff73;border-radius:999px;padding:13px 18px;font-size:11px;font-weight:900}.bosco-plan{grid-template-columns:.58fr 1.42fr;align-items:center;gap:clamp(45px,8vw,120px);display:grid}.bosco-plan>div>p{color:#435366;font-size:18px;line-height:1.7}.bosco-plan figure{margin:0}.bosco-plan img{width:100%;height:auto;display:block;box-shadow:0 20px 60px #032c5221}.bosco-plan figcaption{color:#6e796f;letter-spacing:.1em;text-transform:uppercase;padding-top:14px;font-size:11px}.gym-final p{color:var(--sage);max-width:700px;font-size:18px;line-height:1.6}.hub-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.hub-grid a{background:var(--paper);min-height:370px;padding:34px;transition:all .2s;display:grid}.hub-grid a:hover{background:var(--forest);color:#fff;transform:translateY(-4px)}.hub-grid b{color:var(--red);font-size:12px}.hub-grid h3{align-self:end;margin:42px 0 10px;font-size:28px}.hub-grid p{line-height:1.55}.hub-grid span{font-weight:900}.hub-icon{filter:drop-shadow(0 9px 12px #1230281f);stroke-linecap:round;stroke-linejoin:round;width:92px;height:92px;overflow:visible}.hub-icon .hub-shadow{fill:#d7c4a6;opacity:.55}.hub-icon .hub-cover{fill:#b63834;stroke:#7e2826;stroke-width:2px}.hub-icon .hub-spine{fill:none;stroke:#f1d8bd;stroke-width:2px}.hub-icon .hub-cream{fill:#f4ead5;stroke:#7e2826;stroke-width:1.5px}.hub-icon .hub-detail,.hub-icon .hub-paper{fill:none;stroke:#f7efdf;stroke-width:2px}.hub-icon .hub-sun{fill:#e8bd65;stroke:#9a6d22;stroke-width:1.5px}.hub-icon .hub-mountain-back{fill:#a8c0ad;stroke:#0e78bd;stroke-width:2px}.hub-icon .hub-skin{fill:#e7bd96;stroke:#684a37;stroke-width:1.5px}.hub-icon .hub-jacket{fill:#c84b42;stroke:#7a2826;stroke-width:2px}.hub-icon .hub-jacket-alt{fill:#0e78bd;stroke:#23483b;stroke-width:2px}.hub-icon .hub-snow{fill:#f7f2e7;stroke:#0e78bd;stroke-width:1.5px}.hub-icon .hub-book{fill:#c84b42;stroke:#7a2826;stroke-width:2px}.hub-grid a:hover .hub-icon{filter:drop-shadow(0 10px 14px #0000002e)}.info-strip{background:var(--red);color:#fff;grid-template-columns:repeat(3,1fr);padding:0 clamp(24px,7vw,110px);display:grid}.info-strip>div{gap:8px;padding:34px 25px 34px 0;display:grid}.info-strip>div+div{border-left:1px solid #ffffff40;padding-left:35px}.info-strip small{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:900}.info-strip strong,.info-strip a{font-size:18px}.program-poster{object-fit:contain;background:#fff;max-width:100%;max-height:700px;margin-top:35px;display:block}.rich-copy h3{color:var(--forest);margin:38px 0 8px;font-size:24px}.check-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.check-grid article{background:var(--paper);min-height:210px;padding:28px}.check-grid b{color:var(--red)}.check-grid p{margin-top:70px;font-weight:700;line-height:1.55}.course-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.course-grid article{background:var(--paper);min-height:320px;padding:35px}.course-grid span{color:var(--red);font-size:12px;font-weight:900}.course-grid h3{margin:100px 0 16px;font-size:30px}.course-grid p{color:#435366;line-height:1.6}.org-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:45px;display:grid}.org-grid article{background:#edf7fd;padding:35px}.org-grid .org-wide{grid-column:1/-1}.org-grid h2{margin-bottom:30px;font-size:32px}.org-grid ul{margin:0;padding:0;list-style:none}.org-grid li{border-top:1px solid #b9d3e5;padding:14px 0;line-height:1.5}.org-name-list{grid-template-columns:repeat(3,1fr);display:grid}.org-name-list li{padding-right:22px}.org-term>span{color:#dce6df;letter-spacing:.08em;white-space:nowrap;font-size:20px;font-weight:900}.notice-box{background:var(--forest);color:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;padding:28px;display:grid}.notice-box strong{font-size:22px}.notice-box p{color:#d8e9f5;margin:0;line-height:1.55}.notice-box a{border-bottom:0;padding-bottom:6px;font-weight:900}.timeline{max-width:1100px;margin:auto}.timeline article{border-top:1px solid #c3d9e8;grid-template-columns:150px 1fr;gap:60px;padding:40px 0;display:grid}.timeline article>span{color:var(--red);font-size:20px;font-weight:900}.timeline h2{margin:0 0 15px;font-size:42px}.timeline p{color:#435366;margin:0;font-size:17px;line-height:1.7}.story-quote{background:var(--red);color:#fff;justify-content:space-between;align-items:center;padding:60px clamp(24px,7vw,110px);display:flex}.story-quote p{letter-spacing:-.05em;margin:0;font-size:clamp(32px,5vw,70px);font-weight:900}.product-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.product-grid article{background:#edf7fd}.product-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.product-grid article>div{padding:32px}.product-grid span{color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:900}.product-grid h2{margin:14px 0;font-size:35px}.product-grid strong{font-size:45px}.product-grid p{color:#435366;line-height:1.6}.archive-callout{background:var(--paper);grid-template-columns:1fr auto;align-items:center;gap:60px;margin-top:50px;padding:40px;display:grid}.archive-callout h2{margin:0 0 14px;font-size:36px}.archive-callout p{color:#435366;line-height:1.6}.seniores-callout{background:var(--forest);color:var(--cream);grid-template-columns:1fr auto;align-items:center;gap:60px;display:grid}.seniores-callout h2{letter-spacing:-.05em;margin:0;font-size:clamp(42px,5vw,72px);line-height:1}.seniores-callout p{color:var(--sage);font-size:18px;line-height:1.6}@media (width<=760px){.page-hero-art{opacity:.1;width:560px;height:auto;top:53%;right:-210px;transform:translateY(-50%)rotate(-10deg)}.page-hero-trace{opacity:.105;width:520px;height:auto;right:-185px}.hero-trace-membership{width:540px;right:-210px;transform:translateY(-50%)rotate(1deg)}.rules-list>div{grid-template-columns:28px 56px 1fr;gap:12px}.gym-rule-icon{width:52px;height:52px;padding:6px}.two-columns,.membership-page,.feature-grid,.shop-grid,.contact-grid,.social-band,.stat-band,.benefit-grid,.insurance-heading,.insurance-cards,.gym-story,.gym-price-grid,.rules-layout,.gym-final,.hub-grid,.info-strip,.check-grid,.course-grid,.org-grid,.product-grid,.archive-callout,.seniores-callout,.excursion-intro,.excursion-details,.excursion-programs,.sectional-program-layout,.senior-program-layout,.senior-closing,.bosco-intro,.bosco-species-grid,.bosco-biodiversity,.bosco-plan{grid-template-columns:1fr}.bosco-biodiversity-mark{display:none}.bosco-status{justify-self:start}.stat-band>div+div{border-top:1px solid #ffffff40;border-left:0;padding-left:0}.shirt-visual{height:300px}.insurance-heading .section-kicker{grid-column:auto}.insurance-cards article{min-height:240px}.insurance-cards h3{margin-top:45px}.gym-features{grid-template-columns:1fr}.gallery-heading{flex-direction:column;align-items:flex-start}.gym-gallery figure{flex-basis:88vw}.gym-gallery img{height:65vw}.info-strip>div+div{border-top:1px solid #ffffff40;border-left:0;padding-left:0}.notice-box{grid-template-columns:1fr}.org-grid .org-wide{grid-column:auto}.org-name-list{grid-template-columns:1fr}.timeline article{grid-template-columns:1fr;gap:18px}.story-quote{flex-direction:column;align-items:flex-start;gap:30px}.excursion-program{padding:45px 24px}.excursion-list article{grid-template-columns:68px 1fr auto}.trail-illustration,.senior-community{min-height:720px}}@media (width<=980px){.desktop-nav,.header-ridge{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{border:2px solid var(--forest);cursor:pointer;text-transform:uppercase;padding:12px 16px;font-size:14px;font-weight:800;list-style:none}.mobile-menu nav{background:var(--cream);min-width:310px;max-height:calc(100vh - 100px);padding:12px;display:grid;position:absolute;top:48px;right:0;overflow-y:auto;box-shadow:0 20px 40px #032c5229}.mobile-menu nav a{border-bottom:1px solid #032c521f;padding:10px 14px 10px 26px;font-weight:700}.mobile-nav-group{display:grid}.mobile-menu nav .mobile-main-link{color:var(--forest);letter-spacing:.08em;text-transform:uppercase;background:#e8e9e2;padding:14px;font-size:13px;font-weight:900}.hero{grid-template-columns:1fr;padding-bottom:0}.hero-copy{min-height:auto;padding-bottom:64px}.hero-photo{min-height:480px}.photo-label{bottom:40px}.quick-links{grid-template-columns:1fr;position:relative;bottom:auto;left:auto;right:auto}.section-heading,.membership,.story{grid-template-columns:1fr}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gym{grid-template-columns:1fr}.gym-photo{min-height:520px}.story{gap:55px}.story-year{margin:0}.news-grid,.news-archive-grid{grid-template-columns:1fr}.news-card{max-width:720px}.admin-layout,.admin-form-row,.newsletter-admin{grid-template-columns:1fr}.newsletter-preview{grid-column:1}.contact-import,.newsletter-history-list{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr}}@media (width<=560px){.drawn-arrow,.button:after,.text-link:after,.action-arrow:after{width:30px;height:20px}.site-header{height:84px;padding:0 18px}.admin-header>div>span{display:none}.admin-tabs{overflow-x:auto}.admin-tabs button{padding-left:12px;padding-right:12px}.newsletter-contacts,.newsletter-compose,.newsletter-history,.newsletter-preview{padding:34px 20px}.contact-stats,.test-send{grid-template-columns:1fr}.brand{gap:10px}.brand img{width:58px;height:58px;transform:scale(1.45)}.brand small{display:none}.brand strong{font-size:28px}.hero h1{font-size:54px}.hero-copy{padding:74px 22px 54px}.hero-copy:before{top:47px;left:22px}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.hero-photo{min-height:380px}.quick-links a{min-height:112px;padding:22px}.notice,.notice>div,.notice p{align-items:flex-start}.notice{flex-direction:column;gap:20px}.notice p{display:grid}.section-heading{gap:22px}.activity-grid,.gym-data{grid-template-columns:1fr}.activity-main{grid-column:auto}.activity-featured{grid-column:auto;min-height:410px;display:flex}.activity-card{min-height:410px}.gym-photo{min-height:390px}.gym-content{padding:70px 24px}.gym-data>div+div{border-top:1px solid #f5f0e62e;border-left:0;padding-left:0}.membership-prices{box-shadow:10px 10px #d5e9f6}.membership-logo-watermark{width:115vw;top:6%;left:-25%}.membership-page-watermark{width:115vw;top:2%;left:-30%}.social-band a .drawn-arrow{margin-right:0}.story-year{font-size:34vw}.footer-main,.footer-bottom{grid-template-columns:1fr}.footer-main{display:grid}.footer-bottom{flex-direction:column;align-items:flex-start;gap:18px}.footer-bottom nav{flex-wrap:wrap;align-items:flex-start;gap:8px 18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}


/* WordPress integration and fidelity fixes */
body.admin-bar .site-header{margin-top:32px}
body.admin-bar .subnav{top:32px}
.site-header{width:100%}
.mobile-menu nav{z-index:100}
.current-page-ancestor>a:after,.current-menu-item>a:after{transform:scaleX(1)!important}
.page-hero.has-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,45,39,.97) 0%,rgba(13,45,39,.78) 48%,rgba(13,45,39,.14) 100%);z-index:0}
.page-hero.has-photo .page-hero-content{z-index:2}
.page-hero.has-photo{background-position:center;background-size:cover}
.home-activities{grid-template-columns:repeat(5,minmax(0,1fr))}
.home-activities .activity-card{min-width:0}
.home-activities .activity-featured{grid-column:auto;grid-template-columns:1fr;min-height:430px;display:flex}
.home-activities .activity-featured>div:last-child{align-self:auto}
.activity-grid.page-activities{grid-template-columns:repeat(5,minmax(0,1fr))}
.activity-grid.page-activities .activity-featured{grid-column:auto;grid-template-columns:1fr;min-height:430px;display:flex}
.rich-copy a{text-decoration:none;text-decoration-color:var(--red);text-underline-offset:4px;font-weight:800}
.content-added{border-top:1px solid #d5dbd3}
.empty-news{background:var(--paper);border:1px solid #d4dbd3;padding:34px;color:#536158}
.news-grid:has(.empty-news){grid-template-columns:1fr}
.news-card .news-placeholder{aspect-ratio:16/9;background:linear-gradient(135deg,var(--forest),var(--forest-deep));display:flex;align-items:center;justify-content:center;color:var(--cream);font-size:58px;font-weight:900}
.footer-bottom .private-area-link{opacity:.82}
.hero-photo{background-image:linear-gradient(#0000 60%,#032c527a),url(../images/site/escursionisti.jpg)}
.gym-photo{background-image:linear-gradient(#0000 75%,#032c52a6),url(../images/site/corde.jpg)}
.wp-caption,.aligncenter{max-width:100%;height:auto}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute!important;width:1px;word-wrap:normal!important}
.page-hero .section-kicker{position:relative}
.social-band svg,.footer-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.footer-icon .icon-fill,.social-icon .icon-fill{fill:currentColor;stroke:none}
.notice-box.org-term{margin-bottom:34px}
.org-name-list{gap:0 26px}
.wide-photo{width:100%;height:auto;display:block;box-shadow:0 18px 48px rgba(13,45,39,.18)}
.trail-illustration.compact{min-height:680px}
.trail-illustration.compact svg{height:100%}
.page-template-default .entry-content:empty{display:none}
@media (max-width:1180px){.home-activities,.activity-grid.page-activities{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:980px){body.admin-bar .site-header{margin-top:46px}.home-activities,.activity-grid.page-activities{grid-template-columns:repeat(2,minmax(0,1fr))}.home-activities .activity-featured,.activity-grid.page-activities .activity-featured{min-height:410px}}
@media (max-width:560px){.home-activities,.activity-grid.page-activities{grid-template-columns:1fr}.site-header{height:92px}.brand img{width:66px;height:66px}.brand small{font-size:11px}.page-hero{min-height:430px}.page-hero h1{font-size:clamp(48px,15vw,70px)}}

.activity-senior{background:linear-gradient(#032c5214 8%,#032c52f4 92%),url(../images/site/sentiero-blu.png) 56% 50%/cover no-repeat}
.activity-climb{background:linear-gradient(#032c5214 8%,#032c52f4 92%),url(../images/site/custom/course-alpinismo.png) 50% 50%/cover no-repeat}
.course-grid-photo .course-card-photo{position:relative;overflow:hidden;min-height:360px;color:var(--cream);display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center}.course-grid-photo .course-card-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,45,39,.08) 10%,rgba(13,45,39,.88) 74%,rgba(13,45,39,.97) 100%)}.course-grid-photo .course-card-photo>*{position:relative;z-index:1}.course-grid-photo .course-card-photo span{color:#f4b6a4}.course-grid-photo .course-card-photo h3{margin:76px 0 14px;color:#fff}.course-grid-photo .course-card-photo p{color:#e7ece8}.course-card-alpinismo{background-image:url(../images/site/custom/course-alpinismo.png)}.course-card-arrampicata{background-image:url(../images/site/corso-alpinismo-blu.png)}.course-card-scialpinismo{background-image:url(../images/site/custom/course-alpinismo-glacier.png)}
.method-grid article{min-height:240px;padding-top:32px}.method-grid .course-method-icon{width:68px;height:68px}.method-grid b{display:block;margin-top:18px;font-size:13px;letter-spacing:.14em}.method-grid p{margin-top:22px}.course-method-icon .method-bg{fill:#efe7d7}.course-method-icon .method-stroke{fill:none;stroke:#063866;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.course-method-icon .method-fill{fill:#b24533}
.trail-intro-action{margin-top:38px}.membership-prices-clean{background:#063866}.membership-contact-copy{display:grid;gap:24px}.membership-contact-card{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.membership-contact-card>div{background:#edf7fd;padding:24px 22px;min-height:170px}.membership-contact-card small{display:block;color:var(--red);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:900;margin-bottom:12px}.membership-contact-card strong{display:block;color:var(--forest-deep);font-size:22px;line-height:1.1;margin-bottom:10px}.membership-contact-card p{margin:0;line-height:1.55}.phone-nowrap{white-space:nowrap}@media (max-width:920px){.membership-contact-card{grid-template-columns:1fr}}@media (max-width:740px){.course-grid,.check-grid{grid-template-columns:1fr!important}.course-grid-photo .course-card-photo{min-height:300px}}

/* v4.0.2 - nuova immagine riquadro Corsi */
.activity-climb{background:linear-gradient(#032c5212 8%,#032c52f4 92%),url(../images/site/corso-alpinismo-blu.png) 52% 45%/cover no-repeat}

/* ============================================================
   CAI MEDA BLU 5.0.0 — redesign sperimentale
   ============================================================ */
:root{--blue:#073b6f;--blue-deep:#042b51;--blue-bright:#0d5b9b;--sky:#eaf4fb;--ink:#10243a;--line:#d7e3ed;--white:#fff}
body{background:#fff;color:var(--ink)}
a{transition:color .2s ease,background .2s ease,transform .2s ease,opacity .2s ease}
.blue-site-header{background:#fff;position:relative;z-index:100;box-shadow:0 2px 16px rgba(3,38,73,.08)}
.blue-topbar{min-height:42px;padding:0 clamp(22px,4vw,64px);background:linear-gradient(90deg,var(--blue-deep),var(--blue));color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:14px}
.blue-topbar>div:first-child{display:flex;gap:6px;align-items:center}.blue-topbar span{opacity:.84}.blue-top-actions{display:flex;align-items:center;gap:13px}.blue-top-actions>a:not(.blue-private){display:grid;place-items:center;width:28px;height:28px}.blue-top-actions .social-icon{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.8}.blue-top-actions .icon-fill{fill:#fff;stroke:none}
.blue-private{border:1px solid rgba(255,255,255,.65);border-radius:5px;padding:8px 15px;display:flex;align-items:center;gap:8px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.04em}.blue-private:hover{background:#fff;color:var(--blue)}
.blue-mainbar{min-height:102px;padding:0 clamp(22px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:34px}.blue-brand{display:flex;align-items:center;gap:15px;min-width:290px}.blue-brand img{width:76px;height:76px;object-fit:contain}.blue-brand span{display:grid;color:var(--blue);line-height:1}.blue-brand strong{font-size:32px;letter-spacing:.03em}.blue-brand small{font-size:15px;letter-spacing:.18em;margin-top:5px;font-weight:800}.blue-brand em{font-style:normal;font-size:13px;letter-spacing:.15em;margin-top:7px}
.blue-desktop-nav{display:flex;align-items:center;gap:clamp(15px,1.8vw,31px);font-size:13px;font-weight:800;text-transform:uppercase}.blue-desktop-nav>a,.blue-nav-group>a{padding:39px 0 33px;position:relative;white-space:nowrap}.blue-desktop-nav>a:after,.blue-nav-group>a:after{content:"";position:absolute;height:3px;background:var(--blue-bright);left:0;right:100%;bottom:24px;transition:right .25s}.blue-desktop-nav>a:hover:after,.blue-nav-group:hover>a:after{right:0}.blue-desktop-nav a:hover{color:var(--blue-bright)}
.blue-nav-group{position:relative}.blue-nav-group>div{position:absolute;top:85px;left:-18px;min-width:230px;padding:12px;background:#fff;box-shadow:0 18px 35px rgba(3,38,73,.18);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.blue-nav-group:hover>div{opacity:1;visibility:visible;transform:none}.blue-nav-group>div a{display:block;padding:12px 14px;border-bottom:1px solid var(--line);text-transform:none}.blue-nav-group>div a:last-child{border:0}.blue-nav-group>div a:hover{background:var(--sky);padding-left:18px}
.blue-mobile-menu{display:none}.blue-mobile-menu summary{font-size:27px;color:var(--blue);cursor:pointer}.blue-mobile-menu nav{position:absolute;left:0;right:0;top:100%;background:#fff;padding:20px;box-shadow:0 18px 30px rgba(3,38,73,.15)}.blue-mobile-menu nav a{display:block;padding:13px;border-bottom:1px solid var(--line);font-weight:800;text-transform:uppercase}
.blue-home{background:#fff}.blue-activity-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:410px}.blue-activity-card{position:relative;color:#fff;padding:34px clamp(20px,2.1vw,34px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border-right:1px solid rgba(255,255,255,.68);background-image:linear-gradient(180deg,rgba(4,43,81,.36),rgba(4,43,81,.88)),var(--card-image);background-position:center;background-size:cover}.blue-activity-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(14,91,155,.2),transparent 60%);transition:.35s}.blue-activity-card:hover{transform:translateY(-7px);z-index:3;box-shadow:0 18px 40px rgba(3,38,73,.3)}.blue-activity-card:hover:before{background:linear-gradient(135deg,rgba(14,91,155,.04),rgba(4,43,81,.15))}.blue-activity-card>*{position:relative;z-index:1}.blue-card-top{display:flex;align-items:flex-start;justify-content:space-between}.blue-card-top b{font-size:31px;letter-spacing:.04em}.blue-line-icon{width:60px;height:60px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.blue-activity-card h2{text-transform:uppercase;font-size:clamp(24px,2vw,34px);margin:0 0 12px;letter-spacing:-.035em}.blue-activity-card p{font-size:15px;line-height:1.5;max-width:260px;margin:0 0 24px}.blue-activity-card span{border:1px solid #fff;border-radius:4px;padding:10px 15px;text-transform:uppercase;font-size:12px;font-weight:800;display:inline-block}.blue-activity-card:hover span{background:#fff;color:var(--blue)}
.blue-method-trail{display:grid;grid-template-columns:1.1fr .9fr}.blue-method{padding:42px clamp(24px,4vw,65px) 48px}.blue-method header{text-align:center}.blue-method header span,.blue-section-title>span,.blue-feature-band>div>span{color:var(--blue-bright);text-transform:uppercase;font-weight:800;letter-spacing:.13em;font-size:11px}.blue-method h2{color:var(--blue);text-transform:uppercase;font-size:30px;margin:8px 0 34px}.blue-method-grid{display:grid;grid-template-columns:repeat(4,1fr)}.blue-method-grid article{text-align:center;padding:8px 22px;border-right:1px solid var(--line)}.blue-method-grid article:last-child{border:0}.blue-method-grid .blue-line-icon{color:var(--blue);width:68px;height:68px}.blue-method-grid h3{color:var(--blue);text-transform:uppercase;font-size:14px;margin:12px 0 8px}.blue-method-grid p{font-size:13px;line-height:1.45;margin:0;color:#435366}
.blue-trail-feature{min-height:350px;color:#fff;display:flex;align-items:center;padding:50px clamp(32px,5vw,75px);background:linear-gradient(90deg,rgba(5,56,103,.88),rgba(5,56,103,.44)),url(../images/site/sentiero-blu.png) center/cover no-repeat}.blue-trail-feature span{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800}.blue-trail-feature h2{font-size:34px;text-transform:uppercase;margin:10px 0}.blue-trail-feature p{font-size:17px;max-width:500px;line-height:1.55}.blue-trail-feature strong{border:1px solid #fff;padding:11px 15px;border-radius:4px;display:inline-block;margin-top:12px;text-transform:uppercase;font-size:12px}
.blue-feature-band{display:grid;grid-template-columns:1fr .75fr;gap:50px;align-items:center;padding:65px clamp(24px,7vw,110px);background:linear-gradient(135deg,#edf7fd,#fff)}.blue-feature-band h2{font-size:clamp(39px,4.5vw,65px);color:var(--blue);letter-spacing:-.05em;margin:10px 0 20px}.blue-feature-band p{max-width:680px;font-size:18px;line-height:1.65;color:#435366}.blue-feature-band>div>a{display:inline-block;background:var(--blue);color:#fff;padding:13px 20px;border-radius:4px;margin-top:10px;font-weight:800}.blue-feature-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.blue-feature-actions a{min-height:170px;background:#fff;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 10px 28px rgba(3,38,73,.08)}.blue-feature-actions a:hover{background:var(--blue);color:#fff;transform:translateY(-5px)}.blue-feature-actions b{font-size:24px}.blue-feature-actions span{margin-top:7px}
.blue-news-section{padding:70px clamp(24px,7vw,110px)}.blue-section-title{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:35px}.blue-section-title span{grid-column:1/-1}.blue-section-title h2{color:var(--blue);font-size:clamp(38px,4vw,58px);margin:8px 0 0}.blue-section-title>a{color:var(--blue);font-weight:800;text-decoration:none}
.blue-footer{background:var(--blue-deep);color:#fff}.blue-value-row{background:linear-gradient(90deg,var(--blue),#084b83);display:grid;grid-template-columns:repeat(4,1fr);padding:35px clamp(24px,6vw,90px);gap:30px}.blue-value-row article{display:flex;align-items:center;gap:18px}.blue-value-row svg{width:54px;height:54px;flex:0 0 auto;fill:none;stroke:#fff;stroke-width:1.6}.blue-value-row .hub-icon{width:58px;height:58px}.blue-value-row .hub-icon *,.blue-value-row .icon-rescue-badge,.blue-value-row .icon-cross,.blue-value-row .icon-mountain-back,.blue-value-row .icon-mountain-front,.blue-value-row .icon-snow,.blue-value-row .icon-sun{fill:none!important;stroke:#fff!important;stroke-width:1.5}.blue-value-row strong{display:block;text-transform:uppercase;font-size:15px;margin-bottom:5px}.blue-value-row span{display:block;font-size:13px;line-height:1.45;opacity:.86}.blue-footer-bottom{padding:23px clamp(24px,4vw,64px);display:flex;justify-content:space-between;gap:25px;color:#d7e8f5;font-size:12px}.blue-footer-bottom div{display:flex;gap:20px}
/* Restyle existing internal pages without altering their content */
.page-hero{background-color:var(--blue)!important}.page-hero:after{background:linear-gradient(90deg,rgba(4,43,81,.9),rgba(4,43,81,.35))!important}.page-hero-content{color:#fff}.section-kicker{color:var(--blue-bright)!important}.section-kicker.light{color:#fff!important}.inner-section h2,.section-heading h2{color:var(--blue)}.pale-section{background:#edf5fa}.stat-band{background:var(--blue)}.button-primary{background:var(--blue)!important;border-color:var(--blue)!important}.forest-button{background:var(--blue)!important;border-color:var(--blue)!important}.insurance-section,.gym-final,.social-band{background:var(--blue-deep)!important}.subnav{background:#fff;border-color:var(--line)}.subnav a:hover{color:var(--blue)}.membership-prices{background:var(--blue)!important}.news-card h3 a:hover{color:var(--blue-bright)}
@media(max-width:1180px){.blue-desktop-nav{display:none}.blue-mobile-menu{display:block}.blue-activity-strip{grid-template-columns:repeat(5,260px);overflow-x:auto;scroll-snap-type:x mandatory}.blue-activity-card{scroll-snap-align:start}.blue-mainbar{min-height:88px}.blue-brand img{width:65px;height:65px}}
@media(max-width:820px){.blue-topbar>div:first-child span{display:none}.blue-private{padding:7px 10px}.blue-brand{min-width:0}.blue-brand strong{font-size:25px}.blue-brand small{font-size:12px}.blue-brand em{display:none}.blue-method-trail,.blue-feature-band{grid-template-columns:1fr}.blue-method-grid{grid-template-columns:repeat(2,1fr);gap:25px}.blue-method-grid article:nth-child(2){border:0}.blue-value-row{grid-template-columns:repeat(2,1fr)}.blue-footer-bottom{flex-direction:column}.blue-section-title{grid-template-columns:1fr}.blue-section-title>a{margin-top:14px}.blue-feature-actions{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.blue-top-actions>a:not(.blue-private){display:none}.blue-topbar{padding:0 15px}.blue-mainbar{padding:0 15px}.blue-brand img{width:55px;height:55px}.blue-brand span small{display:none}.blue-brand strong{font-size:22px}.blue-activity-strip{grid-template-columns:repeat(5,84vw)}.blue-activity-card{min-height:390px}.blue-method-grid{grid-template-columns:1fr 1fr}.blue-method-grid article{padding:8px 12px}.blue-method-grid .blue-line-icon{width:54px;height:54px}.blue-value-row{grid-template-columns:1fr}.blue-feature-actions{grid-template-columns:1fr}.blue-footer-bottom div{flex-wrap:wrap}}


/* CAI Meda Blu 5.0.1 */
.blue-top-spacer{min-width:1px}
.blue-home-v501{background:#fff}
.blue-home-hero{position:relative;min-height:680px;background:url(../images/site/montagna-hero.jpg) center 44%/cover no-repeat;color:#fff;overflow:hidden}
.blue-home-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,32,64,.91) 0%,rgba(3,52,94,.72) 45%,rgba(3,52,94,.15) 78%),linear-gradient(0deg,rgba(3,32,64,.56),transparent 48%)}
.blue-home-hero-copy{position:relative;z-index:1;max-width:760px;padding:90px clamp(24px,7vw,110px) 220px}
.blue-home-hero-copy>span{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900}
.blue-home-hero-copy h1{font-size:clamp(52px,6.3vw,96px);letter-spacing:-.055em;line-height:.92;margin:18px 0 26px}
.blue-home-hero-copy p{font-size:clamp(18px,1.6vw,24px);line-height:1.6;max-width:720px;margin:0}
.blue-home-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.blue-home-hero-actions a{background:#fff;color:var(--blue);padding:14px 21px;border:1px solid #fff;border-radius:4px;font-weight:900;text-transform:uppercase;font-size:13px}
.blue-home-hero-actions a.secondary{background:transparent;color:#fff}
.blue-home-hero-actions a:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.2)}
.blue-home-hero-menu{position:absolute;z-index:2;left:clamp(24px,7vw,110px);right:clamp(24px,7vw,110px);bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;color:var(--blue);box-shadow:0 -12px 35px rgba(3,38,73,.18)}
.blue-home-hero-menu a{padding:27px 25px;border-right:1px solid var(--line);display:grid;gap:7px;transition:.25s}
.blue-home-hero-menu a:last-child{border-right:0}.blue-home-hero-menu a:hover{background:var(--blue);color:#fff;transform:translateY(-7px)}
.blue-home-hero-menu b{color:var(--blue-bright);font-size:13px;letter-spacing:.14em}.blue-home-hero-menu span{font-size:25px;font-weight:900;text-transform:uppercase}.blue-home-hero-menu small{font-size:13px;line-height:1.45;color:inherit;opacity:.82}
.blue-method-home{padding:65px clamp(24px,7vw,110px)}
.blue-feature-band-home{border-top:1px solid var(--line)}
.blue-activities-page-intro{text-align:center;padding:85px clamp(24px,7vw,110px) 50px;background:#fff}.blue-activities-page-intro>span{color:var(--blue-bright);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900}.blue-activities-page-intro h2{color:var(--blue);font-size:clamp(44px,5vw,78px);letter-spacing:-.055em;line-height:.96;margin:14px auto 20px;max-width:920px}.blue-activities-page-intro p{color:#435366;font-size:18px;margin:0 auto;max-width:760px;line-height:1.6}
.blue-activities-page-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));min-height:480px}
.blue-activity-card-page{min-height:480px}
.blue-activity-card-page h2{font-size:clamp(21px,1.55vw,30px)}
.blue-activities-note{display:grid;grid-template-columns:.85fr 1fr;gap:70px;padding:70px clamp(24px,7vw,110px);background:#edf7fd;align-items:center}.blue-activities-note span{color:var(--blue-bright);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900}.blue-activities-note h2{color:var(--blue);font-size:clamp(39px,4vw,62px);line-height:1;margin:10px 0 0}.blue-activities-note p{color:#435366;font-size:18px;line-height:1.7;margin:0}
/* Estensione del nuovo tema a tutte le pagine interne */
:root{--forest:#063866;--forest-deep:#032c52;--cream:#fff;--paper:#f7fbfe;--red:#0e78bd}
body{background:#fff;color:#14283a}.inner-section,.section{background:#fff}.pale-section{background:#edf7fd!important}.stat-band,.info-strip,.notice-box,.story-quote{background:var(--blue)!important}.activity-card{background-color:var(--blue)!important}.activity-card:before{background:linear-gradient(180deg,rgba(4,43,81,.18),rgba(4,43,81,.94))!important}.gym-content,.gym-final,.insurance-section,.social-band,.bosco-biodiversity{background:var(--blue-deep)!important}.gym-features article,.benefit-grid article,.feature-grid article,.course-grid article,.check-grid article,.org-grid article{background:#edf7fd}.membership-page-watermark,.membership-logo-watermark{opacity:.04!important}.membership-prices{background:var(--blue)!important}.footer-main,footer,.blue-footer{background:var(--blue-deep)!important}.subnav{background:#fff!important}.subnav a{color:var(--blue)!important}.subnav a:hover{background:#edf7fd}.section-kicker,.card-tag,.course-grid span,.check-grid b,.org-grid b{color:var(--blue-bright)!important}.page-hero.has-photo:after{background:linear-gradient(90deg,rgba(3,44,82,.92),rgba(3,44,82,.35))!important}
@media(max-width:1180px){.blue-activities-page-grid{grid-template-columns:repeat(3,1fr)}.blue-activity-card-page{min-height:420px}.blue-home-hero-menu{grid-template-columns:repeat(2,1fr)}.blue-home-hero{min-height:820px}.blue-home-hero-copy{padding-bottom:360px}}
@media(max-width:760px){.blue-home-hero{min-height:900px}.blue-home-hero-copy{padding:65px 22px 450px}.blue-home-hero-menu{left:16px;right:16px;grid-template-columns:1fr}.blue-home-hero-menu a{padding:18px 20px}.blue-home-hero-menu span{font-size:20px}.blue-activities-page-grid{grid-template-columns:1fr;gap:1px;background:var(--blue)}.blue-activity-card-page{min-height:390px}.blue-activities-note{grid-template-columns:1fr;gap:25px}.blue-method-home{padding-left:20px;padding-right:20px}}


/* CAI Meda Blu 5.0.2 */
.blue-mainbar{align-items:center}
.blue-desktop-nav{align-items:center;height:100%}
.blue-desktop-nav>a,.blue-nav-group{height:100%;display:flex;align-items:center}
.blue-nav-group>a{height:100%;display:flex;align-items:center;line-height:1}
.blue-desktop-nav>a{line-height:1}
.blue-home-hero{min-height:610px}
.blue-home-hero-copy{padding-bottom:190px}
.blue-feature-band-home{padding-top:80px;padding-bottom:80px}
.blue-feature-copy>a{display:none!important}
.blue-feature-actions{gap:20px}
.blue-feature-actions a{position:relative;min-height:220px;padding:32px 34px;border-radius:6px;overflow:hidden;transition:transform .25s,background .25s,color .25s,box-shadow .25s}
.blue-feature-actions a:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(14,120,189,.06),transparent 55%);pointer-events:none}
.blue-feature-actions .blue-action-number{font-size:12px;letter-spacing:.16em;font-weight:900;color:var(--blue-bright);margin:0 0 auto}
.blue-feature-actions b{font-size:27px;line-height:1.05}
.blue-feature-actions small{font-size:14px;line-height:1.55;margin-top:10px;max-width:290px}
.blue-feature-actions i{position:absolute;right:28px;bottom:24px;font-style:normal;font-size:30px;transition:transform .2s}
.blue-feature-actions a:hover i{transform:translateX(6px)}
.blue-gym-features article{position:relative;padding-top:30px!important}
.blue-gym-icon{width:72px;height:72px;margin-bottom:25px;fill:none;stroke:var(--blue);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.blue-gym-features strong{display:block;margin-top:0!important;color:var(--blue-bright)!important}
.blue-gym-features h3{margin-top:20px!important}
/* Elimina residui cromatici verdi dalle pagine interne */
.seniores-callout,.insurance-section,.gym-final,.social-band,.gym-content,.bosco-biodiversity,.footer-main,footer{background:#032c52!important}
.notice-box,.stat-band,.info-strip,.story-quote{background:#063866!important}
.membership-prices,.membership-prices-clean{background:#063866!important}
.course-method-icon .method-stroke{stroke:#063866!important}
.course-method-icon .method-bg{fill:#edf7fd!important}
.gym-membership-notice{background:#063866!important}
.excursion-program-senior{background:#edf7fd!important}
.senior-community{background:#063866!important}
@media(max-width:1180px){.blue-home-hero{min-height:760px}.blue-home-hero-copy{padding-bottom:320px}}
@media(max-width:760px){.blue-home-hero{min-height:840px}.blue-home-hero-copy{padding-bottom:420px}.blue-feature-band-home{padding-top:55px;padding-bottom:55px}}


/* CAI Meda Blu 5.0.3 */
.blue-home-hero{padding-bottom:22px}
.blue-home-hero-menu{bottom:22px}
.blue-hero-tile-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.blue-home-hero-menu .blue-access-icon{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.92;transition:transform .25s}
.blue-home-hero-menu a:hover .blue-access-icon{transform:translateY(-4px) scale(1.05)}
.blue-feature-actions-v503{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.blue-feature-actions-v503 a{display:grid;grid-template-columns:82px 1fr auto;align-items:center;gap:24px;min-height:190px;padding:30px 32px;border:1px solid #c9e0ef;background:#fff;color:var(--blue);box-shadow:0 12px 30px rgba(3,44,82,.08)}
.blue-feature-actions-v503 a:hover{background:var(--blue);color:#fff;transform:translateY(-5px);box-shadow:0 18px 38px rgba(3,44,82,.2)}
.blue-feature-action-icon{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:#edf7fd;color:var(--blue)}
.blue-feature-actions-v503 a:hover .blue-feature-action-icon{background:rgba(255,255,255,.13);color:#fff}
.blue-feature-action-icon .blue-access-icon{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.blue-feature-action-copy{display:grid;gap:8px}
.blue-feature-actions-v503 .blue-action-number{margin:0}
.blue-feature-actions-v503 b{font-size:25px;line-height:1.1}
.blue-feature-actions-v503 small{margin:0;max-width:none}
.blue-feature-actions-v503 i{position:static;align-self:end;font-size:28px}
.blue-activity-card-page{background-position:center!important}
.blue-activity-card-page.seniores-new{background-position:50% 44%!important}
.blue-activity-card-page.courses-new{background-position:76% 50%!important}
.blue-activity-card-page.trail-new{background-position:50% 55%!important}
.blue-activity-card-page.forest-new{background-position:50% 48%!important}
.rules-list .blue-safety-icon{width:72px;height:72px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin:10px 0 18px;transition:transform .2s,stroke .2s}
@media(max-width:900px){.blue-feature-actions-v503{grid-template-columns:1fr}.blue-feature-actions-v503 a{grid-template-columns:70px 1fr auto}}
@media(max-width:600px){.blue-home-hero{padding-bottom:14px}.blue-home-hero-menu{bottom:14px}.blue-home-hero-menu .blue-access-icon{width:42px;height:42px}.blue-feature-actions-v503 a{grid-template-columns:58px 1fr;padding:24px 20px}.blue-feature-action-icon{width:58px;height:58px}.blue-feature-action-icon .blue-access-icon{width:36px;height:36px}.blue-feature-actions-v503 i{display:none}}


/* CAI Meda Blu 5.0.4 */
.blue-footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding-top:27px;padding-bottom:27px}
.blue-activity-card-page.trail-new{background-position:50% 52%!important}
.blue-activity-card-page.forest-new{background-position:50% 54%!important}
.course-school-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(50px,7vw,110px);padding:clamp(80px,9vw,135px) clamp(24px,7vw,110px);background:linear-gradient(135deg,#fff 0%,#f0f8fd 100%);align-items:center}
.course-school-copy>span,.course-disciplines-section>header>span,.course-method-heading>span{color:var(--blue-bright);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.course-school-copy h2{color:var(--blue);font-size:clamp(46px,5vw,78px);letter-spacing:-.055em;line-height:.98;margin:15px 0 28px}
.course-school-copy p{color:#40556a;font-size:18px;line-height:1.75;max-width:850px}
.course-school-copy p+p{margin-top:16px}
.course-school-link{display:inline-flex;align-items:center;gap:18px;margin-top:30px;background:var(--blue);color:#fff;padding:15px 22px;border-radius:5px;font-weight:900}
.course-school-link:hover{background:var(--blue-bright);transform:translateY(-3px)}
.course-school-link span{font-size:20px}
.course-school-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.course-school-facts article{min-height:180px;background:#fff;border:1px solid #cfe2ef;padding:28px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 30px rgba(3,44,82,.07)}
.course-school-facts strong{color:var(--blue);font-size:clamp(34px,3vw,52px);letter-spacing:-.045em;line-height:1}
.course-school-facts span{color:#506477;font-size:14px;line-height:1.5;font-weight:700}
.course-disciplines-section{padding:clamp(80px,9vw,135px) clamp(24px,7vw,110px);background:#fff}
.course-disciplines-section>header{max-width:900px;margin-bottom:45px}
.course-disciplines-section>header h2{color:var(--blue);font-size:clamp(44px,5vw,76px);line-height:.98;letter-spacing:-.055em;margin:14px 0 20px}
.course-disciplines-section>header p{color:#506477;font-size:18px;line-height:1.7;max-width:760px}
.course-discipline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.course-discipline-card{position:relative;min-height:520px;padding:30px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background-size:cover!important;background-position:center!important;box-shadow:0 16px 36px rgba(3,44,82,.16)}
.course-discipline-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,43,81,.14) 5%,rgba(4,43,81,.94) 80%)}
.course-discipline-card>*{position:relative;z-index:1}
.course-discipline-card.course-card-alpinismo{background-image:url(../images/site/corso-alpinismo-blu.png)}
.course-discipline-card.course-card-arrampicata{background-image:url(../images/site/corso-alpinismo-blu.png)}
.course-discipline-card.course-card-scialpinismo{background-image:url(../images/site/custom/course-alpinismo-glacier.png)}
.course-discipline-number{font-size:31px;font-weight:900;letter-spacing:.08em}
.course-discipline-card span{color:#d5ebf8;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.course-discipline-card h3{font-size:clamp(30px,2.7vw,44px);line-height:1;margin:12px 0 18px}
.course-discipline-card p{font-size:15px;line-height:1.65;color:#eef7fc;margin:0}
.course-method-section{padding:clamp(80px,9vw,135px) clamp(24px,7vw,110px);background:#eaf4fb}
.course-method-heading{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:end;margin-bottom:42px}
.course-method-heading>span{grid-column:1/-1}
.course-method-heading h2{color:var(--blue);font-size:clamp(46px,5vw,76px);letter-spacing:-.055em;line-height:.98;margin:0}
.course-method-heading p{color:#506477;font-size:18px;line-height:1.7;margin:0}
.course-method-creative{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.course-method-creative article{position:relative;min-height:330px;background:#fff;border:1px solid #cfe2ef;padding:30px;overflow:hidden;transition:transform .25s,box-shadow .25s,background .25s,color .25s}
.course-method-creative article:after{content:"";position:absolute;width:130px;height:130px;border:1px solid rgba(14,120,189,.12);border-radius:50%;right:-45px;bottom:-45px}
.course-method-index{color:var(--blue-bright);font-weight:900;letter-spacing:.16em;font-size:12px;margin-bottom:26px}
.course-method-creative .course-method-icon{width:74px;height:74px;margin-bottom:26px}
.course-method-creative h3{color:var(--blue);font-size:25px;margin:0 0 12px}
.course-method-creative p{color:#506477;line-height:1.65;margin:0}
@media(max-width:1050px){.course-school-intro{grid-template-columns:1fr}.course-discipline-grid{grid-template-columns:1fr}.course-discipline-card{min-height:450px}.course-method-creative{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.course-school-facts{grid-template-columns:1fr}.course-method-heading{grid-template-columns:1fr;gap:20px}.course-method-creative{grid-template-columns:1fr}.course-school-copy p,.course-disciplines-section>header p,.course-method-heading p{font-size:16px}.blue-footer-bottom{flex-direction:column}.blue-footer-bottom div{flex-wrap:wrap}}


/* CAI Meda Blu 5.0.5 — course page and icon language refresh */
.course-discipline-card.course-card-alpinismo{background-image:url(../images/site/custom/course-alpinismo-glacier.png)!important;background-position:center 42%!important}
.course-discipline-card.course-card-arrampicata{background-position:center 38%!important}
.course-discipline-card.course-card-scialpinismo{background-position:center 45%!important}

.course-method-redesign{gap:22px}
.course-method-redesign article{min-height:380px;border:0;border-top:5px solid var(--blue-bright);padding:28px 28px 32px;background:linear-gradient(180deg,#fff 0%,#f8fcff 100%);box-shadow:0 14px 34px rgba(3,44,82,.09);display:flex;flex-direction:column}
.course-method-redesign article:after{width:150px;height:150px;border:2px solid rgba(14,120,189,.08);right:-60px;bottom:-62px}
.course-method-redesign .course-method-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}
.course-method-redesign .course-method-index{margin:0;color:var(--blue);font-size:26px;letter-spacing:.02em}
.course-method-redesign .course-method-icon{width:88px;height:88px;margin:0;flex:none}
.course-method-redesign .course-method-label{display:block;color:var(--blue-bright);font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}
.course-method-redesign h3{font-size:28px;line-height:1.05;margin:0 0 14px}
.course-method-redesign p{font-size:15px;line-height:1.7;margin:0}
.course-method-redesign .course-method-line{height:2px;width:58px;background:var(--blue-bright);margin-top:auto;padding-top:0;transform:translateY(8px)}

/* Unified outlined icon style inspired by the supplied reference artwork */
.blue-outline-icon,.blue-line-icon,.blue-gym-icon,.gym-rule-icon,.benefit-grid svg,.feature-grid svg,.hub-icon{fill:none!important;stroke:var(--blue)!important;stroke-width:2.4!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.blue-outline-icon *,.blue-line-icon *,.blue-gym-icon *,.gym-rule-icon *{fill:none!important;stroke:inherit!important}
.blue-home-icon-wrap,.blue-gym-icon-wrap,.course-method-top{color:var(--blue)}

@media(max-width:1050px){.course-method-redesign article{min-height:340px}}
@media(max-width:700px){.course-method-redesign{gap:16px}.course-method-redesign article{min-height:320px}.course-method-redesign .course-method-top{margin-bottom:18px}.course-method-redesign .course-method-icon{width:76px;height:76px}}

/* CAI Meda Blu 5.0.6 — icone lineari uniformi e nuova immagine Alpinismo */
.course-discipline-card.course-card-alpinismo{
  background-image:url(../images/site/custom/course-alpinismo.png)!important;
  background-position:62% 45%!important;
}

/* Linguaggio grafico unico: contorno blu, nessun riempimento, terminali arrotondati */
.blue-access-icon,
.blue-home-icon,
.blue-outline-icon,
.blue-line-icon,
.blue-gym-icon,
.blue-safety-icon,
.gym-rule-icon,
.hub-icon,
.benefit-grid svg,
.feature-grid svg,
.excursion-rules svg,
.footer-icon{
  fill:none!important;
  stroke:var(--blue)!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke;
}
.blue-access-icon *,
.blue-home-icon *,
.blue-outline-icon *,
.blue-line-icon *,
.blue-gym-icon *,
.blue-safety-icon *,
.gym-rule-icon *,
.hub-icon *,
.benefit-grid svg *,
.feature-grid svg *,
.excursion-rules svg *,
.footer-icon *{
  fill:none!important;
  stroke:inherit!important;
  stroke-width:inherit!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.blue-access-icon,.blue-home-icon{width:76px!important;height:76px!important}
.blue-gym-icon,.blue-safety-icon,.gym-rule-icon{width:78px!important;height:78px!important}
.benefit-grid svg,.feature-grid svg,.excursion-rules svg,.hub-icon{width:74px!important;height:74px!important}
.course-method-icon{width:88px!important;height:88px!important;fill:none!important;stroke:var(--blue)!important;stroke-width:2.15!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.course-method-icon *{fill:none!important;stroke:inherit!important;stroke-width:inherit!important;stroke-linecap:round!important;stroke-linejoin:round!important}

/* Elimina ombre e riempimenti decorativi che rendevano le icone disomogenee */
.hub-shadow,.method-bg,.icon-fill,.rule-icon-shadow,.rule-icon-paper,.rule-icon-red,.rule-icon-ink,
.icon-sun,.icon-mountain-back,.icon-mountain-front,.icon-snow,.icon-rescue-badge,.icon-cross,
.icon-hut-roof,.icon-hut,.icon-door,.icon-window,.icon-tag,.icon-tag-hole,.icon-percent,.icon-ribbon,
.icon-shelf,.icon-book-red,.icon-book-green,.icon-book-cream,.icon-book-lines,.icon-magazine-back,
.icon-magazine-page,.icon-magazine-photo,.icon-magazine-lines,.trek-badge,.trek-jacket,.trek-detail,
.trek-pack,.trek-pocket,.trek-sun,.trek-mountain,.trek-snow,.trek-person-skin,.trek-jacket-alt,.trek-path{
  fill:none!important;
  stroke:var(--blue)!important;
}

@media(max-width:700px){
  .blue-access-icon,.blue-home-icon{width:66px!important;height:66px!important}
  .blue-gym-icon,.blue-safety-icon,.gym-rule-icon{width:68px!important;height:68px!important}
}


/* v5.0.7 — Attività integrate nella home e voce menu non cliccabile */
.blue-home-hero-without-tiles{min-height:clamp(520px,68vh,760px);display:flex;align-items:flex-end;padding-bottom:clamp(58px,7vw,100px)}
.blue-home-hero-without-tiles .blue-home-hero-copy{max-width:760px}
.blue-home-activities-embed{background:#fff;padding:clamp(70px,8vw,120px) 0 0}
.blue-home-activities-intro{padding-top:0}
.blue-home-activities-embed .blue-activities-page-grid{margin-top:0}
.blue-home-activities-note{margin-top:0}
.blue-nav-static{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:default;padding:0;display:flex;align-items:center;gap:6px}
.blue-nav-static:after{content:"⌄";font-size:.8em;transform:translateY(-1px)}
.blue-nav-group-static:hover .blue-nav-static,.blue-nav-group-static:focus-within .blue-nav-static{color:var(--blue,#073b70)}
.blue-mobile-activities{border:0}
.blue-mobile-activities summary{list-style:none;cursor:pointer;font-weight:700;padding:14px 0}
.blue-mobile-activities summary::-webkit-details-marker{display:none}
.blue-mobile-activities summary:after{content:"+";float:right}
.blue-mobile-activities[open] summary:after{content:"−"}
.blue-mobile-activities>div{display:grid;padding:0 0 12px 16px}
.blue-mobile-activities>div a{font-size:.94em;padding:9px 0}
@media(max-width:900px){
  .blue-home-hero-without-tiles{min-height:540px;padding-bottom:54px}
  .blue-home-activities-embed{padding-top:58px}
}

/* CAI Meda Blu 5.0.8 */
.blue-activity-card-page.trail-new{background-image:linear-gradient(180deg,rgba(3,44,82,.12),rgba(3,44,82,.9)),url(../images/site/sentiero-brianza.jpg)!important;background-position:50% 57%!important}

/* Mobile navigation: visible control and smooth off-canvas drawer */
.blue-mobile-menu{position:relative;z-index:80}
.blue-mobile-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:11px;color:var(--blue);border:1px solid #b9d2e4;border-radius:999px;padding:10px 14px;background:#fff;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 7px 20px rgba(3,44,82,.08)}
.blue-mobile-menu>summary::-webkit-details-marker{display:none}
.blue-menu-icon{width:24px;height:18px;display:grid;align-content:space-between}
.blue-menu-icon i{display:block;height:2px;border-radius:4px;background:currentColor;transition:transform .25s ease,opacity .2s ease}
.blue-mobile-menu[open] .blue-menu-icon i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.blue-mobile-menu[open] .blue-menu-icon i:nth-child(2){opacity:0}
.blue-mobile-menu[open] .blue-menu-icon i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.blue-mobile-menu:before{content:"";position:fixed;inset:0;background:rgba(2,24,47,.5);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .28s ease;z-index:88}
.blue-mobile-menu[open]:before{opacity:1;pointer-events:auto}
.blue-mobile-drawer{position:fixed;top:0;right:0;width:min(88vw,390px);height:100dvh;background:#fff;z-index:90;display:flex;flex-direction:column;box-shadow:-24px 0 55px rgba(2,31,61,.24);transform:translateX(104%);transition:transform .32s cubic-bezier(.2,.8,.2,1);overflow-y:auto}
.blue-mobile-menu[open] .blue-mobile-drawer{transform:translateX(0)}
.blue-mobile-drawer-head{background:linear-gradient(135deg,var(--blue-deep),var(--blue));color:#fff;padding:34px 28px 26px;display:flex;justify-content:space-between;align-items:end}
.blue-mobile-drawer-head strong{font-size:25px;text-transform:uppercase;letter-spacing:-.02em}.blue-mobile-drawer-head span{font-size:12px;opacity:.78;text-transform:uppercase;letter-spacing:.12em}
.blue-mobile-drawer nav{position:static!important;box-shadow:none!important;padding:18px 22px!important;background:#fff!important;flex:1}
.blue-mobile-drawer nav>a,.blue-mobile-activities>summary{display:grid!important;grid-template-columns:34px 1fr auto;align-items:center;padding:16px 8px!important;border-bottom:1px solid var(--line)!important;font-size:16px!important;font-weight:900!important;text-transform:none!important;color:var(--blue-deep)}
.blue-mobile-drawer nav>a span,.blue-mobile-activities>summary span{color:var(--blue-bright);font-size:11px;letter-spacing:.1em}
.blue-mobile-activities>summary{list-style:none;cursor:pointer}.blue-mobile-activities>summary::-webkit-details-marker{display:none}.blue-mobile-activities>summary b{font-size:24px;font-weight:400;transition:transform .2s}.blue-mobile-activities[open]>summary b{transform:rotate(45deg)}
.blue-mobile-activities>div{background:#edf6fb;border-radius:0 0 12px 12px;padding:7px 10px 12px;margin-bottom:8px}
.blue-mobile-activities>div a{display:block;padding:12px 14px!important;border-bottom:1px solid #d5e6f1!important;font-size:14px!important;text-transform:none!important;color:#274a67}
.blue-mobile-activities>div a:last-child{border-bottom:0!important}
.blue-mobile-drawer-foot{display:flex;gap:10px;padding:20px 28px 28px;border-top:1px solid var(--line)}
.blue-mobile-drawer-foot a{border:1px solid #b9d2e4;border-radius:999px;padding:9px 13px;color:var(--blue);font-weight:800;font-size:12px}
body.blue-menu-open{overflow:hidden}

/* Palestra: photographic illustrations with hand-drawn blue contours */
.blue-gym-illustration,.blue-safety-illustration{display:block;overflow:hidden;background:#eef7fc;border:1px solid #c7deec;border-radius:18px;box-shadow:0 12px 28px rgba(3,44,82,.08)}
.blue-gym-illustration{width:100%;height:126px;margin-bottom:18px}
.blue-gym-illustration img,.blue-safety-illustration img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.7) contrast(1.02)}
.blue-gym-features article{padding:22px!important}.blue-gym-features article>strong{display:block;margin-top:4px}
.blue-safety-illustration{width:118px;height:82px;margin:8px 0 18px}

@media(max-width:1180px){.blue-menu-label{display:inline}.blue-mobile-menu{display:block}.blue-mobile-menu>summary{position:relative;z-index:91}}
@media(max-width:520px){.blue-mobile-menu>summary{padding:9px 11px}.blue-menu-label{font-size:11px}.blue-mobile-drawer{width:92vw}.blue-safety-illustration{width:104px;height:74px}.blue-gym-illustration{height:115px}}


/* v5.0.9 - nuove icone palestra illustrate */
.blue-gym-illustration,.blue-safety-illustration{display:block;position:relative;overflow:hidden;background:linear-gradient(180deg,#f3faff 0%,#eaf5fc 100%);border:1px solid #c7deec;border-radius:20px;box-shadow:0 12px 28px rgba(3,44,82,.08)}
.blue-gym-illustration{width:100%;height:126px;margin-bottom:18px}
.blue-safety-illustration{width:118px;height:82px;margin:8px 0 18px}
.blue-gym-illustration svg,.blue-safety-illustration svg{width:100%;height:100%;display:block}
.blue-gym-features article{padding:22px!important}.blue-gym-features article>strong{display:block;margin-top:4px}
.blue-gym-illustration-svg .sketch-bg,.blue-safety-illustration-svg .sketch-bg{fill:#f7fbfe;stroke:#cfe3f1;stroke-width:1.5}
.blue-gym-illustration-svg .sketch-bg-white,.blue-safety-illustration-svg .sketch-bg-white{fill:#ffffff;stroke:#0f5d95;stroke-width:2}
.blue-gym-illustration-svg .sketch-line,.blue-safety-illustration-svg .sketch-line{fill:none;stroke:#0f5d95;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}
.blue-gym-illustration-svg .sketch-line.thick,.blue-safety-illustration-svg .sketch-line.thick{stroke-width:4}
.blue-gym-illustration-svg .sketch-accent,.blue-safety-illustration-svg .sketch-accent{fill:#dff1fb;stroke:#0f5d95;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.blue-gym-illustration-svg .sketch-fill-blue,.blue-safety-illustration-svg .sketch-fill-blue{fill:#98d3f3;stroke:#0f5d95;stroke-width:2}
.blue-gym-illustration-svg .sketch-fill-sky,.blue-safety-illustration-svg .sketch-fill-sky{fill:#cfeeff;stroke:#0f5d95;stroke-width:2}
.blue-gym-illustration-svg .sketch-fill-cream,.blue-safety-illustration-svg .sketch-fill-cream{fill:#fff4d8;stroke:#0f5d95;stroke-width:2}
.blue-gym-illustration-svg .sketch-dot,.blue-safety-illustration-svg .sketch-dot{fill:#0f5d95}
.blue-gym-illustration-svg .sketch-arrow,.blue-safety-illustration-svg .sketch-arrow{fill:none;stroke:#0f5d95;stroke-width:2.3;stroke-linecap:round}
.blue-gym-illustration-svg .sketch-arrow-head,.blue-safety-illustration-svg .sketch-arrow-head{fill:none;stroke:#0f5d95;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.blue-gym-illustration-svg .sketch-text,.blue-safety-illustration-svg .sketch-text{fill:#0f5d95;font-size:13px;font-weight:900;font-family:inherit}
.gym-final{position:relative;overflow:hidden}
.gym-final-actions{display:flex;align-items:center;gap:24px;justify-self:end}
.gym-final-whatsapp-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;width:112px;height:112px;border-radius:28px;background:rgba(255,255,255,.06)}
.gym-final-whatsapp-bg{position:absolute;inset:auto;opacity:.14;width:190px;height:190px;object-fit:contain;filter:grayscale(1) brightness(4)}
.gym-final-whatsapp-fg{position:relative;width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}
@media(max-width:900px){.gym-final{grid-template-columns:1fr;gap:30px}.gym-final-actions{justify-self:start}.gym-final-whatsapp-mark{width:92px;height:92px}.gym-final-whatsapp-bg{width:150px;height:150px}.gym-final-whatsapp-fg{width:54px;height:54px}}
@media(max-width:520px){.blue-safety-illustration{width:104px;height:74px}.blue-gym-illustration{height:115px}.gym-final-actions{gap:16px;flex-wrap:wrap}}


/* v5.0.10 - icone attività in stile lineare come riferimento */
.blue-activity-card .blue-line-icon,
.blue-activity-card-page .blue-line-icon{
  width:66px;
  height:66px;
  color:rgba(255,255,255,.98);
  stroke:currentColor!important;
  stroke-width:2.2!important;
  fill:none!important;
  opacity:.98;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.16));
}
.blue-activity-card .blue-line-icon *,
.blue-activity-card-page .blue-line-icon *{
  stroke:inherit!important;
  fill:none!important;
  stroke-width:inherit!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.blue-card-top{gap:16px}
.blue-card-top b{font-size:31px;letter-spacing:.04em}
@media(max-width:760px){
  .blue-activity-card .blue-line-icon,
  .blue-activity-card-page .blue-line-icon{width:58px;height:58px}
}


/* v5.0.11 - icone attività meno astratte e più descrittive */
.blue-activity-card .blue-line-icon,
.blue-activity-card-page .blue-line-icon{
  width:68px;
  height:68px;
  color:#fff;
  stroke:currentColor!important;
  stroke-width:2.15!important;
  fill:none!important;
  opacity:1;
}
.blue-activity-card .blue-line-icon *,
.blue-activity-card-page .blue-line-icon *{
  stroke:inherit!important;
  fill:none!important;
  stroke-width:inherit!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.blue-card-top .blue-line-icon{flex:0 0 auto}
@media(max-width:760px){
  .blue-activity-card .blue-line-icon,
  .blue-activity-card-page .blue-line-icon{width:60px;height:60px}
}


/* v5.0.12 - riquadri attività senza numeri e con icone più realistiche */
.blue-card-top{display:flex;align-items:flex-start;justify-content:flex-end;min-height:72px;margin-bottom:10px}
.blue-card-top b{display:none!important}
.blue-activity-card .blue-line-icon,
.blue-activity-card-page .blue-line-icon{
  width:68px;
  height:68px;
  color:#fff;
  stroke:currentColor!important;
  stroke-width:2.05!important;
  fill:none!important;
  opacity:1;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.18));
}
.blue-activity-card .blue-line-icon *,
.blue-activity-card-page .blue-line-icon *{
  stroke:inherit!important;
  fill:none!important;
  stroke-width:inherit!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
@media(max-width:760px){
  .blue-card-top{min-height:62px}
  .blue-activity-card .blue-line-icon,
  .blue-activity-card-page .blue-line-icon{width:60px;height:60px}
}


/* v5.0.13 - icone attività specifiche richieste */
.blue-activity-card .blue-activity-icon,.blue-activity-card-page .blue-activity-icon{width:70px;height:70px;stroke-width:2.1!important}


/* v5.0.15 - icone attività derivate dai riferimenti forniti */
.blue-card-top{display:flex;justify-content:flex-end;align-items:flex-start;min-height:96px;margin-bottom:8px}
.activity-reference-icon{display:inline-flex;align-items:center;justify-content:center;width:104px;height:104px}
.activity-reference-icon img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.22))}
@media(max-width:760px){
  .blue-card-top{min-height:82px}
  .activity-reference-icon{width:88px;height:88px}
}


/* v5.0.16 - correzione icone attività: nessun riquadro, più contrasto */
.blue-activity-card .blue-card-top,
.blue-activity-card-page .blue-card-top{
  min-height:118px;
  margin:0 0 10px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.blue-activity-card .activity-reference-icon,
.blue-activity-card-page .activity-reference-icon{
  width:118px;
  height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
}
.blue-activity-card .activity-reference-icon img,
.blue-activity-card-page .activity-reference-icon img{
  width:100%;
  height:100%;
  max-width:118px;
  max-height:118px;
  object-fit:contain;
  opacity:1!important;
  filter:brightness(0) invert(1) drop-shadow(0 4px 10px rgba(0,0,0,.28));
}
.blue-activity-card:hover .activity-reference-icon,
.blue-activity-card-page:hover .activity-reference-icon{
  background:transparent!important;
  color:inherit!important;
}
.blue-activity-card>div:last-child>span,
.blue-activity-card-page>div:last-child>span{
  border:1px solid #fff;
  border-radius:4px;
  padding:10px 15px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:800;
  display:inline-block;
}
.blue-activity-card:hover>div:last-child>span,
.blue-activity-card-page:hover>div:last-child>span{
  background:#fff;
  color:var(--blue);
}
@media(max-width:760px){
  .blue-activity-card .blue-card-top,
  .blue-activity-card-page .blue-card-top{min-height:98px}
  .blue-activity-card .activity-reference-icon,
  .blue-activity-card-page .activity-reference-icon{width:98px;height:98px}
  .blue-activity-card .activity-reference-icon img,
  .blue-activity-card-page .activity-reference-icon img{max-width:98px;max-height:98px}
}


/* v5.0.17 - icone attività ben visibili e più leggibili */
.blue-activity-card .blue-card-top,
.blue-activity-card-page .blue-card-top{
  min-height:132px;
  margin:0 0 14px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.blue-activity-card .activity-reference-icon,
.blue-activity-card-page .activity-reference-icon{
  width:132px;
  height:132px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
}
.blue-activity-card .activity-reference-icon img,
.blue-activity-card-page .activity-reference-icon img{
  width:100%;
  height:100%;
  max-width:132px;
  max-height:132px;
  object-fit:contain;
  opacity:1!important;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.35));
  image-rendering:auto;
}
@media(max-width:760px){
  .blue-activity-card .blue-card-top,
  .blue-activity-card-page .blue-card-top{min-height:108px}
  .blue-activity-card .activity-reference-icon,
  .blue-activity-card-page .activity-reference-icon{width:108px;height:108px}
  .blue-activity-card .activity-reference-icon img,
  .blue-activity-card-page .activity-reference-icon img{max-width:108px;max-height:108px}
}


/* v5.0.18 - icone attività più fini, 10% più piccole e in alto a destra */
.blue-activity-card .blue-card-top,
.blue-activity-card-page .blue-card-top{
  min-height:118px;
  margin:0 0 14px;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  text-align:right;
}
.blue-activity-card .activity-reference-icon,
.blue-activity-card-page .activity-reference-icon{
  width:118px;
  height:118px;
  margin-left:auto;
  margin-right:0;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
}
.blue-activity-card .activity-reference-icon img,
.blue-activity-card-page .activity-reference-icon img{
  width:100%;
  height:100%;
  max-width:118px;
  max-height:118px;
  object-fit:contain;
  opacity:1!important;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.28));
}
@media(max-width:760px){
  .blue-activity-card .blue-card-top,
  .blue-activity-card-page .blue-card-top{min-height:96px}
  .blue-activity-card .activity-reference-icon,
  .blue-activity-card-page .activity-reference-icon{width:96px;height:96px}
  .blue-activity-card .activity-reference-icon img,
  .blue-activity-card-page .activity-reference-icon img{max-width:96px;max-height:96px}
}


/* v5.0.19 - loghi molto più fini e 30% più piccoli */
.blue-activity-card .blue-card-top,
.blue-activity-card-page .blue-card-top{
  min-height:86px;
  margin:0 0 12px;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  text-align:right;
}
.blue-activity-card .activity-reference-icon,
.blue-activity-card-page .activity-reference-icon{
  width:82px;
  height:82px;
  margin-left:auto;
  margin-right:0;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
}
.blue-activity-card .activity-reference-icon img,
.blue-activity-card-page .activity-reference-icon img{
  width:100%;
  height:100%;
  max-width:82px;
  max-height:82px;
  object-fit:contain;
  opacity:1!important;
  filter:drop-shadow(0 3px 7px rgba(0,0,0,.22));
}
@media(max-width:760px){
  .blue-activity-card .blue-card-top,
  .blue-activity-card-page .blue-card-top{min-height:74px}
  .blue-activity-card .activity-reference-icon,
  .blue-activity-card-page .activity-reference-icon{width:72px;height:72px}
  .blue-activity-card .activity-reference-icon img,
  .blue-activity-card-page .activity-reference-icon img{max-width:72px;max-height:72px}
}


/* v5.0.20 - icone rimosse dai riquadri; testi mantenuti in basso */
.blue-activity-card .blue-card-top,
.blue-activity-card-page .blue-card-top,
.blue-activity-card .activity-reference-icon,
.blue-activity-card-page .activity-reference-icon{
  display:none!important;
}
.blue-activity-card,
.blue-activity-card-page{
  justify-content:flex-end!important;
}
.blue-activity-card>div:last-child,
.blue-activity-card-page>div:last-child{
  margin-top:auto;
}

/* v5.0.23 - voce Attività cliccabile */
.blue-nav-static{cursor:pointer!important;text-decoration:none}


/* v5.0.24 - social e area privata spostati nel footer */
.blue-site-header .blue-topbar{display:none!important}
.blue-mainbar{min-height:94px}
.blue-footer-socials{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:30px clamp(24px,4vw,64px);
  border-bottom:1px solid rgba(255,255,255,.15);
  background:linear-gradient(90deg,#032c52,#063866);
}
.blue-footer-social-link,
.blue-footer-private-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:11px 18px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  color:#fff;
  font-size:13px;
  font-weight:800;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.blue-footer-social-link:hover,
.blue-footer-private-link:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.1);
  border-color:#fff;
}
.blue-footer-social-link .social-icon{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.blue-footer-social-link .icon-fill{fill:currentColor;stroke:none}
.blue-footer-lock{font-size:18px;line-height:1}
@media(max-width:600px){
  .blue-footer-socials{flex-direction:column;align-items:stretch;padding:24px 20px}
  .blue-footer-social-link,.blue-footer-private-link{width:100%}
}


/* v5.0.25 - striscia superiore sottile e footer unico compatto */
.blue-top-thin-strip{
  height:8px;
  width:100%;
  background:linear-gradient(90deg,var(--blue-deep),var(--blue));
}
.blue-footer.blue-footer-compact{
  background:var(--blue-deep)!important;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.14);
}
.blue-footer-single-row{
  min-height:58px;
  padding:10px clamp(18px,3.5vw,56px);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:24px;
  font-size:12px;
}
.blue-footer-left{
  color:#dceaf4;
  white-space:nowrap;
}
.blue-footer-center{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.blue-footer-icon-link{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#fff;
  opacity:.9;
  transition:opacity .2s ease,transform .2s ease;
}
.blue-footer-icon-link:hover{opacity:1;transform:translateY(-2px)}
.blue-footer-icon-link .social-icon{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.blue-footer-icon-link .icon-fill{fill:currentColor;stroke:none}
.blue-footer-private-compact{
  border:1px solid rgba(255,255,255,.48);
  border-radius:4px;
  padding:6px 10px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:10px;
  font-weight:800;
  line-height:1;
  transition:background .2s ease,color .2s ease;
}
.blue-footer-private-compact:hover{background:#fff;color:var(--blue-deep)}
.blue-footer-right{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:16px;
  white-space:nowrap;
  color:#dceaf4;
}
.blue-footer-right a:hover{text-decoration:none;text-underline-offset:3px}
.blue-footer-socials,.blue-footer-bottom{display:none!important}
@media(max-width:900px){
  .blue-footer-single-row{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:10px;
    padding-top:14px;
    padding-bottom:14px;
  }
  .blue-footer-left,.blue-footer-right{white-space:normal}
  .blue-footer-right{justify-content:center;flex-wrap:wrap;gap:8px 14px}
}
@media(max-width:520px){
  .blue-top-thin-strip{height:6px}
  .blue-footer-single-row{font-size:11px}
  .blue-footer-center{gap:10px}
}


/* v5.0.26 - fascia superiore doppia, footer più basso, social più grandi */
.blue-top-thin-strip{height:16px!important}
.blue-footer-single-row{
  min-height:44px!important;
  padding:5px clamp(18px,3.5vw,56px)!important;
  gap:20px!important;
}
.blue-footer-center{gap:14px!important}
.blue-footer-icon-link{
  width:34px!important;
  height:34px!important;
}
.blue-footer-icon-link .social-icon{
  width:27px!important;
  height:27px!important;
}
.blue-footer-icon-link .social-icon-facebook circle{
  fill:currentColor!important;
  stroke:none!important;
}
.blue-footer-icon-link .social-icon-facebook .facebook-f{
  fill:var(--blue-deep)!important;
  stroke:none!important;
}
.blue-footer-private-compact{padding:5px 9px!important}
.blue-feature-action-copy{gap:4px}
.blue-feature-action-copy .blue-action-number{display:none!important}
@media(max-width:900px){
  .blue-footer-single-row{padding-top:8px!important;padding-bottom:8px!important}
}
@media(max-width:520px){
  .blue-top-thin-strip{height:12px!important}
  .blue-footer-icon-link{width:32px!important;height:32px!important}
  .blue-footer-icon-link .social-icon{width:25px!important;height:25px!important}
}


/* v5.0.27 - footer più basso, niente loghi nel metodo corsi, icone palestra disegnate a matita */
.blue-footer-single-row{min-height:24px!important;padding:2px clamp(14px,3vw,38px)!important;gap:14px!important}
.blue-footer-center{gap:12px!important}
.blue-footer-private-compact{padding:3px 8px!important}
@media(max-width:900px){.blue-footer-single-row{padding-top:4px!important;padding-bottom:4px!important;gap:8px!important}}
@media(max-width:520px){.blue-footer-single-row{min-height:22px!important}}
.course-method-redesign .course-method-top{justify-content:flex-start!important}
.course-method-redesign .course-method-icon{display:none!important}

.blue-gym-illustration,.blue-safety-illustration{background:linear-gradient(180deg,#f8fbfd 0%,#eef5fa 100%)!important;border:1px solid #d7e1e8!important;box-shadow:0 8px 18px rgba(45,74,96,.08)!important}
.pencil-gym-svg .pencil-card{fill:#fdfefe;stroke:#d3dde4;stroke-width:1.1}
.pencil-gym-svg .pencil-line{fill:none;stroke:#5e6c77;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pencil-gym-svg .pencil-line.soft{stroke:#44515c;stroke-width:1.95}
.pencil-gym-svg .pencil-line.ghost{stroke:#92a0aa;stroke-width:1.2}
.pencil-gym-svg .pencil-line.ghostfill{fill:rgba(133,151,164,.13);stroke:#697883;stroke-width:1.5}
.pencil-gym-svg .pencil-shade{fill:rgba(146,160,170,.17);stroke:#5d6b76;stroke-width:1.45;stroke-linejoin:round}
.pencil-gym-svg .pencil-dot{fill:#65737e}
.pencil-gym-svg .pencil-text{fill:#576570;font-size:12px;font-weight:700;font-family:inherit}


/* v5.0.28 - pagina palestra senza icone */
.blue-gym-features article{padding:32px!important;min-height:250px!important;display:flex;flex-direction:column;justify-content:flex-end}
.blue-gym-features article>strong{margin-top:0!important}
.blue-gym-features h3{margin:18px 0 12px!important}
.rules-list>div{grid-template-columns:34px 1fr!important;gap:20px!important;align-items:start!important}
.rules-list b{padding-top:3px!important}
.blue-gym-illustration,.blue-safety-illustration{display:none!important}
@media(max-width:760px){.rules-list>div{grid-template-columns:28px 1fr!important;gap:14px!important}}


/* v5.0.29 - icone disegnate palestra da riferimento utente */
.blue-gym-features article{padding:26px!important;min-height:290px!important;display:flex;flex-direction:column}
.gym-feature-sketch{width:100%;max-width:220px;height:120px;object-fit:contain;align-self:flex-start;margin:0 0 8px;filter:contrast(1.03) saturate(.9)}
.blue-gym-features strong{margin-top:6px!important}
.blue-gym-features h3{margin-top:14px!important}
.rules-list>div{grid-template-columns:34px 120px 1fr!important;align-items:center!important;gap:20px!important}
.gym-rule-sketch{width:108px;height:86px;object-fit:contain;display:block;filter:contrast(1.03) saturate(.9)}
.rules-list b{padding-top:0!important;align-self:center!important}
@media(max-width:900px){
  .gym-feature-sketch{max-width:190px;height:108px}
  .rules-list>div{grid-template-columns:30px 96px 1fr!important;gap:16px!important}
  .gym-rule-sketch{width:90px;height:72px}
}
@media(max-width:560px){
  .blue-gym-features article{min-height:auto!important}
  .gym-feature-sketch{max-width:165px;height:96px}
  .rules-list>div{grid-template-columns:1fr!important;gap:10px!important}
  .rules-list b{justify-self:start}
  .gym-rule-sketch{width:100px;height:76px}
}


/* v5.0.30 - ritaglio corretto icone 03-05 e footer dimezzato */
.gym-rule-sketch{object-fit:contain!important;object-position:center!important}
.blue-footer-single-row{
  min-height:22px!important;
  padding:0 clamp(12px,2.5vw,30px)!important;
  gap:10px!important;
  font-size:10px!important;
  line-height:1!important;
}
.blue-footer-center{gap:8px!important}
.blue-footer-icon-link{width:22px!important;height:22px!important}
.blue-footer-icon-link .social-icon{width:18px!important;height:18px!important}
.blue-footer-private-compact{padding:3px 6px!important;font-size:8px!important;line-height:1!important}
.blue-footer-right{gap:10px!important}
@media(max-width:900px){
  .blue-footer-single-row{padding-top:2px!important;padding-bottom:2px!important;gap:5px!important}
}
@media(max-width:520px){
  .blue-footer-single-row{font-size:9px!important;min-height:20px!important}
  .blue-footer-icon-link{width:20px!important;height:20px!important}
  .blue-footer-icon-link .social-icon{width:16px!important;height:16px!important}
}


/* v5.0.31 - ritaglio definitivo 03-05 e footer mobile su una sola fascia */
.blue-footer-single-row{
  min-height:18px!important;
  padding:0 clamp(8px,1.8vw,20px)!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:8px!important;
  font-size:9px!important;
  line-height:1!important;
}
.blue-footer-left,.blue-footer-right{white-space:nowrap!important}
.blue-footer-center{gap:6px!important}
.blue-footer-icon-link{width:18px!important;height:18px!important}
.blue-footer-icon-link .social-icon{width:15px!important;height:15px!important}
.blue-footer-private-compact{padding:2px 5px!important;font-size:7px!important}
.blue-footer-right{gap:7px!important;justify-content:flex-end!important;flex-wrap:nowrap!important}
@media(max-width:900px){
  .blue-footer-single-row{
    grid-template-columns:1fr auto 1fr!important;
    justify-items:stretch!important;
    text-align:initial!important;
    min-height:24px!important;
    padding:1px 5px!important;
    gap:4px!important;
    font-size:7px!important;
  }
  .blue-footer-left{justify-self:start!important}
  .blue-footer-center{justify-self:center!important;gap:4px!important}
  .blue-footer-right{justify-self:end!important;gap:4px!important;font-size:7px!important}
  .blue-footer-icon-link{width:17px!important;height:17px!important}
  .blue-footer-icon-link .social-icon{width:14px!important;height:14px!important}
  .blue-footer-private-compact{padding:2px 4px!important;font-size:6px!important}
}
@media(max-width:560px){
  .blue-footer-single-row{min-height:22px!important;font-size:6.5px!important}
  .blue-footer-right{font-size:6.5px!important}
  .blue-footer-right a:last-child{display:none}
}


/* v5.0.32 - footer realmente basso con testi e comandi nuovamente leggibili */
.blue-footer.blue-footer-compact{
  min-height:0!important;
  padding:0!important;
  margin:0!important;
}
.blue-footer-single-row{
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  padding:0 clamp(10px,2vw,28px)!important;
  margin:0!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:12px!important;
  font-size:14px!important;
  line-height:1!important;
  overflow:visible!important;
}
.blue-footer-left,.blue-footer-right{
  font-size:14px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.blue-footer-center{gap:10px!important;height:34px!important}
.blue-footer-icon-link{width:30px!important;height:30px!important;line-height:1!important}
.blue-footer-icon-link .social-icon{width:25px!important;height:25px!important}
.blue-footer-private-compact{
  padding:5px 9px!important;
  font-size:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.blue-footer-right{gap:13px!important;justify-content:flex-end!important;flex-wrap:nowrap!important}
@media(max-width:1050px){
  .blue-footer-single-row{height:32px!important;min-height:32px!important;max-height:32px!important;font-size:11px!important;gap:7px!important;padding:0 7px!important}
  .blue-footer-left,.blue-footer-right{font-size:11px!important}
  .blue-footer-center{height:32px!important;gap:6px!important}
  .blue-footer-icon-link{width:27px!important;height:27px!important}
  .blue-footer-icon-link .social-icon{width:22px!important;height:22px!important}
  .blue-footer-private-compact{font-size:8px!important;padding:4px 6px!important}
  .blue-footer-right{gap:7px!important}
}
@media(max-width:700px){
  .blue-footer-single-row{height:30px!important;min-height:30px!important;max-height:30px!important;font-size:8px!important;gap:4px!important;padding:0 4px!important}
  .blue-footer-left,.blue-footer-right{font-size:8px!important}
  .blue-footer-center{height:30px!important;gap:4px!important}
  .blue-footer-icon-link{width:24px!important;height:24px!important}
  .blue-footer-icon-link .social-icon{width:20px!important;height:20px!important}
  .blue-footer-private-compact{font-size:7px!important;padding:3px 4px!important}
  .blue-footer-right{gap:4px!important}
  .blue-footer-right a:last-child{display:none!important}
}


/* v5.0.33 - footer proporzionato e leggibile */
.blue-footer.blue-footer-compact{
  min-height:0!important;
  padding:0!important;
}
.blue-footer-single-row{
  height:52px!important;
  min-height:52px!important;
  max-height:52px!important;
  padding:0 clamp(16px,3vw,46px)!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:18px!important;
  font-size:16px!important;
  line-height:1.15!important;
}
.blue-footer-left,.blue-footer-right{
  font-size:16px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.blue-footer-center{height:52px!important;gap:14px!important}
.blue-footer-icon-link{width:36px!important;height:36px!important}
.blue-footer-icon-link .social-icon{width:29px!important;height:29px!important}
.blue-footer-private-compact{
  padding:7px 12px!important;
  font-size:11px!important;
  line-height:1!important;
  border-radius:5px!important;
}
.blue-footer-right{gap:18px!important}
@media(max-width:1050px){
  .blue-footer-single-row{height:48px!important;min-height:48px!important;max-height:48px!important;padding:0 12px!important;gap:10px!important;font-size:13px!important}
  .blue-footer-left,.blue-footer-right{font-size:13px!important}
  .blue-footer-center{height:48px!important;gap:9px!important}
  .blue-footer-icon-link{width:33px!important;height:33px!important}
  .blue-footer-icon-link .social-icon{width:27px!important;height:27px!important}
  .blue-footer-private-compact{font-size:9px!important;padding:6px 8px!important}
  .blue-footer-right{gap:10px!important}
}
@media(max-width:700px){
  .blue-footer-single-row{height:44px!important;min-height:44px!important;max-height:44px!important;padding:0 6px!important;gap:5px!important;font-size:9px!important}
  .blue-footer-left,.blue-footer-right{font-size:9px!important}
  .blue-footer-center{height:44px!important;gap:5px!important}
  .blue-footer-icon-link{width:29px!important;height:29px!important}
  .blue-footer-icon-link .social-icon{width:23px!important;height:23px!important}
  .blue-footer-private-compact{font-size:7.5px!important;padding:5px 5px!important}
  .blue-footer-right{gap:5px!important}
  .blue-footer-right a:last-child{display:none!important}
}


/* v5.0.34 - pagina contatti: social in tre riquadri sotto i contatti */
.contact-social-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  padding-top:0!important;
}
.contact-social-card{
  min-height:270px;
  padding:34px;
  background:#edf7fd;
  border:1px solid #cfe2ef;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.contact-social-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 38px rgba(3,44,82,.12);
  border-color:transparent;
}
.contact-social-icon{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  margin-bottom:28px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 20px rgba(3,44,82,.08);
}
.contact-social-icon .social-icon{width:42px;height:42px;display:block}
.contact-social-label{
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.contact-social-card h2{margin:0 0 12px;font-size:32px;color:var(--blue)}
.contact-social-card p{margin:0;color:#506477;line-height:1.55}
.contact-social-instagram .contact-social-icon{color:#d62976}
.contact-social-instagram .contact-social-label{color:#d62976}
.contact-social-facebook .contact-social-icon{color:#1877f2}
.contact-social-facebook .contact-social-label{color:#1877f2}
.contact-social-whatsapp .contact-social-icon{color:#25d366}
.contact-social-whatsapp .contact-social-label{color:#1da851}
.contact-social-card .social-icon{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-social-card .social-icon .icon-fill{fill:currentColor;stroke:none}
@media(max-width:760px){
  .contact-social-grid{grid-template-columns:1fr}
  .contact-social-card{min-height:230px}
}


/* v5.0.35 - pagina contatti: sei riquadri più compatti, allineati e loghi social blu */
body.page-contatti .page-hero{
  min-height:430px;
  padding:clamp(66px,7.8vw,108px) clamp(24px,7vw,110px);
}
body.page-contatti .page-hero p{margin-top:22px}
.contact-page-primary{
  padding-top:42px!important;
  padding-bottom:18px!important;
}
.contact-page-social{
  padding-top:0!important;
  padding-bottom:78px!important;
}
.contact-grid,
.contact-social-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.contact-grid article,
.contact-social-card{
  min-height:286px;
  padding:30px 30px 28px;
  background:#edf7fd;
  border:1px solid #cfe2ef;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
}
.contact-grid .footer-icon,
.contact-social-icon{
  width:50px;
  height:50px;
  margin-bottom:22px;
}
.contact-grid .footer-icon{color:var(--forest)}
.contact-grid h2,
.contact-social-card h2{
  margin:14px 0 12px;
  font-size:34px;
  color:var(--blue);
}
.contact-grid article>span,
.contact-social-label{
  color:var(--forest);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:11px;
  font-weight:900;
  line-height:1;
  margin-bottom:8px;
}
.contact-grid p,
.contact-social-card p{
  margin:0;
  color:#506477;
  line-height:1.58;
  font-size:16px;
}
.contact-social-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.contact-social-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(3,44,82,.11);
  border-color:transparent;
}
.contact-social-icon{
  display:grid;
  place-items:center;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--forest)!important;
}
.contact-social-icon .social-icon{width:46px;height:46px;display:block}
.contact-social-card .social-icon,
.contact-social-card .social-icon .icon-fill{
  color:var(--forest);
}
.contact-social-instagram .contact-social-icon,
.contact-social-instagram .contact-social-label,
.contact-social-facebook .contact-social-icon,
.contact-social-facebook .contact-social-label,
.contact-social-whatsapp .contact-social-icon,
.contact-social-whatsapp .contact-social-label{
  color:var(--forest)!important;
}
@media(max-width:980px){
  body.page-contatti .page-hero{min-height:390px;padding-top:62px;padding-bottom:78px}
}
@media(max-width:760px){
  .contact-page-primary{padding-top:30px!important;padding-bottom:16px!important}
  .contact-page-social{padding-bottom:56px!important}
  .contact-grid,
  .contact-social-grid{grid-template-columns:1fr;gap:14px}
  .contact-grid article,
  .contact-social-card{min-height:unset;padding:26px 24px}
  .contact-grid h2,
  .contact-social-card h2{font-size:29px}
}


/* v5.0.42 - archivio notizie completo a 6 per volta + immagine standard news */
.news-card.is-hidden{display:none!important}
.news-load-more-wrap{display:flex;justify-content:center;margin-top:28px}
.news-load-more-button{min-width:260px;justify-content:center}
.news-scroll-sentinel{height:2px;margin-top:2px}
.news-archive-section .news-placeholder{display:none}
@media (max-width:760px){
  .news-load-more-wrap{margin-top:22px}
  .news-load-more-button{width:100%}
}


/* v5.0.43 - notizie subito dopo le attività e raggruppamento archivio per anno */
.blue-home-activities-followup{background:#fff;padding:0 clamp(24px,6vw,90px) clamp(66px,7vw,100px)}
.blue-home-activities-followup .blue-home-activities-note{margin-top:0}
.news-year-strip{grid-column:1/-1;background:var(--blue-deep);color:#fff;min-height:58px;padding:0 28px;display:flex;align-items:center;margin-top:18px}
.news-year-strip:first-child{margin-top:0}
.news-year-strip span{font-size:30px;font-weight:900;letter-spacing:.04em}
.news-year-strip.is-hidden{display:none!important}
@media(max-width:760px){
  .blue-home-activities-followup{padding-left:20px;padding-right:20px}
  .news-year-strip{min-height:52px;padding:0 20px}
  .news-year-strip span{font-size:26px}
}


/* v5.0.45 - creste di montagna a matita nella fascia alta */
.blue-mainbar{position:relative;overflow:hidden}
.blue-header-ridge{
  position:absolute;
  left:clamp(300px,29vw,440px);
  right:clamp(290px,26vw,470px);
  top:50%;
  transform:translateY(-46%);
  height:44px;
  width:auto;
  pointer-events:none;
  z-index:0;
  opacity:.82;
}
.blue-header-ridge path{
  fill:none;
  stroke:#6d7d87;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.blue-header-ridge .blue-header-ridge-faint{
  stroke:#9daab2;
  stroke-width:1.15;
  opacity:.8;
}
.blue-brand,.blue-desktop-nav,.blue-mobile-menu{position:relative;z-index:1}
@media(max-width:1320px){
  .blue-header-ridge{left:clamp(280px,27vw,380px);right:clamp(240px,20vw,360px);height:40px}
}
@media(max-width:1180px){
  .blue-header-ridge{display:none}
}


/* v5.0.47 - creste grandi come v5.0.45 ma posizionate nello spazio tra logo e menu */
.blue-mainbar{position:relative;overflow:hidden;isolation:isolate}
.blue-brand,.blue-desktop-nav,.blue-mobile-menu{position:relative;z-index:2}
.blue-header-ridge{
  position:absolute;
  left:clamp(365px,31vw,505px);
  right:clamp(155px,10.5vw,235px);
  top:52%;
  transform:translateY(-48%);
  height:44px;
  width:auto;
  pointer-events:none;
  z-index:1;
  opacity:.8;
}
.blue-header-ridge path{
  fill:none;
  stroke:#6d7d87;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.blue-header-ridge .blue-header-ridge-faint{
  stroke:#9daab2;
  stroke-width:1.15;
  opacity:.78;
}
@media(max-width:1380px){
  .blue-header-ridge{left:clamp(330px,29vw,430px);right:clamp(130px,9vw,190px);height:42px}
}
@media(max-width:1240px){
  .blue-header-ridge{left:clamp(305px,27vw,390px);right:clamp(110px,6vw,150px);height:38px}
}
@media(max-width:1180px){
  .blue-header-ridge{display:none}
}


/* v5.0.48 - creste contenute esclusivamente nello spazio tra marchio e menu */
.blue-header-ridge{
  left:clamp(390px,30vw,500px)!important;
  right:auto!important;
  width:clamp(360px,33vw,560px)!important;
  max-width:calc(100% - 390px - 520px)!important;
  height:44px!important;
  top:52%!important;
  transform:translateY(-48%)!important;
}
@media(max-width:1500px){
  .blue-header-ridge{
    left:clamp(350px,28vw,440px)!important;
    width:clamp(300px,27vw,430px)!important;
    max-width:calc(100% - 350px - 500px)!important;
  }
}
@media(max-width:1320px){
  .blue-header-ridge{
    left:330px!important;
    width:300px!important;
    max-width:calc(100% - 330px - 470px)!important;
    height:40px!important;
  }
}
@media(max-width:1180px){.blue-header-ridge{display:none!important}}


/* v5.0.49 - creste più corte e spostate a sinistra */
.blue-header-ridge{
  left:clamp(390px,30vw,500px)!important;
  right:auto!important;
  width:clamp(300px,25vw,430px)!important;
  height:44px!important;
  top:52%!important;
  transform:translateY(-48%)!important;
}
@media(max-width:1450px){
  .blue-header-ridge{
    left:clamp(350px,28vw,440px)!important;
    width:clamp(250px,21vw,340px)!important;
    height:40px!important;
  }
}
@media(max-width:1280px){
  .blue-header-ridge{
    left:clamp(325px,27vw,390px)!important;
    width:clamp(200px,17vw,270px)!important;
    height:36px!important;
  }
}
@media(max-width:1180px){.blue-header-ridge{display:none!important}}


/* v5.0.50 - creste traslate a sinistra, vicine al marchio CAI Meda */
.blue-header-ridge{
  left:clamp(315px,24vw,390px)!important;
  right:auto!important;
  width:clamp(300px,25vw,430px)!important;
}
@media(max-width:1450px){
  .blue-header-ridge{
    left:clamp(295px,23vw,350px)!important;
    width:clamp(250px,21vw,340px)!important;
  }
}
@media(max-width:1280px){
  .blue-header-ridge{
    left:285px!important;
    width:clamp(200px,17vw,270px)!important;
  }
}
@media(max-width:1180px){.blue-header-ridge{display:none!important}}


/* v5.0.51 - privacy, cookie policy e informativa cookie tecnica */
.blue-footer-legal{display:inline-flex;gap:10px;margin-left:12px}
.blue-footer-legal a{text-decoration:none;text-underline-offset:3px;opacity:.92}
.legal-policy-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(48px,8vw,120px);align-items:start}
.legal-policy-intro{position:sticky;top:30px}
.legal-policy-intro h2{margin-top:14px}
.legal-policy-intro p{color:#506477;font-size:18px;line-height:1.65}
.legal-policy-content h3{color:var(--blue);font-size:25px;margin:0 0 10px}
.legal-policy-content h3:not(:first-child){margin-top:38px}
.legal-policy-content a{text-decoration:none;text-underline-offset:3px}
.legal-policy-content .button{margin-top:34px}
.caimeda-cookie-banner[hidden]{display:none!important}
.caimeda-cookie-banner{
  position:fixed;left:18px;right:18px;bottom:18px;z-index:99999;
  display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;
  max-width:1080px;margin:0 auto;padding:22px 24px;
  background:#fff;color:#14283a;border:1px solid #b8d1e2;border-top:5px solid var(--blue-bright);
  box-shadow:0 22px 60px rgba(3,44,82,.28)
}
.caimeda-cookie-copy strong{display:block;color:var(--blue);font-size:22px;margin-bottom:7px}
.caimeda-cookie-copy p{margin:0;color:#40566a;line-height:1.55;font-size:15px;max-width:760px}
.caimeda-cookie-links{display:flex;gap:16px;margin-top:10px}
.caimeda-cookie-links a{color:var(--blue);font-weight:800;text-decoration:none;text-underline-offset:3px;font-size:13px}
.caimeda-cookie-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.caimeda-cookie-continue,.caimeda-cookie-analytics{min-height:46px;border-radius:12px;padding:12px 16px;font:inherit;font-weight:900;cursor:pointer;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.caimeda-cookie-continue{border:1px solid #b7c7d3;background:#f4f7f9;color:#496173}
.caimeda-cookie-analytics{border:1px solid var(--blue);background:linear-gradient(135deg,#075f99,#063866);color:#fff;box-shadow:0 8px 20px rgba(6,56,102,.22)}
.caimeda-cookie-analytics span{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:4px;border-radius:50%;background:#b8e4f6;color:#063866;font-size:12px;line-height:1}
.caimeda-cookie-continue:hover,.caimeda-cookie-continue:focus-visible,.caimeda-cookie-analytics:hover,.caimeda-cookie-analytics:focus-visible{transform:translateY(-1px)}
.caimeda-cookie-continue:hover,.caimeda-cookie-continue:focus-visible{background:#e8f0f5;color:#214965}
.caimeda-cookie-analytics:hover,.caimeda-cookie-analytics:focus-visible{background:linear-gradient(135deg,#0876bb,#075183);box-shadow:0 11px 24px rgba(6,56,102,.3)}
.caimeda-cookie-close{position:absolute;right:10px;top:7px;border:0;background:transparent;color:var(--blue);font-size:26px;line-height:1;cursor:pointer;padding:4px 7px}
.caimeda-analytics-invite[hidden]{display:none!important}
.caimeda-analytics-invite{position:fixed;left:18px;right:18px;bottom:18px;z-index:100000;pointer-events:none}
.caimeda-analytics-invite-card{max-width:660px;margin:0 auto;padding:20px 22px;background:#fff;color:#14283a;border:1px solid #b8d1e2;border-top:4px solid var(--blue-bright);box-shadow:0 20px 54px rgba(3,44,82,.26);pointer-events:auto}
.caimeda-analytics-invite-card strong{display:block;color:var(--blue);font-size:20px;margin-bottom:7px}
.caimeda-analytics-invite-card p{margin:0;color:#40566a;line-height:1.5;font-size:14px}
.caimeda-analytics-invite-card .caimeda-analytics-invite-note{margin-top:8px;color:#5b7181;font-size:13px}
.caimeda-analytics-invite-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.caimeda-analytics-invite-actions button{min-height:46px;border-radius:12px;padding:11px 14px;font:inherit;font-weight:900;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.caimeda-analytics-invite-accept{border:1px solid var(--blue);background:linear-gradient(135deg,#075f99,#063866);color:#fff;box-shadow:0 8px 18px rgba(6,56,102,.2)}
.caimeda-analytics-invite-technical{border:1px solid #b7c7d3;background:#f4f7f9;color:#496173}
.caimeda-analytics-invite-actions button:hover,.caimeda-analytics-invite-actions button:focus-visible{transform:translateY(-1px)}
.caimeda-analytics-invite-technical:hover,.caimeda-analytics-invite-technical:focus-visible{background:#e8f0f5;color:#214965}
.caimeda-analytics-invite-accept:hover,.caimeda-analytics-invite-accept:focus-visible{background:linear-gradient(135deg,#0876bb,#075183);box-shadow:0 10px 22px rgba(6,56,102,.28)}
@media(max-width:900px){
  .blue-footer-legal{display:none}
  .legal-policy-page{grid-template-columns:1fr;gap:34px}
  .legal-policy-intro{position:static}
  .caimeda-cookie-banner{grid-template-columns:1fr;padding:22px 20px 18px;gap:16px}
  .caimeda-cookie-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .caimeda-cookie-continue,.caimeda-cookie-analytics{width:100%}
  .caimeda-analytics-invite-card{padding:19px 20px}
}
@media(max-width:520px){
  .caimeda-cookie-banner{left:8px;right:8px;bottom:8px}
  .caimeda-cookie-copy strong{font-size:19px}
  .caimeda-cookie-copy p{font-size:14px}
  .caimeda-cookie-links{flex-wrap:wrap}
  .caimeda-analytics-invite{left:8px;right:8px;bottom:8px}
  .caimeda-analytics-invite-actions{grid-template-columns:1fr}
}


/* v5.0.52 - attività più vivide e sature al passaggio del mouse */
.blue-activity-card,
.blue-activity-card-page{
  background-image:linear-gradient(180deg,rgba(4,43,81,.24),rgba(4,43,81,.82)),var(--card-image)!important;
  transition:transform .3s ease,box-shadow .3s ease,background-image .3s ease!important;
}
.blue-activity-card::after,
.blue-activity-card-page::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:rgba(118,126,132,.13);
  -webkit-backdrop-filter:grayscale(.42) saturate(.72);
  backdrop-filter:grayscale(.42) saturate(.72);
  transition:opacity .32s ease,background .32s ease;
}
.blue-activity-card:hover,
.blue-activity-card-page:hover,
.blue-activity-card:focus-visible,
.blue-activity-card-page:focus-visible{
  background-image:linear-gradient(180deg,rgba(4,43,81,.08),rgba(4,43,81,.67)),var(--card-image)!important;
}
.blue-activity-card:hover::after,
.blue-activity-card-page:hover::after,
.blue-activity-card:focus-visible::after,
.blue-activity-card-page:focus-visible::after{
  opacity:0;
}
.blue-activity-card>* ,
.blue-activity-card-page>*{position:relative;z-index:2}
@media (prefers-reduced-motion:reduce){
  .blue-activity-card::after,.blue-activity-card-page::after{transition:none}
}


/* v5.0.54 - riquadri attività con immagini più vive e senza animazione hover */
.blue-activity-card{
  background-image:linear-gradient(180deg,rgba(4,43,81,.18),rgba(4,43,81,.68)),var(--card-image)!important;
  box-shadow:none;
  transition:none!important;
}
.blue-activity-card:before{
  background:linear-gradient(135deg,rgba(14,91,155,.10),rgba(4,43,81,.06) 62%)!important;
  transition:none!important;
}
.blue-activity-card:hover{
  transform:none!important;
  z-index:auto!important;
  box-shadow:none!important;
}
.blue-activity-card:hover:before{
  background:linear-gradient(135deg,rgba(14,91,155,.10),rgba(4,43,81,.06) 62%)!important;
}
.blue-activity-card span,
.blue-activity-card:hover span{
  background:transparent!important;
  color:#fff!important;
}


/* v5.0.55 - immagini attività più sature e vive, senza variazioni al passaggio del mouse */
.blue-activity-card{
  background-image:linear-gradient(180deg,rgba(4,43,81,.10),rgba(4,43,81,.52)),var(--card-image)!important;
}
.blue-activity-card:before{
  background:linear-gradient(135deg,rgba(14,91,155,.05),rgba(4,43,81,.02) 62%)!important;
}
.blue-activity-card:hover,
.blue-activity-card:focus,
.blue-activity-card:focus-within{
  transform:none!important;
  box-shadow:none!important;
}
.blue-activity-card:hover:before,
.blue-activity-card:focus:before,
.blue-activity-card:focus-within:before{
  background:linear-gradient(135deg,rgba(14,91,155,.05),rgba(4,43,81,.02) 62%)!important;
}
.blue-activity-card h2,
.blue-activity-card p,
.blue-activity-card span{ text-shadow:0 2px 8px rgba(0,0,0,.28); }


/* v5.0.56 - riquadri notizie con angoli smussati */
.news-card{
  border-radius:18px;
  overflow:hidden;
}
.news-card > img{
  border-radius:18px 18px 0 0;
}
.news-card > div{
  border-radius:0 0 18px 18px;
}
@media(max-width:760px){
  .news-card{border-radius:16px}
  .news-card > img{border-radius:16px 16px 0 0}
  .news-card > div{border-radius:0 0 16px 16px}
}


/* v5.0.57 - attività sempre sature; animazione solo geometrica */
.blue-activity-card{
  background-image:linear-gradient(180deg,rgba(4,43,81,.10),rgba(4,43,81,.52)),var(--card-image)!important;
  transition:transform .28s ease,box-shadow .28s ease!important;
}
.blue-activity-card:before{
  background:linear-gradient(135deg,rgba(14,91,155,.05),rgba(4,43,81,.02) 62%)!important;
  transition:none!important;
}
.blue-activity-card:hover,
.blue-activity-card:focus-visible,
.blue-activity-card:focus-within{
  transform:translateY(-7px)!important;
  z-index:3!important;
  box-shadow:0 18px 40px rgba(3,38,73,.30)!important;
}
.blue-activity-card:hover:before,
.blue-activity-card:focus-visible:before,
.blue-activity-card:focus-within:before{
  background:linear-gradient(135deg,rgba(14,91,155,.05),rgba(4,43,81,.02) 62%)!important;
}
.blue-activity-card span,
.blue-activity-card:hover span,
.blue-activity-card:focus-visible span,
.blue-activity-card:focus-within span{
  background:transparent!important;
  color:#fff!important;
}

/* v5.0.57 - menu mobile sempre sopra hero e contenuti */
@media(max-width:1180px){
  .blue-site-header{
    position:relative!important;
    z-index:10000!important;
    overflow:visible!important;
  }
  .blue-mainbar{
    overflow:visible!important;
    isolation:auto!important;
  }
  .blue-mobile-menu{
    position:relative!important;
    z-index:10001!important;
  }
  .blue-mobile-menu:before{
    z-index:10002!important;
  }
  .blue-mobile-drawer{
    z-index:10003!important;
  }
  .blue-mobile-menu>summary{
    z-index:10004!important;
  }
  .blue-home-hero,
  .blue-home-hero-overlay,
  .blue-home-hero-copy,
  .blue-home-hero-menu{
    z-index:auto;
  }
}


/* v5.0.58 - fotografie attività con colori naturali e saturi fin dal caricamento */
.blue-activity-card{
  background-image:linear-gradient(180deg,rgba(4,43,81,0) 0%,rgba(4,43,81,0) 44%,rgba(4,43,81,.18) 66%,rgba(4,43,81,.62) 100%),var(--card-image)!important;
  background-blend-mode:normal!important;
  transition:transform .28s ease,box-shadow .28s ease!important;
}
.blue-activity-card:before,
.blue-activity-card:hover:before,
.blue-activity-card:focus-visible:before,
.blue-activity-card:focus-within:before{
  background:transparent!important;
  opacity:0!important;
}
.blue-activity-card:hover,
.blue-activity-card:focus-visible,
.blue-activity-card:focus-within{
  background-image:linear-gradient(180deg,rgba(4,43,81,0) 0%,rgba(4,43,81,0) 44%,rgba(4,43,81,.18) 66%,rgba(4,43,81,.62) 100%),var(--card-image)!important;
  transform:translateY(-7px)!important;
  box-shadow:0 18px 40px rgba(3,38,73,.30)!important;
}


/* v5.0.60 - home attività senza patina grigia, immagini più vive e sature */
.blue-home-activities-embed .blue-activity-card{
  background-image:linear-gradient(180deg,rgba(4,43,81,.08),rgba(4,43,81,.38)),var(--card-image)!important;
}
.blue-home-activities-embed .blue-activity-card:before{
  background:linear-gradient(135deg,rgba(14,91,155,.06),rgba(255,255,255,0) 62%)!important;
}
.blue-home-activities-embed .blue-activity-card:hover:before{
  background:linear-gradient(135deg,rgba(14,91,155,.06),rgba(255,255,255,0) 62%)!important;
}
.blue-home-activities-embed .blue-activity-card h2,
.blue-home-activities-embed .blue-activity-card p,
.blue-home-activities-embed .blue-activity-card span{
  text-shadow:0 2px 10px rgba(0,0,0,.34);
}


/* v5.0.61 - rimozione completa della patina dalle immagini attività in home */
.blue-home-activities-embed .blue-activity-card{
  background-image:var(--card-image)!important;
  background-color:transparent!important;
  filter:none!important;
}
.blue-home-activities-embed .blue-activity-card:before,
.blue-home-activities-embed .blue-activity-card:hover:before,
.blue-home-activities-embed .blue-activity-card:focus:before,
.blue-home-activities-embed .blue-activity-card:focus-within:before{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}
.blue-home-activities-embed .blue-activity-card:hover,
.blue-home-activities-embed .blue-activity-card:focus,
.blue-home-activities-embed .blue-activity-card:focus-within{
  filter:none!important;
}
.blue-home-activities-embed .blue-activity-card h2,
.blue-home-activities-embed .blue-activity-card p,
.blue-home-activities-embed .blue-activity-card span{
  text-shadow:0 2px 10px rgba(0,0,0,.78),0 1px 3px rgba(0,0,0,.9);
}


/* v5.0.62 - attività con colori naturali e voce menu Attività allineata alle altre */
.blue-activity-card,
.blue-home-activities-embed .blue-activity-card,
.blue-activity-card-page{
  background-image:var(--card-image)!important;
  background-color:transparent!important;
  filter:none!important;
}
.blue-activity-card:before,
.blue-activity-card:hover:before,
.blue-activity-card:focus:before,
.blue-activity-card:focus-within:before,
.blue-home-activities-embed .blue-activity-card:before,
.blue-home-activities-embed .blue-activity-card:hover:before,
.blue-home-activities-embed .blue-activity-card:focus:before,
.blue-home-activities-embed .blue-activity-card:focus-within:before,
.blue-activity-card-page:before,
.blue-activity-card-page:hover:before,
.blue-activity-card-page:focus:before,
.blue-activity-card-page:focus-within:before{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}
.blue-activity-card:hover,
.blue-activity-card:focus,
.blue-activity-card:focus-within,
.blue-activity-card-page:hover,
.blue-activity-card-page:focus,
.blue-activity-card-page:focus-within{
  filter:none!important;
}
.blue-activity-card h2,
.blue-activity-card p,
.blue-activity-card span,
.blue-activity-card-page h2,
.blue-activity-card-page p,
.blue-activity-card-page span{
  text-shadow:0 2px 10px rgba(0,0,0,.86),0 1px 4px rgba(0,0,0,.98);
}
.blue-nav-static{
  color:inherit;
  font:inherit;
  font-size:13px;
  font-weight:800;
  letter-spacing:inherit;
  line-height:1;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:6px;
}
.blue-nav-static:after{
  font-size:.78em;
  transform:translateY(-1px);
}


/* v5.0.63 - logo CAI più grande nell'intestazione */
.blue-mainbar{
  min-height:112px!important;
}
.blue-brand{
  gap:18px;
  min-width:320px;
}
.blue-brand img{
  width:100px!important;
  height:100px!important;
  object-fit:contain;
  flex:0 0 100px;
}
@media(max-width:1180px){
  .blue-mainbar{min-height:98px!important}
  .blue-brand img{width:78px!important;height:78px!important;flex-basis:78px}
}
@media(max-width:520px){
  .blue-mainbar{min-height:86px!important}
  .blue-brand{gap:12px}
  .blue-brand img{width:66px!important;height:66px!important;flex-basis:66px}
}


/* v5.0.64 - icone personalizzate nella sezione Tesseramento */
.benefit-illustration{display:flex;align-items:center;justify-content:flex-start;min-height:96px;margin-bottom:10px}
.membership-benefit-icon{width:98px;height:98px;object-fit:contain;display:block}
@media(max-width:700px){.benefit-illustration{min-height:84px}.membership-benefit-icon{width:86px;height:86px}}


/* v5.0.65 - aggiornata icona soccorso alpino nella sezione Tesseramento */


/* v5.0.67 - sezione vantaggi tesseramento con illustrazioni molto più grandi */
#vantaggi .benefit-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:30px;
  align-items:stretch;
}
#vantaggi .benefit-grid article{
  background:#fff;
  border:1px solid rgba(6,56,102,.10);
  border-radius:28px;
  padding:38px 32px 34px;
  min-height:520px;
  box-shadow:0 18px 42px rgba(6,56,102,.08);
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
#vantaggi .benefit-grid article::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:5px;
  background:linear-gradient(90deg,var(--blue-bright),var(--blue));
  opacity:.18;
}
#vantaggi .benefit-illustration{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:320px;
  margin-bottom:22px;
}
#vantaggi .membership-benefit-icon{
  width:340px;
  height:340px;
  object-fit:contain;
  display:block;
}
#vantaggi .benefit-grid h3{
  margin:0 0 12px;
  font-size:clamp(30px,2vw,38px);
  line-height:1.08;
  letter-spacing:-.03em;
  color:#14283a;
}
#vantaggi .benefit-grid p{
  margin:0;
  color:#435366;
  font-size:17px;
  line-height:1.6;
}
@media (max-width:1280px){
  #vantaggi .membership-benefit-icon{width:280px;height:280px;}
  #vantaggi .benefit-illustration{min-height:260px;}
  #vantaggi .benefit-grid article{min-height:470px;}
}
@media (max-width:1100px){
  #vantaggi .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  #vantaggi .benefit-grid{grid-template-columns:1fr;gap:20px;}
  #vantaggi .benefit-grid article{min-height:auto;padding:28px 24px 24px;}
  #vantaggi .benefit-illustration{min-height:210px;margin-bottom:16px;}
  #vantaggi .membership-benefit-icon{width:220px;height:220px;}
}


/* v5.0.68 - tesseramento più compatto con immagini molto più grandi + rifiniture mobile */
#vantaggi .benefit-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:start;
}
#vantaggi .benefit-grid article{
  width:100%;
  max-width:380px;
  margin:0 auto;
  min-height:470px;
  padding:24px 22px 24px;
  border-radius:24px;
}
#vantaggi .benefit-illustration{
  min-height:240px;
  margin-bottom:10px;
}
#vantaggi .membership-benefit-icon{
  width:510px;
  height:510px;
  max-width:none;
}
#vantaggi .benefit-grid h3{
  margin:0 0 10px;
  font-size:clamp(24px,1.7vw,34px);
}
#vantaggi .benefit-grid p{
  font-size:15px;
  line-height:1.55;
}
@media (max-width:1380px){
  #vantaggi .membership-benefit-icon{width:430px;height:430px;}
  #vantaggi .benefit-grid article{max-width:360px;min-height:430px;}
}
@media (max-width:1100px){
  #vantaggi .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
  #vantaggi .benefit-grid article{max-width:390px;}
  #vantaggi .membership-benefit-icon{width:380px;height:380px;}
}
@media (max-width:760px){
  body{overflow-x:hidden;}
  #vantaggi .benefit-grid{grid-template-columns:1fr;gap:18px;}
  #vantaggi .benefit-grid article{
    max-width:100%;
    min-height:auto;
    padding:22px 18px 22px;
  }
  #vantaggi .benefit-illustration{
    min-height:200px;
    margin-bottom:8px;
  }
  #vantaggi .membership-benefit-icon{
    width:300px;
    height:300px;
    max-width:100%;
  }
  #vantaggi .benefit-grid h3{font-size:31px;}
  #vantaggi .benefit-grid p{font-size:16px;}
  .blue-mainbar,.blue-topbar,.blue-home-hero-copy,.blue-news-section,.blue-footer{overflow:hidden;}
  .blue-home-hero-menu,.blue-feature-actions,.blue-value-row,.blue-gym-features,.blue-method-grid,.blue-feature-band,.blue-feature-band-home{grid-template-columns:1fr!important;}
  .blue-mainbar{padding-left:16px!important;padding-right:16px!important;}
  .blue-brand{min-width:0;gap:10px;}
  .blue-brand strong{font-size:24px;}
  .blue-brand small{font-size:12px;letter-spacing:.12em;}
  .blue-brand em{font-size:11px;letter-spacing:.1em;}
  .blue-footer-bottom,.blue-footer-single-row{gap:14px;flex-wrap:wrap;}
}


/* v5.0.69 - tesseramento più compatto: immagini ridotte del 25% e card meno alte */
#vantaggi .benefit-grid{
  gap:22px;
}
#vantaggi .benefit-grid article{
  max-width:350px;
  min-height:340px;
  padding:18px 18px 20px;
  border-radius:22px;
}
#vantaggi .benefit-illustration{
  min-height:150px;
  margin-bottom:6px;
}
#vantaggi .membership-benefit-icon{
  width:384px;
  height:384px;
}
#vantaggi .benefit-grid h3{
  margin:0 0 8px;
  font-size:clamp(23px,1.55vw,32px);
  line-height:1.08;
}
#vantaggi .benefit-grid p{
  font-size:15px;
  line-height:1.48;
}
@media (max-width:1380px){
  #vantaggi .benefit-grid article{max-width:336px;min-height:328px;}
  #vantaggi .benefit-illustration{min-height:142px;}
  #vantaggi .membership-benefit-icon{width:324px;height:324px;}
}
@media (max-width:1100px){
  #vantaggi .benefit-grid{gap:18px;}
  #vantaggi .benefit-grid article{max-width:360px;min-height:320px;padding:18px 18px 18px;}
  #vantaggi .benefit-illustration{min-height:136px;}
  #vantaggi .membership-benefit-icon{width:288px;height:288px;}
}
@media (max-width:760px){
  #vantaggi .benefit-grid article{padding:18px 16px;min-height:auto;}
  #vantaggi .benefit-illustration{min-height:122px;margin-bottom:4px;}
  #vantaggi .membership-benefit-icon{width:228px;height:228px;}
  #vantaggi .benefit-grid h3{font-size:28px;}
  #vantaggi .benefit-grid p{font-size:15px;line-height:1.5;}
}


/* v5.0.70 - riquadri tesseramento ulteriormente compattati */
#vantaggi .benefit-grid article{
  min-height:0;
  height:auto;
  padding:14px 16px 18px;
}
#vantaggi .benefit-illustration{
  min-height:0;
  height:190px;
  margin:0 0 4px;
}
#vantaggi .membership-benefit-icon{
  width:384px;
  height:384px;
}
#vantaggi .benefit-grid h3{
  margin:0 0 7px;
}
#vantaggi .benefit-grid p{
  margin:0;
}
@media (max-width:1380px){
  #vantaggi .benefit-grid article{min-height:0;height:auto;padding:13px 15px 17px;}
  #vantaggi .benefit-illustration{height:176px;min-height:0;}
}
@media (max-width:1100px){
  #vantaggi .benefit-grid article{min-height:0;height:auto;padding:13px 15px 17px;}
  #vantaggi .benefit-illustration{height:164px;min-height:0;}
}
@media (max-width:760px){
  #vantaggi .benefit-grid article{min-height:0;height:auto;padding:12px 14px 16px;}
  #vantaggi .benefit-illustration{height:146px;min-height:0;margin-bottom:3px;}
}


/* v5.0.71 - tesseramento più compatto, coperture assicurative più evidenti, hero differenziate, logo header più grande */
.blue-home-hero{
  background:url(../images/site/montagna.jpg) center 42%/cover no-repeat!important;
}
#vantaggi.inner-section{
  padding-bottom:34px!important;
}
#vantaggi .benefit-grid{
  margin-bottom:0!important;
}
.insurance-section{
  padding-top:46px!important;
}
.insurance-heading{
  margin-bottom:32px!important;
}
.insurance-heading .section-kicker{
  font-size:34px!important;
  letter-spacing:.06em!important;
  line-height:1.05!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  margin-bottom:10px!important;
}
/* Logo e testo header */
.blue-mainbar{
  min-height:120px!important;
}
.blue-brand{
  gap:10px!important;
  min-width:300px!important;
}
.blue-brand img{
  width:120px!important;
  height:120px!important;
  flex:0 0 120px!important;
}
.blue-brand span{
  transform:translateX(-2px);
}
@media(max-width:1180px){
  .blue-mainbar{min-height:102px!important;}
  .blue-brand{gap:10px!important;}
  .blue-brand img{width:88px!important;height:88px!important;flex-basis:88px!important;}
  .insurance-heading .section-kicker{font-size:26px!important;}
}
@media(max-width:760px){
  #vantaggi.inner-section{padding-bottom:22px!important;}
  .insurance-section{padding-top:28px!important;}
  .insurance-heading{margin-bottom:22px!important;}
  .insurance-heading .section-kicker{font-size:20px!important;}
}
@media(max-width:520px){
  .blue-mainbar{min-height:88px!important;}
  .blue-brand{gap:8px!important;}
  .blue-brand img{width:72px!important;height:72px!important;flex-basis:72px!important;}
}


/* v5.0.72 - sezione Chi siamo: nuove illustrazioni e riquadri meglio integrati */
.sezione-hub-section{
  background:linear-gradient(180deg,#eff6fb 0%,#f7fbfe 100%);
  border-top:1px solid #d6e2ec;
}
.compact-heading{
  margin-bottom:26px!important;
}
.compact-heading h2{
  font-size:clamp(30px,3vw,42px);
}
.compact-heading p{
  max-width:620px;
}
.sezione-hub-grid{
  gap:18px!important;
}
.sezione-hub-grid a{
  background:#ffffff!important;
  border:1px solid #dbe7f0;
  border-radius:24px;
  box-shadow:0 14px 30px rgba(16,47,77,.08);
  min-height:0!important;
  padding:26px 26px 24px!important;
  align-content:start;
  position:relative;
  overflow:hidden;
}
.sezione-hub-grid a::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(237,245,251,.75) 0%,rgba(255,255,255,0) 46%);
  pointer-events:none;
}
.sezione-hub-grid a:hover{
  background:#173d6f!important;
  border-color:#173d6f;
  box-shadow:0 18px 34px rgba(10,39,70,.16);
}
.sezione-hub-grid a > *{position:relative;z-index:1}
.sezione-hub-illustrazione{
  min-height:124px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:8px;
}
.sezione-hub-illustrazione img{
  width:138px;
  height:138px;
  object-fit:contain;
  display:block;
}
.sezione-hub-grid b{
  color:#3876bb!important;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-top:2px;
}
.sezione-hub-grid h3{
  margin:12px 0 10px!important;
  font-size:29px!important;
  line-height:1.08;
}
.sezione-hub-grid p{
  margin:0 0 18px;
  line-height:1.58;
  color:#4a5c70;
}
.sezione-hub-grid span{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.sezione-hub-grid a:hover p,
.sezione-hub-grid a:hover b{color:#dfeeff!important}
@media(max-width:1000px){
  .sezione-hub-grid a{padding:22px 20px 20px!important;border-radius:20px}
  .sezione-hub-illustrazione{min-height:110px}
  .sezione-hub-illustrazione img{width:118px;height:118px}
  .sezione-hub-grid h3{font-size:25px!important}
}
@media(max-width:760px){
  .compact-heading{margin-bottom:18px!important}
  .sezione-hub-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .sezione-hub-grid a{padding:20px 18px!important;border-radius:18px}
  .sezione-hub-illustrazione{min-height:94px;justify-content:flex-start}
  .sezione-hub-illustrazione img{width:96px;height:96px}
  .sezione-hub-grid h3{font-size:24px!important}
  .sezione-hub-grid p{margin-bottom:14px}
}


/* v5.0.73 - rimossi i numeri 01, 02 e 03 dai riquadri Chi siamo */


/* v5.0.74 - riquadri Chi siamo: illustrazioni +25% */
.sezione-hub-illustrazione{
  min-height:150px;
}
.sezione-hub-illustrazione img{
  width:173px;
  height:173px;
}
@media(max-width:1000px){
  .sezione-hub-illustrazione{min-height:136px}
  .sezione-hub-illustrazione img{width:148px;height:148px}
}
@media(max-width:760px){
  .sezione-hub-illustrazione{min-height:118px;justify-content:flex-start}
  .sezione-hub-illustrazione img{width:120px;height:120px}
}


/* v5.0.76 - creste centrate nello spazio tra marchio CAI Meda e menu */
.blue-header-ridge{
  left:50%!important;
  right:auto!important;
  width:clamp(300px,25vw,430px)!important;
  transform:translate(-50%,-48%)!important;
}
@media(max-width:1450px){
  .blue-header-ridge{
    left:51%!important;
    width:clamp(250px,21vw,340px)!important;
  }
}
@media(max-width:1280px){
  .blue-header-ridge{
    left:52%!important;
    width:clamp(200px,17vw,270px)!important;
  }
}
@media(max-width:1180px){.blue-header-ridge{display:none!important}}


/* v5.0.77 - creste riposizionate tra CAI Meda e menu, senza interferenze */
.blue-header-ridge{
  left:46.5%!important;
  right:auto!important;
  width:clamp(250px,20vw,350px)!important;
  transform:translate(-50%,-48%)!important;
}
@media(max-width:1450px){
  .blue-header-ridge{
    left:47%!important;
    width:clamp(220px,18vw,300px)!important;
  }
}
@media(max-width:1280px){
  .blue-header-ridge{
    left:46.5%!important;
    width:clamp(180px,15vw,235px)!important;
  }
}
@media(max-width:1180px){.blue-header-ridge{display:none!important}}


/* v5.0.78 - rimosso il profilo montagne dall'intestazione */
.blue-header-ridge{display:none!important;}


/* v5.0.79 - intestazione mobile corretta e marchio testuale semplificato */
.blue-brand span{
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  line-height:1!important;
}
.blue-brand strong{
  font-size:36px!important;
  line-height:.95!important;
  letter-spacing:.025em!important;
}
.blue-brand em{
  font-size:15px!important;
  line-height:1!important;
  margin-top:8px!important;
  letter-spacing:.12em!important;
}
@media(max-width:1180px){
  .blue-mainbar{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    gap:14px!important;
    padding-left:18px!important;
    padding-right:24px!important;
  }
  .blue-brand{
    min-width:0!important;
    flex:1 1 auto;
    gap:9px!important;
    overflow:hidden;
  }
  .blue-brand strong{
    font-size:30px!important;
    white-space:nowrap;
  }
  .blue-brand em{
    font-size:13px!important;
    margin-top:6px!important;
    white-space:nowrap;
  }
  .blue-mobile-menu{
    flex:0 0 auto;
    margin-left:auto;
    margin-right:6px!important;
  }
  .blue-mobile-menu>summary{
    transform:translateX(-4px);
  }
}
@media(max-width:520px){
  .blue-mainbar{
    padding-left:12px!important;
    padding-right:22px!important;
    gap:8px!important;
  }
  .blue-brand img{
    width:64px!important;
    height:64px!important;
    flex-basis:64px!important;
  }
  .blue-brand strong{
    font-size:27px!important;
  }
  .blue-brand em{
    display:block!important;
    font-size:12.5px!important;
    margin-top:5px!important;
  }
  .blue-mobile-menu{
    margin-right:8px!important;
  }
  .blue-mobile-menu>summary{
    padding:9px 10px!important;
    transform:translateX(-6px);
  }
}
@media(max-width:390px){
  .blue-brand img{
    width:58px!important;
    height:58px!important;
    flex-basis:58px!important;
  }
  .blue-brand strong{font-size:24px!important;}
  .blue-brand em{font-size:11px!important;}
  .blue-menu-label{display:none!important;}
  .blue-mobile-menu>summary{padding:9px!important;}
}


/* v5.0.80 - nuova immagine principale Grignetta nella homepage */
.blue-home-hero{
  background-image:url(../images/site/home-grignetta.jpg)!important;
  background-position:center 48%!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
@media(max-width:760px){
  .blue-home-hero{
    background-position:61% center!important;
  }
}


/* v5.0.81 - correzione impaginazione tesseramento e nuova sezione assicurazioni */
#quote.membership-page{
  align-items:stretch;
  gap:clamp(38px,6vw,90px);
}
.membership-steps{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:34px;
}
.membership-steps>div{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center;
  gap:15px!important;
  border:1px solid #d7e3ec!important;
  border-radius:16px;
  background:#fff;
  padding:14px 16px!important;
  box-shadow:0 8px 18px rgba(10,47,80,.06);
}
.membership-step-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  color:#fff;
  background:var(--blue);
  font-size:17px;
  font-weight:900;
}
.membership-steps p{
  margin:0!important;
  color:#31485e;
  font-size:16px;
  line-height:1.48;
}
.membership-prices-clean{
  align-self:stretch;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 38px rgba(3,44,82,.18)!important;
}

#assicurazioni.insurance-section{
  position:relative;
  overflow:hidden;
  padding-top:clamp(54px,6vw,86px)!important;
  padding-bottom:clamp(64px,7vw,100px)!important;
  background:linear-gradient(135deg,#032c52 0%,#063f72 58%,#0a548d 100%)!important;
}
#assicurazioni.insurance-section:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  top:-210px;
  right:-90px;
  box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.02);
}
#assicurazioni .insurance-heading{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:30px 60px;
  align-items:end;
  margin-bottom:34px!important;
}
#assicurazioni .insurance-heading .section-kicker{
  grid-column:1/-1;
  font-size:clamp(24px,2.7vw,38px)!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
  margin:0!important;
}
#assicurazioni .insurance-heading h2{
  font-size:clamp(48px,5.6vw,82px);
  max-width:760px;
}
#assicurazioni .insurance-heading p{
  padding:18px 0 4px 24px;
  border-left:3px solid rgba(255,255,255,.55);
  color:#e2eef7;
  font-size:17px;
}
#assicurazioni .insurance-cards{
  position:relative;
  z-index:1;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-bottom:30px;
}
#assicurazioni .insurance-cards article{
  position:relative;
  min-height:230px;
  padding:26px 28px 24px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
  box-shadow:0 14px 30px rgba(0,0,0,.12);
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
#assicurazioni .insurance-cards h3{
  margin:42px 0 12px;
  font-size:clamp(23px,2vw,30px);
  line-height:1.12;
}
#assicurazioni .insurance-cards p{
  margin:0;
  color:#dbeaf5;
  font-size:15px;
  line-height:1.58;
}
#assicurazioni .insurance-cards span{
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.25);
}
#assicurazioni>.button{
  position:relative;
  z-index:1;
  display:inline-flex;
  width:auto;
  border-radius:999px;
  padding:15px 23px;
  background:#fff!important;
  border-color:#fff!important;
  color:var(--blue)!important;
}
@media(max-width:900px){
  #quote.membership-page{grid-template-columns:1fr;}
  #assicurazioni .insurance-heading{grid-template-columns:1fr;gap:18px;}
  #assicurazioni .insurance-heading .section-kicker{grid-column:auto;}
  #assicurazioni .insurance-heading p{padding:14px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.3);}
}
@media(max-width:700px){
  .membership-steps>div{grid-template-columns:36px minmax(0,1fr)!important;padding:12px 13px!important;border-radius:14px;}
  .membership-step-mark{width:30px;height:30px;font-size:15px;}
  .membership-steps p{font-size:15px;}
  #assicurazioni .insurance-cards{grid-template-columns:1fr;gap:12px;}
  #assicurazioni .insurance-cards article{min-height:0;padding:22px 20px;border-radius:17px;}
  #assicurazioni .insurance-cards h3{margin:28px 0 10px;}
  #assicurazioni>.button{width:100%;justify-content:center;}
}


/* v5.0.82 - aggiunta copertura opzionale infortuni in attività personale */
@media(min-width:1100px){
  #assicurazioni .insurance-cards{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  #assicurazioni .insurance-cards article{
    grid-column:span 2;
  }
  #assicurazioni .insurance-cards article:nth-child(4){
    grid-column:2 / span 2;
  }
  #assicurazioni .insurance-cards article:nth-child(5){
    grid-column:4 / span 2;
  }
}


/* v5.0.83 - FAQ moderne integrate nella pagina Palestra */
.gym-faq-section{
  background:linear-gradient(180deg,#f4f9fc 0%,#eaf3f8 100%);
  padding:clamp(74px,8vw,120px) clamp(24px,7vw,110px);
  border-top:1px solid #d5e3ec;
}
.gym-faq-heading{
  max-width:860px;
  margin-bottom:42px;
}
.gym-faq-heading h2{
  margin:8px 0 18px;
  font-size:clamp(46px,5.4vw,78px);
  line-height:.96;
  letter-spacing:-.055em;
  color:var(--blue);
}
.gym-faq-heading p{
  max-width:700px;
  margin:0;
  color:#4a5d70;
  font-size:18px;
  line-height:1.65;
}
.gym-faq-layout{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:start;
}
.gym-faq-group{
  background:#fff;
  border:1px solid #d7e3eb;
  border-radius:24px;
  padding:26px;
  box-shadow:0 15px 34px rgba(12,46,79,.07);
}
.gym-faq-group h3{
  margin:0 0 12px;
  color:var(--blue);
  font-size:24px;
  letter-spacing:-.025em;
}
.gym-faq-group details{
  border-top:1px solid #dbe6ed;
}
.gym-faq-group summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding:20px 44px 20px 0;
  color:#163b68;
  font-size:17px;
  font-weight:900;
  line-height:1.35;
}
.gym-faq-group summary::-webkit-details-marker{display:none}
.gym-faq-group summary::after{
  content:"+";
  position:absolute;
  right:2px;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:30px;
  border-radius:50%;
  background:#e8f2f8;
  color:#176bb1;
  display:grid;
  place-items:center;
  font-size:22px;
  line-height:1;
  transition:.2s ease;
}
.gym-faq-group details[open] summary::after{
  content:"−";
  background:var(--red);
  color:#fff;
}
.gym-faq-group details>div{
  padding:0 42px 20px 0;
}
.gym-faq-group p{
  margin:0;
  color:#4b5d6f;
  font-size:15px;
  line-height:1.7;
}
.gym-faq-group a{
  color:#0d67ad;
  font-weight:900;
  text-decoration:none;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.gym-faq-group a:hover{color:var(--red)}
@media(max-width:900px){
  .gym-faq-layout{grid-template-columns:1fr}
}
@media(max-width:560px){
  .gym-faq-section{padding:58px 18px}
  .gym-faq-heading{margin-bottom:26px}
  .gym-faq-heading h2{font-size:43px}
  .gym-faq-heading p{font-size:16px}
  .gym-faq-group{border-radius:18px;padding:19px 18px}
  .gym-faq-group h3{font-size:21px}
  .gym-faq-group summary{padding:18px 42px 18px 0;font-size:16px}
  .gym-faq-group details>div{padding:0 34px 18px 0}
}


/* v5.0.84 - pagina Contatti ridisegnata con layout moderno e micro-animazioni */
body.page-contatti .page-hero{min-height:390px!important;padding-bottom:72px!important}
.contact-experience{padding:clamp(64px,7vw,105px) clamp(24px,7vw,110px) clamp(76px,8vw,120px);background:linear-gradient(180deg,#fff 0%,#f4f9fc 100%);position:relative;overflow:hidden}
.contact-experience:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(26,91,145,.09);border-radius:50%;right:-210px;top:-260px;box-shadow:0 0 0 70px rgba(26,91,145,.035),0 0 0 140px rgba(26,91,145,.02)}
.contact-intro{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.65fr);gap:clamp(35px,7vw,105px);align-items:end;margin-bottom:42px}
.contact-intro .section-kicker{grid-column:1/-1;margin-bottom:-14px}
.contact-intro h2{font-size:clamp(44px,5.4vw,78px);line-height:.96;letter-spacing:-.058em;margin:0;max-width:850px;color:var(--blue)}
.contact-intro p{margin:0;color:#526779;font-size:18px;line-height:1.7;max-width:580px}
.contact-feature-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.22fr .78fr;grid-template-areas:"map hours" "map write";gap:18px}
.contact-feature{background:#fff;border:1px solid #d7e5ef;border-radius:26px;position:relative;overflow:hidden;display:flex;gap:24px;padding:32px;box-shadow:0 16px 38px rgba(15,54,90,.07);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.contact-feature:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(34,117,184,.055);right:-72px;bottom:-82px;transition:transform .35s ease}
.contact-feature-map{grid-area:map;min-height:440px;align-items:flex-end;background:linear-gradient(145deg,#0b3968 0%,#14538b 100%);color:#fff;border:0;padding:38px}
.contact-feature-map:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.15),transparent 28%),linear-gradient(135deg,transparent 45%,rgba(255,255,255,.04) 45% 46%,transparent 46% 55%,rgba(255,255,255,.04) 55% 56%,transparent 56%)}
.contact-feature-hours{grid-area:hours;min-height:210px}
.contact-feature-write{grid-area:write;min-height:210px}
.contact-feature-icon{flex:0 0 62px;width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:#e9f3f9;color:var(--blue)}
.contact-feature-icon .footer-icon{width:34px;height:34px;margin:0}
.contact-feature-map .contact-feature-icon{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(8px)}
.contact-feature-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.contact-feature-copy>span{font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#447394}
.contact-feature-map .contact-feature-copy>span{color:#cfe6f7}
.contact-feature h3{margin:9px 0 12px;font-size:clamp(28px,2.6vw,41px);line-height:1.02;letter-spacing:-.045em;color:var(--blue)}
.contact-feature-map h3{font-size:clamp(42px,4.5vw,66px);color:#fff}
.contact-feature p{margin:0;color:#526779;line-height:1.6;font-size:16px}
.contact-feature-map p{color:#d9e9f5;font-size:18px}
.contact-feature strong{margin-top:auto;padding-top:20px;font-size:24px;color:var(--blue);letter-spacing:-.02em}
.contact-feature-action{margin-top:28px;display:inline-flex;align-items:center;gap:10px;font-weight:900;color:#fff;border-bottom:0;padding-bottom:7px}
.contact-direct-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:18px}
.contact-direct-links a{padding:9px 12px;border-radius:999px;background:#edf5fa;color:var(--blue);font-weight:900;font-size:14px;transition:background .2s ease,color .2s ease,transform .2s ease}
.contact-direct-links a:hover{background:var(--blue);color:#fff;transform:translateY(-2px)}
.contact-social-section{padding:clamp(72px,8vw,118px) clamp(24px,7vw,110px);background:linear-gradient(135deg,#062f58 0%,#0d477d 100%);color:#fff;position:relative;overflow:hidden}
.contact-social-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.09),transparent 26%),radial-gradient(circle at 90% 88%,rgba(255,255,255,.06),transparent 22%)}
.contact-social-heading{position:relative;z-index:1;display:grid;grid-template-columns:1fr .58fr;gap:28px;align-items:end;margin-bottom:34px}
.contact-social-heading .section-kicker{grid-column:1/-1;margin-bottom:-10px}
.contact-social-heading h2{font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:0}
.contact-social-heading p{margin:0;color:#d2e5f4;font-size:17px;line-height:1.65}
.contact-social-modern{position:relative;z-index:1;padding:0!important;gap:16px!important}
.contact-social-modern .contact-social-card{min-height:310px!important;padding:30px!important;border-radius:22px!important;background:rgba(255,255,255,.075)!important;border:1px solid rgba(255,255,255,.15)!important;color:#fff;backdrop-filter:blur(8px);box-shadow:none!important;overflow:hidden}
.contact-social-modern .contact-social-card:before{content:"";position:absolute;inset:auto -50px -70px auto;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.055);transition:transform .35s ease}
.contact-social-modern .contact-social-card:hover{transform:translateY(-7px)!important;background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.32)!important}
.contact-social-modern .contact-social-card:hover:before{transform:scale(1.25)}
.contact-social-modern .contact-social-icon{width:58px;height:58px;margin-bottom:28px!important;border-radius:17px;background:rgba(255,255,255,.11);color:#fff!important}
.contact-social-modern .contact-social-icon .social-icon{width:34px;height:34px;color:#fff!important}
.contact-social-modern .contact-social-label{color:#b9d8ef!important;margin-bottom:10px}
.contact-social-modern h3{margin:0 0 12px;font-size:34px;letter-spacing:-.035em;color:#fff}
.contact-social-modern p{color:#d7e6f2!important;line-height:1.58}
.contact-social-cta{margin-top:auto;padding-top:26px;display:inline-flex;align-items:center;gap:9px;font-weight:900;color:#fff}
@keyframes contactFadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
body.page-contatti .contact-intro,body.page-contatti .contact-feature,body.page-contatti .contact-social-heading,body.page-contatti .contact-social-card{animation:contactFadeUp .62s ease both}
body.page-contatti .contact-feature:nth-child(2){animation-delay:.08s}body.page-contatti .contact-feature:nth-child(3){animation-delay:.16s}
body.page-contatti .contact-social-card:nth-child(1){animation-delay:.08s}body.page-contatti .contact-social-card:nth-child(2){animation-delay:.16s}body.page-contatti .contact-social-card:nth-child(3){animation-delay:.24s}
@media(max-width:980px){.contact-intro,.contact-social-heading{grid-template-columns:1fr}.contact-intro .section-kicker,.contact-social-heading .section-kicker{grid-column:auto}.contact-feature-grid{grid-template-columns:1fr 1fr;grid-template-areas:"map map" "hours write"}.contact-feature-map{min-height:380px}}
@media(max-width:760px){body.page-contatti .page-hero{min-height:340px!important}.contact-experience{padding-top:48px;padding-bottom:68px}.contact-intro{gap:18px;margin-bottom:28px}.contact-intro .section-kicker{margin-bottom:0}.contact-intro h2{font-size:42px}.contact-intro p{font-size:16px}.contact-feature-grid{grid-template-columns:1fr;grid-template-areas:"map" "hours" "write";gap:14px}.contact-feature{border-radius:20px;padding:24px;gap:18px}.contact-feature-map{min-height:340px;padding:28px;align-items:flex-end}.contact-feature-hours,.contact-feature-write{min-height:unset}.contact-feature-icon{width:52px;height:52px;flex-basis:52px;border-radius:15px}.contact-feature-icon .footer-icon{width:29px;height:29px}.contact-feature h3{font-size:29px}.contact-feature-map h3{font-size:46px}.contact-social-section{padding-top:62px;padding-bottom:72px}.contact-social-heading{gap:16px;margin-bottom:26px}.contact-social-heading .section-kicker{margin-bottom:0}.contact-social-heading h2{font-size:41px}.contact-social-modern{grid-template-columns:1fr!important}.contact-social-modern .contact-social-card{min-height:250px!important;padding:25px!important}}
@media(prefers-reduced-motion:reduce){body.page-contatti .contact-intro,body.page-contatti .contact-feature,body.page-contatti .contact-social-heading,body.page-contatti .contact-social-card{animation:none!important}.contact-feature,.contact-social-card{transition:none!important}}


/* v5.0.85 - correzione completa impaginazione pagina Contatti */
body.page-contatti{overflow-x:hidden;}
body.page-contatti .contact-experience,
body.page-contatti .contact-social-section{
  width:100%;
  max-width:100%;
}
body.page-contatti .contact-intro,
body.page-contatti .contact-feature-grid,
body.page-contatti .contact-social-heading,
body.page-contatti .contact-social-modern{
  width:min(100%,1440px);
  margin-left:auto;
  margin-right:auto;
}
body.page-contatti .contact-intro{
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.7fr)!important;
  align-items:end!important;
}
body.page-contatti .contact-feature-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;
  grid-template-areas:
    "map hours"
    "map write"!important;
  align-items:stretch;
}
body.page-contatti .contact-feature{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  position:relative;
}
body.page-contatti .contact-feature-copy{
  width:100%;
  min-width:0;
}
body.page-contatti .contact-feature-write .contact-direct-links{
  width:100%;
}
body.page-contatti .contact-direct-links a{
  max-width:100%;
  overflow-wrap:anywhere;
}
body.page-contatti .contact-social-modern{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
}
body.page-contatti .contact-social-modern .contact-social-card{
  box-sizing:border-box;
  position:relative;
  width:100%;
  min-width:0;
  height:100%;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
}
body.page-contatti .contact-social-modern .contact-social-cta{
  margin-top:auto;
}
@media(max-width:980px){
  body.page-contatti .contact-intro{
    grid-template-columns:1fr!important;
  }
  body.page-contatti .contact-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-areas:
      "map map"
      "hours write"!important;
  }
  body.page-contatti .contact-social-modern{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.page-contatti .contact-social-modern .contact-social-card:last-child{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  body.page-contatti .contact-experience,
  body.page-contatti .contact-social-section{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  body.page-contatti .contact-intro,
  body.page-contatti .contact-feature-grid,
  body.page-contatti .contact-social-heading,
  body.page-contatti .contact-social-modern{
    width:100%;
  }
  body.page-contatti .contact-feature-grid{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "map"
      "hours"
      "write"!important;
  }
  body.page-contatti .contact-feature{
    padding:22px!important;
    gap:16px!important;
  }
  body.page-contatti .contact-feature-map{
    min-height:320px!important;
  }
  body.page-contatti .contact-social-modern{
    grid-template-columns:1fr!important;
  }
  body.page-contatti .contact-social-modern .contact-social-card:last-child{
    grid-column:auto;
  }
  body.page-contatti .contact-direct-links{
    flex-direction:column;
    align-items:stretch;
  }
  body.page-contatti .contact-direct-links a{
    width:100%;
    text-align:center;
  }
}


/* v5.0.86 - colori ufficiali dei social al passaggio del mouse */
body.page-contatti .contact-social-modern .contact-social-card{
  transition:transform .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease!important;
}
body.page-contatti .contact-social-modern .contact-social-instagram:hover,
body.page-contatti .contact-social-modern .contact-social-instagram:focus-visible{
  background:linear-gradient(135deg,#833AB4 0%,#C13584 35%,#E1306C 62%,#F77737 82%,#FCAF45 100%)!important;
  border-color:rgba(255,255,255,.52)!important;
  box-shadow:0 20px 38px rgba(193,53,132,.30)!important;
}
body.page-contatti .contact-social-modern .contact-social-facebook:hover,
body.page-contatti .contact-social-modern .contact-social-facebook:focus-visible{
  background:#1877F2!important;
  border-color:#5da2fa!important;
  box-shadow:0 20px 38px rgba(24,119,242,.30)!important;
}
body.page-contatti .contact-social-modern .contact-social-whatsapp:hover,
body.page-contatti .contact-social-modern .contact-social-whatsapp:focus-visible{
  background:#25D366!important;
  border-color:#69e294!important;
  box-shadow:0 20px 38px rgba(37,211,102,.28)!important;
}
body.page-contatti .contact-social-modern .contact-social-card:hover .contact-social-icon,
body.page-contatti .contact-social-modern .contact-social-card:focus-visible .contact-social-icon{
  background:rgba(255,255,255,.20)!important;
  transform:scale(1.06) rotate(-2deg);
}
body.page-contatti .contact-social-modern .contact-social-card:hover .contact-social-label,
body.page-contatti .contact-social-modern .contact-social-card:focus-visible .contact-social-label,
body.page-contatti .contact-social-modern .contact-social-card:hover p,
body.page-contatti .contact-social-modern .contact-social-card:focus-visible p{
  color:#fff!important;
}


/* v5.0.87 - correzione definitiva colori social al passaggio del mouse */
.contact-social-section .contact-social-modern a.contact-social-card{
  position:relative;
  isolation:isolate;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important;
}
.contact-social-section .contact-social-modern a.contact-social-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none;
}
.contact-social-section .contact-social-modern a.contact-social-instagram::after{
  background:linear-gradient(135deg,#833AB4 0%,#C13584 34%,#E1306C 58%,#F77737 80%,#FCAF45 100%);
}
.contact-social-section .contact-social-modern a.contact-social-facebook::after{
  background:#1877F2;
}
.contact-social-section .contact-social-modern a.contact-social-whatsapp::after{
  background:#25D366;
}
.contact-social-section .contact-social-modern a.contact-social-card:hover::after,
.contact-social-section .contact-social-modern a.contact-social-card:focus-visible::after{
  opacity:1;
}
.contact-social-section .contact-social-modern a.contact-social-instagram:hover,
.contact-social-section .contact-social-modern a.contact-social-instagram:focus-visible{
  background:transparent!important;
  border-color:#FCAF45!important;
  box-shadow:0 20px 38px rgba(193,53,132,.38)!important;
}
.contact-social-section .contact-social-modern a.contact-social-facebook:hover,
.contact-social-section .contact-social-modern a.contact-social-facebook:focus-visible{
  background:transparent!important;
  border-color:#70B0FF!important;
  box-shadow:0 20px 38px rgba(24,119,242,.38)!important;
}
.contact-social-section .contact-social-modern a.contact-social-whatsapp:hover,
.contact-social-section .contact-social-modern a.contact-social-whatsapp:focus-visible{
  background:transparent!important;
  border-color:#75E6A0!important;
  box-shadow:0 20px 38px rgba(37,211,102,.34)!important;
}
.contact-social-section .contact-social-modern a.contact-social-card:hover .contact-social-icon,
.contact-social-section .contact-social-modern a.contact-social-card:focus-visible .contact-social-icon{
  background:rgba(255,255,255,.22)!important;
  color:#fff!important;
}
.contact-social-section .contact-social-modern a.contact-social-card:hover .contact-social-label,
.contact-social-section .contact-social-modern a.contact-social-card:focus-visible .contact-social-label,
.contact-social-section .contact-social-modern a.contact-social-card:hover h3,
.contact-social-section .contact-social-modern a.contact-social-card:focus-visible h3,
.contact-social-section .contact-social-modern a.contact-social-card:hover p,
.contact-social-section .contact-social-modern a.contact-social-card:focus-visible p,
.contact-social-section .contact-social-modern a.contact-social-card:hover .contact-social-cta,
.contact-social-section .contact-social-modern a.contact-social-card:focus-visible .contact-social-cta{
  color:#fff!important;
}


/* Tema 1.2.1 - quarta tessera Google Maps nella pagina Contatti */
body.page-contatti .contact-social-modern{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
body.page-contatti .contact-social-modern .contact-social-card{
  padding-right:104px!important;
}
body.page-contatti .contact-social-modern .contact-social-icon{
  position:absolute;
  top:30px;
  right:28px;
  width:62px;
  height:62px;
  margin:0!important;
  border-radius:18px;
}
body.page-contatti .contact-social-modern .contact-social-icon .social-icon{
  width:42px;
  height:42px;
  stroke-width:1.45;
}
.contact-social-section .contact-social-modern a.contact-social-google-maps::after{
  background:#4285f4;
}
.contact-social-section .contact-social-modern a.contact-social-google-maps:hover,
.contact-social-section .contact-social-modern a.contact-social-google-maps:focus-visible{
  background:transparent!important;
  border-color:#8cbaff!important;
  box-shadow:0 20px 38px rgba(66,133,244,.34)!important;
}
@media(max-width:980px){
  body.page-contatti .contact-social-modern{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.page-contatti .contact-social-modern .contact-social-card:last-child{
    grid-column:auto;
  }
}
@media(max-width:760px){
  body.page-contatti .contact-social-modern{
    grid-template-columns:1fr!important;
  }
  body.page-contatti .contact-social-modern .contact-social-card{
    padding-right:108px!important;
  }
}


/* v5.0.88 - callout WhatsApp in evidenza nella hero della home */
.blue-home-whatsapp-callout{
  margin-top:28px;
  display:grid;
  grid-template-columns:76px 1fr auto;
  gap:18px;
  align-items:center;
  max-width:760px;
  padding:18px 20px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(11,28,46,.82),rgba(11,28,46,.58));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 44px rgba(0,0,0,.24);
  backdrop-filter:blur(6px);
}
.blue-home-whatsapp-icon{
  width:76px;
  height:76px;
  border-radius:20px;
  background:rgba(37,211,102,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(37,211,102,.22);
}
.blue-home-whatsapp-icon img{
  width:42px;
  height:42px;
  object-fit:contain;
  display:block;
}
.blue-home-whatsapp-copy span{
  display:block;
  margin:0 0 4px;
  color:#9deab9;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.blue-home-whatsapp-copy strong{
  display:block;
  font-size:clamp(20px,1.8vw,28px);
  line-height:1.12;
  letter-spacing:-.03em;
  margin:0 0 8px;
}
.blue-home-whatsapp-copy p{
  margin:0;
  max-width:none;
  font-size:15px;
  line-height:1.55;
  opacity:.96;
}
.blue-home-whatsapp-button{
  align-self:center;
  justify-self:end;
  white-space:nowrap;
  background:#25D366;
  color:#082218;
  border-radius:999px;
  padding:14px 18px;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  box-shadow:0 8px 24px rgba(37,211,102,.28);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.blue-home-whatsapp-button:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(37,211,102,.36);
  background:#3ee07b;
}
@media(max-width:1180px){
  .blue-home-whatsapp-callout{
    grid-template-columns:70px 1fr;
  }
  .blue-home-whatsapp-button{
    grid-column:1 / -1;
    justify-self:start;
    margin-left:88px;
  }
}
@media(max-width:760px){
  .blue-home-whatsapp-callout{
    margin-top:22px;
    grid-template-columns:1fr;
    gap:14px;
    padding:16px;
    border-radius:18px;
  }
  .blue-home-whatsapp-icon{
    width:64px;
    height:64px;
    border-radius:18px;
  }
  .blue-home-whatsapp-icon img{width:36px;height:36px}
  .blue-home-whatsapp-copy strong{font-size:23px}
  .blue-home-whatsapp-copy p{font-size:14px}
  .blue-home-whatsapp-button{
    grid-column:auto;
    margin-left:0;
    width:100%;
    text-align:center;
    justify-self:stretch;
  }
}


/* v5.0.89 - callout WhatsApp leggermente più in basso nella hero */
.blue-home-whatsapp-callout{
  margin-top:42px!important;
}
@media(max-width:760px){
  .blue-home-whatsapp-callout{
    margin-top:28px!important;
  }
}


/* v5.0.90 - spazi ridotti tra callout WhatsApp e sezione attività */
.blue-home-hero-copy{
  padding-bottom:150px!important;
}
.blue-home-activities-embed{
  padding-top:clamp(34px,4vw,56px)!important;
}
@media(max-width:900px){
  .blue-home-hero-copy{
    padding-bottom:118px!important;
  }
  .blue-home-activities-embed{
    padding-top:26px!important;
  }
}
@media(max-width:760px){
  .blue-home-hero-copy{
    padding-bottom:92px!important;
  }
  .blue-home-activities-embed{
    padding-top:22px!important;
  }
}


/* v5.0.91 - correzione definitiva impaginazione regole palestra */
.rules-list{
  width:100%;
}
.rules-list>div{
  display:grid!important;
  grid-template-columns:46px 124px minmax(0,1fr)!important;
  align-items:center!important;
  gap:22px!important;
  width:100%;
  min-height:150px;
  padding:24px 0!important;
  border-top:1px solid #c8d4cc;
}
.rules-list>div:last-child{
  border-bottom:1px solid #c8d4cc;
}
.rules-list b{
  align-self:center!important;
  justify-self:start;
  color:#0877c9;
  font-size:16px;
  line-height:1;
  font-weight:900;
  padding:0!important;
}
.rules-list .gym-rule-sketch{
  width:112px!important;
  height:96px!important;
  object-fit:contain!important;
  object-position:center!important;
  justify-self:center;
}
.rules-list p{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  font-size:19px;
  line-height:1.55;
}
@media(max-width:900px){
  .rules-list>div{
    grid-template-columns:38px 100px minmax(0,1fr)!important;
    gap:16px!important;
    min-height:132px;
    padding:20px 0!important;
  }
  .rules-list .gym-rule-sketch{width:92px!important;height:80px!important;}
  .rules-list p{font-size:17px;}
}
@media(max-width:600px){
  .rules-list>div{
    grid-template-columns:34px 78px minmax(0,1fr)!important;
    gap:12px!important;
    min-height:112px;
    padding:18px 0!important;
  }
  .rules-list b{font-size:14px;}
  .rules-list .gym-rule-sketch{width:72px!important;height:68px!important;}
  .rules-list p{font-size:15px;line-height:1.48;}
}


/* v5.0.93 - pagina contatti: grafica mappa nel riquadro blu */
body.page-contatti .contact-feature-map{
  padding-right:clamp(235px,27vw,360px)!important;
}
body.page-contatti .contact-feature-map .contact-feature-copy{
  max-width:430px;
}
body.page-contatti .contact-map-graphic{
  position:absolute;
  right:26px;
  top:26px;
  bottom:26px;
  width:clamp(190px,24vw,310px);
  height:auto;
  pointer-events:none;
  opacity:.98;
  filter:drop-shadow(0 14px 24px rgba(3,19,38,.18));
}
body.page-contatti .contact-map-graphic .map-panel{
  fill:rgba(255,255,255,.08);
  stroke:rgba(255,255,255,.2);
  stroke-width:1.5;
}
body.page-contatti .contact-map-graphic .map-grid{
  fill:none;
  stroke:rgba(255,255,255,.1);
  stroke-width:1.5;
  stroke-linecap:round;
}
body.page-contatti .contact-map-graphic .map-route{
  fill:none;
  stroke:#ffffff;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:10 10;
  opacity:.9;
}
body.page-contatti .contact-map-graphic .map-route-dot{
  fill:#ffffff;
  opacity:.92;
}
body.page-contatti .contact-map-graphic .map-route-dot-end{
  fill:#cce5f8;
}
body.page-contatti .contact-map-graphic .map-pin path{
  fill:#ffffff;
  opacity:.96;
}
body.page-contatti .contact-map-graphic .map-pin circle{
  fill:#14538b;
}
body.page-contatti .contact-map-graphic .map-pin-alt path{
  fill:rgba(255,255,255,.82);
}
body.page-contatti .contact-map-graphic .map-pin-alt circle{
  fill:#0b3968;
}
@media(max-width:980px){
  body.page-contatti .contact-feature-map{
    padding-right:250px!important;
  }
  body.page-contatti .contact-map-graphic{
    width:220px;
    right:22px;
    top:22px;
    bottom:22px;
  }
}
@media(max-width:760px){
  body.page-contatti .contact-feature-map{
    padding-right:22px!important;
    padding-bottom:230px!important;
  }
  body.page-contatti .contact-feature-map .contact-feature-copy{
    max-width:none;
  }
  body.page-contatti .contact-map-graphic{
    width:min(100%,240px);
    height:180px;
    left:50%;
    right:auto;
    top:auto;
    bottom:18px;
    transform:translateX(-50%);
  }
}


/* v5.0.94 - fix grafica mappa contatti: visibilità indipendente dai body class */
.contact-feature-map{position:relative;overflow:hidden}
.contact-feature-map .contact-map-graphic{position:absolute;right:26px;top:26px;bottom:26px;width:clamp(190px,24vw,310px);height:auto;display:block;pointer-events:none;opacity:.98;filter:drop-shadow(0 14px 24px rgba(3,19,38,.18));background:transparent!important}
.contact-feature-map .contact-feature-copy{max-width:430px}
.contact-feature-map{padding-right:clamp(235px,27vw,360px)!important}
@media(max-width:980px){.contact-feature-map{padding-right:250px!important}.contact-feature-map .contact-map-graphic{width:220px;right:22px;top:22px;bottom:22px}}
@media(max-width:760px){.contact-feature-map{padding-right:22px!important;padding-bottom:230px!important}.contact-feature-map .contact-feature-copy{max-width:none}.contact-feature-map .contact-map-graphic{width:min(100%,240px);height:180px;left:50%;right:auto;top:auto;bottom:18px;transform:translateX(-50%)}}


/* v5.0.95 - nuova impaginazione coperture assicurative: 2 riquadri sopra, 3 sotto */
@media(min-width:1100px){
  #assicurazioni .insurance-cards{
    grid-template-columns:repeat(6,minmax(0,1fr));
    align-items:stretch;
  }
  #assicurazioni .insurance-cards article{
    min-height:220px;
  }
  #assicurazioni .insurance-cards article:nth-child(1){grid-column:1 / span 3;}
  #assicurazioni .insurance-cards article:nth-child(2){grid-column:4 / span 3;}
  #assicurazioni .insurance-cards article:nth-child(3){grid-column:1 / span 2;}
  #assicurazioni .insurance-cards article:nth-child(4){grid-column:3 / span 2;}
  #assicurazioni .insurance-cards article:nth-child(5){grid-column:5 / span 2;}
}


/* v5.0.96 - restyling più accattivante per riquadri palestra, prezzi e chi siamo */
/* Palestra: 4 riquadri struttura */
.blue-gym-features{
  gap:18px!important;
}
.blue-gym-features article{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#f2f8fc 100%)!important;
  border:1px solid #d7e5ef!important;
  border-radius:24px!important;
  box-shadow:0 16px 34px rgba(12,54,91,.08)!important;
  padding:28px 26px 24px!important;
  min-height:270px!important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.blue-gym-features article::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg,#1e78c9 0%, #54a8e8 100%);
}
.blue-gym-features article::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  right:-36px;
  top:-32px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(30,120,201,.12) 0%, rgba(30,120,201,0) 68%);
  pointer-events:none;
}
.blue-gym-features .gym-feature-sketch{
  margin:4px 0 12px!important;
  max-width:210px;
  height:112px;
}
.blue-gym-features strong{
  color:#0b4f83!important;
  font-size:clamp(34px,3vw,44px)!important;
  line-height:.92;
  letter-spacing:-.05em;
}
.blue-gym-features h3{
  margin:10px 0 8px!important;
  font-size:22px!important;
  color:#173d6f!important;
}
.blue-gym-features p{
  color:#506479!important;
  font-size:15px;
}

/* Palestra: riquadri prezzi */
.gym-price-grid{
  gap:18px!important;
}
.gym-price-grid article{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#f4f9fd 100%)!important;
  border:1px solid #d8e6f0!important;
  border-radius:24px!important;
  box-shadow:0 16px 34px rgba(12,54,91,.07)!important;
  min-height:220px!important;
  padding:24px 24px 22px!important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.gym-price-grid article::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:72px;
  background:linear-gradient(180deg,rgba(18,86,139,.10) 0%, rgba(18,86,139,0) 100%);
}
.gym-price-grid article::after{
  content:"";
  position:absolute;
  right:18px;
  top:18px;
  width:46px;
  height:46px;
  border-radius:14px;
  background:rgba(18,86,139,.08);
  box-shadow:inset 0 0 0 1px rgba(18,86,139,.08);
}
.gym-price-grid article > *{position:relative;z-index:1}
.gym-price-grid span{
  color:#2d6fa9!important;
  font-size:12px!important;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900!important;
}
.gym-price-grid strong{
  color:#093f6c!important;
  font-size:clamp(40px,3.5vw,52px)!important;
  line-height:.96;
  margin-top:auto;
}
.gym-price-grid small{
  color:#61768a!important;
  font-size:14px;
}

/* Chi siamo: 3 riquadri finali */
.sezione-hub-grid{
  gap:22px!important;
}
.sezione-hub-grid a{
  border-radius:28px!important;
  border:1px solid #d7e5ef!important;
  background:linear-gradient(180deg,#ffffff 0%,#f3f8fc 100%)!important;
  box-shadow:0 18px 38px rgba(12,54,91,.08)!important;
  padding:24px 24px 22px!important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease!important;
}
.sezione-hub-grid a::before{
  background:linear-gradient(180deg,rgba(31,120,201,.10) 0%, rgba(31,120,201,0) 48%)!important;
}
.sezione-hub-grid a::after{
  content:"";
  position:absolute;
  right:-18px;
  bottom:-28px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(31,120,201,.10) 0%, rgba(31,120,201,0) 68%);
  pointer-events:none;
}
.sezione-hub-grid a:hover{
  transform:translateY(-6px);
  background:linear-gradient(180deg,#0e4f87 0%,#0a3f70 100%)!important;
  border-color:#0e4f87!important;
  box-shadow:0 22px 40px rgba(8,39,70,.18)!important;
}
.sezione-hub-illustrazione{
  min-height:144px!important;
  margin-bottom:10px!important;
  background:linear-gradient(180deg,#f8fbfe 0%,#eef5fa 100%);
  border:1px solid #dce7ef;
  border-radius:22px;
}
.sezione-hub-illustrazione img{
  width:170px!important;
  height:170px!important;
}
.sezione-hub-grid h3{
  color:#173d6f!important;
  margin:10px 0 8px!important;
}
.sezione-hub-grid p{
  color:#526679!important;
}
.sezione-hub-grid span{
  color:#0c4d82!important;
  font-weight:800;
}
.sezione-hub-grid a:hover .sezione-hub-illustrazione{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.14);
}
.sezione-hub-grid a:hover h3,
.sezione-hub-grid a:hover p,
.sezione-hub-grid a:hover span,
.sezione-hub-grid a:hover b{color:#ffffff!important}

@media(max-width:1000px){
  .blue-gym-features article{min-height:250px!important}
  .gym-price-grid article{min-height:200px!important}
  .sezione-hub-illustrazione img{width:145px!important;height:145px!important}
}
@media(max-width:760px){
  .blue-gym-features{gap:14px!important}
  .blue-gym-features article{padding:22px 20px 20px!important;min-height:auto!important;border-radius:20px!important}
  .blue-gym-features .gym-feature-sketch{max-width:180px;height:96px}
  .gym-price-grid{gap:14px!important}
  .gym-price-grid article{min-height:auto!important;padding:20px 18px!important;border-radius:20px!important}
  .gym-price-grid strong{font-size:40px!important}
  .sezione-hub-grid{gap:16px!important}
  .sezione-hub-grid a{padding:20px 18px 18px!important;border-radius:22px!important}
  .sezione-hub-illustrazione{min-height:118px!important;border-radius:18px}
  .sezione-hub-illustrazione img{width:120px!important;height:120px!important}
}


/* v5.0.97 - restyling riquadri prezzi palestra, senza quadratino in alto a destra */
.gym-price-grid article{
  position:relative;
  overflow:hidden;
  display:flex!important;
  flex-direction:column;
  justify-content:space-between;
  background:linear-gradient(180deg,#ffffff 0%,#f6fbfe 100%)!important;
  border:1px solid #d8e5ef!important;
  border-radius:26px!important;
  box-shadow:0 16px 32px rgba(11,51,88,.08)!important;
  padding:22px 22px 20px!important;
}
.gym-price-grid article::before{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:6px;
  background:linear-gradient(90deg,#1562a0 0%,#59b3ea 100%);
  opacity:.95;
}
.gym-price-grid article::after{
  content:none!important;
  display:none!important;
}
.gym-price-grid article > *{
  position:relative;
  z-index:1;
}
.gym-price-grid span{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(21,98,160,.09);
  color:#155d98!important;
  font-size:11px!important;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900!important;
  margin-bottom:16px;
}
.gym-price-grid strong{
  color:#093f6c!important;
  font-size:clamp(38px,3.5vw,52px)!important;
  line-height:.94;
  letter-spacing:-.05em;
  margin:0 0 10px;
}
.gym-price-grid small{
  display:block;
  color:#607589!important;
  font-size:14px;
  line-height:1.45;
}
@media(max-width:760px){
  .gym-price-grid article{
    padding:20px 18px 18px!important;
    border-radius:22px!important;
  }
  .gym-price-grid span{margin-bottom:12px}
  .gym-price-grid strong{font-size:40px!important}
}


/* v5.0.98 - uniformato titolo coperture e maggiore risalto accesso soci palestra */
#assicurazioni .insurance-heading .section-kicker{
  color:#ffffff!important;
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
  margin:0 0 20px!important;
}
#assicurazioni .insurance-heading .section-kicker::before{
  content:""!important;
  display:inline-block!important;
  vertical-align:middle!important;
  width:35px!important;
  height:4px!important;
  margin-right:13px!important;
  background:currentColor!important;
}

.gym-membership-notice{
  grid-template-columns:58px minmax(0,1fr)!important;
  gap:24px!important;
  margin-top:40px!important;
  padding:32px 34px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#063866 0%,#0b4e84 100%)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 18px 38px rgba(3,44,82,.22)!important;
  position:relative;
  overflow:hidden;
}
.gym-membership-notice::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-70px;
  top:-80px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  pointer-events:none;
}
.gym-membership-notice>span{
  width:54px!important;
  height:54px!important;
  font-size:26px!important;
  color:#0b4f83!important;
  background:#e2f2fc!important;
  box-shadow:0 8px 18px rgba(0,0,0,.13);
  position:relative;
  z-index:1;
}
.gym-membership-notice>div{
  position:relative;
  z-index:1;
}
.gym-membership-notice strong{
  margin-bottom:12px!important;
  font-size:clamp(23px,2vw,30px)!important;
  line-height:1.08;
  letter-spacing:-.025em;
}
.gym-membership-notice p{
  margin:0 0 20px!important;
  color:#e0edf6!important;
  font-size:17px!important;
  line-height:1.62!important;
  max-width:720px;
}
.gym-notice-links{
  gap:12px!important;
}
.gym-membership-notice a{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 16px!important;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.09);
  color:#ffffff!important;
  text-decoration:none!important;
  font-size:14px!important;
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}
.gym-membership-notice a:hover{
  background:#ffffff;
  color:#0b4f83!important;
  border-color:#ffffff;
  transform:translateY(-2px);
}
@media(max-width:760px){
  .gym-membership-notice{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:16px!important;
    padding:24px 20px!important;
    border-radius:18px!important;
  }
  .gym-membership-notice>span{
    width:46px!important;
    height:46px!important;
    font-size:22px!important;
  }
  .gym-membership-notice strong{font-size:23px!important}
  .gym-membership-notice p{font-size:15px!important}
  .gym-notice-links{flex-direction:column;align-items:stretch}
  .gym-membership-notice a{width:100%}
}


/* v5.0.99 - home con sei notizie compatte e menu Notizie a tendina */
.blue-home .blue-news-section .news-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.blue-home .blue-news-section .news-card{
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid #dbe7ef!important;
  box-shadow:0 12px 28px rgba(9,48,83,.07)!important;
}
.blue-home .blue-news-section .news-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 18px 34px rgba(9,48,83,.12)!important;
}
.blue-home .blue-news-section .news-card>img,
.blue-home .blue-news-section .news-card>.news-placeholder{
  aspect-ratio:16/8.2!important;
  min-height:0!important;
  object-fit:cover;
}
.blue-home .blue-news-section .news-card>div{
  padding:20px 20px 19px!important;
}
.blue-home .blue-news-section .news-card h3{
  margin:18px 0 11px!important;
  font-size:22px!important;
  line-height:1.12!important;
}
.blue-home .blue-news-section .news-card p{
  margin-bottom:18px!important;
  font-size:13px!important;
  line-height:1.5!important;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.blue-home .blue-news-section .news-card time{margin-top:5px!important}
.blue-home .blue-news-section .news-card>a,
.blue-home .blue-news-section .news-card>div>a{font-size:13px!important}
.blue-nav-group-news>.blue-nav-static{
  height:100%;
  cursor:default;
  white-space:nowrap;
}
.blue-nav-group-news>div{
  min-width:220px;
}
.press-archive-section{
  min-height:520px;
}
.press-archive-intro{
  max-width:820px;
}
.press-archive-intro h2{
  color:var(--blue);
  font-size:clamp(42px,5vw,70px);
  line-height:.98;
  letter-spacing:-.05em;
  margin:14px 0 22px;
}
.press-archive-intro p{
  color:#526779;
  font-size:18px;
  line-height:1.7;
}
.press-empty-state{
  margin-top:42px;
  padding:30px;
  border:1px solid #cfe0eb;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 30px rgba(8,45,78,.07);
}
.press-empty-state strong{display:block;color:var(--blue);font-size:24px;margin-bottom:8px}
.press-empty-state p{margin:0;color:#5a6e80}
@media(max-width:980px){
  .blue-home .blue-news-section .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .blue-home .blue-news-section .news-grid{grid-template-columns:1fr!important;gap:14px!important}
  .blue-home .blue-news-section .news-card>div{padding:18px!important}
  .blue-home .blue-news-section .news-card h3{font-size:21px!important}
}


/* v5.0.100 - correzione definitiva menu Notizie desktop */
@media(min-width:1181px){
  .blue-site-header,
  .blue-mainbar{
    overflow:visible!important;
  }
  .blue-nav-group-news{
    position:relative!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
  }
  .blue-nav-group-news>.blue-news-menu-trigger{
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    position:relative!important;
    padding:39px 0 33px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
    font:inherit!important;
    line-height:1!important;
    white-space:nowrap!important;
    cursor:default!important;
    text-transform:uppercase!important;
  }
  .blue-nav-group-news>.blue-news-menu-trigger:after{
    content:"";
    position:absolute;
    height:3px;
    background:var(--blue-bright);
    left:0;
    right:100%;
    bottom:24px;
    transition:right .25s;
  }
  .blue-nav-group-news:hover>.blue-news-menu-trigger:after,
  .blue-nav-group-news:focus-within>.blue-news-menu-trigger:after{
    right:0;
  }
  .blue-nav-group-news>.blue-news-dropdown{
    display:block!important;
    position:absolute!important;
    top:calc(100% - 14px)!important;
    left:-22px!important;
    min-width:225px!important;
    padding:12px!important;
    background:#fff!important;
    border-top:4px solid var(--blue-bright)!important;
    box-shadow:0 18px 35px rgba(3,38,73,.20)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(8px)!important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
    z-index:10050!important;
  }
  .blue-nav-group-news>.blue-news-dropdown:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-18px;
    height:18px;
  }
  .blue-nav-group-news:hover>.blue-news-dropdown,
  .blue-nav-group-news:focus-within>.blue-news-dropdown{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  .blue-nav-group-news>.blue-news-dropdown a{
    display:block!important;
    padding:12px 14px!important;
    border-bottom:1px solid var(--line)!important;
    color:var(--blue)!important;
    text-transform:none!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.35!important;
  }
  .blue-nav-group-news>.blue-news-dropdown a:last-child{
    border-bottom:0!important;
  }
  .blue-nav-group-news>.blue-news-dropdown a:hover,
  .blue-nav-group-news>.blue-news-dropdown a:focus-visible{
    background:var(--sky)!important;
    color:var(--blue-bright)!important;
    padding-left:18px!important;
  }
}


/* v5.0.101 - Chi siamo senza tendina; testata più sottile, leggermente ribassata e sempre visibile */
.blue-site-header{
  position:sticky!important;
  top:0!important;
  z-index:10000!important;
  width:100%!important;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 4px 18px rgba(3,38,73,.10)!important;
}
.blue-mainbar{
  min-height:94px!important;
  padding-top:4px!important;
  padding-bottom:0!important;
  overflow:visible!important;
}
.blue-brand{
  min-width:270px!important;
}
.blue-brand img{
  width:92px!important;
  height:92px!important;
  flex:0 0 92px!important;
}
.blue-desktop-nav{
  align-self:stretch!important;
  align-items:center!important;
}
.blue-desktop-nav>a,
.blue-nav-group>a,
.blue-nav-group-news>.blue-news-menu-trigger{
  padding-top:34px!important;
  padding-bottom:28px!important;
  transform:translateY(3px);
}
.blue-desktop-nav>a:after,
.blue-nav-group>a:after,
.blue-nav-group-news>.blue-news-menu-trigger:after{
  bottom:20px!important;
}
.blue-nav-group-news>.blue-news-dropdown{
  top:calc(100% - 10px)!important;
}
@media(max-width:1180px){
  .blue-mainbar{
    min-height:82px!important;
    padding-top:2px!important;
  }
  .blue-brand img{
    width:74px!important;
    height:74px!important;
    flex-basis:74px!important;
  }
}
@media(max-width:520px){
  .blue-mainbar{min-height:76px!important}
  .blue-brand img{
    width:64px!important;
    height:64px!important;
    flex-basis:64px!important;
  }
}


/* v5.0.103 - callout WhatsApp home più compatto e più in basso */
.blue-home-whatsapp-callout{
  max-width:690px!important;
  grid-template-columns:62px minmax(0,1fr) auto!important;
  gap:14px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  margin-top:58px!important;
}
.blue-home-whatsapp-icon{
  width:62px!important;
  height:62px!important;
  border-radius:16px!important;
}
.blue-home-whatsapp-icon img{
  width:35px!important;
  height:35px!important;
}
.blue-home-whatsapp-copy strong{
  font-size:clamp(18px,1.5vw,24px)!important;
  margin-bottom:5px!important;
}
.blue-home-whatsapp-copy p{
  font-size:14px!important;
  line-height:1.45!important;
}
.blue-home-whatsapp-button{
  padding:11px 16px!important;
  font-size:12px!important;
}
@media(max-width:760px){
  .blue-home-whatsapp-callout{
    max-width:100%!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    margin-top:40px!important;
    padding:13px 14px!important;
  }
  .blue-home-whatsapp-icon{
    width:52px!important;
    height:52px!important;
    border-radius:14px!important;
  }
  .blue-home-whatsapp-icon img{
    width:30px!important;
    height:30px!important;
  }
  .blue-home-whatsapp-button{
    grid-column:1/-1!important;
    width:100%!important;
  }
}


/* v5.0.104 - callout WhatsApp più piccolo e più in basso */
.blue-home-whatsapp-callout{
  max-width:610px!important;
  grid-template-columns:54px minmax(0,1fr) auto!important;
  gap:12px!important;
  padding:12px 14px!important;
  border-radius:16px!important;
  margin-top:78px!important;
}
.blue-home-whatsapp-icon{
  width:54px!important;
  height:54px!important;
  border-radius:14px!important;
}
.blue-home-whatsapp-icon img{
  width:30px!important;
  height:30px!important;
}
.blue-home-whatsapp-copy span{
  font-size:11px!important;
  margin-bottom:3px!important;
}
.blue-home-whatsapp-copy strong{
  font-size:clamp(16px,1.35vw,21px)!important;
  margin-bottom:4px!important;
}
.blue-home-whatsapp-copy p{
  font-size:13px!important;
  line-height:1.38!important;
}
.blue-home-whatsapp-button{
  padding:10px 14px!important;
  font-size:11px!important;
}
@media(max-width:760px){
  .blue-home-whatsapp-callout{
    max-width:100%!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    gap:10px!important;
    margin-top:50px!important;
    padding:12px 12px!important;
    border-radius:15px!important;
  }
  .blue-home-whatsapp-icon{
    width:46px!important;
    height:46px!important;
    border-radius:12px!important;
  }
  .blue-home-whatsapp-icon img{
    width:26px!important;
    height:26px!important;
  }
  .blue-home-whatsapp-copy strong{
    font-size:20px!important;
  }
  .blue-home-whatsapp-copy p{
    font-size:13px!important;
  }
  .blue-home-whatsapp-button{
    grid-column:1/-1!important;
    width:100%!important;
    padding:10px 12px!important;
  }
}


/* v5.0.105 - Rassegna stampa organizzata come archivio notizie + lettore articolo a piena larghezza */
.press-archive-section{
  min-height:520px;
}
.press-archive-section .press-archive-grid{
  width:100%;
}
.press-archive-section .press-card img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.press-single-page{
  overflow-x:hidden;
  background:#f2f7fb;
}
.press-reader-section{
  width:100%;
  padding:26px 2vw clamp(48px,6vw,90px);
}
.press-reader-toolbar{
  width:min(96vw,1800px);
  margin:0 auto 22px;
}
.press-reader{
  width:min(96vw,1800px);
  margin:0 auto;
}
.press-reader-image{
  display:block;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:top center;
  margin:0 auto;
  background:#fff;
  box-shadow:0 18px 44px rgba(3,44,82,.14);
}
.press-reader-content{
  width:100%;
  max-width:none!important;
  margin:0!important;
}
.press-reader-content:empty{
  display:none;
}
.press-reader-content img,
.press-reader-content figure img{
  display:block;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  margin:24px auto 0!important;
}
.press-reader-content figure{
  width:100%!important;
  max-width:none!important;
  margin:24px 0 0!important;
}
.press-reader-content iframe,
.press-reader-content embed,
.press-reader-content object{
  display:block;
  width:100%!important;
  max-width:none!important;
  height:calc(100vh - 130px)!important;
  min-height:720px;
  border:0;
  background:#fff;
  margin:24px 0 0;
}
.press-reader-content .wp-block-file{
  width:100%;
}
@media(max-width:900px){
  .press-reader-section{padding-left:14px;padding-right:14px}
  .press-reader-toolbar,.press-reader{width:100%}
  .press-reader-content iframe,
  .press-reader-content embed,
  .press-reader-content object{
    height:78vh!important;
    min-height:520px;
  }
}
@media(max-width:600px){
  .press-reader-section{padding-top:18px;padding-left:8px;padding-right:8px}
  .press-reader-toolbar{padding:0 8px;margin-bottom:16px}
  .press-reader-image{box-shadow:0 10px 26px rgba(3,44,82,.12)}
  .press-reader-content iframe,
  .press-reader-content embed,
  .press-reader-content object{
    height:72vh!important;
    min-height:430px;
  }
}


/* v5.0.110 - Rassegna stampa: hero pulita e archivio separato */
.press-archive-section{
  position:relative;
  z-index:1;
  margin:0!important;
  padding-top:54px!important;
  background:#edf7fd!important;
}
.press-archive-section::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:1px;
  background:rgba(4,43,81,.08);
}
.press-archive-section .news-archive-grid,
.press-archive-section .news-load-more-wrap,
.press-archive-section .news-scroll-sentinel,
.press-archive-section .empty-news{
  position:relative;
  z-index:2;
}
.page-hero .hero-trace-news{
  opacity:.22;
}
@media(max-width:760px){
  .press-archive-section{padding-top:42px!important}
}


/* v5.0.111 - Hero Rassegna stampa pulita e più coerente */
.page-hero .hero-trace-news{
  width:min(44vw,620px)!important;
  right:clamp(18px,3vw,44px)!important;
  opacity:.28!important;
}
body.page-rassegna-stampa .content-added,
body.page-template-default.page-rassegna-stampa .content-added{
  display:none!important;
}
.press-archive-section{
  padding-top:46px!important;
}
@media(max-width:900px){
  .page-hero .hero-trace-news{
    width:min(56vw,420px)!important;
    right:10px!important;
    opacity:.24!important;
  }
}
@media(max-width:760px){
  .press-archive-section{padding-top:38px!important}
}


/* v5.0.112 - correzione definitiva Rassegna stampa */
.caimeda-press-review-page > .page-hero{
  overflow:hidden;
}
.caimeda-press-review-page > .page-hero .hero-trace-press-realistic{
  position:absolute!important;
  right:clamp(18px,3vw,54px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:min(42vw,650px)!important;
  height:auto!important;
  max-height:84%!important;
  object-fit:contain!important;
  object-position:center right!important;
  opacity:.32!important;
  mix-blend-mode:screen;
  filter:saturate(.35) contrast(1.05) brightness(1.06);
  pointer-events:none;
}
.caimeda-press-review-page > .page-hero .page-hero-content{
  position:relative;
  z-index:2;
  max-width:min(72%,1050px);
}
.caimeda-press-review-page > .page-hero + .press-archive-section{
  margin-top:0!important;
}
.caimeda-press-review-page .press-archive-section{
  background:#edf7fd!important;
  padding-top:48px!important;
}
.caimeda-press-review-page .press-archive-section .press-archive-grid{
  margin-top:0!important;
}
.caimeda-press-review-page .content-added{
  display:none!important;
}
@media(max-width:900px){
  .caimeda-press-review-page > .page-hero .page-hero-content{max-width:70%}
  .caimeda-press-review-page > .page-hero .hero-trace-press-realistic{
    width:min(48vw,470px)!important;
    right:8px!important;
    opacity:.24!important;
  }
}
@media(max-width:700px){
  .caimeda-press-review-page > .page-hero .page-hero-content{max-width:100%}
  .caimeda-press-review-page > .page-hero .hero-trace-press-realistic{
    width:58vw!important;
    right:-12vw!important;
    opacity:.16!important;
  }
  .caimeda-press-review-page .press-archive-section{padding-top:36px!important}
}


/* v5.0.113 - Rassegna stampa: template dedicato, hero pulita, archivio fuori dalla fascia blu */
.caimeda-press-review-page-v113{
  display:block!important;
  background:#edf7fd!important;
}
.caimeda-press-review-page-v113 > .page-hero{
  display:block!important;
  position:relative!important;
  min-height:510px!important;
  margin:0!important;
  background-color:var(--blue)!important;
  overflow:hidden!important;
  isolation:isolate;
}
.caimeda-press-review-page-v113 > .page-hero .page-hero-content{
  position:relative!important;
  z-index:3!important;
  max-width:min(68%,980px)!important;
}
.caimeda-press-review-page-v113 > .page-hero .hero-trace-press-realistic{
  position:absolute!important;
  z-index:1!important;
  top:50%!important;
  right:clamp(20px,4vw,70px)!important;
  width:min(41vw,650px)!important;
  height:auto!important;
  max-height:78%!important;
  transform:translateY(-50%)!important;
  object-fit:contain!important;
  opacity:.44!important;
  filter:saturate(.55) contrast(1.03) brightness(1.02)!important;
  mix-blend-mode:screen!important;
  -webkit-mask-image:radial-gradient(ellipse 78% 76% at 54% 48%,#000 52%,rgba(0,0,0,.86) 68%,transparent 100%);
  mask-image:radial-gradient(ellipse 78% 76% at 54% 48%,#000 52%,rgba(0,0,0,.86) 68%,transparent 100%);
  pointer-events:none!important;
}
.caimeda-press-review-page-v113 > .press-archive-section-v113{
  display:block!important;
  position:relative!important;
  z-index:2!important;
  clear:both!important;
  width:100%!important;
  margin:0!important;
  padding-top:54px!important;
  background:#edf7fd!important;
  color:#14283a!important;
}
.caimeda-press-review-page-v113 > .press-archive-section-v113 .news-archive-grid{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
}
.caimeda-press-review-page-v113 > .press-archive-section-v113 .news-year-strip{
  margin-top:18px;
}
.caimeda-press-review-page-v113 > .press-archive-section-v113 .news-year-strip:first-child{
  margin-top:0!important;
}
/* Il template dedicato non stampa mai il contenuto editoriale della pagina. */
.caimeda-press-review-page-v113 .content-added,
.caimeda-press-review-page-v113 .wp-block-post-content,
.caimeda-press-review-page-v113 .entry-content{
  display:none!important;
}
@media(max-width:900px){
  .caimeda-press-review-page-v113 > .page-hero .page-hero-content{max-width:72%!important}
  .caimeda-press-review-page-v113 > .page-hero .hero-trace-press-realistic{
    width:min(46vw,480px)!important;
    right:8px!important;
    opacity:.34!important;
  }
}
@media(max-width:700px){
  .caimeda-press-review-page-v113 > .page-hero{
    min-height:440px!important;
  }
  .caimeda-press-review-page-v113 > .page-hero .page-hero-content{
    max-width:100%!important;
  }
  .caimeda-press-review-page-v113 > .page-hero .hero-trace-press-realistic{
    width:64vw!important;
    right:-20vw!important;
    opacity:.18!important;
  }
  .caimeda-press-review-page-v113 > .press-archive-section-v113{
    padding-top:38px!important;
  }
}


/* v5.0.115 — Sentiero Meda–Montorfano: badge riposizionato e icone ingrandite */
.page-hero{overflow:hidden}
.trail-hero-badge{
  position:absolute;
  right:clamp(54px,8vw,126px);
  bottom:clamp(48px,8vw,98px);
  z-index:3;
  max-width:min(30vw,280px);
  background:linear-gradient(180deg,#fffefb 0%,#fff8ea 100%);
  color:var(--forest);
  padding:18px 24px 20px;
  box-shadow:0 18px 42px rgba(3,44,82,.24);
  transform:rotate(-4deg);
  border:2px solid rgba(6,56,102,.82);
  border-radius:10px 18px 12px 22px;
  clip-path:polygon(4% 1%, 95% 0%, 99% 10%, 97% 58%, 100% 96%, 67% 97%, 56% 100%, 49% 95%, 3% 98%, 0% 61%, 2% 18%);
}
.trail-hero-badge:before{
  content:'';
  position:absolute;
  left:22px;
  bottom:-16px;
  width:34px;
  height:26px;
  background:linear-gradient(180deg,#fffefb 0%,#fff8ea 100%);
  border-left:2px solid rgba(6,56,102,.82);
  border-bottom:2px solid rgba(6,56,102,.82);
  transform:rotate(-31deg) skewX(-18deg);
  clip-path:polygon(0 0, 100% 12%, 92% 100%, 12% 88%);
}
.trail-hero-badge:after{
  content:'';
  position:absolute;
  inset:7px;
  border:1px dashed rgba(6,56,102,.28);
  border-radius:8px 16px 10px 18px;
  pointer-events:none;
  clip-path:polygon(4% 2%, 95% 0%, 98% 10%, 96% 58%, 99% 95%, 67% 96%, 56% 99%, 49% 94%, 4% 97%, 1% 61%, 2% 18%);
}
.trail-hero-badge span{
  display:block;
  font-size:clamp(20px,2.1vw,30px);
  line-height:1.03;
  font-weight:900;
  letter-spacing:-.035em;
}
.sentiero-rules{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.sentiero-rules article{
  position:relative;
  min-height:100%;
  padding:24px 22px 24px;
  border-radius:26px;
  border:1px solid rgba(6,56,102,.11);
  background:linear-gradient(180deg,#f7fbff 0%,#edf7fd 100%)!important;
  box-shadow:0 18px 36px rgba(3,44,82,.08);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:16px;
  overflow:hidden;
}
.sentiero-rules article:before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
  background:linear-gradient(90deg,var(--red) 0%,#4c86bf 100%);
  opacity:.95;
}
.sentiero-rule-figure{
  display:flex;
  align-items:center;
  justify-content:center;
  height:210px;
  padding:4px;
  border-radius:22px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(6,56,102,.08);
}
.sentiero-rule-figure img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(3,44,82,.08));
}
.sentiero-rules article p{
  margin:0;
  color:#19314a;
  font-size:16px;
  line-height:1.62;
  font-weight:700;
}
@media (max-width:980px){
  .trail-hero-badge{max-width:250px;right:40px;bottom:44px}
  .sentiero-rules{grid-template-columns:1fr}
}
@media (max-width:760px){
  .trail-hero-badge{
    max-width:205px;
    padding:13px 16px 15px;
    right:20px;
    bottom:28px;
  }
  .trail-hero-badge span{font-size:20px}
  .sentiero-rules article{padding:20px 18px 22px}
  .sentiero-rule-figure{height:180px}
}


/* v5.0.116 — Sentiero: patch evento più discreta + icone realmente più grandi */
.trail-hero-badge{
  right:clamp(54px,8vw,126px)!important;
  bottom:clamp(48px,8vw,98px)!important;
  max-width:min(30vw,280px)!important;
  padding:17px 23px 18px!important;
  color:#fff!important;
  background:linear-gradient(135deg,rgba(3,44,82,.78),rgba(15,92,155,.62))!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:18px 22px 16px 20px!important;
  clip-path:none!important;
  box-shadow:0 14px 34px rgba(3,27,52,.24),inset 0 0 0 1px rgba(255,255,255,.10)!important;
  backdrop-filter:blur(7px) saturate(1.08);
  -webkit-backdrop-filter:blur(7px) saturate(1.08);
  transform:rotate(-2deg)!important;
}
.trail-hero-badge:before{
  content:''!important;
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  top:8px!important;
  bottom:auto!important;
  width:auto!important;
  height:2px!important;
  border:0!important;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.48) 0 8px,transparent 8px 14px)!important;
  transform:none!important;
  clip-path:none!important;
  border-radius:999px!important;
}
.trail-hero-badge:after{
  content:''!important;
  position:absolute!important;
  inset:5px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:14px 18px 13px 16px!important;
  clip-path:none!important;
  pointer-events:none!important;
}
.trail-hero-badge span{
  position:relative;
  z-index:1;
  text-shadow:0 2px 8px rgba(0,0,0,.22);
}
.trail-hero-badge span:before{
  content:'•  APPUNTAMENTO ANNUALE';
  display:block;
  margin-bottom:7px;
  font-size:9px;
  line-height:1;
  letter-spacing:.16em;
  font-weight:900;
  opacity:.78;
}
.sentiero-rule-figure{
  overflow:hidden!important;
}
.sentiero-rule-figure img{
  width:125%!important;
  max-width:125%!important;
  height:125%!important;
  max-height:125%!important;
  object-fit:contain!important;
  transform:scale(1.18)!important;
  transform-origin:center!important;
}
@media(max-width:760px){
  .trail-hero-badge{right:20px!important;bottom:28px!important;max-width:205px!important}
  .sentiero-rule-figure img{transform:scale(1.16)!important}
}


/* v5.0.117 — CTA sito ufficiale Sentiero Meda–Montorfano */
.trail-intro-action{margin-top:34px!important}
.trail-official-site{
  position:relative;
  display:grid;
  grid-template-columns:62px minmax(0,1fr) 42px;
  align-items:center;
  gap:16px;
  max-width:610px;
  padding:16px 18px;
  color:#fff;
  background:linear-gradient(135deg,#063866 0%,#0b5a98 100%);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  box-shadow:0 16px 34px rgba(3,44,82,.22);
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.trail-official-site:before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 88% 18%,rgba(255,255,255,.14),transparent 30%);
  pointer-events:none;
}
.trail-official-site:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 42px rgba(3,44,82,.3);
  background:linear-gradient(135deg,#052f57 0%,#0d6caf 100%);
}
.trail-official-site-icon{
  position:relative;
  z-index:1;
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
}
.trail-official-site-icon svg{
  width:38px;
  height:38px;
  fill:none;
  stroke:#fff;
  stroke-width:2.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.trail-official-site-copy{position:relative;z-index:1;display:grid;gap:3px}
.trail-official-site-copy small{
  color:#cdeafa;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.trail-official-site-copy strong{
  color:#fff;
  font-size:clamp(20px,2vw,27px);
  line-height:1.05;
  letter-spacing:-.025em;
}
.trail-official-site-copy em{
  color:rgba(255,255,255,.8);
  font-size:13px;
  font-style:normal;
  line-height:1.35;
}
.trail-official-site-arrow{
  position:relative;
  z-index:1;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#063866;
  font-size:24px;
  font-weight:900;
  transition:transform .2s ease;
}
.trail-official-site:hover .trail-official-site-arrow{transform:translateX(4px)}
@media(max-width:760px){
  .trail-official-site{grid-template-columns:52px minmax(0,1fr) 36px;gap:12px;padding:14px;border-radius:17px}
  .trail-official-site-icon{width:52px;height:52px;border-radius:14px}
  .trail-official-site-icon svg{width:32px;height:32px}
  .trail-official-site-copy strong{font-size:20px}
  .trail-official-site-copy em{font-size:12px}
  .trail-official-site-arrow{width:34px;height:34px;font-size:21px}
}


/* v5.0.118 - link senza sottolineature e card notizie/rassegna interamente cliccabili */
.trail-official-site,
.trail-official-site *,
.trail-official-site:hover,
.trail-official-site:focus,
.trail-official-site:visited{
  text-decoration:none!important;
}
.news-card{
  position:relative;
}
.news-card-link{
  display:flex;
  flex-direction:column;
  height:100%;
  color:inherit!important;
  text-decoration:none!important;
  border-radius:inherit;
  overflow:hidden;
}
.news-card-link:hover,
.news-card-link:focus,
.news-card-link:visited,
.news-card-link h3,
.news-card-link h3:hover,
.news-card-link h3:focus{
  color:inherit;
  text-decoration:none!important;
}
.news-card-link > img,
.news-card-link > .news-placeholder{
  width:100%;
  display:block;
}
.news-card-link > div{
  flex:1;
}
.news-card-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--blue-bright);
  font-weight:800;
  text-decoration:none!important;
}
.news-card-link:hover .news-card-cta .drawn-arrow,
.news-card-link:focus .news-card-cta .drawn-arrow{
  transform:translateX(4px) rotate(-4deg);
}
.news-card-link:focus-visible{
  outline:3px solid rgba(30,120,201,.45);
  outline-offset:3px;
}
/* Mantiene l'effetto hover della card sul contenitore intero */
.news-card:hover{
  cursor:pointer;
}


/* v5.0.119 - migliore impaginazione del testo nelle card Notizie/Comunicazioni */
.news-card .news-card-link > div{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:28px 30px 30px!important;
  border-radius:0 0 18px 18px;
}
.news-card .news-card-link > div > span{
  margin:0;
}
.news-card .news-card-link > div > time{
  margin-top:8px;
}
.news-card .news-card-link h3{
  margin:24px 0 13px;
  line-height:1.14;
}
.news-card .news-card-link p{
  margin:0 0 22px;
  line-height:1.58;
}
.news-card .news-card-cta{
  margin-top:auto;
  padding-top:2px;
}
/* Home: stessa leggibilità, mantenendo le card compatte attuali */
.blue-home .blue-news-section .news-card .news-card-link > div{
  padding:24px 25px 24px!important;
}
.blue-home .blue-news-section .news-card .news-card-link h3{
  margin:17px 0 11px!important;
  font-size:22px!important;
  line-height:1.16!important;
}
.blue-home .blue-news-section .news-card .news-card-link p{
  margin:0 0 17px!important;
  font-size:13px!important;
  line-height:1.58!important;
}
@media(max-width:760px){
  .news-card .news-card-link > div{
    padding:23px 22px 24px!important;
    border-radius:0 0 16px 16px;
  }
  .blue-home .blue-news-section .news-card .news-card-link > div{
    padding:21px 21px 22px!important;
  }
}


/* v5.0.120 — Escursioni sezionali: email dedicata e nuove icone illustrative */
.sectional-rule-figure{
  display:flex;
  align-items:center;
  justify-content:center;
  height:154px;
  margin:0 0 18px;
  overflow:hidden;
}
.sectional-rule-figure img{
  width:100%;
  max-width:170px;
  height:100%;
  max-height:150px;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(3,44,82,.08));
}
.excursion-rules article{
  display:flex;
  flex-direction:column;
}
.excursion-rules article p{
  margin:0;
  color:#19314a;
  font-size:16px;
  line-height:1.62;
  font-weight:700;
}
@media(max-width:760px){
  .sectional-rule-figure{
    height:132px;
    margin-bottom:14px;
  }
  .sectional-rule-figure img{
    max-width:146px;
    max-height:128px;
  }
}

/* v5.0.122 - pagina Corsi: riquadri Valle del Seveso più curati, numeri rimossi e icone illustrate nel metodo */
.course-school-intro{
  align-items:stretch;
}
.course-school-facts{
  gap:18px;
  align-content:start;
}
.course-school-facts article{
  position:relative;
  min-height:188px;
  padding:28px 26px 24px;
  border-radius:28px;
  border:1px solid #d9e7f1;
  background:linear-gradient(180deg,#ffffff 0%,#f5fbff 100%);
  box-shadow:0 18px 42px rgba(3,44,82,.08);
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.course-school-facts article::before{
  content:"";
  position:absolute;
  left:24px;
  top:22px;
  width:52px;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--blue-bright), rgba(20,115,184,.18));
}
.course-school-facts article::after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-72px;
  bottom:-78px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(22,107,177,.12) 0%, rgba(22,107,177,0) 72%);
}
.course-school-facts strong{
  display:block;
  margin-top:18px;
  color:var(--blue);
  font-size:clamp(40px,3.3vw,58px);
  letter-spacing:-.05em;
  line-height:.95;
}
.course-school-facts article:last-child strong{
  font-size:clamp(28px,2.35vw,38px);
  line-height:1;
}
.course-school-facts span{
  display:block;
  max-width:18ch;
  color:#466178;
  font-size:15px;
  line-height:1.58;
  font-weight:800;
}

.course-discipline-number{display:none!important}
.course-discipline-grid{gap:20px}
.course-discipline-card{
  min-height:540px;
  border-radius:30px;
  padding:28px;
  box-shadow:0 22px 46px rgba(3,44,82,.16);
}
.course-discipline-card::before{
  background:linear-gradient(180deg,rgba(4,43,81,.05) 10%,rgba(4,43,81,.86) 64%,rgba(4,43,81,.96) 100%);
}
.course-discipline-card > div{
  margin-top:auto;
  padding:22px 20px 18px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(10,42,76,.14) 0%,rgba(10,42,76,.44) 100%);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(2px);
}
.course-discipline-card span{color:#d9eef9;font-size:11px;letter-spacing:.16em}
.course-discipline-card h3{margin:12px 0 14px}

.course-method-redesign{gap:20px}
.course-method-redesign article{
  min-height:392px;
  padding:28px 26px 30px;
  border-radius:28px;
  overflow:hidden;
}
.course-method-redesign article::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,0));
  pointer-events:none;
}
.course-method-top{
  min-height:132px;
  margin-bottom:18px!important;
  align-items:flex-start!important;
}
.course-method-index{display:none!important}
.course-method-sketch{
  display:block;
  width:min(74%, 220px);
  max-width:220px;
  height:auto;
  object-fit:contain;
  transform-origin:left center;
  transition:transform .28s ease, filter .28s ease;
  filter:drop-shadow(0 10px 20px rgba(3,44,82,.08));
}
.course-method-redesign .course-method-label{
  margin-bottom:10px;
}
.course-method-redesign h3{
  font-size:29px;
  margin:0 0 14px;
}
.course-method-redesign p{
  max-width:29ch;
}
.course-method-redesign .course-method-line{
  width:64px;
  height:3px;
  border-radius:999px;
  margin-top:26px;
  transform:none;
}

@media(max-width:1050px){
  .course-school-facts article{min-height:166px}
  .course-discipline-card{min-height:480px}
}
@media(max-width:700px){
  .course-school-facts article{min-height:0;padding:24px 22px 21px;border-radius:22px}
  .course-school-facts strong{margin-top:16px}
  .course-discipline-card{min-height:410px;padding:20px;border-radius:24px}
  .course-discipline-card > div{padding:18px 16px 16px;border-radius:20px}
  .course-method-top{min-height:108px}
  .course-method-sketch{width:min(62vw,190px)}
  .course-method-redesign article{min-height:0;padding:24px 22px 24px;border-radius:22px}
}

/* v5.0.132 - palestra senza numerazione + archivio notizie ad anni richiudibili */
.rules-list > div{grid-template-columns:82px minmax(0,1fr)!important;gap:18px!important;align-items:center!important}
.rules-list > div > b{display:none!important}
.gym-rule-sketch{grid-column:1!important}
.rules-list > div > p{grid-column:2!important}

.news-year-accordion{display:grid;gap:16px}
.news-year-package{background:transparent}
.news-year-package > summary{list-style:none;cursor:pointer;user-select:none}
.news-year-package > summary::-webkit-details-marker{display:none}
.news-year-package .news-year-strip{margin:0!important;justify-content:space-between;gap:24px;border-radius:16px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.news-year-package .news-year-strip:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(3,44,82,.15)}
.news-year-toggle{display:flex;align-items:center;gap:13px;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.news-year-toggle i{width:34px;height:34px;border:1px solid rgba(255,255,255,.52);border-radius:50%;position:relative;display:block}
.news-year-toggle i:before,.news-year-toggle i:after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2px;background:#fff;transform:translate(-50%,-50%);transition:transform .2s ease}
.news-year-toggle i:after{transform:translate(-50%,-50%) rotate(90deg)}
.news-year-package[open] .news-year-toggle i:after{transform:translate(-50%,-50%) rotate(0deg)}
.news-year-toggle-label{font-size:0}
.news-year-toggle-label:after{content:"Apri";font-size:12px}
.news-year-package[open] .news-year-toggle-label:after{content:"Chiudi"}
.news-year-content{padding-top:18px;animation:newsYearReveal .22s ease both}
@keyframes newsYearReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:760px){
  .rules-list > div{grid-template-columns:64px minmax(0,1fr)!important;gap:14px!important}
  .news-year-toggle-label{display:none}
  .news-year-package .news-year-strip{border-radius:13px}
  .news-year-toggle i{width:30px;height:30px}
}


/* v5.0.136 - menu Attività desktop con collegamenti diretti */
@media(min-width:1181px){
  .blue-nav-group-activities{
    position:relative!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
  }
  .blue-nav-group-activities>.blue-activities-menu-trigger{
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    position:relative!important;
    padding-top:34px!important;
    padding-bottom:28px!important;
    transform:translateY(3px);
    white-space:nowrap!important;
  }
  .blue-nav-group-activities>.blue-activities-menu-trigger:after{
    content:"";
    position:absolute;
    height:3px;
    background:var(--blue-bright);
    left:0;
    right:100%;
    bottom:20px!important;
    transition:right .25s;
  }
  .blue-nav-group-activities:hover>.blue-activities-menu-trigger:after,
  .blue-nav-group-activities:focus-within>.blue-activities-menu-trigger:after{
    right:0;
  }
  .blue-nav-group-activities>.blue-activities-dropdown{
    display:block!important;
    position:absolute!important;
    top:calc(100% - 10px)!important;
    left:-22px!important;
    min-width:255px!important;
    padding:12px!important;
    background:#fff!important;
    border-top:4px solid var(--blue-bright)!important;
    box-shadow:0 18px 35px rgba(3,38,73,.20)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(8px)!important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
    z-index:10050!important;
  }
  .blue-nav-group-activities>.blue-activities-dropdown:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-18px;
    height:18px;
  }
  .blue-nav-group-activities:hover>.blue-activities-dropdown,
  .blue-nav-group-activities:focus-within>.blue-activities-dropdown{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  .blue-nav-group-activities>.blue-activities-dropdown a{
    display:block!important;
    padding:12px 14px!important;
    border-bottom:1px solid var(--line)!important;
    color:var(--blue)!important;
    text-transform:none!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.35!important;
  }
  .blue-nav-group-activities>.blue-activities-dropdown a:last-child{border-bottom:0!important}
  .blue-nav-group-activities>.blue-activities-dropdown a:hover,
  .blue-nav-group-activities>.blue-activities-dropdown a:focus-visible{
    background:var(--sky)!important;
    color:var(--blue-bright)!important;
    padding-left:18px!important;
  }
}


/* v5.0.138 — rifiniture mobile Sentiero, attività, palestra, tesseramento e contatti */

/* Contatti: rimuove definitivamente la piccola icona nel riquadro mappa */
.contact-feature-map > .contact-feature-icon{display:none!important}

/* Tesseramento: tre riquadri finali più curati */
.membership-contact-card{
  gap:18px!important;
}
.membership-contact-card>div{
  position:relative;
  overflow:hidden;
  min-height:184px!important;
  padding:28px 24px 25px!important;
  border:1px solid rgba(3,44,82,.10);
  border-radius:24px;
  background:linear-gradient(180deg,#f8fcff 0%,#eaf5fc 100%)!important;
  box-shadow:0 14px 30px rgba(3,44,82,.08);
}
.membership-contact-card>div:before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,var(--red),#4c86bf);
}
.membership-contact-card>div:after{
  content:'';
  position:absolute;
  width:92px;
  height:92px;
  right:-34px;
  bottom:-34px;
  border-radius:50%;
  background:rgba(3,44,82,.055);
}
.membership-contact-card small,
.membership-contact-card strong,
.membership-contact-card p{position:relative;z-index:1}
.membership-contact-card strong{font-size:23px!important}
.membership-contact-card a{text-decoration:none!important}

@media(max-width:760px){
  /* Sentiero: il badge viene portato sotto il testo, senza sovrapporsi */
  body.page-sentiero-meda-montorfano .page-hero,
  body.page-template-default.page-sentiero-meda-montorfano .page-hero{
    display:flex!important;
    flex-direction:column!important;
    min-height:unset!important;
    padding-bottom:0!important;
    overflow:visible!important;
  }
  body.page-sentiero-meda-montorfano .page-hero-content,
  body.page-template-default.page-sentiero-meda-montorfano .page-hero-content{
    position:relative!important;
    z-index:2!important;
    max-width:100%!important;
    padding-bottom:28px!important;
  }
  body.page-sentiero-meda-montorfano .trail-hero-badge,
  body.page-template-default.page-sentiero-meda-montorfano .trail-hero-badge{
    position:relative!important;
    right:auto!important;
    bottom:auto!important;
    align-self:flex-start!important;
    max-width:calc(100% - 40px)!important;
    margin:0 20px 26px!important;
    transform:rotate(-1deg)!important;
  }

  /* Escursioni e Seniores: icone grandi come quelle del Sentiero */
  .excursion-rules .sectional-rule-figure{
    height:180px!important;
    margin-bottom:16px!important;
    border-radius:22px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(6,56,102,.08);
  }
  .excursion-rules .sectional-rule-figure img{
    width:125%!important;
    max-width:125%!important;
    height:125%!important;
    max-height:125%!important;
    transform:scale(1.16)!important;
    object-fit:contain!important;
  }

  /* Palestra: icona WhatsApp e pulsante sulla stessa linea */
  .gym-final-actions{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:14px!important;
    width:100%;
  }
  .gym-final-whatsapp-mark{
    flex:0 0 70px!important;
    width:70px!important;
    height:70px!important;
    border-radius:20px!important;
  }
  .gym-final-whatsapp-bg{width:112px!important;height:112px!important}
  .gym-final-whatsapp-fg{width:43px!important;height:43px!important}
  .gym-final-actions .button{
    width:auto!important;
    flex:1 1 auto!important;
    min-width:0!important;
    padding:14px 16px!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:14px!important;
  }

  /* Tesseramento: card più eleganti anche in verticale */
  .membership-contact-card{gap:14px!important}
  .membership-contact-card>div{
    min-height:150px!important;
    padding:24px 22px 22px!important;
    border-radius:20px!important;
  }

  /* Contatti: mantiene protagonista la grafica grande della mappa */
  .contact-feature-map{
    padding-top:26px!important;
  }
}


/* v5.0.139 — correzioni mobile Sentiero ed escursioni */
@media(max-width:760px){
  /* Sentiero: il badge occupa una riga propria dopo il testo, senza sovrapposizioni */
  .sentiero-page-hero{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    min-height:unset!important;
    padding:76px 0 28px!important;
    overflow:hidden!important;
  }
  .sentiero-page-hero .page-hero-content{
    order:1!important;
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    max-width:100%!important;
    padding:0 28px 24px!important;
  }
  .sentiero-page-hero .trail-hero-badge{
    order:2!important;
    position:relative!important;
    inset:auto!important;
    align-self:flex-start!important;
    width:auto!important;
    max-width:250px!important;
    margin:0 28px!important;
    padding:15px 19px 17px!important;
    transform:rotate(-1.5deg)!important;
  }
  .sentiero-page-hero .trail-hero-badge span{font-size:21px!important}

  /* Escursioni e Seniores: icone ancora evidenti ma contenute nel riquadro */
  .excursion-rules .sectional-rule-figure{
    height:160px!important;
    padding:8px!important;
  }
  .excursion-rules .sectional-rule-figure img{
    width:108%!important;
    max-width:108%!important;
    height:108%!important;
    max-height:108%!important;
    transform:scale(1.04)!important;
  }
}


/* v5.0.140 — mobile: icone finali Escursioni sezionali e Seniores più grandi e uniformi */
@media(max-width:760px){
  .excursion-rules .sectional-rule-figure{
    height:180px!important;
    padding:6px!important;
    overflow:hidden!important;
  }
  .excursion-rules .sectional-rule-figure img{
    width:116%!important;
    max-width:116%!important;
    height:116%!important;
    max-height:116%!important;
    transform:scale(1.10)!important;
    transform-origin:center!important;
    object-fit:contain!important;
  }
}


/* v5.0.141 — icone finali Escursioni sezionali e Seniores grandi anche su desktop */
.excursion-rules .sectional-rule-figure{
  height:180px!important;
  padding:6px!important;
  overflow:hidden!important;
}
.excursion-rules .sectional-rule-figure img{
  width:116%!important;
  max-width:116%!important;
  height:116%!important;
  max-height:116%!important;
  transform:scale(1.10)!important;
  transform-origin:center!important;
  object-fit:contain!important;
}

/* v5.0.142 - menu mobile senza numerazione e con impaginazione più pulita */
@media(max-width:1180px){
  .blue-mobile-drawer{
    background:linear-gradient(180deg,#f7fbfe 0%,#ffffff 34%)!important;
  }
  .blue-mobile-drawer-head{
    padding:30px 26px 24px!important;
    align-items:center!important;
    border-bottom:1px solid rgba(255,255,255,.18);
  }
  .blue-mobile-drawer-head strong{
    font-size:23px!important;
    letter-spacing:-.01em!important;
  }
  .blue-mobile-drawer-head span{
    padding:6px 10px;
    border:1px solid rgba(255,255,255,.32);
    border-radius:999px;
    font-size:10px!important;
    font-weight:800;
  }
  .blue-mobile-drawer nav{
    display:grid!important;
    gap:8px!important;
    padding:20px 18px 28px!important;
  }
  .blue-mobile-drawer nav>a,
  .blue-mobile-activities>summary{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:58px;
    padding:15px 18px!important;
    border:1px solid #d9e8f2!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 7px 18px rgba(3,44,82,.055);
    color:var(--blue-deep)!important;
    font-size:16px!important;
    font-weight:850!important;
    line-height:1.2!important;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  }
  .blue-mobile-drawer nav>a:after{
    content:'›';
    flex:0 0 auto;
    margin-left:14px;
    color:var(--blue-bright);
    font-size:25px;
    font-weight:400;
    line-height:1;
  }
  .blue-mobile-drawer nav>a:active,
  .blue-mobile-activities>summary:active{
    transform:scale(.985);
  }
  .blue-mobile-activities{
    border:0!important;
  }
  .blue-mobile-activities>summary b{
    margin-left:auto;
    color:var(--blue-bright);
    font-size:23px!important;
  }
  .blue-mobile-activities[open]>summary{
    border-color:#b9d7e9!important;
    border-radius:15px 15px 0 0!important;
    background:#f5fbff!important;
    box-shadow:none!important;
  }
  .blue-mobile-activities>div{
    margin:0!important;
    padding:7px 10px 10px!important;
    border:1px solid #d9e8f2;
    border-top:0;
    border-radius:0 0 15px 15px!important;
    background:#edf7fc!important;
  }
  .blue-mobile-activities>div a{
    position:relative;
    padding:12px 28px 12px 13px!important;
    color:#234965!important;
    font-size:14px!important;
    font-weight:750!important;
  }
  .blue-mobile-activities>div a:after{
    content:'›';
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    color:var(--blue-bright);
    font-size:20px;
  }
}
@media(max-width:520px){
  .blue-mobile-drawer nav{padding:16px 14px 24px!important;gap:7px!important;}
  .blue-mobile-drawer nav>a,
  .blue-mobile-activities>summary{min-height:54px;padding:14px 16px!important;font-size:15px!important;border-radius:14px!important;}
  .blue-mobile-activities[open]>summary{border-radius:14px 14px 0 0!important;}
  .blue-mobile-activities>div{border-radius:0 0 14px 14px!important;}
}

/* v5.0.143 — menu mobile più compatto, uniforme e dinamico */
@media(max-width:1180px){
  .blue-mobile-drawer-head{
    padding:22px 22px 18px!important;
  }
  .blue-mobile-drawer-head strong{
    font-size:21px!important;
  }
  .blue-mobile-drawer nav{
    gap:6px!important;
    padding:14px 14px 20px!important;
  }
  .blue-mobile-drawer nav>a,
  .blue-mobile-activities>summary{
    position:relative!important;
    min-height:48px!important;
    height:48px!important;
    padding:0 15px 0 18px!important;
    border-radius:12px!important;
    font-size:15px!important;
    line-height:1!important;
    overflow:hidden!important;
  }
  .blue-mobile-drawer nav>a:before,
  .blue-mobile-activities>summary:before{
    content:''!important;
    position:absolute!important;
    left:0!important;
    top:9px!important;
    bottom:9px!important;
    width:3px!important;
    border-radius:0 4px 4px 0!important;
    background:var(--blue-bright)!important;
    opacity:.58!important;
    transition:top .18s ease,bottom .18s ease,opacity .18s ease!important;
  }
  .blue-mobile-drawer nav>a:hover,
  .blue-mobile-drawer nav>a:focus-visible,
  .blue-mobile-activities>summary:hover,
  .blue-mobile-activities>summary:focus-visible{
    border-color:#b9d7e9!important;
    background:#f7fcff!important;
    box-shadow:0 9px 22px rgba(3,44,82,.09)!important;
    transform:translateX(-2px)!important;
  }
  .blue-mobile-drawer nav>a:hover:before,
  .blue-mobile-drawer nav>a:focus-visible:before,
  .blue-mobile-activities>summary:hover:before,
  .blue-mobile-activities>summary:focus-visible:before{
    top:5px!important;
    bottom:5px!important;
    opacity:1!important;
  }
  .blue-mobile-drawer nav>a:after{
    font-size:21px!important;
  }

  /* Notizie: una sola icona +/−, stessa altezza delle altre voci */
  .blue-mobile-activities>summary:after{
    content:none!important;
    display:none!important;
  }
  .blue-mobile-activities>summary b{
    display:grid!important;
    place-items:center!important;
    width:24px!important;
    height:24px!important;
    margin-left:12px!important;
    border:1px solid #bfd9e8!important;
    border-radius:50%!important;
    background:#eef8fd!important;
    color:var(--blue-bright)!important;
    font-size:18px!important;
    font-weight:500!important;
    line-height:1!important;
    transform:none!important;
    transition:transform .22s ease,background .22s ease!important;
  }
  .blue-mobile-activities[open]>summary b{
    transform:rotate(45deg)!important;
    background:#dff2fb!important;
  }
  .blue-mobile-activities[open]>summary{
    height:48px!important;
    min-height:48px!important;
    border-radius:12px 12px 0 0!important;
  }
  .blue-mobile-activities>div{
    padding:5px 8px 7px!important;
    border-radius:0 0 12px 12px!important;
  }
  .blue-mobile-activities>div a{
    min-height:40px!important;
    padding:10px 28px 10px 12px!important;
    font-size:13.5px!important;
  }
}
@media(max-width:520px){
  .blue-mobile-drawer-head{padding:19px 18px 16px!important;}
  .blue-mobile-drawer nav{padding:12px 11px 18px!important;gap:5px!important;}
  .blue-mobile-drawer nav>a,
  .blue-mobile-activities>summary,
  .blue-mobile-activities[open]>summary{
    min-height:46px!important;
    height:46px!important;
    padding:0 13px 0 16px!important;
    border-radius:11px!important;
    font-size:14.5px!important;
  }
  .blue-mobile-activities[open]>summary{border-radius:11px 11px 0 0!important;}
  .blue-mobile-activities>div{border-radius:0 0 11px 11px!important;}
}

/* v5.0.144 — nuovo menu mobile a lista continua, più compatto e dinamico */
@media(max-width:1180px){
  .blue-mobile-drawer{
    background:linear-gradient(180deg,#f7fbfe 0%,#eef6fb 100%)!important;
  }
  .blue-mobile-drawer-head{
    padding:24px 22px 20px!important;
    border-bottom:1px solid rgba(3,44,82,.10)!important;
  }
  .blue-mobile-drawer nav{
    display:block!important;
    margin:16px!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #d5e4ee!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 14px 36px rgba(3,44,82,.10)!important;
  }
  .blue-mobile-drawer nav>a,
  .blue-mobile-activities>summary{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:58px!important;
    height:58px!important;
    margin:0!important;
    padding:0 18px 0 21px!important;
    border:0!important;
    border-bottom:1px solid #e1ebf1!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
    color:var(--blue-deep)!important;
    font-size:15.5px!important;
    font-weight:850!important;
    line-height:1!important;
    transform:none!important;
    transition:background .18s ease,color .18s ease,padding-left .18s ease!important;
  }
  .blue-mobile-drawer nav>a:nth-of-type(even){background:#fbfdff!important;}
  .blue-mobile-drawer nav>a:before,
  .blue-mobile-activities>summary:before{
    content:''!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:4px!important;
    border-radius:0!important;
    background:linear-gradient(180deg,var(--blue-bright),var(--blue))!important;
    opacity:0!important;
    transition:opacity .18s ease!important;
  }
  .blue-mobile-drawer nav>a:hover,
  .blue-mobile-drawer nav>a:focus-visible,
  .blue-mobile-activities>summary:hover,
  .blue-mobile-activities>summary:focus-visible{
    padding-left:27px!important;
    background:#edf8fe!important;
    color:var(--blue)!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .blue-mobile-drawer nav>a:hover:before,
  .blue-mobile-drawer nav>a:focus-visible:before,
  .blue-mobile-activities>summary:hover:before,
  .blue-mobile-activities>summary:focus-visible:before{
    opacity:1!important;
    top:0!important;
    bottom:0!important;
  }
  .blue-mobile-drawer nav>a:after{
    content:'›'!important;
    margin-left:auto!important;
    color:#78a9c8!important;
    font-size:25px!important;
    font-weight:400!important;
    transition:transform .18s ease,color .18s ease!important;
  }
  .blue-mobile-drawer nav>a:hover:after,
  .blue-mobile-drawer nav>a:focus-visible:after{
    color:var(--blue-bright)!important;
    transform:translateX(3px)!important;
  }
  .blue-mobile-activities{
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
  }
  .blue-mobile-activities>summary{
    list-style:none!important;
  }
  .blue-mobile-activities>summary::-webkit-details-marker{display:none!important;}
  .blue-mobile-activities>summary:after{content:none!important;display:none!important;}
  .blue-mobile-activities>summary b{
    display:grid!important;
    place-items:center!important;
    width:26px!important;
    height:26px!important;
    margin-left:auto!important;
    border:0!important;
    border-radius:50%!important;
    background:#e6f3fa!important;
    color:var(--blue)!important;
    font-size:19px!important;
    font-weight:500!important;
    line-height:1!important;
    transition:transform .22s ease,background .22s ease!important;
  }
  .blue-mobile-activities[open]>summary{
    height:58px!important;
    min-height:58px!important;
    border-radius:0!important;
    background:#edf8fe!important;
  }
  .blue-mobile-activities[open]>summary b{
    transform:rotate(45deg)!important;
    background:#d5edf9!important;
  }
  .blue-mobile-activities>div{
    margin:0!important;
    padding:5px 12px 8px 22px!important;
    border:0!important;
    border-bottom:1px solid #e1ebf1!important;
    border-radius:0!important;
    background:#f2f8fc!important;
  }
  .blue-mobile-activities>div a{
    min-height:42px!important;
    padding:10px 28px 10px 16px!important;
    border-bottom:1px solid rgba(3,44,82,.08)!important;
    color:#31566f!important;
    font-size:13.5px!important;
    font-weight:750!important;
  }
  .blue-mobile-activities>div a:last-child{border-bottom:0!important;}
  .blue-mobile-drawer nav>a:last-child{border-bottom:0!important;}
}
@media(max-width:520px){
  .blue-mobile-drawer nav{margin:12px!important;border-radius:16px!important;}
  .blue-mobile-drawer nav>a,
  .blue-mobile-activities>summary,
  .blue-mobile-activities[open]>summary{
    min-height:56px!important;
    height:56px!important;
    padding:0 16px 0 19px!important;
    font-size:15px!important;
  }
  .blue-mobile-drawer nav>a:hover,
  .blue-mobile-drawer nav>a:focus-visible,
  .blue-mobile-activities>summary:hover,
  .blue-mobile-activities>summary:focus-visible{padding-left:24px!important;}
}

/* v5.0.145 - Corsi desktop: illustrazioni metodo più grandi e hover non cliccabile */
@media(min-width:1051px){
  .course-method-redesign article{
    min-height:420px;
  }
  .course-method-redesign .course-method-top{
    min-height:178px;
    margin:0 -8px 18px!important;
    align-items:center!important;
  }
  .course-method-redesign .course-method-sketch{
    width:min(96%,280px)!important;
    max-width:280px!important;
    max-height:176px!important;
    object-fit:contain!important;
  }
}

/* v5.0.146 - palestra: documenti di accesso più chiari e gerarchizzati */
.rules-list > .gym-membership-rule{align-items:start!important;padding-top:28px!important;padding-bottom:28px!important}
.gym-membership-copy{grid-column:2!important;display:grid;gap:12px;min-width:0}
.gym-membership-intro{font-size:18px!important;font-weight:800;color:#15324a;margin:0!important}
.gym-membership-group{padding:17px 18px 18px;border:1px solid #cddce7;border-radius:18px;background:linear-gradient(145deg,#fff,#f4f9fc)}
.gym-membership-group>strong{display:block;font-size:16px;line-height:1.35;color:#064f86;margin-bottom:12px}
.gym-membership-options{display:flex;flex-wrap:wrap;gap:8px}
.gym-membership-options span{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;background:#e9f4fb;color:#173b55;font-size:14px;line-height:1.25;font-weight:700}
.gym-membership-options span:before{content:'✓';margin-right:7px;color:#0877c9;font-weight:900}
.gym-membership-plus{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#6a7f8d;padding-left:3px}
.gym-membership-card{display:flex;flex-direction:column;gap:3px;padding:15px 18px;border-radius:16px;background:#063f70;color:#fff;box-shadow:0 10px 24px rgba(4,52,91,.13)}
.gym-membership-card strong{font-size:16px;line-height:1.3}
.gym-membership-card small{font-size:13px;line-height:1.35;color:rgba(255,255,255,.82)}
@media(max-width:760px){
  .rules-list > .gym-membership-rule{align-items:start!important}
  .gym-membership-copy{grid-column:2!important;gap:10px}
  .gym-membership-intro{font-size:16px!important}
  .gym-membership-group{padding:14px 14px 15px;border-radius:15px}
  .gym-membership-group>strong{font-size:14px;margin-bottom:10px}
  .gym-membership-options{display:grid;gap:7px}
  .gym-membership-options span{width:100%;min-height:0;padding:8px 10px;border-radius:12px;font-size:13px}
  .gym-membership-card{padding:13px 14px;border-radius:14px}
  .gym-membership-card strong{font-size:14px}
  .gym-membership-card small{font-size:12px}
}

/* v5.0.147 - Palestra: primo punto sicurezza reimpaginato per chiarire i documenti richiesti */
.gym-membership-intro strong{color:#064f86}
.gym-membership-steps{display:grid;gap:10px}
.gym-membership-step{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.gym-membership-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,#0d73c4,#51a7ea);color:#fff;
  font-size:16px;font-weight:900;line-height:1;box-shadow:0 10px 18px rgba(13,115,196,.18)
}
.gym-membership-step-copy{min-width:0}
.gym-membership-help{display:block;font-size:13px;line-height:1.45;color:#526979;margin:-4px 0 12px}
.gym-membership-plus{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;margin:2px auto;
  border-radius:50%;background:#eef6fb;color:#0a6ab3;
  font-size:24px;font-weight:900;line-height:1;border:1px solid #d0e2ef
}
.gym-membership-group.gym-membership-step{padding:17px 18px 18px;border:1px solid #cddce7;border-radius:18px;background:linear-gradient(145deg,#fff,#f4f9fc)}
.gym-membership-card.gym-membership-step{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:15px 18px;border-radius:16px;background:#063f70;color:#fff;box-shadow:0 10px 24px rgba(4,52,91,.13)}
.gym-membership-card .gym-membership-badge{background:#fff;color:#063f70;box-shadow:none}
.gym-membership-card .gym-membership-step-copy small{display:block;font-size:13px;line-height:1.35;color:rgba(255,255,255,.82);margin-top:3px}
.gym-membership-card .gym-membership-step-copy strong{display:block;font-size:16px;line-height:1.3;color:#fff}
@media(max-width:760px){
  .gym-membership-step{gap:10px}
  .gym-membership-badge{width:30px;height:30px;font-size:14px}
  .gym-membership-help{font-size:12px;margin:-2px 0 10px}
  .gym-membership-plus{width:34px;height:34px;font-size:20px}
  .gym-membership-group.gym-membership-step{padding:14px 14px 15px;border-radius:15px}
  .gym-membership-card.gym-membership-step{padding:13px 14px;border-radius:14px}
}


/* v5.0.148 - rimozione badge numerici nei due riquadri documenti palestra */
.gym-membership-group.gym-membership-step,.gym-membership-card.gym-membership-step{grid-template-columns:1fr;gap:0}

/* v5.0.149 - Palestra: riquadro PDF regolamento riprogettato */
.rules-layout > div:first-child .document-card{
  position:relative;
  margin-top:26px;
  padding:28px 28px 26px;
  border-radius:24px;
  border:1px solid #cfe0ec;
  background:linear-gradient(180deg,#ffffff 0%,#f4f9fd 100%);
  box-shadow:0 18px 40px rgba(3,44,82,.10);
  overflow:hidden;
}
.rules-layout > div:first-child .document-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:8px;
  background:linear-gradient(180deg,#1b86d1 0%,#0a5f9f 100%);
}
.rules-layout > div:first-child .document-card::after{
  content:"PDF";
  position:absolute;
  top:20px;
  right:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:56px;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  background:#e9f4fb;
  color:#0a67aa;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}
.rules-layout > div:first-child .document-card > span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  padding:7px 12px;
  border-radius:999px;
  background:#edf6fc;
  color:#0b6aad;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.rules-layout > div:first-child .document-card h3{
  margin:0 0 10px;
  padding-right:76px;
  color:#063866;
  font-size:27px;
  line-height:1.08;
}
.rules-layout > div:first-child .document-card p{
  margin:0 0 20px;
  max-width:34ch;
  color:#4a6276;
  font-size:15px;
  line-height:1.62;
}
.rules-layout > div:first-child .document-card a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 18px;
  border-radius:14px;
  background:#063f70;
  color:#fff;
  font-weight:800;
  box-shadow:0 12px 22px rgba(3,44,82,.16);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.rules-layout > div:first-child .document-card a::after{
  content:"→";
  font-size:18px;
  line-height:1;
}
.rules-layout > div:first-child .document-card a:hover{
  background:#0a5f9f;
  transform:translateY(-2px);
  box-shadow:0 16px 26px rgba(3,44,82,.22);
}
@media(max-width:760px){
  .rules-layout > div:first-child .document-card{
    padding:22px 20px 20px;
    border-radius:20px;
  }
  .rules-layout > div:first-child .document-card::after{
    top:16px;
    right:16px;
    min-width:50px;
    height:30px;
    font-size:11px;
  }
  .rules-layout > div:first-child .document-card h3{
    padding-right:58px;
    font-size:23px;
  }
  .rules-layout > div:first-child .document-card p{
    max-width:none;
    margin-bottom:16px;
  }
  .rules-layout > div:first-child .document-card a{
    width:100%;
    justify-content:center;
  }
}

/* v5.0.150 - Escursioni sezionali: integrazione documenti PDF */
.sectional-docs-section{padding-top:0}
.sectional-docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}
.sectional-doc-card{position:relative;overflow:hidden;padding:28px 28px 24px;border-radius:26px;border:1px solid #d6e3ec;background:linear-gradient(180deg,#ffffff 0%,#f4f9fd 100%);box-shadow:0 22px 42px rgba(3,44,82,.08)}
.sectional-doc-card::before{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:linear-gradient(180deg,#c62026 0%,#a3161b 100%)}
.sectional-doc-card::after{content:"";position:absolute;right:-36px;top:-44px;width:148px;height:148px;border-radius:32px;background:radial-gradient(circle at center,rgba(159,197,223,.38) 0%,rgba(159,197,223,.14) 48%,rgba(159,197,223,0) 72%);transform:rotate(12deg)}
.sectional-doc-card-accent::before{background:linear-gradient(180deg,#0d73c4 0%,#064f86 100%)}
.sectional-doc-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;position:relative;z-index:1}
.sectional-doc-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:#ebf4fa;color:#0a67aa;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.sectional-doc-meta small{color:#587085;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sectional-doc-card h3{position:relative;z-index:1;margin:0 0 8px;color:#063866;font-size:26px;line-height:1.12;max-width:none;letter-spacing:-.02em}
.sectional-doc-subtitle{display:block;position:relative;z-index:1;margin:0 0 12px;color:#0a67aa;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.sectional-doc-card p{position:relative;z-index:1;margin:0 0 22px;color:#4a6276;font-size:15px;line-height:1.65;max-width:46ch}
.sectional-doc-actions{position:relative;z-index:1;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sectional-doc-button,.sectional-doc-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:14px;font-weight:800;transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease}
.sectional-doc-button{padding:0 18px;background:#063f70;color:#fff;box-shadow:0 12px 24px rgba(3,44,82,.14)}
.sectional-doc-button:hover{background:#0b67ad;transform:translateY(-2px);box-shadow:0 16px 28px rgba(3,44,82,.18)}
.sectional-doc-link{padding:0 4px;color:#0b67ad}
.sectional-doc-link::after,.sectional-doc-button::after{content:"↘";margin-left:9px;font-size:15px;line-height:1}
.sectional-doc-link:hover{color:#c62026;transform:translateX(2px)}
@media(max-width:980px){.sectional-docs-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sectional-doc-card{padding:24px 20px 20px;border-radius:22px}.sectional-doc-card h3{font-size:23px;max-width:none}.sectional-doc-subtitle{font-size:11px;margin-bottom:10px}.sectional-doc-card p{max-width:none}.sectional-doc-actions{gap:10px}.sectional-doc-button{width:100%}.sectional-doc-link{padding-left:0}}

/* v5.0.152 - Palestra: callout WhatsApp nella hero */
.gym-hero-whatsapp{
  position:absolute;
  right:clamp(22px,4vw,64px);
  bottom:clamp(22px,4vw,48px);
  z-index:4;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  width:min(420px,calc(100% - 44px));
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.52);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(4,52,91,.88),rgba(8,103,72,.80));
  color:#fff;
  box-shadow:0 18px 42px rgba(3,31,54,.28);
  backdrop-filter:blur(9px) saturate(1.1);
  -webkit-backdrop-filter:blur(9px) saturate(1.1);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.gym-hero-whatsapp:hover,.gym-hero-whatsapp:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 24px 48px rgba(3,31,54,.34);
  background:linear-gradient(135deg,rgba(4,52,91,.94),rgba(7,122,79,.88));
}
.gym-hero-whatsapp-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.15);
  flex:none;
}
.gym-hero-whatsapp-icon img{width:38px;height:38px;object-fit:contain}
.gym-hero-whatsapp-copy{display:grid;gap:2px;min-width:0}
.gym-hero-whatsapp-copy small{
  color:#bff3d3;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.gym-hero-whatsapp-copy strong{font-size:17px;line-height:1.15}
.gym-hero-whatsapp-copy em{font-style:normal;color:rgba(255,255,255,.82);font-size:12px;line-height:1.3}
.gym-hero-whatsapp-arrow{font-size:22px;font-weight:800;transition:transform .22s ease}
.gym-hero-whatsapp:hover .gym-hero-whatsapp-arrow{transform:translate(2px,-2px)}
@media(max-width:760px){
  .page-hero.has-photo:has(.gym-hero-whatsapp){padding-bottom:150px!important}
  .gym-hero-whatsapp{
    left:18px;
    right:18px;
    bottom:18px;
    width:auto;
    padding:12px 13px;
    border-radius:18px;
    gap:10px;
  }
  .gym-hero-whatsapp-icon{width:48px;height:48px;border-radius:14px}
  .gym-hero-whatsapp-icon img{width:34px;height:34px}
  .gym-hero-whatsapp-copy strong{font-size:15px}
  .gym-hero-whatsapp-copy em{font-size:11px}
}
@media(max-width:390px){
  .gym-hero-whatsapp{grid-template-columns:auto minmax(0,1fr)}
  .gym-hero-whatsapp-arrow{display:none}
}

/* v5.0.154 - Corsi: CTA al sito ufficiale della Scuola più evidente */
.course-school-link{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  width:100%;
  max-width:720px;
  margin-top:34px;
  padding:24px 26px 24px 28px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.22);
  background:linear-gradient(135deg,#063866 0%,#0b67ad 100%);
  color:#fff;
  box-shadow:0 18px 38px rgba(3,44,82,.20);
  overflow:hidden;
  position:relative;
  transition:transform .24s ease,box-shadow .24s ease,background .24s ease;
}
.course-school-link::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:7px;
  background:#fff;
  opacity:.85;
}
.course-school-link::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  right:-85px;
  top:-95px;
  background:radial-gradient(circle,rgba(255,255,255,.20) 0%,rgba(255,255,255,0) 72%);
}
.course-school-link:hover{
  background:linear-gradient(135deg,#084b82 0%,#1683cf 100%);
  transform:translateY(-4px);
  box-shadow:0 24px 46px rgba(3,44,82,.27);
}
.course-school-link-copy{display:grid;gap:5px;position:relative;z-index:1}
.course-school-link-copy small{
  color:#cfe9fa;
  font-size:11px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.course-school-link-copy strong{
  color:#fff;
  font-size:clamp(20px,2vw,27px);
  line-height:1.12;
  letter-spacing:-.025em;
}
.course-school-link-copy em{
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.45;
  font-style:normal;
  font-weight:600;
}
.course-school-link-arrow{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#fff;
  color:#07568f;
  font-size:25px;
  font-weight:900;
  box-shadow:0 10px 22px rgba(3,44,82,.18);
  transition:transform .24s ease;
}
.course-school-link:hover .course-school-link-arrow{transform:translate(3px,-3px)}
@media(max-width:760px){
  .course-school-link{padding:20px 18px 20px 22px;gap:14px;border-radius:18px}
  .course-school-link-copy strong{font-size:20px}
  .course-school-link-copy em{font-size:13px}
  .course-school-link-arrow{width:48px;height:48px;font-size:21px}
}

/* v5.0.155 - Home: card notizie più premium e meno grossolane */
.blue-home .blue-news-section .news-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch;
}
.blue-home .blue-news-section .news-card{
  border-radius:24px!important;
  overflow:hidden;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  transform:none!important;
}
.blue-home .blue-news-section .news-card .news-card-link{
  height:100%;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbfe 100%);
  border:1px solid #d9e6ef;
  box-shadow:0 18px 34px rgba(9,48,83,.07);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.blue-home .blue-news-section .news-card:hover .news-card-link,
.blue-home .blue-news-section .news-card:focus-within .news-card-link{
  transform:translateY(-5px);
  box-shadow:0 24px 42px rgba(9,48,83,.12);
  border-color:#c9dceb;
}
.blue-home .blue-news-section .news-card .news-card-link > img,
.blue-home .blue-news-section .news-card .news-card-link > .news-placeholder{
  aspect-ratio:16/7.25!important;
  min-height:0!important;
  object-fit:cover;
  transition:transform .35s ease, filter .35s ease;
}
.blue-home .blue-news-section .news-card:hover .news-card-link > img,
.blue-home .blue-news-section .news-card:focus-within .news-card-link > img{
  transform:scale(1.035);
  filter:saturate(1.03);
}
.blue-home .blue-news-section .news-card .news-card-link > div{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:20px 22px 21px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%);
}
.blue-home .blue-news-section .news-card .news-card-link > div > span:first-child{
  display:inline-flex;
  align-self:flex-start;
  align-items:center;
  justify-content:center;
  margin:0 0 10px!important;
  padding:6px 10px;
  border-radius:999px;
  background:#eaf4fb;
  color:#0a67aa;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.blue-home .blue-news-section .news-card .news-card-link > div > time{
  margin:0 0 12px!important;
  color:#667e90;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.blue-home .blue-news-section .news-card .news-card-link h3{
  margin:0 0 10px!important;
  font-size:20px!important;
  line-height:1.2!important;
  letter-spacing:-.02em;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.blue-home .blue-news-section .news-card .news-card-link p{
  margin:0 0 16px!important;
  color:#536b7d;
  font-size:13px!important;
  line-height:1.58!important;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.blue-home .blue-news-section .news-card .news-card-cta{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid #e5edf3;
  color:#0a67aa;
  font-size:13px;
  font-weight:800;
}
@media(max-width:980px){
  .blue-home .blue-news-section .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
}
@media(max-width:760px){
  .blue-home .blue-news-section .news-grid{grid-template-columns:1fr!important;gap:16px!important}
  .blue-home .blue-news-section .news-card .news-card-link{border-radius:20px}
  .blue-home .blue-news-section .news-card .news-card-link > img,
  .blue-home .blue-news-section .news-card .news-card-link > .news-placeholder{aspect-ratio:16/8.5!important}
  .blue-home .blue-news-section .news-card .news-card-link > div{padding:18px 18px 19px!important}
  .blue-home .blue-news-section .news-card .news-card-link h3{font-size:19px!important}
}


/* v5.0.157 - Nuova grafica orari palestra */
.gym-hours-strip{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1.38fr);gap:28px;align-items:stretch;padding:0 0 8px}
.gym-hours-intro{padding:30px 6px 12px 0}
.gym-hours-intro h2{margin:8px 0 12px;color:#063866;font-size:clamp(34px,3.1vw,48px);line-height:1.02;letter-spacing:-.045em}
.gym-hours-intro p{max-width:48ch;color:#50697b;font-size:16px;line-height:1.7}
.gym-hours-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gym-hours-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;min-height:220px;padding:24px 22px 22px;border:1px solid #d9e7ef;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f7fbfd 100%);box-shadow:0 18px 36px rgba(3,44,82,.08)}
.gym-hours-card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,#0b67ad 0%,#48a0dc 100%)}
.gym-hours-card-main::before{background:linear-gradient(90deg,#063866 0%,#0b67ad 100%)}
.gym-hours-card-access::before{background:linear-gradient(90deg,#c62026 0%,#dd4d52 100%)}
.gym-hours-card small{margin:0 0 12px;color:#0a67aa;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.gym-hours-card strong{display:block;margin:0 0 10px;color:#063866;font-size:23px;line-height:1.14;letter-spacing:-.02em}
.gym-hours-card span{display:inline-flex;align-self:flex-start;margin:0 0 14px;padding:7px 12px;border-radius:999px;background:#eaf4fb;color:#063866;font-size:13px;font-weight:900;letter-spacing:.04em}
.gym-hours-card p{margin:0;color:#5b7384;font-size:14px;line-height:1.62}
@media(max-width:1100px){.gym-hours-strip{grid-template-columns:1fr}.gym-hours-intro{padding:8px 0 0}.gym-hours-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.gym-hours-grid{grid-template-columns:1fr}.gym-hours-card{min-height:0;padding:22px 20px 20px}}


/* v5.0.158 - Orari palestra full width + richiamo notifiche WhatsApp */
.gym-hours-strip{display:block;padding:0 0 8px}
.gym-hours-intro{padding:0 0 18px!important;max-width:none}
.gym-hours-intro p{max-width:72ch}
.gym-hours-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%}
.gym-hours-card{min-height:208px}
.gym-hours-card p{margin-top:auto}
@media(max-width:1100px){.gym-hours-strip{display:block}.gym-hours-intro{padding:0 0 18px!important}.gym-hours-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.gym-hours-grid{grid-template-columns:1fr}}

.blue-home-whatsapp-copy p strong{font-weight:800;color:#fff}
.gym-hero-whatsapp-copy em{line-height:1.35}


/* v5.0.159 - Campanellina promemoria notifiche WhatsApp */
.notification-pill{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:9px 14px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.04em;line-height:1.2}
.notification-pill-bell{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;font-size:14px;flex:none}
.notification-pill-home{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.24);color:#fff;box-shadow:0 8px 18px rgba(2,31,60,.18)}
.notification-pill-home .notification-pill-bell{background:rgba(255,255,255,.2)}
.notification-pill-hero{margin-top:10px;align-self:flex-start;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);color:#fff}
.notification-pill-hero .notification-pill-bell{background:rgba(255,255,255,.18)}
.notification-pill-dark{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#fff}
.notification-pill-dark .notification-pill-bell{background:rgba(255,255,255,.14)}
.gym-final-copy .notification-pill-dark{margin-top:16px}
.gym-hero-whatsapp-copy .notification-pill{max-width:max-content}
@media(max-width:700px){.notification-pill{padding:8px 12px;font-size:11px;gap:8px}.notification-pill-bell{width:22px;height:22px;font-size:13px}}


/* v5.0.160 - Home WhatsApp callout più compatto e premium */
.blue-home-whatsapp-callout{
  max-width:510px!important;
  grid-template-columns:50px minmax(0,1fr)!important;
  gap:12px 14px!important;
  align-items:start!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  margin-top:76px!important;
  background:linear-gradient(135deg,rgba(8,30,50,.84),rgba(10,48,82,.60))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(8px)!important;
}
.blue-home-whatsapp-icon{
  width:50px!important;height:50px!important;border-radius:14px!important;
  background:rgba(37,211,102,.16)!important;
}
.blue-home-whatsapp-icon img{width:28px!important;height:28px!important}
.blue-home-whatsapp-copy{min-width:0}
.blue-home-whatsapp-copy span{
  margin:0 0 2px!important;
  font-size:10px!important;
  letter-spacing:.16em!important;
  color:#abedc4!important;
}
.blue-home-whatsapp-copy strong{
  font-size:clamp(17px,1.45vw,22px)!important;
  line-height:1.08!important;
  margin:0 0 7px!important;
}
.blue-home-whatsapp-copy p{
  font-size:12.5px!important;
  line-height:1.42!important;
  max-width:none!important;
  margin:0!important;
}
.blue-home-whatsapp-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:12px;
}
.blue-home-whatsapp-button{
  align-self:auto!important;
  justify-self:auto!important;
  white-space:nowrap;
  padding:9px 13px!important;
  font-size:10.5px!important;
  letter-spacing:.08em!important;
  box-shadow:0 8px 22px rgba(37,211,102,.22)!important;
}
.notification-pill-home{
  margin-top:0!important;
  padding:8px 11px!important;
  font-size:10.5px!important;
  box-shadow:none!important;
  background:rgba(255,255,255,.12)!important;
}
.notification-pill-home .notification-pill-bell{
  width:20px!important;height:20px!important;font-size:12px!important;
}
@media(max-width:760px){
  .blue-home-whatsapp-callout{
    max-width:100%!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    padding:12px 13px!important;
    gap:10px 11px!important;
    margin-top:48px!important;
    border-radius:16px!important;
  }
  .blue-home-whatsapp-icon{width:42px!important;height:42px!important;border-radius:12px!important}
  .blue-home-whatsapp-icon img{width:23px!important;height:23px!important}
  .blue-home-whatsapp-copy strong{font-size:18px!important}
  .blue-home-whatsapp-copy p{font-size:12px!important}
  .blue-home-whatsapp-actions{gap:8px;margin-top:10px}
  .blue-home-whatsapp-button{width:auto!important;padding:8px 11px!important}
}


/* v5.0.161 - pill notifiche home in singola riga */
.blue-home-whatsapp-actions{align-items:center!important;flex-wrap:nowrap!important}
.notification-pill-home{display:inline-flex!important;align-items:center!important;white-space:nowrap!important}
.notification-pill-home span:last-child{display:inline-block!important;white-space:nowrap!important;line-height:1!important}
.notification-pill-home .notification-pill-bell{display:inline-flex!important;vertical-align:middle!important;margin:0!important}
@media(max-width:760px){
  .blue-home-whatsapp-actions{flex-wrap:wrap!important}
  .notification-pill-home{width:auto!important}
}


/* v5.0.162 - mobile: menu Attività a tendina, palestra e intro escursioni ottimizzati */
@media(max-width:1180px){
  .blue-mobile-activities-links>div a:first-child{font-weight:900!important;color:#063866!important}
}
@media(max-width:760px){
  .palestra-page-hero{
    min-height:700px!important;
    padding-bottom:260px!important;
  }
  .palestra-page-hero .page-hero-content{
    max-width:100%!important;
  }
  .palestra-page-hero .page-hero-content p{
    max-width:92%!important;
    margin-top:22px!important;
  }
  .palestra-page-hero .gym-hero-whatsapp{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    width:auto!important;
  }
  .gym-hours-strip{padding-top:0!important}
  .gym-hours-intro{padding:0 0 8px!important}
  .gym-hours-intro h2,
  .gym-hours-intro p{display:none!important}

  .excursion-intro{
    gap:20px!important;
    padding-top:58px!important;
    padding-bottom:56px!important;
  }
  .excursion-intro>div:first-child{
    display:grid!important;
    gap:10px!important;
  }
  .excursion-intro .section-kicker{margin-bottom:0!important}
  .excursion-intro h2{
    margin:0!important;
    max-width:8ch!important;
    font-size:clamp(46px,13vw,68px)!important;
    line-height:.94!important;
    letter-spacing:-.06em!important;
  }
  .excursion-intro .rich-copy{
    margin-top:0!important;
    padding:22px 20px!important;
    border:1px solid #d9e7ef!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,#f7fbfe 0%,#ffffff 100%)!important;
    box-shadow:0 14px 30px rgba(3,44,82,.06)!important;
  }
  .excursion-intro .rich-copy p{
    margin:0 0 16px!important;
    font-size:16px!important;
    line-height:1.72!important;
  }
  .excursion-intro .rich-copy p:last-child{margin-bottom:0!important}
}
@media(max-width:430px){
  .palestra-page-hero{min-height:730px!important;padding-bottom:270px!important}
  .palestra-page-hero .gym-hero-whatsapp{bottom:16px!important}
  .excursion-intro h2{max-width:7.6ch!important;font-size:clamp(42px,12.5vw,60px)!important}
  .excursion-intro .rich-copy{padding:20px 18px!important}
}


/* v5.0.164 - Home: palestra in evidenza e carousel premium per le altre attività */
.blue-home-activities-embed-v164{padding-top:clamp(64px,7vw,106px)!important;padding-bottom:clamp(56px,6vw,92px)!important;background:#fff}
.blue-home-activities-intro-v164{padding-bottom:32px!important}
.blue-home-activities-intro-v164 h2{max-width:14ch}
.blue-home-activities-intro-v164 p{max-width:860px}
.blue-home-gym-spotlight-wrap,
.blue-home-activity-carousel-wrap{padding:0 clamp(24px,6vw,90px)}
.blue-home-gym-spotlight{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:stretch;overflow:hidden;border-radius:34px;background:linear-gradient(135deg,#0f3f77 0%,#164f93 48%,#0d3767 100%);min-height:410px;box-shadow:0 22px 54px rgba(4,33,63,.16);color:#fff;position:relative;isolation:isolate}
.blue-home-gym-spotlight:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.14),transparent 38%);pointer-events:none}
.blue-home-gym-spotlight:hover{transform:translateY(-2px)}
.blue-home-gym-spotlight-copy{padding:clamp(34px,4vw,52px);display:flex;flex-direction:column;justify-content:center;gap:18px;position:relative;z-index:1}
.blue-home-gym-kicker{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;opacity:.88}
.blue-home-gym-kicker:before{content:"";width:38px;height:2px;background:rgba(255,255,255,.85);border-radius:999px}
.blue-home-gym-spotlight-copy h3{font-size:clamp(38px,4.4vw,62px);line-height:.94;letter-spacing:-.05em;margin:0;max-width:10ch}
.blue-home-gym-spotlight-copy p{font-size:18px;line-height:1.72;max-width:52ch;color:rgba(255,255,255,.92);margin:0}
.blue-home-gym-meta{display:flex;flex-wrap:wrap;gap:10px}
.blue-home-gym-meta span{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:13px;font-weight:800;letter-spacing:.02em}
.blue-home-gym-cta{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:900;letter-spacing:.02em;margin-top:4px}
.blue-home-gym-spotlight-media{min-height:100%;background-image:linear-gradient(180deg,rgba(8,29,55,.12),rgba(8,29,55,.05)),var(--gym-image);background-size:cover;background-position:center;position:relative}
.blue-home-gym-spotlight-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,63,119,.06) 0%,rgba(15,63,119,0) 34%,rgba(15,63,119,.18) 100%)}
.blue-home-activity-carousel-wrap{margin-top:24px}
.blue-home-activity-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;padding:8px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#86a5c2 #eef5fa}
.blue-home-activity-carousel::-webkit-scrollbar{height:10px}
.blue-home-activity-carousel::-webkit-scrollbar-track{background:#eef5fa;border-radius:999px}
.blue-home-activity-carousel::-webkit-scrollbar-thumb{background:#86a5c2;border-radius:999px}
.blue-home-carousel-card{min-height:385px!important;border-radius:30px!important;scroll-snap-align:start;box-shadow:0 18px 34px rgba(8,42,78,.10)}
.blue-home-carousel-card:hover{transform:translateY(-4px)}
.blue-home-carousel-card div{display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.blue-home-carousel-card .blue-home-carousel-kicker{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;opacity:.88}
.blue-home-carousel-card .blue-home-carousel-kicker:before{content:"";width:26px;height:2px;background:currentColor;border-radius:999px;opacity:.75}
.blue-home-carousel-card h2{max-width:12ch}
@media(max-width:1180px){
  .blue-home-gym-spotlight{grid-template-columns:1fr;min-height:auto}
  .blue-home-gym-spotlight-media{min-height:300px;order:-1}
  .blue-home-activity-carousel{grid-auto-columns:calc((100% - 20px)/2)}
}
@media(max-width:760px){
  .blue-home-gym-spotlight-wrap,.blue-home-activity-carousel-wrap{padding-left:20px;padding-right:20px}
  .blue-home-gym-spotlight{border-radius:28px}
  .blue-home-gym-spotlight-copy{padding:26px 22px 24px}
  .blue-home-gym-spotlight-copy h3{font-size:clamp(34px,10vw,48px)}
  .blue-home-gym-spotlight-copy p{font-size:16px;line-height:1.65}
  .blue-home-gym-spotlight-media{min-height:240px}
  .blue-home-activity-carousel{grid-auto-columns:85%;gap:16px}
  .blue-home-carousel-card{min-height:340px!important;border-radius:24px!important}
}
@media(max-width:480px){
  .blue-home-activities-intro-v164 h2{max-width:9ch}
  .blue-home-gym-meta span{padding:9px 12px;font-size:12px}
  .blue-home-activity-carousel{grid-auto-columns:88%}
}

/* v5.3.0 - Home evoluta: hero con ultima novità, tesseramento premium e news compatte a carosello */
.blue-home-v530{background:#fff;}
.blue-home-v530 section:not(.blue-home-hero){padding-inline:clamp(24px,7vw,110px);}
.blue-home-v530 .blue-home-hero{position:relative;min-height:min(82vh,860px);display:flex;align-items:flex-end;padding-bottom:clamp(48px,6vw,74px);}
.blue-home-v530 .blue-home-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,43,78,.82) 0%,rgba(4,43,78,.72) 35%,rgba(4,43,78,.38) 64%,rgba(4,43,78,.18) 100%),linear-gradient(180deg,rgba(4,43,78,.12) 0%,rgba(4,43,78,.42) 100%);}
.blue-home-v530 .blue-home-hero-shell{position:relative;z-index:1;width:100%;padding-inline:clamp(24px,7vw,110px);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.75fr);gap:clamp(24px,3vw,36px);align-items:end;}
.blue-home-v530 .blue-home-hero-copy{position:relative;z-index:1;max-width:760px;padding:clamp(72px,10vw,126px) 0 0;display:grid;gap:18px;color:#fff;}
.blue-home-v530 .blue-home-hero-copy > span:first-child{display:inline-flex;max-width:max-content;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(4px);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;}
.blue-home-v530 .blue-home-hero-copy h1{font-size:clamp(52px,6.2vw,92px);line-height:.92;letter-spacing:-.055em;margin:0;}
.blue-home-v530 .blue-home-hero-copy p{margin:0;max-width:60ch;font-size:clamp(18px,1.65vw,23px);line-height:1.6;color:rgba(255,255,255,.93);}
.blue-home-hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;}
.blue-home-hero-pills span{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.blue-home-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;}
.blue-home-hero-button,.blue-home-cta,.blue-home-section-link,.blue-home-carousel-nav{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;font-weight:800;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;}
.blue-home-hero-button{padding:15px 22px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.1);color:#fff;backdrop-filter:blur(5px);}
.blue-home-hero-button.is-primary{background:#fff;color:#04345d;border-color:#fff;}
.blue-home-hero-button:hover,.blue-home-cta:hover,.blue-home-section-link:hover,.blue-home-carousel-nav:hover{transform:translateY(-2px);}
.blue-home-hero-latest{display:grid;gap:12px;align-self:end;max-width:430px;justify-self:end;width:100%;}
.blue-home-hero-latest-kicker{padding-left:8px;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#d4e7f5;}
.blue-home-hero-latest-card{display:grid;gap:0;border-radius:30px;overflow:hidden;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);box-shadow:0 24px 45px rgba(4,26,48,.22);color:#fff;}
.blue-home-hero-latest-card:hover{transform:translateY(-4px);box-shadow:0 30px 56px rgba(4,26,48,.28);}
.blue-home-hero-latest-media{position:relative;aspect-ratio:16/9;overflow:hidden;}
.blue-home-hero-latest-media img,.blue-home-hero-latest-media .news-placeholder{width:100%;height:100%;display:block;object-fit:cover;}
.blue-home-hero-latest-copy{padding:20px 22px 22px;display:grid;gap:10px;}
.blue-home-hero-latest-copy time{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#d1e6f7;}
.blue-home-hero-latest-copy h2{margin:0;font-size:clamp(24px,2.2vw,32px);line-height:1.04;letter-spacing:-.04em;color:#fff;}
.blue-home-hero-latest-copy p{margin:0;color:rgba(255,255,255,.84);font-size:15px;line-height:1.6;}
.blue-home-hero-latest-copy strong{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:#fff;}
.blue-home-block-head{max-width:840px;margin:0 auto 34px 0;display:grid;gap:10px;}
.blue-home-block-head span:first-child{color:var(--red);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;}
.blue-home-block-head h2{margin:0;color:var(--blue);font-size:clamp(34px,3.85vw,56px);line-height:1.02;letter-spacing:-.045em;}
.blue-home-block-head p{margin:0;max-width:62ch;color:#4d6174;font-size:17px;line-height:1.7;}
.blue-home-block-head-inline{display:flex;align-items:end;justify-content:space-between;gap:24px;max-width:none;margin-bottom:30px;}
.blue-home-block-head-inline > div{display:grid;gap:8px;}
.blue-home-section-link{padding:13px 18px;border:1px solid #cfd9e3;background:#fff;color:var(--blue);font-size:14px;white-space:nowrap;box-shadow:0 12px 28px rgba(3,44,82,.08);}
.blue-home-activities-shell{padding-top:clamp(60px,8vw,100px);padding-bottom:clamp(34px,5vw,54px);}
.blue-home-activities-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;}
.blue-home-activity-panel{position:relative;grid-column:span 4;min-height:310px;border-radius:30px;overflow:hidden;display:flex;align-items:flex-end;background:#e6eef5;box-shadow:0 26px 50px rgba(3,44,82,.12);}
.blue-home-activity-panel.is-large{grid-column:span 6;min-height:380px;}
.blue-home-activity-panel::before{content:"";position:absolute;inset:0;background-image:var(--panel-image);background-size:cover;background-position:center;transition:transform .45s ease,filter .35s ease;filter:saturate(1.05);}
.blue-home-activity-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,44,82,.08) 0%,rgba(4,44,82,.28) 44%,rgba(4,44,82,.84) 100%);}
.blue-home-activity-panel:hover::before{transform:scale(1.04);}
.blue-home-activity-panel-copy{position:relative;z-index:1;padding:26px;color:#fff;display:grid;gap:10px;width:100%;}
.blue-home-activity-panel-copy span{font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;opacity:.92;}
.blue-home-activity-panel-copy h3{margin:0;font-size:clamp(26px,2.35vw,36px);line-height:1.02;letter-spacing:-.04em;}
.blue-home-activity-panel-copy p{margin:0;color:rgba(255,255,255,.9);line-height:1.55;max-width:36ch;}
.blue-home-activity-panel-copy strong{display:inline-flex;align-items:center;gap:10px;font-size:14px;}
.blue-home-spotlight-section,.blue-home-membership-section{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:30px;align-items:stretch;padding-top:clamp(28px,4vw,44px);padding-bottom:clamp(34px,5vw,56px);}
.blue-home-membership-section{grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);}
.blue-home-spotlight-copy,.blue-home-membership-copy{background:linear-gradient(180deg,#fff 0%,#f6fbff 100%);border:1px solid #dde8f0;border-radius:34px;padding:clamp(28px,4vw,42px);box-shadow:0 22px 44px rgba(3,44,82,.09);display:grid;align-content:center;gap:18px;}
.blue-home-spotlight-copy > span:first-child,.blue-home-membership-copy > span:first-child{color:var(--red);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;}
.blue-home-spotlight-copy h2,.blue-home-membership-copy h2{margin:0;color:var(--blue);font-size:clamp(34px,3.9vw,54px);line-height:1.02;letter-spacing:-.04em;}
.blue-home-spotlight-copy p,.blue-home-membership-copy p{margin:0;color:#516579;font-size:17px;line-height:1.7;}
.blue-home-spotlight-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:2px 0 0;list-style:none;}
.blue-home-spotlight-list li{border-radius:18px;background:#eaf4fa;color:#0d4f7e;padding:14px 16px;font-size:14px;font-weight:800;}
.blue-home-spotlight-media,.blue-home-membership-media{min-height:360px;border-radius:34px;overflow:hidden;background-color:#dce8f0;background-size:cover;background-position:center;box-shadow:0 22px 44px rgba(3,44,82,.12);}
.blue-home-spotlight-media{background-image:var(--spotlight-image);}
.blue-home-membership-media{background-image:var(--membership-image);position:relative;display:flex;align-items:flex-end;padding:28px;isolation:isolate;}
.blue-home-membership-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,43,78,.08) 0%,rgba(4,43,78,.28) 45%,rgba(4,43,78,.66) 100%);z-index:0;}
.blue-home-membership-floating-card{position:relative;z-index:1;display:grid;grid-template-columns:74px minmax(0,1fr);gap:18px;align-items:center;max-width:420px;padding:20px;border-radius:28px;background:rgba(255,255,255,.92);box-shadow:0 18px 40px rgba(7,33,58,.18);}
.blue-home-membership-floating-card img{width:74px;height:auto;display:block;}
.blue-home-membership-floating-card span{display:block;margin-bottom:5px;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#50718d;}
.blue-home-membership-floating-card strong{display:block;color:var(--blue);font-size:28px;line-height:1.06;letter-spacing:-.04em;}
.blue-home-membership-floating-card p{margin:8px 0 0;color:#4e6376;font-size:14px;line-height:1.55;}
.blue-home-membership-badges{position:absolute;right:24px;top:24px;z-index:1;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;max-width:72%;}
.blue-home-membership-badges span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.blue-home-spotlight-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;}
.blue-home-cta{padding:14px 20px;font-size:14px;}
.blue-home-cta.primary{background:var(--blue);color:#fff;border:1px solid var(--blue);}
.blue-home-cta.secondary{background:#fff;color:var(--blue);border:1px solid #cedbe7;}
.blue-home-membership-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.blue-home-membership-points > div{padding:18px 18px 16px;border-radius:20px;background:#edf5fb;}
.blue-home-membership-points strong{display:block;color:var(--blue);font-size:16px;margin-bottom:8px;}
.blue-home-membership-points p{font-size:14px;line-height:1.55;}
.blue-home-news-v530{padding-top:clamp(38px,5vw,58px);padding-bottom:clamp(44px,6vw,66px);}
.blue-home-news-carousel{position:relative;}
.blue-home-news-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:6px;padding:4px 2px 14px;scrollbar-width:none;}
.blue-home-news-track::-webkit-scrollbar{display:none;}
.blue-home-news-track .news-card{scroll-snap-align:start;max-width:none;margin:0;}
.blue-home-news-track .news-card .news-card-link{height:100%;display:grid;grid-template-rows:auto 1fr;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 16px 34px rgba(3,44,82,.10);border:1px solid #e1e9ef;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.blue-home-news-track .news-card:hover .news-card-link,.blue-home-news-track .news-card:focus-within .news-card-link{transform:translateY(-4px);box-shadow:0 24px 46px rgba(3,44,82,.15);border-color:#cddbe7;}
.blue-home-news-track .news-card .news-card-link > img,.blue-home-news-track .news-card .news-card-link > .news-placeholder{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto;display:block;}
.blue-home-news-track .news-card .news-card-link > div{padding:16px 16px 18px;display:grid;gap:9px;align-content:start;}
.blue-home-news-track .news-card .news-card-link > div > span:first-child{font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:900;color:var(--red);}
.blue-home-news-track .news-card .news-card-link > div > time{font-size:12px;color:#65788a;}
.blue-home-news-track .news-card .news-card-link h3{margin:0;font-size:22px;line-height:1.08;letter-spacing:-.035em;color:var(--blue);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.blue-home-news-track .news-card .news-card-link p{margin:0;font-size:14px;line-height:1.58;color:#4c6275;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.blue-home-news-track .news-card .news-card-cta{font-size:13px;margin-top:3px;}
.blue-home-carousel-nav{position:absolute;top:-82px;width:46px;height:46px;border:1px solid #d7e2eb;background:#fff;color:var(--blue);box-shadow:0 12px 28px rgba(3,44,82,.08);z-index:2;}
.blue-home-carousel-nav.is-prev{right:56px;}
.blue-home-carousel-nav.is-next{right:0;}
.blue-home-carousel-nav:disabled{opacity:.4;cursor:default;transform:none;}
.blue-home-connect-section{padding-top:clamp(8px,2vw,12px);padding-bottom:clamp(76px,9vw,110px);}
.blue-home-connect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.blue-home-connect-card{border-radius:34px;padding:clamp(28px,4vw,38px);box-shadow:0 24px 50px rgba(3,44,82,.10);display:grid;gap:14px;align-content:start;}
.blue-home-connect-card.is-newsletter{background:linear-gradient(180deg,#fff 0%,#f6f2ea 100%);border:1px solid #eadfcd;}
.blue-home-connect-card.is-whatsapp{background:linear-gradient(180deg,#effaf1 0%,#dcf2e1 100%);border:1px solid #cde5d5;}
.blue-home-connect-icon{width:56px;height:56px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:27px;box-shadow:0 12px 26px rgba(3,44,82,.08);}
.blue-home-connect-icon img{width:34px;height:34px;}
.blue-home-connect-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--red);}
.blue-home-connect-card h3{margin:0;color:var(--blue);font-size:clamp(28px,3vw,40px);line-height:1.04;letter-spacing:-.04em;}
.blue-home-connect-card p{margin:0;color:#526678;font-size:16px;line-height:1.7;}
@media (max-width: 1280px){
  .blue-home-news-track{grid-auto-columns:calc((100% - 24px)/2);}
}
@media (max-width: 1180px){
  .blue-home-v530 .blue-home-hero-shell{grid-template-columns:1fr;align-items:end;}
  .blue-home-hero-latest{justify-self:start;max-width:460px;}
  .blue-home-activity-panel,.blue-home-activity-panel.is-large{grid-column:span 6;}
}
@media (max-width: 980px){
  .blue-home-v530 section:not(.blue-home-hero){padding-inline:22px;}
  .blue-home-spotlight-section,.blue-home-membership-section,.blue-home-connect-grid{grid-template-columns:1fr;}
  .blue-home-membership-section{grid-template-columns:1fr;}
  .blue-home-block-head-inline{display:grid;align-items:start;}
  .blue-home-spotlight-list,.blue-home-membership-points{grid-template-columns:1fr;}
  .blue-home-spotlight-media,.blue-home-membership-media{min-height:320px;}
  .blue-home-news-track{grid-auto-columns:calc((100% - 18px)/2);gap:18px;}
}
@media (max-width: 760px){
  .blue-home-v530 .blue-home-hero{min-height:unset;padding-bottom:34px;}
  .blue-home-v530 .blue-home-hero-shell{padding-inline:22px;gap:18px;}
  .blue-home-v530 .blue-home-hero-copy{padding:84px 0 0;}
  .blue-home-v530 .blue-home-hero-copy h1{font-size:46px;}
  .blue-home-hero-actions,.blue-home-spotlight-actions{display:grid;grid-template-columns:1fr;}
  .blue-home-hero-button,.blue-home-cta{width:100%;}
  .blue-home-activities-grid{grid-template-columns:1fr;gap:18px;}
  .blue-home-activity-panel,.blue-home-activity-panel.is-large{grid-column:auto;min-height:300px;border-radius:26px;}
  .blue-home-hero-latest{max-width:none;}
  .blue-home-hero-latest-card{border-radius:24px;}
  .blue-home-membership-floating-card{grid-template-columns:58px minmax(0,1fr);gap:14px;padding:16px;border-radius:22px;}
  .blue-home-membership-floating-card img{width:58px;}
  .blue-home-membership-floating-card strong{font-size:22px;}
  .blue-home-membership-badges{left:18px;right:18px;top:18px;max-width:none;justify-content:flex-start;}
  .blue-home-news-track{grid-auto-columns:86%;}
  .blue-home-carousel-nav{display:none;}
  .blue-home-connect-card,.blue-home-spotlight-copy,.blue-home-membership-copy{border-radius:26px;}
  .blue-home-spotlight-media,.blue-home-membership-media{border-radius:26px;min-height:250px;}
}


/* v5.3.1 - Home: tesseramento più coerente e blocchi newsletter/WhatsApp premium con popup */
.blue-home-connect-grid-premium{grid-template-columns:1.08fr .92fr;align-items:stretch;}
.blue-home-inline-feedback{margin:0 0 22px;padding:14px 18px;border-radius:18px;font-size:15px;font-weight:700;line-height:1.5;box-shadow:0 12px 26px rgba(3,44,82,.08)}
.blue-home-inline-feedback.is-success{background:#eaf6ef;color:#155c33;border:1px solid #cfe8d7}
.blue-home-inline-feedback.is-info{background:#eef5fb;color:#17476e;border:1px solid #d6e4f0}
.blue-home-inline-feedback.is-error{background:#fff1f0;color:#8f2a24;border:1px solid #f1d0cc}
.blue-home-connect-card{position:relative;overflow:hidden;}
.blue-home-connect-card::before{content:"";position:absolute;inset:0;pointer-events:none;}
.blue-home-connect-card.premium-newsletter::before{background:radial-gradient(circle at top right,rgba(182,87,24,.12),transparent 38%)}
.blue-home-connect-card.premium-whatsapp::before{background:radial-gradient(circle at top right,rgba(37,211,102,.18),transparent 36%)}
.blue-home-connect-card-top,.blue-home-connect-card-body,.blue-home-connect-card-actions{position:relative;z-index:1}
.blue-home-connect-card-top{display:flex;align-items:center;gap:14px}
.blue-home-connect-card-body{display:grid;gap:14px}
.blue-home-connect-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;margin:4px 0 0;list-style:none}
.blue-home-connect-benefits li{padding:12px 13px;border-radius:16px;background:rgba(255,255,255,.82);border:1px solid rgba(197,167,128,.22);color:#7b5326;font-size:13px;font-weight:700;line-height:1.45}
.blue-home-connect-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:auto}
.blue-home-connect-note{max-width:31ch;color:#6d7783;font-size:13px;line-height:1.5}
.blue-home-connect-highlight{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.66);border:1px solid rgba(29,168,81,.18)}
.blue-home-connect-highlight span{grid-row:1 / span 2;font-size:24px}
.blue-home-connect-highlight strong{font-size:15px;color:#13603a}
.blue-home-connect-highlight small{display:block;color:#3d6c52;font-size:13px;line-height:1.4}
.blue-home-modal[hidden]{display:none}
.blue-home-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}
.blue-home-modal-backdrop{position:absolute;inset:0;background:rgba(3,25,44,.58);backdrop-filter:blur(4px)}
.blue-home-modal-dialog{position:relative;z-index:1;width:min(100%,620px);max-height:min(90vh,920px);overflow:auto;border-radius:30px;background:#fff;box-shadow:0 34px 80px rgba(3,25,44,.28);padding:30px}
.blue-home-modal-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;border:1px solid #d8e2ea;background:#fff;color:var(--blue);font-size:28px;line-height:1;cursor:pointer}
.blue-home-modal-head{display:grid;gap:10px;margin-bottom:18px}
.blue-home-modal-head span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--red)}
.blue-home-modal-head h3{margin:0;color:var(--blue);font-size:clamp(30px,3vw,42px);line-height:1.02;letter-spacing:-.04em}
.blue-home-modal-head p{margin:0;color:#566879;line-height:1.65}
.blue-home-newsletter-form{display:grid;gap:16px}
.blue-home-newsletter-form label{display:grid;gap:8px}
.blue-home-newsletter-form label > span{font-size:14px;font-weight:800;color:var(--blue)}
.blue-home-newsletter-form input:not([type=checkbox]),.blue-home-newsletter-form textarea{width:100%;border:1px solid #d7e0e8;border-radius:16px;padding:14px 16px;font:inherit;color:#13324c;background:#f9fbfd;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.blue-home-newsletter-form input:focus,.blue-home-newsletter-form textarea:focus{outline:none;border-color:#87b6db;background:#fff;box-shadow:0 0 0 4px rgba(64,132,195,.12)}
.blue-home-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.blue-home-checkbox-row{grid-template-columns:auto 1fr;align-items:start;gap:12px;background:#f3f8fc;padding:14px 16px;border-radius:18px}
.blue-home-checkbox-row input{margin-top:3px}
.blue-home-checkbox-row span{font-size:14px!important;font-weight:600!important;color:#506274!important;line-height:1.55}
.blue-home-modal-actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}
body.blue-home-modal-open{overflow:hidden}
@media (max-width: 980px){
  .blue-home-connect-grid-premium{grid-template-columns:1fr}
  .blue-home-connect-benefits{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .blue-home-form-grid{grid-template-columns:1fr}
  .blue-home-modal{padding:14px}
  .blue-home-modal-dialog{padding:24px 18px;border-radius:22px}
  .blue-home-connect-card-actions{display:grid;grid-template-columns:1fr}
  .blue-home-connect-note{max-width:none}
}


/* v5.3.2 - Home: hero pulita senza ultima novità e card finali più premium */
.blue-home-v530 .blue-home-hero-shell{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:end!important;
}
.blue-home-v530 .blue-home-hero-copy{
  max-width:820px!important;
}
.blue-home-hero-latest{display:none!important}
.blue-home-connect-grid-premium{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:28px!important;
}
.blue-home-connect-card.premium-newsletter,
.blue-home-connect-card.premium-whatsapp{
  min-height:430px;
  padding:34px!important;
  border-radius:32px!important;
  display:flex!important;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid rgba(13,64,108,.10)!important;
  box-shadow:0 26px 58px rgba(3,44,82,.11)!important;
}
.blue-home-connect-card.premium-newsletter{
  background:linear-gradient(145deg,#fff 0%,#f7f1e8 48%,#efe2d3 100%)!important;
}
.blue-home-connect-card.premium-whatsapp{
  background:linear-gradient(145deg,#f7fff9 0%,#e7f7ec 48%,#d8f0df 100%)!important;
}
.blue-home-connect-card-top{
  align-items:center!important;
  justify-content:flex-start;
}
.blue-home-connect-card .blue-home-connect-icon{
  width:64px!important;
  height:64px!important;
  border-radius:20px!important;
  box-shadow:0 16px 34px rgba(3,44,82,.10)!important;
}
.blue-home-connect-card-body{
  gap:16px!important;
  margin-top:20px;
}
.blue-home-connect-card h3{
  max-width:12ch;
  font-size:clamp(34px,3vw,46px)!important;
  line-height:.98!important;
}
.blue-home-connect-card p{
  max-width:48ch;
  font-size:17px!important;
  line-height:1.7!important;
}
.blue-home-connect-card-actions{
  margin-top:28px!important;
}
.blue-home-connect-benefits,
.blue-home-connect-note{
  display:none!important;
}
.blue-home-connect-highlight{
  margin-top:4px;
  background:rgba(255,255,255,.72)!important;
  border-radius:20px!important;
  padding:16px 18px!important;
}
@media(max-width:980px){
  .blue-home-connect-grid-premium{grid-template-columns:1fr!important}
  .blue-home-connect-card.premium-newsletter,
  .blue-home-connect-card.premium-whatsapp{min-height:unset}
}


/* v5.3.3 - Home: blocchi finali compatti e popup newsletter ridimensionato */
.blue-home-connect-section{padding-top:20px!important;padding-bottom:72px!important}
.blue-home-connect-section .blue-home-block-head{margin-bottom:24px!important;max-width:760px!important}
.blue-home-connect-grid-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.blue-home-connect-panel{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:20px;align-items:center;min-height:190px;padding:26px 28px;border-radius:28px;border:1px solid rgba(13,64,108,.10);box-shadow:0 18px 40px rgba(3,44,82,.09);overflow:hidden}
.blue-home-connect-panel::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-85px;bottom:-110px;pointer-events:none}
.blue-home-connect-panel.is-newsletter{background:linear-gradient(135deg,#fff 0%,#f5eee4 100%)}
.blue-home-connect-panel.is-newsletter::after{background:rgba(179,109,49,.09)}
.blue-home-connect-panel.is-whatsapp{background:linear-gradient(135deg,#f8fff9 0%,#e3f5e8 100%)}
.blue-home-connect-panel.is-whatsapp::after{background:rgba(37,211,102,.10)}
.blue-home-connect-panel-icon{position:relative;z-index:1;width:58px;height:58px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:25px;box-shadow:0 12px 26px rgba(3,44,82,.09)}
.blue-home-connect-panel-icon img{width:34px;height:34px;object-fit:contain}
.blue-home-connect-panel-copy{position:relative;z-index:1;display:grid;gap:7px;min-width:0}
.blue-home-connect-panel-copy h3{margin:0;color:var(--blue);font-size:clamp(24px,2.1vw,32px);line-height:1.06;letter-spacing:-.035em;max-width:22ch}
.blue-home-connect-panel-copy p{margin:0;color:#526678;font-size:15px;line-height:1.55;max-width:52ch}
.blue-home-connect-panel>.blue-home-cta{position:relative;z-index:1;white-space:nowrap;align-self:center}
.blue-home-modal{padding:18px!important}
.blue-home-modal-dialog{width:min(100%,520px)!important;max-height:calc(100vh - 36px)!important;padding:24px!important;border-radius:24px!important;overflow:auto!important}
.blue-home-modal-close{top:12px!important;right:12px!important;width:38px!important;height:38px!important;font-size:24px!important}
.blue-home-modal-head{gap:8px!important;margin-bottom:16px!important;padding-right:34px}
.blue-home-modal-head h3{font-size:clamp(28px,4vw,36px)!important}
.blue-home-modal-head p{font-size:14px!important;line-height:1.5!important}
.blue-home-newsletter-form{gap:13px!important}
.blue-home-newsletter-form input:not([type=checkbox]){padding:12px 14px!important;border-radius:14px!important}
.blue-home-form-grid{gap:12px!important}
.blue-home-checkbox-row{padding:12px 14px!important;border-radius:14px!important}
.blue-home-modal-actions{gap:10px!important}
.blue-home-modal-actions .blue-home-cta{min-height:44px;padding:11px 17px!important}
@media(max-width:980px){
  .blue-home-connect-grid-compact{grid-template-columns:1fr}
}
@media(max-width:760px){
  .blue-home-connect-section{padding-bottom:56px!important}
  .blue-home-connect-panel{grid-template-columns:50px minmax(0,1fr);gap:14px;padding:22px 18px;min-height:0;border-radius:22px}
  .blue-home-connect-panel-icon{width:50px;height:50px;border-radius:15px}
  .blue-home-connect-panel>.blue-home-cta{grid-column:1/-1;width:100%}
  .blue-home-connect-panel-copy h3{font-size:24px;max-width:none}
  .blue-home-connect-panel-copy p{font-size:14px}
  .blue-home-modal{padding:10px!important}
  .blue-home-modal-dialog{max-height:calc(100vh - 20px)!important;padding:20px 16px!important;border-radius:20px!important}
  .blue-home-form-grid{grid-template-columns:1fr!important}
  .blue-home-modal-actions{display:grid;grid-template-columns:1fr!important}
}

/* v5.4.0 - Pagina Attività: hub a blocchi, prossime escursioni e tesseramento */
.activities-hub-intro{padding:clamp(72px,8vw,112px) clamp(24px,7vw,110px) 38px;background:#fff;display:grid;gap:14px}
.activities-hub-intro h2{margin:0;max-width:900px;color:var(--blue);font-size:clamp(44px,5vw,72px);line-height:.98;letter-spacing:-.055em}
.activities-hub-intro p{margin:0;max-width:760px;color:#526779;font-size:18px;line-height:1.7}
.activities-hub-grid{padding:0 clamp(24px,7vw,110px) clamp(70px,8vw,108px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;background:#fff}
.activities-hub-card{position:relative;grid-column:span 4;min-height:330px;border-radius:30px;overflow:hidden;display:flex;align-items:flex-end;box-shadow:0 24px 50px rgba(3,44,82,.12);isolation:isolate}
.activities-hub-card.is-wide{grid-column:span 6;min-height:390px}
.activities-hub-card::before{content:"";position:absolute;inset:0;background-image:var(--activity-image);background-size:cover;background-position:center;transition:transform .45s ease;z-index:-2}
.activities-hub-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,44,82,.06),rgba(3,44,82,.3) 45%,rgba(3,44,82,.9));z-index:-1}
.activities-hub-card:hover::before{transform:scale(1.045)}
.activities-hub-card-copy{padding:28px;color:#fff;display:grid;gap:10px;width:100%}
.activities-hub-card-copy>span{font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.activities-hub-card-copy h3{margin:0;font-size:clamp(28px,2.6vw,40px);line-height:1.02;letter-spacing:-.04em}
.activities-hub-card-copy p{margin:0;max-width:38ch;color:rgba(255,255,255,.9);line-height:1.55}
.activities-hub-card-copy strong{display:inline-flex;align-items:center;gap:10px;font-size:14px}
.activities-gym-feature{margin:0 clamp(24px,7vw,110px) clamp(72px,8vw,110px);display:grid;grid-template-columns:1fr 1fr;min-height:480px;border-radius:34px;overflow:hidden;background:linear-gradient(135deg,#052e57,#0c528b);box-shadow:0 28px 60px rgba(3,44,82,.18)}
.activities-gym-copy{padding:clamp(36px,5vw,62px);color:#fff;display:grid;align-content:center;gap:18px}
.activities-gym-copy h2{margin:0;font-size:clamp(42px,4.5vw,66px);line-height:.98;letter-spacing:-.05em}
.activities-gym-copy p{margin:0;max-width:55ch;color:#d9e9f5;font-size:17px;line-height:1.7}
.activities-gym-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.activities-gym-actions .button{width:auto}
.activities-gym-whatsapp{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;font-weight:800}
.activities-gym-image{background-size:cover;background-position:center;min-height:430px}
.activities-upcoming-section{padding:clamp(72px,8vw,110px) clamp(24px,7vw,110px);background:#f3f8fb}
.activities-section-heading{display:grid;grid-template-columns:1fr minmax(280px,.65fr);gap:40px;align-items:end;margin-bottom:34px}
.activities-section-heading h2{margin:8px 0 0;color:var(--blue);font-size:clamp(44px,5vw,70px);line-height:.98;letter-spacing:-.05em}
.activities-section-heading p{margin:0;color:#526779;font-size:17px;line-height:1.7}
.activities-upcoming-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px;align-items:start}
.activities-calendar-list{display:grid;gap:12px}
.activities-calendar-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto 34px;gap:18px;align-items:center;padding:16px 18px;border-radius:22px;background:#fff;border:1px solid #dce7ef;box-shadow:0 12px 28px rgba(3,44,82,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.activities-calendar-item:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(3,44,82,.12);border-color:#bfd4e3}
.activities-calendar-item time{width:62px;height:62px;border-radius:18px;background:#eaf3f9;color:var(--blue);display:grid;place-content:center;text-align:center;line-height:1}
.activities-calendar-item time strong{font-size:25px}.activities-calendar-item time span{font-size:11px;font-weight:900;letter-spacing:.12em;margin-top:5px}
.activities-calendar-item small{display:block;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}
.activities-calendar-item h3{margin:0;color:var(--blue);font-size:22px;line-height:1.1}
.activities-calendar-place{padding:7px 10px;border-radius:999px;background:#eef4f8;color:#43627c;font-size:12px;font-weight:900}
.activities-calendar-type{display:block;padding:0;border-radius:0;background:transparent;box-shadow:none;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}
.activities-calendar-place.place-sectional{background:#eef6fd;color:#3f6485}
.activities-calendar-place.place-senior{background:#f3f7ea;color:#657b49}

.activities-calendar-side{padding:32px;border-radius:28px;background:linear-gradient(145deg,#063866,#0d568e);color:#fff;display:grid;gap:14px;box-shadow:0 22px 46px rgba(3,44,82,.17)}
.activities-calendar-side>span{font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#b9d9ee}
.activities-calendar-side h3{margin:0;font-size:36px;line-height:1.02;letter-spacing:-.04em}.activities-calendar-side p{margin:0;color:#d8e8f3;line-height:1.65}
.activities-calendar-side a{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid rgba(255,255,255,.2);font-weight:800}.activities-calendar-side a::after{content:"→"}
.activities-membership-band{padding:clamp(64px,7vw,96px) clamp(24px,7vw,110px);background:linear-gradient(135deg,#052f58,#0c4d82);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:50px;align-items:center}
.activities-membership-copy{display:grid;gap:18px}.activities-membership-copy h2{margin:0;font-size:clamp(42px,4.7vw,68px);line-height:.98;letter-spacing:-.05em}.activities-membership-copy p{margin:0;max-width:60ch;color:#d7e7f2;font-size:17px;line-height:1.7}.activities-membership-copy .button{width:max-content}
.activities-membership-benefits{display:grid;gap:12px}.activities-membership-benefits article{padding:20px 22px;border-radius:20px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15)}.activities-membership-benefits strong{display:block;font-size:18px;margin-bottom:7px}.activities-membership-benefits p{margin:0;color:#d9e7f1;line-height:1.55;font-size:14px}
@media(max-width:1100px){.activities-hub-card,.activities-hub-card.is-wide{grid-column:span 6}.activities-upcoming-layout{grid-template-columns:1fr}.activities-calendar-side{grid-template-columns:1fr 1fr}.activities-calendar-side>span,.activities-calendar-side h3,.activities-calendar-side p{grid-column:1/-1}}
@media(max-width:900px){.activities-gym-feature,.activities-membership-band,.activities-section-heading{grid-template-columns:1fr}.activities-gym-image{min-height:350px}.activities-section-heading{gap:18px}.activities-membership-band{gap:30px}}
@media(max-width:700px){.activities-hub-intro{padding-top:58px}.activities-hub-grid{grid-template-columns:1fr}.activities-hub-card,.activities-hub-card.is-wide{grid-column:auto;min-height:310px;border-radius:24px}.activities-gym-feature{margin-left:18px;margin-right:18px;border-radius:24px}.activities-gym-copy{padding:30px 22px}.activities-gym-actions{display:grid}.activities-gym-actions .button,.activities-gym-whatsapp{width:100%}.activities-upcoming-section{padding-left:18px;padding-right:18px}.activities-calendar-item{grid-template-columns:62px minmax(0,1fr) 28px;gap:12px;padding:14px}.activities-calendar-place{display:none}.activities-calendar-item h3{font-size:18px}.activities-calendar-side{grid-template-columns:1fr}.activities-calendar-side>*{grid-column:auto!important}.activities-membership-band{padding-left:18px;padding-right:18px}.activities-membership-copy .button{width:100%}}

/* v5.4.1 - differenziazione grafica escursioni sezionali e seniores nel calendario attività */

/* v5.4.2 - pagina attività: etichette calendario più pulite e CTA palestra semplificata */
.activities-gym-actions-single{display:flex;align-items:center}
.activities-gym-actions-single .button{min-width:230px;justify-content:center}
@media(max-width:700px){.activities-gym-actions-single{display:grid}.activities-gym-actions-single .button{width:100%}}


/* v5.4.3 - CTA premium per Palestra e Tesseramento nella pagina Attività */
.activities-gym-actions-single .button,
.activities-membership-copy .button{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:58px;
  padding:0 28px;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#d8232a 0%,#bd151c 58%,#991117 100%)!important;
  color:#fff!important;
  font-size:15px;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 14px 30px rgba(160,20,27,.28),inset 0 1px 0 rgba(255,255,255,.26);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,filter .28s ease;
}
.activities-gym-actions-single .button::before,
.activities-membership-copy .button::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-45%;
  left:-35%;
  width:34%;
  height:190%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transform:rotate(18deg) translateX(-220%);
  transition:transform .7s cubic-bezier(.22,.7,.2,1);
}
.activities-gym-actions-single .button::after,
.activities-membership-copy .button::after{
  margin-left:4px;
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.activities-gym-actions-single .button:hover,
.activities-gym-actions-single .button:focus-visible,
.activities-membership-copy .button:hover,
.activities-membership-copy .button:focus-visible{
  transform:translateY(-4px) scale(1.025);
  box-shadow:0 22px 42px rgba(160,20,27,.38),0 0 0 5px rgba(198,32,38,.10),inset 0 1px 0 rgba(255,255,255,.32);
  filter:saturate(1.08) brightness(1.03);
}
.activities-gym-actions-single .button:hover::before,
.activities-gym-actions-single .button:focus-visible::before,
.activities-membership-copy .button:hover::before,
.activities-membership-copy .button:focus-visible::before{
  transform:rotate(18deg) translateX(520%);
}
.activities-gym-actions-single .button:hover::after,
.activities-gym-actions-single .button:focus-visible::after,
.activities-membership-copy .button:hover::after,
.activities-membership-copy .button:focus-visible::after{
  transform:translateX(5px) rotate(-5deg);
}
.activities-gym-actions-single .button:active,
.activities-membership-copy .button:active{
  transform:translateY(-1px) scale(.99);
  box-shadow:0 10px 22px rgba(160,20,27,.30),inset 0 1px 0 rgba(255,255,255,.24);
}
.activities-membership-copy .button{
  background:linear-gradient(135deg,#ffffff 0%,#f2f7fb 100%)!important;
  color:#073a68!important;
  box-shadow:0 14px 30px rgba(0,20,42,.24),inset 0 0 0 1px rgba(255,255,255,.85);
}
.activities-membership-copy .button:hover,
.activities-membership-copy .button:focus-visible{
  box-shadow:0 22px 42px rgba(0,20,42,.30),0 0 0 5px rgba(255,255,255,.10),inset 0 0 0 1px rgba(255,255,255,.95);
}
.activities-membership-copy .button::before{
  background:linear-gradient(90deg,transparent,rgba(20,92,145,.18),transparent);
}
@media(max-width:700px){
  .activities-gym-actions-single .button,
  .activities-membership-copy .button{
    min-height:56px;
    padding:0 22px;
  }
}
@media(prefers-reduced-motion:reduce){
  .activities-gym-actions-single .button,
  .activities-membership-copy .button,
  .activities-gym-actions-single .button::before,
  .activities-membership-copy .button::before{
    transition:none!important;
  }
}

/* v5.5.0 - Escursioni: calendario subito dopo l'introduzione, regolamento, quattro promemoria e tesseramento */
.excursion-intro-v550{padding-bottom:clamp(28px,4vw,48px)}
.excursion-calendar-first{margin-top:0!important}
.excursion-regulation-section{padding-top:clamp(68px,7vw,100px);padding-bottom:clamp(62px,7vw,96px)}
.senior-regulation-section{background:linear-gradient(180deg,#fff 0%,#f4f8fb 100%)}
.senior-regulation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.senior-regulation-grid article{padding:26px;border-radius:24px;background:#fff;border:1px solid #dbe6ee;box-shadow:0 16px 34px rgba(3,44,82,.08)}
.senior-regulation-grid strong{display:block;margin-bottom:9px;color:var(--blue);font-size:21px;letter-spacing:-.025em}
.senior-regulation-grid p{margin:0;color:#536779;line-height:1.65}
.excursion-reminders-section{padding-top:clamp(68px,7vw,100px);padding-bottom:clamp(68px,7vw,100px)}
.excursion-rules-four{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.excursion-rules-four article{min-height:100%;display:flex;flex-direction:column}
.excursion-rules-four .sectional-rule-figure{margin-bottom:18px}
.excursion-membership-band{margin:0 clamp(24px,7vw,110px) clamp(78px,8vw,118px);padding:clamp(36px,5vw,54px);border-radius:34px;background:linear-gradient(135deg,#062f58 0%,#0d568e 100%);color:#fff;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(30px,5vw,66px);align-items:center;box-shadow:0 26px 56px rgba(3,44,82,.18);position:relative;overflow:hidden}
.excursion-membership-band::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-190px;top:-220px;background:rgba(255,255,255,.06);box-shadow:0 0 0 70px rgba(255,255,255,.025)}
.excursion-membership-copy,.excursion-membership-benefits{position:relative;z-index:1}
.excursion-membership-copy h2{margin:8px 0 16px;font-size:clamp(38px,4.7vw,68px);line-height:.98;letter-spacing:-.05em}
.excursion-membership-copy p{max-width:650px;margin:0 0 24px;color:#dbeaf5;font-size:17px;line-height:1.7}
.excursion-membership-copy .button{width:auto;min-width:220px;border-radius:999px;box-shadow:0 14px 30px rgba(0,0,0,.18)}
.excursion-membership-benefits{display:grid;gap:12px}
.excursion-membership-benefits article{padding:18px 20px;border-radius:20px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px)}
.excursion-membership-benefits strong{display:block;margin-bottom:5px;font-size:18px}
.excursion-membership-benefits span{color:#d6e7f3;font-size:14px;line-height:1.5}
@media(max-width:1050px){
  .excursion-rules-four{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .excursion-membership-band{grid-template-columns:1fr}
}
@media(max-width:760px){
  .senior-regulation-grid{grid-template-columns:1fr}
  .excursion-rules-four{grid-template-columns:1fr!important}
  .excursion-membership-band{margin-left:18px;margin-right:18px;border-radius:26px;padding:30px 22px}
  .excursion-membership-copy .button{width:100%}
}


/* v5.5.1 - escursioni: icona accompagnatori corretta e CTA tesseramento più premium */
.excursion-membership-copy .button{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:58px;
  padding:0 28px;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f2f7fb 100%)!important;
  color:#073a68!important;
  font-size:15px;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 14px 30px rgba(0,20,42,.24),inset 0 0 0 1px rgba(255,255,255,.88);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,filter .28s ease;
}
.excursion-membership-copy .button::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-45%;
  left:-35%;
  width:34%;
  height:190%;
  background:linear-gradient(90deg,transparent,rgba(20,92,145,.18),transparent);
  transform:rotate(18deg) translateX(-220%);
  transition:transform .7s cubic-bezier(.22,.7,.2,1);
}
.excursion-membership-copy .button::after{
  margin-left:4px;
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.excursion-membership-copy .button:hover,
.excursion-membership-copy .button:focus-visible{
  transform:translateY(-4px) scale(1.025);
  box-shadow:0 22px 42px rgba(0,20,42,.30),0 0 0 5px rgba(255,255,255,.10),inset 0 0 0 1px rgba(255,255,255,.96);
  filter:saturate(1.05) brightness(1.02);
}
.excursion-membership-copy .button:hover::before,
.excursion-membership-copy .button:focus-visible::before{
  transform:rotate(18deg) translateX(520%);
}
.excursion-membership-copy .button:hover::after,
.excursion-membership-copy .button:focus-visible::after{
  transform:translateX(5px) rotate(-5deg);
}
.excursion-membership-copy .button:active{
  transform:translateY(-1px) scale(.99);
  box-shadow:0 10px 22px rgba(0,20,42,.22),inset 0 0 0 1px rgba(255,255,255,.88);
}
@media(max-width:700px){
  .excursion-membership-copy .button{
    width:100%;
    min-height:56px;
    padding:0 22px;
  }
}
@media(prefers-reduced-motion:reduce){
  .excursion-membership-copy .button,
  .excursion-membership-copy .button::before,
  .excursion-membership-copy .button::after{
    transition:none!important;
  }
}


/* v5.6.0 - Palestra: ordine blocchi Dulcis e galleria fotografica robusta cross-browser */
.gym-page-subnav{position:sticky;top:0;z-index:12}
.gym-gallery-section{position:relative;overflow:hidden}
.gym-gallery-heading-actions{display:flex;align-items:flex-end;gap:22px;justify-content:flex-end}
.gym-gallery-heading-actions p{max-width:420px;margin:0}
.gym-gallery-controls{display:flex;gap:10px;flex:none}
.gym-gallery-control{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.10);color:#fff;font-size:28px;line-height:1;cursor:pointer;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);transition:transform .2s ease,background-color .2s ease,border-color .2s ease,opacity .2s ease}
.gym-gallery-control:hover,.gym-gallery-control:focus-visible{transform:translateY(-2px);background:#fff;color:var(--blue);border-color:#fff;outline:none}
.gym-gallery-control:disabled{opacity:.35;cursor:default;transform:none}
.gym-gallery-viewport{overflow:hidden}
.gym-gallery{display:flex!important;gap:18px!important;overflow-x:auto!important;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom;cursor:grab;user-select:none;-webkit-user-select:none;scrollbar-width:none;padding-bottom:12px}
.gym-gallery::-webkit-scrollbar{display:none}
.gym-gallery.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.gym-gallery figure{flex:0 0 clamp(330px,55vw,760px)!important;scroll-snap-align:start;scroll-snap-stop:always;margin:0;position:relative}
.gym-gallery img{pointer-events:none;width:100%;height:clamp(320px,52vw,660px);object-fit:cover;display:block}
.gym-gallery figcaption{pointer-events:none}
@media(max-width:900px){
  .gym-page-subnav{position:relative;top:auto}
  .gym-gallery-heading-actions{align-items:flex-start;flex-direction:column;gap:14px}
  .gym-gallery figure{flex-basis:82vw!important}
  .gym-gallery img{height:64vw;min-height:300px;max-height:560px}
}
@media(max-width:560px){
  .gym-gallery-section{padding-left:18px!important;padding-right:18px!important}
  .gym-gallery-heading-actions p{font-size:14px}
  .gym-gallery-controls{width:100%;justify-content:flex-end}
  .gym-gallery-control{width:44px;height:44px}
  .gym-gallery figure{flex-basis:88vw!important}
  .gym-gallery img{height:70vw;min-height:270px}
}
@media(prefers-reduced-motion:reduce){
  .gym-gallery{scroll-behavior:auto}
  .gym-gallery-control{transition:none}
}


/* v5.7.0 - Tesseramento: vantaggi e assicurazioni a due colonne, poi quote e iscrizione */
.membership-overview-section{padding:clamp(72px,8vw,110px) clamp(24px,7vw,110px);background:linear-gradient(180deg,#f8fbfd 0%,#edf5fa 100%)}
.membership-overview-heading{max-width:900px;margin-bottom:38px;display:grid;gap:12px}
.membership-overview-heading h2{margin:0;color:var(--blue);font-size:clamp(44px,5vw,72px);line-height:.98;letter-spacing:-.05em}
.membership-overview-heading p{margin:0;max-width:720px;color:#526779;font-size:17px;line-height:1.7}
.membership-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:start}
.membership-benefits-column,.membership-insurance-column{background:#fff;border:1px solid #d8e5ee;border-radius:30px;padding:clamp(24px,3vw,34px);box-shadow:0 22px 46px rgba(3,44,82,.09)}
.membership-insurance-column{background:linear-gradient(180deg,#063866 0%,#032c52 100%);color:#fff;border-color:transparent;box-shadow:0 26px 54px rgba(3,44,82,.20)}
.membership-column-heading{display:grid;gap:7px;margin-bottom:22px}
.membership-column-heading>span{font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--red)}
.membership-insurance-column .membership-column-heading>span{color:#b8d8ef}
.membership-column-heading h3{margin:0;color:var(--blue);font-size:clamp(28px,3vw,40px);line-height:1.04;letter-spacing:-.04em}
.membership-insurance-column .membership-column-heading h3{color:#fff}
.membership-benefits-list,.membership-insurance-list{display:grid;gap:12px}
.membership-insurance-contexts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 20px}.membership-insurance-contexts article{min-height:128px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.08);padding:16px}.membership-insurance-contexts span,.membership-insurance-options>span{display:block;color:#abd4eb;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.membership-insurance-contexts strong{display:block;margin-top:8px;color:#fff;font-size:16px;line-height:1.18}.membership-insurance-contexts p{margin:7px 0 0;color:#d6e7f2;font-size:12px;line-height:1.45}.membership-insurance-intro{margin:0 0 14px;color:#d8e7f2;font-size:13px;line-height:1.55}.membership-insurance-options{display:grid;gap:0;margin-top:20px;padding-top:19px;border-top:1px solid rgba(255,255,255,.22)}.membership-insurance-options>span{margin-bottom:4px}.membership-insurance-options .membership-insurance-row:first-of-type{border-top:0}.membership-insurance-note{margin:18px 0 0;color:#b9d4e6;font-size:11px;line-height:1.55}
.membership-benefit-row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:18px;align-items:center;padding:16px 0;border-top:1px solid #e1e9ef}
.membership-benefit-row:first-child{border-top:0;padding-top:0}
.membership-benefit-icon{width:70px;height:70px;border-radius:20px;background:#edf6fb;display:grid;place-items:center;overflow:hidden}
.membership-benefit-icon svg,.membership-benefit-icon img{width:52px!important;height:52px!important;object-fit:contain}
.membership-benefit-row h4,.membership-insurance-row h4{margin:0 0 5px;color:var(--blue);font-size:19px;line-height:1.2}
.membership-benefit-row p,.membership-insurance-row p{margin:0;color:#586b7c;font-size:14px;line-height:1.55}
.membership-insurance-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;padding:16px 0;border-top:1px solid rgba(255,255,255,.16)}
.membership-insurance-row:first-child{border-top:0;padding-top:0}
.membership-insurance-check{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#29b66f;color:#fff;font-weight:900;font-size:18px;box-shadow:0 8px 18px rgba(41,182,111,.24)}
.membership-insurance-row h4{color:#fff}
.membership-insurance-row p{color:#d8e7f2}
.membership-insurance-label{display:inline-flex;margin-bottom:6px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.membership-insurance-row.is-included .membership-insurance-label{background:rgba(41,182,111,.18);color:#9ce1bb}
.membership-insurance-row.is-optional .membership-insurance-label{background:rgba(255,255,255,.10);color:#d7e8f4}
.membership-insurance-button{margin-top:24px;background:#fff!important;border-color:#fff!important;color:var(--blue)!important;border-radius:999px!important;box-shadow:0 14px 28px rgba(0,0,0,.18)}
.membership-insurance-button:hover{transform:translateY(-3px);box-shadow:0 20px 36px rgba(0,0,0,.24)}
#quote.membership-page{padding-top:clamp(72px,8vw,110px)}
#iscrizione.membership-contact-layout{padding-top:clamp(72px,8vw,110px);padding-bottom:clamp(80px,9vw,120px)}
@media(max-width:980px){
  .membership-overview-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .membership-overview-section{padding-left:18px;padding-right:18px}
  .membership-benefits-column,.membership-insurance-column{border-radius:24px;padding:22px 18px}
  .membership-insurance-contexts{grid-template-columns:1fr}.membership-insurance-contexts article{min-height:0}
  .membership-benefit-row{grid-template-columns:58px minmax(0,1fr);gap:14px}
  .membership-benefit-icon{width:58px;height:58px;border-radius:16px}
  .membership-benefit-icon svg,.membership-benefit-icon img{width:44px!important;height:44px!important}
  .membership-insurance-button{width:100%}
}


/* v5.7.1 - Palestra WhatsApp semplificato; icone vantaggi più grandi; opzionali distinti */
.gym-hero-whatsapp-v571{grid-template-columns:auto minmax(0,1fr) auto;width:min(470px,calc(100% - 44px));padding:13px 15px;background:linear-gradient(135deg,rgba(4,52,91,.92),rgba(8,103,72,.84));}
.gym-hero-whatsapp-v571 .gym-hero-whatsapp-copy{gap:3px}
.gym-hero-whatsapp-v571 .gym-hero-whatsapp-copy strong{font-size:18px}
.gym-hero-whatsapp-v571 .gym-hero-whatsapp-copy em{font-size:12px;line-height:1.35}
.gym-hero-whatsapp-cta{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;background:#fff;color:#0a5d42;font-size:12px;font-weight:900;white-space:nowrap;box-shadow:0 8px 18px rgba(0,0,0,.14)}
.gym-hero-whatsapp-v571:hover .gym-hero-whatsapp-cta{transform:translateY(-1px)}
.membership-benefit-icon{width:76px;height:76px;border-radius:20px}
.membership-benefit-icon svg,.membership-benefit-icon img{width:68px!important;height:68px!important;object-fit:contain}
.membership-insurance-row.is-included .membership-insurance-check{background:#29b66f;color:#fff;box-shadow:0 8px 18px rgba(41,182,111,.24)}
.membership-insurance-row.is-optional .membership-insurance-check{background:rgba(255,255,255,.10);color:#dce9f3;border:1px solid rgba(255,255,255,.26);box-shadow:none;font-size:20px;font-weight:500}
@media(max-width:760px){
  .gym-hero-whatsapp-v571{grid-template-columns:auto minmax(0,1fr);}
  .gym-hero-whatsapp-cta{grid-column:1/-1;width:100%;margin-top:2px}
  .membership-benefit-icon{width:64px;height:64px}
  .membership-benefit-icon svg,.membership-benefit-icon img{width:58px!important;height:58px!important}
}

/* v5.7.2 - Tesseramento: icone vantaggi molto più grandi */
.membership-benefit-row{
  grid-template-columns:150px minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding:18px 0;
}
.membership-benefit-icon{
  width:146px;
  height:146px;
  border-radius:28px;
}
.membership-benefit-icon svg,
.membership-benefit-icon img{
  width:122px !important;
  height:122px !important;
  object-fit:contain;
}
@media(max-width:980px){
  .membership-benefit-row{grid-template-columns:126px minmax(0,1fr);gap:18px;}
  .membership-benefit-icon{width:122px;height:122px;border-radius:24px;}
  .membership-benefit-icon svg,
  .membership-benefit-icon img{width:102px !important;height:102px !important;}
}
@media(max-width:700px){
  .membership-benefit-row{grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start;}
  .membership-benefit-icon{width:92px;height:92px;border-radius:20px;}
  .membership-benefit-icon svg,
  .membership-benefit-icon img{width:78px !important;height:78px !important;}
}

/* v5.7.3 - Tesseramento: mantieni il quadrato, ingrandisci solo il disegno interno */
.membership-benefit-row{
  grid-template-columns:114px minmax(0,1fr) !important;
  gap:20px !important;
  align-items:center;
}
.membership-benefit-icon{
  width:114px !important;
  height:114px !important;
  border-radius:24px !important;
}
.membership-benefit-icon svg,
.membership-benefit-icon img{
  width:82px !important;
  height:82px !important;
  object-fit:contain;
}
@media(max-width:980px){
  .membership-benefit-row{grid-template-columns:108px minmax(0,1fr) !important; gap:18px !important;}
  .membership-benefit-icon{width:108px !important; height:108px !important; border-radius:22px !important;}
  .membership-benefit-icon svg,
  .membership-benefit-icon img{width:76px !important; height:76px !important;}
}
@media(max-width:700px){
  .membership-benefit-row{grid-template-columns:92px minmax(0,1fr) !important; gap:14px !important; align-items:start;}
  .membership-benefit-icon{width:92px !important; height:92px !important; border-radius:20px !important;}
  .membership-benefit-icon svg,
  .membership-benefit-icon img{width:64px !important; height:64px !important;}
}

/* v5.7.4 - Tesseramento: usa le 6 illustrazioni caricate dall'utente e falle riempire quasi tutto il quadrato */
.membership-benefits-list .membership-benefit-row{
  grid-template-columns:116px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:center !important;
}
.membership-benefits-list .membership-benefit-row .membership-benefit-icon{
  width:116px !important;
  height:116px !important;
  min-width:116px !important;
  border-radius:24px !important;
  background:#edf6fb !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  padding:0 !important;
}
.membership-benefits-list .membership-benefit-row .membership-benefit-icon .benefit-illustration{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
}
.membership-benefits-list .membership-benefit-row .membership-benefit-icon .benefit-illustration-img{
  width:96px !important;
  height:96px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  display:block;
}
@media(max-width:980px){
  .membership-benefits-list .membership-benefit-row{
    grid-template-columns:104px minmax(0,1fr) !important;
    gap:16px !important;
  }
  .membership-benefits-list .membership-benefit-row .membership-benefit-icon{
    width:104px !important;
    height:104px !important;
    min-width:104px !important;
    border-radius:22px !important;
  }
  .membership-benefits-list .membership-benefit-row .membership-benefit-icon .benefit-illustration-img{
    width:86px !important;
    height:86px !important;
  }
}
@media(max-width:700px){
  .membership-benefits-list .membership-benefit-row{
    grid-template-columns:92px minmax(0,1fr) !important;
    gap:14px !important;
    align-items:start !important;
  }
  .membership-benefits-list .membership-benefit-row .membership-benefit-icon{
    width:92px !important;
    height:92px !important;
    min-width:92px !important;
    border-radius:20px !important;
  }
  .membership-benefits-list .membership-benefit-row .membership-benefit-icon .benefit-illustration-img{
    width:76px !important;
    height:76px !important;
  }
}


/* v5.7.5 - Tesseramento: immagini interne più grandi e meglio centrate nei riquadri azzurrini */
.membership-benefits-list .membership-benefit-row .membership-benefit-icon{
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
}
.membership-benefits-list .membership-benefit-row .membership-benefit-icon .benefit-illustration{
  width:100% !important;
  height:100% !important;
  display:grid !important;
  place-items:center !important;
}
.membership-benefits-list .membership-benefit-row .membership-benefit-icon .benefit-illustration-img{
  width:110px !important;
  height:110px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
  display:block !important;
}
@media(max-width:980px){
  .membership-benefits-list .membership-benefit-row .membership-benefit-icon .benefit-illustration-img{
    width:98px !important;
    height:98px !important;
  }
}
@media(max-width:700px){
  .membership-benefits-list .membership-benefit-row .membership-benefit-icon .benefit-illustration-img{
    width:84px !important;
    height:84px !important;
  }
}


/* v5.7.6 - Tesseramento: usa i 6 file originali ricaricati dall'utente, ritagliati e ingranditi per riempire quasi tutto il riquadro */
.membership-benefits-list .membership-benefit-row .membership-benefit-icon .benefit-illustration{
  width:100% !important;
  height:100% !important;
  display:grid !important;
  place-items:center !important;
}
.membership-benefits-list .membership-benefit-row .membership-benefit-icon .benefit-illustration-img{
  width:112px !important;
  height:112px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  margin:0 auto !important;
}
@media(max-width:980px){
  .membership-benefits-list .membership-benefit-row .membership-benefit-icon .benefit-illustration-img{
    width:100px !important;
    height:100px !important;
  }
}
@media(max-width:700px){
  .membership-benefits-list .membership-benefit-row .membership-benefit-icon .benefit-illustration-img{
    width:86px !important;
    height:86px !important;
  }
}


/* v5.7.7 - CTA tesseramento più premium, con animazioni più curate e maggiore impatto visivo */
.membership-insurance-button,
#iscrizione.membership-contact-layout .forest-button{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:60px;
  padding:0 30px;
  border:0 !important;
  border-radius:999px !important;
  font-size:15px;
  font-weight:900;
  letter-spacing:.01em;
  gap:16px;
  transition:transform .30s cubic-bezier(.2,.8,.2,1), box-shadow .30s ease, filter .30s ease, background .30s ease, color .30s ease;
  will-change:transform;
}
.membership-insurance-button::before,
#iscrizione.membership-contact-layout .forest-button::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-42%;
  left:-32%;
  width:32%;
  height:185%;
  transform:rotate(18deg) translateX(-230%);
  transition:transform .75s cubic-bezier(.22,.7,.2,1);
}
.membership-insurance-button::after,
#iscrizione.membership-contact-layout .forest-button::after{
  margin-left:4px;
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.membership-insurance-button:hover,
.membership-insurance-button:focus-visible,
#iscrizione.membership-contact-layout .forest-button:hover,
#iscrizione.membership-contact-layout .forest-button:focus-visible{
  transform:translateY(-4px) scale(1.026);
  filter:saturate(1.07) brightness(1.03);
}
.membership-insurance-button:hover::before,
.membership-insurance-button:focus-visible::before,
#iscrizione.membership-contact-layout .forest-button:hover::before,
#iscrizione.membership-contact-layout .forest-button:focus-visible::before{
  transform:rotate(18deg) translateX(540%);
}
.membership-insurance-button:hover::after,
.membership-insurance-button:focus-visible::after,
#iscrizione.membership-contact-layout .forest-button:hover::after,
#iscrizione.membership-contact-layout .forest-button:focus-visible::after{
  transform:translateX(5px) rotate(-5deg);
}
.membership-insurance-button:active,
#iscrizione.membership-contact-layout .forest-button:active{
  transform:translateY(-1px) scale(.992);
}
.membership-insurance-button{
  background:linear-gradient(135deg,#ffffff 0%,#f4f8fb 100%) !important;
  color:#063866 !important;
  box-shadow:0 16px 32px rgba(0,16,34,.20), inset 0 0 0 1px rgba(255,255,255,.90);
}
.membership-insurance-button::before{
  background:linear-gradient(90deg,transparent,rgba(20,92,145,.18),transparent);
}
.membership-insurance-button:hover,
.membership-insurance-button:focus-visible{
  box-shadow:0 24px 46px rgba(0,16,34,.28), 0 0 0 5px rgba(255,255,255,.10), inset 0 0 0 1px rgba(255,255,255,.96);
}
#iscrizione.membership-contact-layout .forest-button{
  background:linear-gradient(135deg,#0f5a98 0%,#063866 56%,#032c52 100%) !important;
  color:#ffffff !important;
  box-shadow:0 16px 34px rgba(3,44,82,.22), inset 0 1px 0 rgba(255,255,255,.20);
}
#iscrizione.membership-contact-layout .forest-button::before{
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
}
#iscrizione.membership-contact-layout .forest-button:hover,
#iscrizione.membership-contact-layout .forest-button:focus-visible{
  box-shadow:0 24px 48px rgba(3,44,82,.30), 0 0 0 5px rgba(6,56,102,.08), inset 0 1px 0 rgba(255,255,255,.28);
}
@media(max-width:700px){
  .membership-insurance-button,
  #iscrizione.membership-contact-layout .forest-button{
    width:100%;
    min-height:56px;
    padding:0 22px;
  }
}
@media(prefers-reduced-motion:reduce){
  .membership-insurance-button,
  #iscrizione.membership-contact-layout .forest-button,
  .membership-insurance-button::before,
  #iscrizione.membership-contact-layout .forest-button::before{
    transition:none !important;
  }
}


/* v5.7.8 - Tesseramento: colonne Vantaggi/Assicurazioni della stessa altezza */
.membership-overview-grid{
  align-items:stretch !important;
}
.membership-benefits-column,
.membership-insurance-column{
  height:100%;
}
.membership-benefits-column{
  display:flex;
  flex-direction:column;
}
.membership-benefits-column .membership-benefits-list{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:0 !important;
}
.membership-benefits-column .membership-benefit-row{
  padding:9px 0 !important;
}
.membership-benefits-column .membership-benefit-row:first-child{
  padding-top:0 !important;
}
.membership-insurance-column{
  display:flex;
  flex-direction:column;
}
.membership-insurance-column .membership-insurance-list{
  flex:1;
}
@media(max-width:980px){
  .membership-benefits-column,
  .membership-insurance-column{height:auto;}
  .membership-benefits-column .membership-benefits-list{gap:12px !important;}
  .membership-benefits-column .membership-benefit-row{padding:12px 0 !important;}
}

/* v5.7.9 - UI: hover riservati agli elementi realmente cliccabili.
   Rimossi gli hover dai riquadri puramente informativi, mantenendo invariati
   link, pulsanti, menu, controlli e card interamente cliccabili. */

/* v5.7.10 - Palestra: Tessera Palestra CAI Meda resa card informativa, coerente con il riquadro superiore */
.gym-membership-card.gym-membership-step{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  align-items:start;
  padding:17px 18px 18px;
  border:1px solid #cddce7;
  border-radius:18px;
  background:linear-gradient(145deg,#fff,#f4f9fc);
  color:#15324a;
  box-shadow:none;
}
.gym-membership-card .gym-membership-step-copy strong{
  display:block;
  font-size:16px;
  line-height:1.3;
  color:#15324a;
}
.gym-membership-card .gym-membership-step-copy small{
  display:block;
  margin-top:3px;
  font-size:13px;
  line-height:1.35;
  color:#526979;
}
@media(max-width:760px){
  .gym-membership-card.gym-membership-step{
    padding:14px 14px 15px;
    border-radius:15px;
  }
  .gym-membership-card .gym-membership-step-copy strong{font-size:14px}
  .gym-membership-card .gym-membership-step-copy small{font-size:12px}
}

/* v5.7.11 - Mobile header/menu: testata a filo alto, menu essenziale e sticky affidabile */
@media(max-width:1180px){
  /* Nessuna fascia/margine sopra la testata su mobile. */
  .blue-top-thin-strip{display:none!important;height:0!important;}
  .blue-site-header{top:0!important;}

  /* Pulsante Menu chiuso: solo testo + hamburger, senza pill, fondo o bordo. */
  .blue-mobile-menu{position:relative!important;z-index:10001!important;}
  .blue-mobile-menu>summary{
    position:relative!important;
    z-index:10006!important;
    min-width:0!important;
    min-height:44px!important;
    padding:8px 4px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--blue)!important;
    transform:none!important;
    outline-offset:3px!important;
  }
  .blue-mobile-menu>summary:hover,
  .blue-mobile-menu>summary:focus-visible{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }

  /* Drawer sempre agganciato al viewport: non dipende dallo stato sticky dell'header. */
  .blue-mobile-menu[open]>.blue-mobile-drawer{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    background:#fff!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    z-index:10004!important;
  }
  .blue-mobile-menu[open]>.blue-mobile-drawer:before{
    content:""!important;
    display:block!important;
    position:sticky!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:64px!important;
    background:linear-gradient(135deg,var(--blue) 0%,var(--blue-deep) 100%)!important;
    z-index:2!important;
  }

  /* Aperto: la X resta bianca direttamente sulla fascia blu, senza bottone intorno. */
  .blue-mobile-menu[open]>summary{
    position:fixed!important;
    top:10px!important;
    right:16px!important;
    left:auto!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:10px!important;
    color:#fff!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    z-index:10007!important;
  }
  .blue-mobile-menu[open] .blue-menu-label{display:none!important;}
  .blue-mobile-menu[open] .blue-menu-icon{width:25px!important;height:19px!important;}
  .blue-mobile-menu[open] .blue-menu-icon i{height:2px!important;background:#fff!important;}

  /* Nessuna intestazione "Navigazione / CAI Meda" nel drawer. */
  .blue-mobile-drawer-head{display:none!important;}

  /* Lista libera: niente contenitore bianco stondato. */
  .blue-mobile-drawer nav{
    display:block!important;
    margin:0!important;
    padding:8px 18px 28px!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .blue-mobile-drawer nav>a,
  .blue-mobile-activities>summary{
    min-height:54px!important;
    height:auto!important;
    padding:15px 4px!important;
    border:0!important;
    border-bottom:1px solid #dbe7ef!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--blue-deep)!important;
    font-size:16px!important;
    font-weight:800!important;
    line-height:1.25!important;
    transform:none!important;
  }
  .blue-mobile-drawer nav>a:nth-of-type(even){background:transparent!important;}
  .blue-mobile-drawer nav>a:before,
  .blue-mobile-drawer nav>a:after,
  .blue-mobile-activities>summary:before,
  .blue-mobile-activities>summary:after{
    content:none!important;
    display:none!important;
  }
  .blue-mobile-drawer nav>a:hover,
  .blue-mobile-drawer nav>a:focus-visible,
  .blue-mobile-activities>summary:hover,
  .blue-mobile-activities>summary:focus-visible{
    padding-left:4px!important;
    background:transparent!important;
    color:var(--blue-bright)!important;
    box-shadow:none!important;
    transform:none!important;
  }

  /* Solo le voci con sottocategorie mostrano + / ×. */
  .blue-mobile-activities{
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .blue-mobile-activities>summary b{
    display:grid!important;
    place-items:center!important;
    width:28px!important;
    height:28px!important;
    margin-left:auto!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--blue)!important;
    font-size:24px!important;
    font-weight:400!important;
    line-height:1!important;
    transition:transform .2s ease,color .2s ease!important;
  }
  .blue-mobile-activities[open]>summary{
    min-height:54px!important;
    height:auto!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--blue)!important;
  }
  .blue-mobile-activities[open]>summary b{
    transform:rotate(45deg)!important;
    background:transparent!important;
  }
  .blue-mobile-activities>div{
    margin:0!important;
    padding:2px 0 8px 18px!important;
    border:0!important;
    border-bottom:1px solid #dbe7ef!important;
    border-radius:0!important;
    background:#f7fbfe!important;
  }
  .blue-mobile-activities>div a{
    min-height:42px!important;
    padding:11px 12px!important;
    border-bottom:1px solid rgba(3,44,82,.08)!important;
    color:#31566f!important;
    font-size:14px!important;
    font-weight:700!important;
  }
  .blue-mobile-activities>div a:last-child{border-bottom:0!important;}
}
@media(max-width:520px){
  .blue-mainbar{
    padding-top:0!important;
    padding-left:12px!important;
    padding-right:14px!important;
  }
  .blue-mobile-menu{margin-right:0!important;}
  .blue-mobile-menu>summary{padding:8px 2px!important;}
  .blue-mobile-menu[open]>summary{top:10px!important;right:12px!important;padding:10px!important;}
  .blue-mobile-drawer nav{padding:7px 16px 24px!important;}
  .blue-mobile-drawer nav>a,
  .blue-mobile-activities>summary,
  .blue-mobile-activities[open]>summary{
    min-height:52px!important;
    height:auto!important;
    padding:14px 3px!important;
    font-size:15.5px!important;
  }
}

/* v5.7.12 - Mobile: Palestra hero compatta e Home Palestra/Tesseramento ripulite */
@media(max-width:760px){
  /* Pagina Palestra: hero alta come le altre pagine fotografiche (Chi siamo).
     Il richiamo WhatsApp nella hero viene nascosto su mobile per evitare di riallungarla. */
  .palestra-page-hero{
    min-height:430px!important;
    padding-bottom:72px!important;
  }
  .palestra-page-hero .gym-hero-whatsapp{
    display:none!important;
  }

  /* Home > Palestra: su mobile resta un solo CTA, quello che porta alla pagina palestra. */
  .blue-home-gym-section .blue-home-spotlight-actions .blue-home-cta.secondary{
    display:none!important;
  }

  /* Home > Tesseramento: più spazio verticale all'immagine per separare badge e card. */
  .blue-home-membership-media{
    min-height:380px!important;
    padding:18px!important;
    align-items:flex-end!important;
  }
  .blue-home-membership-badges{
    left:18px!important;
    right:18px!important;
    top:18px!important;
    max-width:none!important;
    justify-content:flex-start!important;
    gap:8px!important;
  }
  .blue-home-membership-badges span{
    padding:7px 10px!important;
    font-size:10px!important;
    letter-spacing:.06em!important;
  }
  .blue-home-membership-floating-card{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:13px!important;
    padding:15px!important;
    border-radius:20px!important;
  }
  .blue-home-membership-floating-card img{width:52px!important;}
  .blue-home-membership-floating-card strong{
    font-size:21px!important;
    line-height:1.08!important;
  }
  .blue-home-membership-floating-card p{
    margin-top:6px!important;
    font-size:13px!important;
    line-height:1.45!important;
  }

  /* Home > Tesseramento: su mobile niente scorciatoia MyCAI, resta Scopri il tesseramento. */
  .blue-home-membership-copy .blue-home-spotlight-actions .blue-home-cta.secondary{
    display:none!important;
  }
}

@media(max-width:430px){
  .palestra-page-hero{
    min-height:430px!important;
    padding-bottom:66px!important;
  }
  .blue-home-membership-media{
    min-height:365px!important;
  }
}

/* v5.7.13 - Mobile Home: Palestra come card unica con foto integrata */
@media(max-width:760px){
  .blue-home-gym-section{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    overflow:hidden!important;
    padding-top:0!important;
    padding-bottom:0!important;
    margin-top:28px!important;
    margin-bottom:42px!important;
    border:1px solid #dde8f0!important;
    border-radius:26px!important;
    background:linear-gradient(180deg,#fff 0%,#f6fbff 100%)!important;
    box-shadow:0 18px 38px rgba(3,44,82,.10)!important;
  }
  .blue-home-gym-section .blue-home-spotlight-media{
    order:-1!important;
    width:100%!important;
    min-height:230px!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background-position:center!important;
  }
  .blue-home-gym-section .blue-home-spotlight-copy{
    width:100%!important;
    margin:0!important;
    padding:26px 22px 24px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}


/* v5.7.14 - Home refinements: photo rounding + cleaner CTAs + stronger clickable feedback */
.blue-home .home-cta-emphasis{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 8px 18px rgba(10,69,115,.16);
  transition:transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease, filter .24s ease!important;
}
.blue-home .home-cta-emphasis::after{
  content:"";
  position:absolute;
  top:-35%;
  bottom:-35%;
  left:-55%;
  width:38%;
  z-index:-1;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transition:left .48s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.blue-home .home-cta-emphasis:hover,
.blue-home .home-cta-emphasis:focus-visible{
  transform:translateY(-4px) scale(1.025)!important;
  box-shadow:0 15px 28px rgba(10,69,115,.28)!important;
  filter:saturate(1.08) brightness(1.03);
}
.blue-home .home-cta-emphasis:hover::after,
.blue-home .home-cta-emphasis:focus-visible::after{
  left:120%;
}
.blue-home .home-cta-emphasis:active{
  transform:translateY(-1px) scale(.985)!important;
  box-shadow:0 7px 15px rgba(10,69,115,.20)!important;
}
@media(max-width:760px){
  .blue-home-gym-section .blue-home-spotlight-media{
    border-radius:26px 26px 0 0!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .blue-home .home-cta-emphasis,
  .blue-home .home-cta-emphasis::after{transition:none!important;}
  .blue-home .home-cta-emphasis:hover,
  .blue-home .home-cta-emphasis:focus-visible,
  .blue-home .home-cta-emphasis:active{transform:none!important;}
}


/* v5.7.15 - Home desktop: Palestra unified horizontal card */
@media (min-width: 761px){
  .blue-home-gym-section{
    gap:0;
    overflow:hidden;
    border:1px solid #dde8f0;
    border-radius:34px;
    background:linear-gradient(180deg,#fff 0%,#f6fbff 100%);
    box-shadow:0 22px 44px rgba(3,44,82,.10);
  }
  .blue-home-gym-section .blue-home-spotlight-copy{
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .blue-home-gym-section .blue-home-spotlight-media{
    min-height:100%;
    border-radius:0;
    box-shadow:none;
  }
}


/* v5.7.16 - Home desktop: Palestra card with clearer lateral breathing room */
@media (min-width: 761px){
  .blue-home-v530 .blue-home-gym-section{
    width:calc(100% - clamp(56px,8vw,120px));
    margin-left:auto;
    margin-right:auto;
  }
}


/* v5.7.17 - Home desktop: Palestra con illustrazione indoor dedicata e immagine smussata */
@media (min-width: 761px){
  .blue-home-v530 .blue-home-gym-section{
    align-items:center;
    padding:18px;
    gap:22px;
  }
  .blue-home-v530 .blue-home-gym-section .blue-home-spotlight-copy{
    padding:clamp(30px,3.3vw,42px) clamp(28px,3.1vw,40px);
  }
  .blue-home-v530 .blue-home-gym-section .blue-home-spotlight-media{
    min-height:340px;
    align-self:stretch;
    margin:0;
    border-radius:28px;
    overflow:hidden;
    background-position:center right;
    background-size:cover;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
  }
}
@media (min-width: 761px) and (max-width: 1080px){
  .blue-home-v530 .blue-home-gym-section{
    grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
    padding:16px;
    gap:18px;
  }
  .blue-home-v530 .blue-home-gym-section .blue-home-spotlight-media{
    min-height:300px;
  }
}


/* v5.7.19 - Home desktop: sezione Palestra rifinita per adattare meglio l’illustrazione scelta */
@media (min-width: 761px){
  .blue-home-v530 .blue-home-gym-section{
    grid-template-columns:minmax(0,1fr) minmax(390px,.82fr);
    align-items:center;
    padding:20px;
    gap:24px;
  }
  .blue-home-v530 .blue-home-gym-section .blue-home-spotlight-copy{
    padding:clamp(30px,3vw,42px);
    gap:16px;
  }
  .blue-home-v530 .blue-home-gym-section .blue-home-spotlight-copy p{
    max-width:34ch;
  }
  .blue-home-v530 .blue-home-gym-section .blue-home-spotlight-media{
    min-height:372px;
    background-position:68% center;
    background-size:cover;
    border-radius:30px;
  }
}
@media (min-width: 761px) and (max-width: 1080px){
  .blue-home-v530 .blue-home-gym-section{
    grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);
    padding:18px;
    gap:20px;
  }
  .blue-home-v530 .blue-home-gym-section .blue-home-spotlight-copy p{
    max-width:none;
  }
  .blue-home-v530 .blue-home-gym-section .blue-home-spotlight-media{
    min-height:320px;
    background-position:70% center;
  }
}


/* v5.7.20 - Home desktop: Palestra allineata alla larghezza della griglia Attività */
@media (min-width: 761px){
  .blue-home-v530 section.blue-home-gym-section{
    width:auto;
    margin-left:clamp(24px,7vw,110px);
    margin-right:clamp(24px,7vw,110px);
    padding:20px;
  }
}
@media (min-width: 761px) and (max-width: 1080px){
  .blue-home-v530 section.blue-home-gym-section{
    padding:18px;
  }
}


/* v5.7.21 - Mobile Home: Tesseramento come card unica con immagine integrata */
@media(max-width:760px){
  .blue-home-membership-section{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    overflow:hidden!important;
    padding-top:0!important;
    padding-bottom:0!important;
    margin-top:28px!important;
    margin-bottom:42px!important;
    border:1px solid #dde8f0!important;
    border-radius:26px!important;
    background:linear-gradient(180deg,#fff 0%,#f6fbff 100%)!important;
    box-shadow:0 18px 38px rgba(3,44,82,.10)!important;
  }
  .blue-home-membership-section .blue-home-membership-media{
    width:100%!important;
    margin:0!important;
    min-height:380px!important;
    border:0!important;
    border-radius:26px 26px 0 0!important;
    box-shadow:none!important;
  }
  .blue-home-membership-section .blue-home-membership-copy{
    width:100%!important;
    margin:0!important;
    padding:28px 22px 25px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}
@media(max-width:430px){
  .blue-home-membership-section .blue-home-membership-media{
    min-height:365px!important;
  }
}


/* v5.7.22 - Pagina Attività: striscia Palestra coerente con la home */
.activities-gym-feature{
  align-items:center;
  padding:20px;
  gap:24px;
  min-height:0;
  border:1px solid #dde8f0;
  background:linear-gradient(180deg,#fff 0%,#f6fbff 100%);
  box-shadow:0 22px 44px rgba(3,44,82,.10);
}
.activities-gym-copy{
  padding:clamp(28px,4vw,42px);
  color:var(--blue);
}
.activities-gym-copy .section-kicker{
  color:var(--red);
}
.activities-gym-copy h2{
  color:var(--blue);
  font-size:clamp(34px,4vw,56px);
}
.activities-gym-copy p{
  color:#516579;
  max-width:33ch;
}
.activities-gym-actions .button{
  box-shadow:0 8px 18px rgba(10,69,115,.16);
}
.activities-gym-image{
  min-height:380px;
  border-radius:30px;
  overflow:hidden;
  background-position:68% center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.26);
}
@media(max-width:900px){
  .activities-gym-feature{
    gap:18px;
    padding:18px;
  }
  .activities-gym-copy p{
    max-width:none;
  }
  .activities-gym-image{
    min-height:320px;
    order:-1;
    border-radius:24px;
  }
}
@media(max-width:700px){
  .activities-gym-feature{
    overflow:hidden;
    padding:0;
    gap:0;
    background:linear-gradient(180deg,#fff 0%,#f6fbff 100%);
  }
  .activities-gym-image{
    min-height:240px;
    border-radius:24px 24px 0 0;
    box-shadow:none;
  }
  .activities-gym-copy{
    padding:28px 22px 26px;
  }
}


/* v5.7.23 - Global link cleanup: no text underlines anywhere */
a,
a:link,
a:visited,
a:hover,
a:focus,
a:focus-visible,
a:active{
  text-decoration:none!important;
  text-decoration-line:none!important;
}


/* v5.7.25 - Tesseramento: striscia MyCAI */
.membership-mycai-band{
  margin:0 clamp(24px,7vw,110px) clamp(66px,7vw,96px);
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);
  gap:34px;
  align-items:center;
  padding:clamp(34px,4.5vw,58px);
  border-radius:34px;
  overflow:hidden;
  background:linear-gradient(135deg,#063866 0%,#0b568e 100%);
  box-shadow:0 24px 50px rgba(3,44,82,.16);
}
.membership-mycai-copy{color:#fff;display:grid;align-content:center;gap:17px;}
.membership-mycai-copy h2{margin:0;max-width:12ch;font-size:clamp(38px,4.2vw,62px);line-height:.98;letter-spacing:-.045em;}
.membership-mycai-copy p{margin:0;max-width:53ch;color:#d9e9f5;font-size:17px;line-height:1.65;}
.membership-mycai-copy small{display:block;max-width:55ch;color:#bfd7e8;font-size:12px;line-height:1.5;}
.membership-mycai-button{justify-self:start;background:#fff!important;color:#063866!important;border-color:#fff!important;min-height:52px!important;}
.membership-mycai-button:hover,.membership-mycai-button:focus-visible{background:#edf7fd!important;color:#063866!important;}
.membership-mycai-documents{display:grid;gap:14px;}
.membership-mycai-documents article{display:grid;grid-template-columns:68px minmax(0,1fr);gap:18px;align-items:center;padding:22px;border:1px solid rgba(255,255,255,.22);border-radius:24px;background:rgba(255,255,255,.11);backdrop-filter:blur(3px);}
.membership-mycai-documents article>div{display:grid;gap:5px;}
.membership-mycai-documents small{color:#bcd8ea;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;}
.membership-mycai-documents strong{color:#fff;font-size:22px;line-height:1.08;}
.membership-mycai-documents p{margin:0;color:#dbeaf4;font-size:14px;line-height:1.5;}
.membership-mycai-doc-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#fff;color:#0a558d;font-size:14px;font-weight:950;box-shadow:0 9px 22px rgba(0,0,0,.12);}
@media(max-width:900px){
  .membership-mycai-band{grid-template-columns:1fr;gap:24px;}
  .membership-mycai-copy h2{max-width:none;}
}
@media(max-width:700px){
  .membership-mycai-band{margin-left:18px;margin-right:18px;padding:28px 22px;border-radius:26px;}
  .membership-mycai-copy h2{font-size:36px;}
  .membership-mycai-copy p{font-size:15px;}
  .membership-mycai-button{width:100%;}
  .membership-mycai-documents article{grid-template-columns:52px minmax(0,1fr);padding:17px 15px;border-radius:20px;}
  .membership-mycai-doc-icon{width:48px;height:48px;border-radius:15px;font-size:11px;}
  .membership-mycai-documents strong{font-size:19px;}
}

/* v5.7.25 - Link: rimozione definitiva delle sottolineature, inclusi Global Styles WP */
html body a,
html body a:link,
html body a:visited,
html body a:hover,
html body a:focus,
html body a:focus-visible,
html body a:active,
html body a *,
html body a:hover *,
html body a:focus *,
html body a:focus-visible *{
  -webkit-text-decoration:none!important;
  text-decoration:none!important;
  text-decoration-line:none!important;
  text-decoration-thickness:0!important;
  text-decoration-color:transparent!important;
}


/* v5.7.26 - Tesseramento: striscia MyCAI più premium con visual e icone migliori */
.membership-mycai-band{
  position:relative;
  isolation:isolate;
  margin:0 clamp(24px,7vw,110px) clamp(72px,8vw,110px);
  padding:clamp(34px,4.6vw,54px);
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(22px,3vw,34px);
  border-radius:38px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.18), transparent 34%),
    radial-gradient(circle at bottom right, rgba(126,194,255,.18), transparent 30%),
    linear-gradient(135deg, #063864 0%, #0d4f7e 52%, #1f79b7 100%);
  box-shadow:0 28px 70px rgba(3,44,82,.17);
}
.membership-mycai-band::before{
  content:'';
  position:absolute;
  inset:auto -10% -22% 38%;
  height:260px;
  background:radial-gradient(circle, rgba(255,255,255,.14), transparent 68%);
  pointer-events:none;
}
.membership-mycai-copy{
  position:relative;
  z-index:1;
  color:#fff;
  display:grid;
  align-content:center;
  gap:17px;
}
.membership-mycai-copy h2{margin:0;max-width:11ch;font-size:clamp(40px,4.3vw,62px);line-height:.96;letter-spacing:-.05em;}
.membership-mycai-copy p{margin:0;max-width:53ch;color:#d9e9f5;font-size:17px;line-height:1.68;}
.membership-mycai-copy small{display:block;max-width:55ch;color:#bfd7e8;font-size:12px;line-height:1.55;}
.membership-mycai-button{justify-self:start;background:#fff!important;color:#063866!important;border:1px solid rgba(255,255,255,.66)!important;min-height:54px!important;box-shadow:0 14px 30px rgba(1,28,52,.18);}
.membership-mycai-button:hover,.membership-mycai-button:focus-visible{background:#edf7fd!important;color:#063866!important;transform:translateY(-2px);}
.membership-mycai-side{position:relative;z-index:1;display:grid;gap:18px;align-content:center;}
.membership-mycai-visual{position:relative;min-height:318px;display:grid;place-items:center;padding:10px 12px 0;}
.membership-mycai-device{position:relative;width:min(100%,300px);padding:14px;border-radius:36px;background:linear-gradient(180deg,#10273b 0%,#0a1d2e 100%);box-shadow:0 22px 46px rgba(1,19,34,.34);}
.membership-mycai-device-notch{width:96px;height:12px;border-radius:0 0 12px 12px;background:rgba(255,255,255,.10);margin:0 auto 10px;}
.membership-mycai-device-screen{display:grid;gap:12px;padding:16px;border-radius:26px;background:linear-gradient(180deg,#f5fbff 0%,#dfeef8 100%);min-height:244px;}
.membership-mycai-device-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border-radius:22px;background:linear-gradient(135deg,#0b4b78 0%,#1469a3 100%);box-shadow:0 12px 28px rgba(10,69,115,.18);}
.membership-mycai-device-card img{width:56px;height:56px;object-fit:contain;padding:10px;border-radius:18px;background:rgba(255,255,255,.95);}
.membership-mycai-device-card small{display:block;color:#d0e8f8;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;}
.membership-mycai-device-card strong{display:block;color:#fff;font-size:19px;line-height:1.08;}
.membership-mycai-device-card em{display:block;margin-top:4px;color:#d8ecf8;font-size:12px;font-style:normal;}
.membership-mycai-device-pills{display:flex;flex-wrap:wrap;gap:8px;}
.membership-mycai-device-pills span{padding:7px 10px;border-radius:999px;background:#fff;color:#0d4f7e;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 7px 16px rgba(10,69,115,.10);}
.membership-mycai-device-sheet{display:grid;gap:5px;padding:16px 18px;border-radius:22px;background:#fff;border:1px solid rgba(13,79,126,.10);box-shadow:0 10px 24px rgba(10,69,115,.08);}
.membership-mycai-device-sheet small{color:#6b7f91;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;}
.membership-mycai-device-sheet strong{color:#163b59;font-size:18px;line-height:1.16;}
.membership-mycai-device-sheet span{color:#526779;font-size:13px;line-height:1.45;}
.membership-mycai-floating-note{position:absolute;right:-2px;bottom:8px;max-width:212px;padding:16px 18px;border-radius:24px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);box-shadow:0 16px 34px rgba(2,24,44,.18);}
.membership-mycai-floating-badge{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:28px;padding:0 10px;border-radius:999px;background:#fff;color:#0d4f7e;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.membership-mycai-floating-note strong{display:block;margin-top:10px;color:#fff;font-size:17px;line-height:1.1;}
.membership-mycai-floating-note p{margin:7px 0 0;color:#dceaf4;font-size:12px;line-height:1.45;}
.membership-mycai-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.membership-mycai-documents article{display:grid;grid-template-columns:62px minmax(0,1fr);gap:16px;align-items:start;padding:20px 18px;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:rgba(255,255,255,.12);backdrop-filter:blur(5px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
.membership-mycai-documents article>div{display:grid;gap:5px;}
.membership-mycai-documents small{color:#bcd8ea;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;}
.membership-mycai-documents strong{color:#fff;font-size:21px;line-height:1.08;}
.membership-mycai-documents p{margin:0;color:#dbeaf4;font-size:14px;line-height:1.52;}
.membership-mycai-doc-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#fff;color:#0a558d;box-shadow:0 10px 24px rgba(0,0,0,.12);}
.membership-mycai-doc-icon svg{width:28px;height:28px;stroke:#0a558d;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.membership-mycai-doc-icon svg rect,.membership-mycai-doc-icon svg circle,.membership-mycai-doc-icon svg path{vector-effect:non-scaling-stroke;}
@media(max-width:980px){
  .membership-mycai-band{grid-template-columns:1fr;gap:24px;}
  .membership-mycai-copy h2{max-width:none;}
  .membership-mycai-documents{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .membership-mycai-band{margin-left:18px;margin-right:18px;padding:28px 22px;border-radius:28px;}
  .membership-mycai-copy h2{font-size:36px;}
  .membership-mycai-copy p{font-size:15px;}
  .membership-mycai-button{width:100%;}
  .membership-mycai-visual{min-height:0;padding:0 0 6px;}
  .membership-mycai-device{width:100%;max-width:none;border-radius:30px;}
  .membership-mycai-device-screen{border-radius:22px;min-height:0;padding:14px;}
  .membership-mycai-device-card{grid-template-columns:48px minmax(0,1fr);padding:12px;border-radius:18px;}
  .membership-mycai-device-card img{width:48px;height:48px;padding:8px;border-radius:14px;}
  .membership-mycai-device-card strong{font-size:18px;}
  .membership-mycai-device-sheet strong{font-size:16px;}
  .membership-mycai-floating-note{position:relative;right:auto;bottom:auto;max-width:none;margin-top:14px;}
  .membership-mycai-documents{grid-template-columns:1fr;gap:12px;}
  .membership-mycai-documents article{grid-template-columns:52px minmax(0,1fr);padding:17px 15px;border-radius:20px;}
  .membership-mycai-doc-icon{width:48px;height:48px;border-radius:15px;}
  .membership-mycai-doc-icon svg{width:24px;height:24px;}
  .membership-mycai-documents strong{font-size:19px;}
}


/* v5.7.27 - Tesseramento: riquadro sede cliccabile verso Google Maps */
.membership-contact-card>.membership-contact-location-card{
  position:relative;
  overflow:hidden;
  min-height:184px;
  padding:28px 24px 25px;
  border:1px solid rgba(3,44,82,.10);
  border-radius:24px;
  background:linear-gradient(180deg,#f8fcff 0%,#eaf5fc 100%);
  box-shadow:0 14px 30px rgba(3,44,82,.08);
  color:inherit;
  display:block;
  text-decoration:none!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.membership-contact-card>.membership-contact-location-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg,var(--red),#4c86bf);
}
.membership-contact-card>.membership-contact-location-card::after{
  content:'';position:absolute;width:92px;height:92px;right:-34px;bottom:-34px;border-radius:50%;background:rgba(3,44,82,.055);
}
.membership-contact-location-card small,.membership-contact-location-card strong,.membership-contact-location-card p,.membership-contact-map-hint{position:relative;z-index:1;}
.membership-contact-map-hint{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--blue);font-size:13px;font-weight:900;}
.membership-contact-location-card:hover,.membership-contact-location-card:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 20px 38px rgba(3,44,82,.14);
  border-color:rgba(13,79,126,.22);
}
.membership-contact-location-card:active{transform:translateY(-1px);}
@media(max-width:920px){.membership-contact-card>.membership-contact-location-card{min-height:184px;}}
@media(prefers-reduced-motion:reduce){.membership-contact-location-card{transition:none!important}.membership-contact-location-card:hover,.membership-contact-location-card:focus-visible,.membership-contact-location-card:active{transform:none!important}}


/* v5.7.30 - Nuovo logo principale CAI Meda, correttamente ritagliato e ben visibile */
.blue-brand.blue-brand-image-only{
  min-width:0!important;
  gap:0!important;
  flex:0 0 auto;
  display:flex;
  align-items:center;
}
.blue-brand.blue-brand-image-only img{
  width:auto!important;
  height:104px!important;
  max-width:min(34vw, 390px)!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block;
  flex-basis:auto!important;
}
.blue-brand.blue-brand-image-only .blue-brand-text{display:none!important;}
.blue-mainbar{min-height:118px!important;}
@media(max-width:1180px){
  .blue-mainbar{min-height:100px!important;}
  .blue-brand.blue-brand-image-only img{height:84px!important;max-width:min(36vw, 320px)!important;}
}
@media(max-width:820px){
  .blue-mainbar{min-height:84px!important;}
  .blue-brand.blue-brand-image-only img{height:54px!important;max-width:min(52vw, 250px)!important;}
}
@media(max-width:520px){
  .blue-mainbar{min-height:78px!important;}
  .blue-brand.blue-brand-image-only img{height:48px!important;max-width:min(56vw, 220px)!important;}
}


/* v5.7.31 - Header desktop: menu principale più leggibile e premium */
@media (min-width:1181px){
  .blue-desktop-nav{
    gap:clamp(18px,1.55vw,28px)!important;
    font-size:15.5px!important;
    font-weight:600!important;
    text-transform:none!important;
    letter-spacing:.012em!important;
    color:#073f6c!important;
    font-family:Arial,Helvetica,sans-serif!important;
  }
  .blue-desktop-nav>a,
  .blue-nav-group>a,
  .blue-nav-group-news>.blue-news-menu-trigger{
    font-size:inherit!important;
    font-weight:600!important;
    letter-spacing:.012em!important;
    line-height:1!important;
  }
  .blue-desktop-nav>a:hover,
  .blue-desktop-nav>a:focus-visible,
  .blue-nav-group:hover>a,
  .blue-nav-group:focus-within>a,
  .blue-nav-group-news:hover>.blue-news-menu-trigger,
  .blue-nav-group-news:focus-within>.blue-news-menu-trigger{
    color:#0b5f99!important;
  }
}


/* v5.7.32 - Menu desktop: Notizie con iniziale maiuscola come le altre voci */
@media (min-width:1181px){
  .blue-nav-group-news>.blue-news-menu-trigger{
    text-transform:none!important;
  }
}


/* v5.7.33 - Nuovo logo CAI Meda v2: ritaglio corretto e presenza visiva importante */
.blue-brand.blue-brand-image-only img{
  width:auto!important;
  height:112px!important;
  max-width:min(35vw, 430px)!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.blue-mainbar{min-height:126px!important;}
@media(max-width:1180px){
  .blue-mainbar{min-height:104px!important;}
  .blue-brand.blue-brand-image-only img{height:90px!important;max-width:min(40vw, 350px)!important;}
}
@media(max-width:820px){
  .blue-mainbar{min-height:90px!important;}
  .blue-brand.blue-brand-image-only img{height:62px!important;max-width:min(56vw, 270px)!important;}
}
@media(max-width:520px){
  .blue-mainbar{min-height:84px!important;}
  .blue-brand.blue-brand-image-only img{height:58px!important;max-width:min(60vw, 238px)!important;}
}


/* v5.7.34 - Notizie in overlay premium + menu desktop perfettamente centrato */
@media (min-width:1181px){
  .blue-mainbar{align-items:center!important;}
  .blue-desktop-nav{
    align-self:stretch!important;
    display:flex!important;
    align-items:center!important;
    height:auto!important;
    min-height:100%!important;
    padding-top:0!important;
    padding-bottom:0!important;
    transform:translateY(0)!important;
  }
  .blue-desktop-nav>a,
  .blue-desktop-nav>.blue-nav-group{
    height:100%!important;
    display:flex!important;
    align-items:center!important;
  }
  .blue-desktop-nav>a,
  .blue-nav-group>a,
  .blue-nav-group-news>.blue-news-menu-trigger{
    display:flex!important;
    align-items:center!important;
    min-height:100%!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
}
body.caimeda-news-modal-open{overflow:hidden!important;}
.caimeda-news-modal{
  position:fixed;inset:0;z-index:99990;
  display:grid;place-items:center;
  padding:clamp(14px,2.6vw,34px);
  opacity:0;transition:opacity .18s ease;
}
.caimeda-news-modal[hidden]{display:none!important;}
.caimeda-news-modal.is-open{opacity:1;}
.caimeda-news-modal-backdrop{
  position:absolute;inset:0;
  background:rgba(3,24,43,.78);
  backdrop-filter:blur(12px) saturate(.9);
}
.caimeda-news-modal-shell{
  position:relative;z-index:1;
  width:min(1180px,96vw);height:min(900px,94vh);
  display:grid;grid-template-rows:auto 1fr;
  overflow:hidden;background:#f8fbfd;
  border:1px solid rgba(255,255,255,.58);
  border-radius:clamp(24px,3vw,38px);
  box-shadow:0 36px 100px rgba(0,18,34,.40),inset 0 1px 0 rgba(255,255,255,.92);
  transform:translateY(18px) scale(.985);
  transition:transform .22s cubic-bezier(.22,.8,.32,1);
  outline:none;
}
.caimeda-news-modal.is-open .caimeda-news-modal-shell{transform:translateY(0) scale(1);}
.caimeda-news-modal-toolbar{
  min-height:70px;padding:12px 16px 12px 26px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:linear-gradient(110deg,#042f56 0%,#0a5489 68%,#0d6da9 100%);
  color:#fff;border-bottom:1px solid rgba(255,255,255,.13);
}
.caimeda-news-modal-brand{font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.caimeda-news-modal-actions{display:flex;align-items:center;gap:8px;}
.caimeda-news-modal-nav,.caimeda-news-modal-close{
  display:grid;place-items:center;width:42px;height:42px;padding:0;
  border:1px solid rgba(255,255,255,.22);border-radius:14px;
  background:rgba(255,255,255,.10);color:#fff;cursor:pointer;
  transition:background .18s ease,transform .18s ease,border-color .18s ease;
}
.caimeda-news-modal-nav{font-size:31px;font-weight:300;line-height:1;}
.caimeda-news-modal-close{font-size:30px;font-weight:300;line-height:1;}
.caimeda-news-modal-nav:hover:not(:disabled),.caimeda-news-modal-nav:focus-visible,.caimeda-news-modal-close:hover,.caimeda-news-modal-close:focus-visible{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.46);transform:translateY(-1px);outline:none;}
.caimeda-news-modal-nav:disabled{opacity:.30;cursor:default;}
.caimeda-news-modal-scroll{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:linear-gradient(180deg,#f8fbfd 0%,#fff 34%);}
.caimeda-news-modal-article{width:min(900px,calc(100% - 48px));margin:0 auto;padding:clamp(36px,5vw,72px) 0 48px;}
.caimeda-news-modal-header{display:grid;gap:15px;margin-bottom:30px;}
.caimeda-news-modal-meta{display:flex;align-items:center;flex-wrap:wrap;gap:11px;color:#587086;font-size:13px;font-weight:800;}
.caimeda-news-modal-meta span{display:inline-flex;padding:7px 11px;border-radius:999px;background:#e9f3fa;color:#0a578d;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}
.caimeda-news-modal-meta time::before{content:'•';margin-right:11px;color:#a2b3c1;}
.caimeda-news-modal-header h2{margin:0;color:#063866;font-size:clamp(36px,5vw,66px);line-height:.98;letter-spacing:-.045em;max-width:15ch;}
.caimeda-news-modal-cover{margin:0 0 clamp(28px,4vw,46px);overflow:hidden;border-radius:28px;background:#e9f1f6;box-shadow:0 18px 44px rgba(3,44,82,.12);}
.caimeda-news-modal-cover img{display:block;width:100%;max-height:500px;object-fit:cover;}
.caimeda-news-modal-content{font-size:17px;line-height:1.75;color:#263b4c;}
.caimeda-news-modal-content>*:first-child{margin-top:0!important;}
.caimeda-news-modal-content img{border-radius:18px;}
.caimeda-news-modal-content a{color:#075f99!important;font-weight:750;}
.caimeda-news-modal-footer{margin-top:48px;padding-top:20px;border-top:1px solid #dce7ee;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#728494;font-size:12px;}
.caimeda-news-modal-footer a{color:#075f99;font-weight:900;font-size:13px;}
.caimeda-news-modal-loading,.caimeda-news-modal-error{min-height:100%;display:grid;place-items:center;align-content:center;gap:16px;padding:40px;text-align:center;color:#063866;}
.caimeda-news-modal-loading span{width:44px;height:44px;border:4px solid #dbe9f2;border-top-color:#0b619b;border-radius:50%;animation:caimeda-news-spin .8s linear infinite;}
.caimeda-news-modal-error a{color:#075f99;font-weight:900;}
@keyframes caimeda-news-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){
  .caimeda-news-modal{padding:0;place-items:stretch;}
  .caimeda-news-modal-shell{width:100%;height:100%;border-radius:0;border:0;}
  .caimeda-news-modal-toolbar{min-height:62px;padding:9px 10px 9px 18px;}
  .caimeda-news-modal-brand{font-size:11px;}
  .caimeda-news-modal-nav,.caimeda-news-modal-close{width:40px;height:40px;border-radius:13px;}
  .caimeda-news-modal-article{width:calc(100% - 36px);padding:32px 0 36px;}
  .caimeda-news-modal-header{gap:12px;margin-bottom:24px;}
  .caimeda-news-modal-header h2{max-width:none;font-size:clamp(32px,10vw,46px);line-height:1.02;}
  .caimeda-news-modal-cover{border-radius:20px;margin-bottom:26px;}
  .caimeda-news-modal-cover img{max-height:360px;}
  .caimeda-news-modal-content{font-size:16px;line-height:1.68;}
  .caimeda-news-modal-footer{align-items:flex-start;flex-direction:column;margin-top:36px;}
  .caimeda-news-modal-footer>span{display:none;}
}
@media(prefers-reduced-motion:reduce){
  .caimeda-news-modal,.caimeda-news-modal-shell,.caimeda-news-modal-nav,.caimeda-news-modal-close{transition:none!important;}
  .caimeda-news-modal-loading span{animation-duration:1.5s;}
}


/* v5.7.35 - Notizie: contenuto completo nel popup + card senza etichetta CAI Meda ridondante */
.news-card .news-card-date-primary{
  display:block;
  margin:0 0 10px;
  color:#688094;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
}
.caimeda-news-modal-content .wp-block-buttons{
  display:flex!important;
  flex-wrap:wrap;
  gap:12px;
  margin:24px 0!important;
}
.caimeda-news-modal-content .wp-block-button{
  display:inline-flex!important;
  margin:0!important;
}
.caimeda-news-modal-content .wp-block-button__link,
.caimeda-news-modal-content .wp-element-button,
.caimeda-news-modal-content a.button,
.caimeda-news-modal-content a[class*="button"]{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 20px!important;
  border:1px solid #0a5d96!important;
  border-radius:999px!important;
  background:#0a5d96!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.2!important;
  box-shadow:0 10px 24px rgba(6,56,102,.14);
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.caimeda-news-modal-content .wp-block-button__link:hover,
.caimeda-news-modal-content .wp-block-button__link:focus-visible,
.caimeda-news-modal-content .wp-element-button:hover,
.caimeda-news-modal-content .wp-element-button:focus-visible,
.caimeda-news-modal-content a.button:hover,
.caimeda-news-modal-content a.button:focus-visible,
.caimeda-news-modal-content a[class*="button"]:hover,
.caimeda-news-modal-content a[class*="button"]:focus-visible{
  background:#063866!important;
  border-color:#063866!important;
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 15px 30px rgba(6,56,102,.20);
  outline:none;
}
@media(max-width:700px){
  .caimeda-news-modal-content .wp-block-buttons{display:grid!important;grid-template-columns:1fr;}
  .caimeda-news-modal-content .wp-block-button,
  .caimeda-news-modal-content .wp-block-button__link,
  .caimeda-news-modal-content .wp-element-button,
  .caimeda-news-modal-content a.button,
  .caimeda-news-modal-content a[class*="button"]{width:100%;}
}


/* v5.7.36 - Popup notizie: supporto completo ai pulsanti renderizzati dall'editor */
.caimeda-news-modal-content .wp-block-buttons,
.caimeda-news-modal-content .wp-block-button,
.caimeda-news-modal-content [class*="buttons"],
.caimeda-news-modal-content [class*="cta"]{
  visibility:visible!important;
  opacity:1!important;
}
.caimeda-news-modal-content button,
.caimeda-news-modal-content input[type="button"],
.caimeda-news-modal-content input[type="submit"]{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
}
.caimeda-news-modal-content .wp-block-button__link,
.caimeda-news-modal-content .wp-element-button,
.caimeda-news-modal-content a.button,
.caimeda-news-modal-content a[class*="button"],
.caimeda-news-modal-content [class*="cta"] > a{
  visibility:visible!important;
  opacity:1!important;
}


/* v5.7.37 - Popup notizie: contenuto reale della pagina singola in iframe */
.caimeda-news-modal-content-frame{
  margin-top:22px;
  padding:0!important;
  border:0!important;
  background:#fff;
  min-height:260px;
}
.caimeda-news-modal-frame{
  display:block;
  width:100%;
  height:min(52vh,560px);
  min-height:320px;
  border:0;
  border-radius:0;
  background:#fff;
}
@media(max-width:700px){
  .caimeda-news-modal-content-frame{margin-top:16px;}
  .caimeda-news-modal-frame{height:52vh;min-height:300px;}
}


/* v5.7.38 - CTA/pulsante salvato dal gestionale fuori dal contenuto WordPress */
.caimeda-news-extra-cta{margin:28px 0 12px;display:flex;align-items:center;flex-wrap:wrap;gap:12px;}
.caimeda-news-extra-cta-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:52px!important;padding:13px 24px!important;border-radius:999px!important;background:#075f99!important;color:#fff!important;border:1px solid #075f99!important;font-weight:850!important;box-shadow:0 12px 26px rgba(7,95,153,.16);}
.caimeda-news-extra-cta-button:hover,.caimeda-news-extra-cta-button:focus-visible{background:#064d7c!important;color:#fff!important;transform:translateY(-2px);}
@media(max-width:700px){.caimeda-news-extra-cta{display:block}.caimeda-news-extra-cta-button{width:100%!important;}}


/* v5.7.39 - CTA comunicazioni CAI Meda Manager 2.6.40 nel popup */
.caimeda-overlay-document .cmm-theme-communication-cta,
.caimeda-overlay-document .caimeda-news-extra-cta{
  margin:32px 0 12px!important;
  text-align:center!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.caimeda-overlay-document .cmm-theme-communication-cta a,
.caimeda-overlay-document .caimeda-news-extra-cta a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:52px!important;
  padding:0 26px!important;
  border-radius:12px!important;
  background:#0874ed!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
  font-weight:800!important;
  box-shadow:0 10px 22px rgba(8,116,237,.20)!important;
}
.caimeda-overlay-document .cmm-theme-communication-cta a:hover,
.caimeda-overlay-document .caimeda-news-extra-cta a:hover{
  filter:brightness(.94);
  transform:translateY(-1px);
}
@media(max-width:700px){
  .caimeda-overlay-document .cmm-theme-communication-cta a,
  .caimeda-overlay-document .caimeda-news-extra-cta a{width:100%!important;}
}


/* v5.7.40 - Popup notizie: contenuto unico senza iframe, CTA Manager sempre visibile */
.caimeda-news-modal-content{
  display:block!important;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
}
.caimeda-news-modal-content .cmm-theme-communication-cta,
.caimeda-news-modal-content .caimeda-news-extra-cta{
  display:flex!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  margin:32px 0 10px!important;
}
.caimeda-news-modal-content .cmm-theme-communication-cta a,
.caimeda-news-modal-content .caimeda-news-extra-cta a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:52px!important;
  padding:0 26px!important;
  border-radius:999px!important;
  background:#0a5d96!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:850!important;
  text-decoration:none!important;
  box-shadow:0 12px 28px rgba(10,93,150,.20)!important;
}
@media(max-width:700px){
  .caimeda-news-modal-content .cmm-theme-communication-cta a,
  .caimeda-news-modal-content .caimeda-news-extra-cta a{width:100%!important;}
}


/* v5.7.41 - CTA comunicazioni: vero pulsante centrato + cache CSS aggiornata */
.caimeda-news-modal-content .caimeda-news-extra-cta,
.caimeda-news-modal-content p.cmm-theme-communication-cta{
  display:flex!important;
  width:100%!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  margin:24px auto 14px!important;
  padding:0!important;
  visibility:visible!important;
  opacity:1!important;
}
.caimeda-news-modal-content .caimeda-news-extra-cta > a,
.caimeda-news-modal-content p.cmm-theme-communication-cta > a,
.caimeda-news-modal-content a.caimeda-news-extra-cta-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:220px!important;
  max-width:min(100%,520px)!important;
  min-height:56px!important;
  padding:14px 32px!important;
  margin:0 auto!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#075f99 0%,#0b75b8 100%)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-family:inherit!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
  text-align:center!important;
  text-decoration:none!important;
  text-decoration-line:none!important;
  text-underline-offset:0!important;
  box-shadow:0 14px 30px rgba(7,79,126,.22),inset 0 1px 0 rgba(255,255,255,.14)!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.caimeda-news-modal-content .caimeda-news-extra-cta > a::after,
.caimeda-news-modal-content p.cmm-theme-communication-cta > a::after,
.caimeda-news-modal-content a.caimeda-news-extra-cta-button::after{
  content:'→';
  display:inline-block;
  margin-left:12px;
  font-size:18px;
  line-height:1;
  transition:transform .18s ease;
}
.caimeda-news-modal-content .caimeda-news-extra-cta > a:hover,
.caimeda-news-modal-content .caimeda-news-extra-cta > a:focus-visible,
.caimeda-news-modal-content p.cmm-theme-communication-cta > a:hover,
.caimeda-news-modal-content p.cmm-theme-communication-cta > a:focus-visible,
.caimeda-news-modal-content a.caimeda-news-extra-cta-button:hover,
.caimeda-news-modal-content a.caimeda-news-extra-cta-button:focus-visible{
  transform:translateY(-2px)!important;
  filter:brightness(1.04)!important;
  box-shadow:0 18px 38px rgba(7,79,126,.28),inset 0 1px 0 rgba(255,255,255,.18)!important;
  outline:3px solid rgba(10,117,184,.18)!important;
  outline-offset:3px!important;
}
.caimeda-news-modal-content .caimeda-news-extra-cta > a:hover::after,
.caimeda-news-modal-content p.cmm-theme-communication-cta > a:hover::after,
.caimeda-news-modal-content a.caimeda-news-extra-cta-button:hover::after{
  transform:translateX(3px);
}
@media(max-width:700px){
  .caimeda-news-modal-content .caimeda-news-extra-cta,
  .caimeda-news-modal-content p.cmm-theme-communication-cta{margin-top:22px!important;}
  .caimeda-news-modal-content .caimeda-news-extra-cta > a,
  .caimeda-news-modal-content p.cmm-theme-communication-cta > a,
  .caimeda-news-modal-content a.caimeda-news-extra-cta-button{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:54px!important;
    padding:14px 22px!important;
    border-radius:15px!important;
  }
}


/* v5.7.42 - CTA comunicazioni: pulsante leggermente più vicino al testo */
.caimeda-news-modal-content .caimeda-news-extra-cta,
.caimeda-news-modal-content p.cmm-theme-communication-cta{margin-top:24px!important;}
@media(max-width:700px){
  .caimeda-news-modal-content .caimeda-news-extra-cta,
  .caimeda-news-modal-content p.cmm-theme-communication-cta{margin-top:22px!important;}
}


/* v5.7.43 - Menu desktop: tutte le voci perfettamente allineate sulla stessa linea */
@media (min-width:1181px){
  .blue-mainbar{
    align-items:center!important;
  }
  .blue-desktop-nav{
    align-self:center!important;
    height:126px!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    padding:0!important;
  }
  .blue-desktop-nav>a,
  .blue-desktop-nav>.blue-nav-group,
  .blue-nav-group-activities,
  .blue-nav-group-news{
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    margin:0!important;
    padding:0!important;
  }
  .blue-desktop-nav>a,
  .blue-nav-group>a,
  .blue-nav-group-activities>.blue-activities-menu-trigger,
  .blue-nav-group-news>.blue-news-menu-trigger{
    height:auto!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    padding:0!important;
    margin:0!important;
    transform:none!important;
    line-height:1!important;
    vertical-align:middle!important;
  }
  .blue-nav-group-activities>.blue-activities-menu-trigger:after,
  .blue-desktop-nav>a:after,
  .blue-nav-group-news>.blue-news-menu-trigger:after{
    bottom:-12px!important;
  }
}


/* v5.7.44 - Effetti premium Google Maps su Tesseramento e Contatti */
.google-maps-mark{
  position:absolute;
  z-index:1;
  display:grid;
  place-items:center;
  width:88px;
  height:88px;
  border-radius:28px;
  opacity:0;
  transform:translateY(14px) scale(.82) rotate(-6deg);
  transition:opacity .35s ease,transform .42s cubic-bezier(.2,.75,.2,1),filter .35s ease;
  filter:drop-shadow(0 12px 24px rgba(12,48,76,.18));
  pointer-events:none;
}
.google-maps-mark svg{width:58px;height:58px;display:block}

/* Tesseramento */
.membership-contact-card>.google-maps-hover-card{
  isolation:isolate;
  overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,color .3s ease,background .35s ease!important;
}
.membership-contact-card>.google-maps-hover-card::before{
  height:5px!important;
  background:linear-gradient(90deg,#4285F4 0 26%,#34A853 26% 50%,#FBBC05 50% 74%,#EA4335 74% 100%)!important;
  transition:height .38s ease,opacity .35s ease!important;
  opacity:.92;
}
.membership-contact-card>.google-maps-hover-card::after{
  width:190px!important;
  height:190px!important;
  right:-92px!important;
  bottom:-92px!important;
  background:radial-gradient(circle,rgba(66,133,244,.20) 0 28%,rgba(52,168,83,.12) 29% 46%,rgba(251,188,5,.10) 47% 62%,rgba(234,67,53,.08) 63% 74%,transparent 75%)!important;
  transition:transform .45s ease,opacity .35s ease!important;
  opacity:.5;
}
.membership-contact-card>.google-maps-hover-card .google-maps-mark{
  right:18px;
  bottom:16px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 16px 32px rgba(20,58,92,.12);
}
.membership-contact-card>.google-maps-hover-card:hover,
.membership-contact-card>.google-maps-hover-card:focus-visible{
  background:
    linear-gradient(135deg,rgba(66,133,244,.13),rgba(52,168,83,.09) 33%,rgba(251,188,5,.08) 65%,rgba(234,67,53,.11)),
    #fff!important;
  border-color:rgba(66,133,244,.28)!important;
  box-shadow:0 24px 48px rgba(30,78,118,.18),0 0 0 1px rgba(255,255,255,.9) inset!important;
  transform:translateY(-6px)!important;
}
.membership-contact-card>.google-maps-hover-card:hover::before,
.membership-contact-card>.google-maps-hover-card:focus-visible::before{height:9px!important}
.membership-contact-card>.google-maps-hover-card:hover::after,
.membership-contact-card>.google-maps-hover-card:focus-visible::after{transform:scale(1.18);opacity:1}
.membership-contact-card>.google-maps-hover-card:hover .google-maps-mark,
.membership-contact-card>.google-maps-hover-card:focus-visible .google-maps-mark{
  opacity:1;
  transform:translateY(0) scale(1) rotate(0);
}
.membership-contact-card>.google-maps-hover-card:hover .membership-contact-map-hint,
.membership-contact-card>.google-maps-hover-card:focus-visible .membership-contact-map-hint{color:#1769aa}
.membership-contact-card>.google-maps-hover-card:hover .membership-contact-map-hint .drawn-arrow,
.membership-contact-card>.google-maps-hover-card:focus-visible .membership-contact-map-hint .drawn-arrow{transform:translate(3px,-2px)}

/* Contatti: grande riquadro mappa */
.contact-google-maps-card{
  isolation:isolate;
  transition:transform .35s ease,box-shadow .35s ease,filter .35s ease!important;
}
.contact-google-maps-card::before{
  z-index:0;
  opacity:1;
  transition:opacity .4s ease!important;
}
.contact-google-maps-card::after{
  z-index:0;
  width:360px!important;
  height:360px!important;
  right:-160px!important;
  bottom:-180px!important;
  background:conic-gradient(from 20deg,rgba(66,133,244,.34),rgba(52,168,83,.28),rgba(251,188,5,.25),rgba(234,67,53,.30),rgba(66,133,244,.34))!important;
  filter:blur(2px);
  opacity:0;
  transform:scale(.72) rotate(-10deg);
  transition:opacity .42s ease,transform .5s cubic-bezier(.2,.75,.2,1)!important;
}
.contact-google-maps-card .google-maps-mark{
  top:34px;
  right:36px;
  width:106px;
  height:106px;
  border-radius:34px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(10px);
  box-shadow:0 18px 44px rgba(0,0,0,.12);
}
.contact-google-maps-card .google-maps-mark svg{width:70px;height:70px}
.contact-google-maps-card:hover,
.contact-google-maps-card:focus-within{
  transform:translateY(-6px)!important;
  box-shadow:0 26px 58px rgba(3,44,82,.24)!important;
  filter:saturate(1.08);
}
.contact-google-maps-card:hover::before,
.contact-google-maps-card:focus-within::before{
  opacity:.62;
  background:
    radial-gradient(circle at 18% 20%,rgba(66,133,244,.42),transparent 31%),
    radial-gradient(circle at 82% 18%,rgba(52,168,83,.28),transparent 28%),
    radial-gradient(circle at 80% 78%,rgba(251,188,5,.23),transparent 31%),
    radial-gradient(circle at 22% 82%,rgba(234,67,53,.26),transparent 29%),
    linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,0));
}
.contact-google-maps-card:hover::after,
.contact-google-maps-card:focus-within::after{opacity:.9;transform:scale(1) rotate(0)}
.contact-google-maps-card:hover .google-maps-mark,
.contact-google-maps-card:focus-within .google-maps-mark{
  opacity:1;
  transform:translateY(0) scale(1) rotate(0);
}
.contact-google-maps-card:hover .contact-feature-action,
.contact-google-maps-card:focus-within .contact-feature-action{transform:translateX(3px)}
.contact-google-maps-card .contact-feature-action{transition:transform .25s ease,color .25s ease}

@media(max-width:760px){
  .membership-contact-card>.google-maps-hover-card .google-maps-mark{width:72px;height:72px;right:12px;bottom:12px;border-radius:22px}
  .membership-contact-card>.google-maps-hover-card .google-maps-mark svg{width:46px;height:46px}
  .contact-google-maps-card .google-maps-mark{width:84px;height:84px;top:22px;right:22px;border-radius:26px}
  .contact-google-maps-card .google-maps-mark svg{width:56px;height:56px}
}
@media(prefers-reduced-motion:reduce){
  .google-maps-mark,.google-maps-hover-card,.contact-google-maps-card,.membership-contact-card>.google-maps-hover-card::before,.membership-contact-card>.google-maps-hover-card::after,.contact-google-maps-card::after{transition:none!important}
  .google-maps-hover-card:hover,.google-maps-hover-card:focus-visible,.contact-google-maps-card:hover,.contact-google-maps-card:focus-within{transform:none!important}
}


/* v5.7.46 - Calendario pubblico gestito dal CAI Meda Manager */
.activities-public-calendar-shell{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(280px,.58fr);gap:26px;align-items:start}.activities-public-calendar-months{display:grid;gap:30px}.activities-public-calendar-month{display:grid;gap:12px}.activities-public-calendar-month>header{display:flex;align-items:center;gap:15px;padding:0 6px}.activities-public-calendar-month>header span{font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#0a5c94}.activities-public-calendar-month>header i{height:1px;flex:1;background:#d9e6ef}.activities-calendar-item.is-public-event{grid-template-columns:72px minmax(0,1fr) auto 34px}.activities-calendar-item.is-public-event:not(a){cursor:default}.activities-calendar-event-copy p{margin:5px 0 0;color:#627789;font-size:13px;line-height:1.45;max-width:70ch}.activities-calendar-meta{display:block;margin-top:7px;color:#35546c;font-size:12px;font-weight:750}.activities-calendar-range{align-self:center;white-space:nowrap;padding:7px 10px;border-radius:999px;background:#eef5fa;color:#5a7081;font-size:10px;font-weight:900}.activities-calendar-side-public{position:sticky;top:132px}.activities-public-calendar-empty{display:flex;align-items:center;gap:18px;padding:26px 28px;border:1px dashed #bfd2df;border-radius:24px;background:#f8fbfd;color:#526b7d}.activities-public-calendar-empty>span{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border-radius:18px;background:#e8f3fa;color:#0a639e;font-size:26px}.activities-public-calendar-empty strong{display:block;color:#123e65;font-size:18px}.activities-public-calendar-empty p{margin:5px 0 0}
@media(max-width:1100px){.activities-public-calendar-shell{grid-template-columns:1fr}.activities-calendar-side-public{position:static;grid-template-columns:1fr 1fr}.activities-calendar-side-public>span,.activities-calendar-side-public h3,.activities-calendar-side-public p{grid-column:1/-1}}
@media(max-width:700px){.activities-calendar-item.is-public-event{grid-template-columns:62px minmax(0,1fr) 28px}.activities-calendar-range{display:none}.activities-calendar-event-copy p{font-size:12px}.activities-public-calendar-empty{padding:20px}.activities-calendar-side-public{grid-template-columns:1fr}.activities-calendar-side-public>*{grid-column:auto!important}}

/* v5.7.46 - Audit responsive tablet / iPad (portrait e landscape) */
@media (min-width:701px) and (max-width:1180px){
  /* Spaziature e tipografia generali: evitare colonne troppo strette sui tablet */
  .inner-section,.pale-section,.gallery-section,.gym-hours-section,.gym-faq-section{padding-left:clamp(34px,5vw,58px)!important;padding-right:clamp(34px,5vw,58px)!important}
  .inner-section h2,.section-heading h2,.activities-section-heading h2{font-size:clamp(36px,5vw,54px)!important;line-height:1.02!important}
  .lead-copy,.rich-copy{max-width:70ch!important}

  /* HOME */
  .blue-home-activities-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
  .blue-home-activity-card,.blue-home-activity-card.is-wide{grid-column:auto!important;min-height:360px!important}
  .blue-home-spotlight-section,.blue-home-membership-section,.blue-home-connect-grid{grid-template-columns:1fr!important}
  .blue-home-spotlight-media,.blue-home-membership-media{min-height:360px!important}
  .blue-home-connect-panel{min-width:0!important}

  /* PALESTRA: blocchi larghi, mai tre/quattro colonne compresse */
  .gym-story{grid-template-columns:1fr!important;gap:30px!important}
  .gym-features.blue-gym-features{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .gym-features.blue-gym-features article{min-height:0!important;padding:22px 20px!important}
  .gym-hours-strip{display:block!important}.gym-hours-intro{padding-bottom:20px!important}
  .gym-hours-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .gym-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .rules-layout{grid-template-columns:1fr!important;gap:26px!important}
  .gym-membership-rule{grid-template-columns:1fr!important;gap:24px!important}
  .gym-membership-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gym-faq-layout{grid-template-columns:1fr!important;gap:22px!important}
  .gym-final{grid-template-columns:1fr!important;gap:28px!important}
  .gym-gallery-viewport{border-radius:26px!important}

  /* TESSERAMENTO */
  .membership-overview-grid{grid-template-columns:1fr!important;gap:22px!important}
  .membership-contact-card{grid-template-columns:repeat(2,minmax(0,1fr))!important}.membership-contact-card>div:first-child{grid-column:1/-1}
  .membership-mycai-band{grid-template-columns:1fr!important;gap:28px!important}
  .membership-mycai-visual{min-height:280px!important}
  .membership-insurance-grid{grid-template-columns:1fr!important}

  /* ATTIVITÀ */
  .activities-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.activities-hub-card,.activities-hub-card.is-wide{grid-column:auto!important;min-height:360px!important}
  .activities-gym-feature{grid-template-columns:1fr!important}.activities-gym-image{min-height:340px!important}
  .activities-section-heading,.activities-membership-band{grid-template-columns:1fr!important;gap:24px!important}
  .activities-upcoming-layout,.activities-public-calendar-shell{grid-template-columns:1fr!important}

  /* CONTATTI */
  .contact-intro{grid-template-columns:1fr!important;gap:20px!important;align-items:start!important}.contact-intro .section-kicker{grid-column:auto!important;margin-bottom:0!important}.contact-intro h2{font-size:clamp(46px,7vw,66px)!important}.contact-feature-grid{grid-template-columns:1fr 1fr!important;grid-template-areas:"map map" "hours write"!important}.contact-feature-map{min-height:380px!important}.contact-social-modern{grid-template-columns:repeat(2,minmax(0,1fr))!important}.contact-social-modern .contact-social-card:last-child{grid-column:1/-1!important}

  /* NOTIZIE / POPUP */
  .caimeda-news-modal-shell{width:calc(100vw - 42px)!important;max-height:calc(100vh - 42px)!important}.caimeda-news-modal-content{padding-left:clamp(28px,5vw,52px)!important;padding-right:clamp(28px,5vw,52px)!important}
}
@media (min-width:701px) and (max-width:900px){
  .gym-hours-grid,.gym-price-grid,.gym-membership-options{grid-template-columns:1fr!important}
  .membership-contact-card{grid-template-columns:1fr!important}.membership-contact-card>div:first-child{grid-column:auto}
  .contact-social-modern{grid-template-columns:1fr!important}.contact-social-modern .contact-social-card:last-child{grid-column:auto!important}
}


/* v5.7.48 - Calendario Attività: nessun colore tipologia hardcoded nel tema */
.activities-calendar-item.is-public-event .activities-calendar-type{
  display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;
}

/* v5.7.47 - Calendario Attività: colori sincronizzati con CAI Meda Manager */
.activities-calendar-item.is-public-event.is-manager-colored{
  border-color:var(--cmm-event-border)!important;
  background:linear-gradient(90deg,var(--cmm-event-soft) 0%,rgba(255,255,255,.99) 42%)!important;
}
.activities-calendar-item.is-public-event.is-manager-colored time,
.activities-calendar-item.is-public-event.is-manager-colored .activities-calendar-type{
  background:var(--cmm-event-bg)!important;
  border:1px solid var(--cmm-event-border)!important;
  color:#111!important;
  box-shadow:none!important;
}
.activities-calendar-item.is-public-event.is-manager-colored time strong,
.activities-calendar-item.is-public-event.is-manager-colored time span,
.activities-calendar-item.is-public-event.is-manager-colored .activities-calendar-type{
  color:#111!important;
  opacity:1!important;
}
.activities-calendar-item.is-public-event.is-manager-colored:hover{
  border-color:var(--cmm-event-color)!important;
  box-shadow:0 12px 28px rgba(17,43,70,.09)!important;
}


/* v5.7.49 - Calendario: data e tipologia usano ESCLUSIVAMENTE il colore configurato nel Manager */
.activities-calendar-item.is-public-event.is-manager-colored time,
.activities-calendar-item.is-public-event.is-manager-colored .activities-calendar-type{
  color:#111!important;
  box-shadow:none!important;
}
.activities-calendar-item.is-public-event.is-manager-colored time strong,
.activities-calendar-item.is-public-event.is-manager-colored time span,
.activities-calendar-item.is-public-event.is-manager-colored .activities-calendar-type{
  color:#111!important;
  opacity:1!important;
}

/* v5.7.51 - galleria immagini Bosco del 75° */
.bosco-gallery-section .section-heading{margin-bottom:44px}.bosco-gallery-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:"main side1" "main side2";gap:18px}.bosco-gallery-card{background:#fff;border:1px solid #dbe6ec;border-radius:34px;overflow:hidden;box-shadow:0 18px 48px rgba(3,44,82,.08);display:flex;flex-direction:column;min-width:0}.bosco-gallery-card-main{grid-area:main}.bosco-gallery-card:nth-child(2){grid-area:side1}.bosco-gallery-card:nth-child(3){grid-area:side2}.bosco-gallery-card img{width:100%;height:100%;min-height:320px;max-height:420px;object-fit:cover;display:block}.bosco-gallery-card-main img{min-height:100%;max-height:none;flex:1 1 auto}.bosco-gallery-card figcaption{padding:22px 24px 26px;display:grid;gap:8px}.bosco-gallery-card span{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#6f7f74}.bosco-gallery-card strong{font-size:28px;line-height:1.05;letter-spacing:-.04em;color:#163f59}.bosco-gallery-card p{margin:0;color:#435366;line-height:1.6}.bosco-gallery-card-main figcaption{padding:26px 28px 30px}.bosco-gallery-card-main strong{font-size:34px}@media (max-width:1100px){.bosco-gallery-grid{grid-template-columns:1fr;grid-template-areas:"main" "side1" "side2"}.bosco-gallery-card img,.bosco-gallery-card-main img{min-height:260px;max-height:420px}}@media (max-width:720px){.bosco-gallery-card{border-radius:26px}.bosco-gallery-card figcaption,.bosco-gallery-card-main figcaption{padding:20px 20px 22px}.bosco-gallery-card strong,.bosco-gallery-card-main strong{font-size:26px}.bosco-gallery-card img,.bosco-gallery-card-main img{min-height:220px;max-height:300px}}


/* v5.7.55 - Home: anteprima dei prossimi 3 appuntamenti */
.blue-home-upcoming-section{padding:clamp(64px,7vw,96px) clamp(24px,7vw,110px);background:#f4f8fb}
.blue-home-upcoming-section .blue-home-block-head{margin-bottom:30px}
.blue-home-upcoming-section .blue-home-block-head p{max-width:680px}
.blue-home-upcoming-list{display:grid;gap:14px}
.blue-home-upcoming-item{display:grid;grid-template-columns:72px minmax(0,1fr) 32px;align-items:center;gap:20px;padding:16px 20px;background:#fff;border:1px solid #dce7ef;border-radius:24px;box-shadow:0 12px 28px rgba(3,44,82,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
a.blue-home-upcoming-item{cursor:pointer}
a.blue-home-upcoming-item:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(3,44,82,.12);border-color:#bcd2e1}
.blue-home-upcoming-item time{width:64px;height:64px;border-radius:18px;background:#eaf3f9;display:grid;place-content:center;text-align:center;line-height:1;color:#111}
.blue-home-upcoming-item time strong{font-size:25px}.blue-home-upcoming-item time span{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-top:5px}
.blue-home-upcoming-copy{min-width:0}.blue-home-upcoming-copy small{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#111;background:#eaf3f9}
.blue-home-upcoming-copy h3{margin:8px 0 0;color:var(--blue);font-size:clamp(20px,2vw,27px);line-height:1.08;letter-spacing:-.025em}
.blue-home-upcoming-copy p{margin:7px 0 0;color:#526779;font-size:13px;font-weight:800}
.blue-home-upcoming-item>.drawn-arrow{justify-self:end}
.blue-home-upcoming-mobile-action{display:none;margin-top:22px}
.blue-home-upcoming-archive-action{display:flex;justify-content:flex-end;margin-top:18px}
.blue-activities-dropdown .blue-activities-upcoming-link{font-weight:900;color:var(--blue);border-bottom:1px solid #dbe7ef;padding-bottom:12px;margin-bottom:2px}
#prossimi-appuntamenti{scroll-margin-top:130px}
@media(max-width:820px){.blue-home-upcoming-section{padding-left:18px;padding-right:18px}.blue-home-upcoming-section .blue-home-block-head-inline>.blue-home-section-link{display:none}.blue-home-upcoming-mobile-action{display:block}.blue-home-upcoming-mobile-action .blue-home-cta,.blue-home-upcoming-archive-action .blue-home-section-link{width:100%;justify-content:center}.blue-home-upcoming-archive-action{margin-top:12px}.blue-home-upcoming-item{grid-template-columns:62px minmax(0,1fr) 24px;gap:14px;padding:14px}.blue-home-upcoming-item time{width:56px;height:56px;border-radius:16px}.blue-home-upcoming-item time strong{font-size:22px}.blue-home-upcoming-copy h3{font-size:20px}}
@media(max-width:520px){.blue-home-upcoming-item{grid-template-columns:54px minmax(0,1fr) 18px;gap:11px;padding:12px;border-radius:20px}.blue-home-upcoming-item time{width:50px;height:50px;border-radius:14px}.blue-home-upcoming-item time strong{font-size:20px}.blue-home-upcoming-copy small{font-size:8px;padding:5px 8px}.blue-home-upcoming-copy h3{font-size:18px}.blue-home-upcoming-copy p{font-size:12px}}


/* v5.7.61 - Viewer allegati appuntamenti */
/* v5.7.60 - Viewer allegati appuntamenti */
body.caimeda-event-attachment-open{overflow:hidden!important}
.document-card-unavailable{border-color:#b8d2e3;background:linear-gradient(145deg,#f4f9fc,#e8f2f8);box-shadow:none}
.document-card-unavailable:hover{transform:none;box-shadow:none}
.document-card-unavailable>span{color:#486c85}
.document-card-unavailable h3{color:#063866}
.document-status-label{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:8px;padding:9px 13px;border:1px solid #abc8da;border-radius:999px;background:#fff;color:#315d79;font-size:12px;line-height:1.2;letter-spacing:.04em;text-transform:uppercase}
.blue-home-newsletter-form .blue-home-checkbox-row a{color:#075f99;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.caimeda-event-attachment-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:22px;opacity:0;transition:opacity .2s ease}
.caimeda-event-attachment-modal[hidden]{display:none!important}
.caimeda-event-attachment-modal.is-open{opacity:1}
.caimeda-event-attachment-backdrop{position:absolute;inset:0;background:rgba(2,22,38,.82);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.caimeda-event-attachment-shell{position:relative;z-index:1;width:min(1500px,calc(100vw - 44px));height:min(940px,calc(100vh - 44px));display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:#eef3f6;border:1px solid rgba(255,255,255,.18);border-radius:28px;box-shadow:0 32px 90px rgba(0,0,0,.38);transform:translateY(12px) scale(.985);transition:transform .2s ease;outline:none}
.caimeda-event-attachment-modal.is-open .caimeda-event-attachment-shell{transform:translateY(0) scale(1)}
.caimeda-event-attachment-toolbar{min-height:86px;padding:13px 15px 13px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#063866;color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}
.caimeda-event-attachment-heading{min-width:0;display:grid;gap:3px}
.caimeda-event-attachment-heading span{font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#b9d7ea}
.caimeda-event-attachment-heading strong{font-size:18px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(720px,55vw)}
.caimeda-event-attachment-heading small{font-size:11px;color:#b9ccd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(720px,55vw)}
.caimeda-event-attachment-actions{display:flex;align-items:center;gap:10px;flex:none}
.caimeda-event-attachment-download{display:inline-flex;align-items:center;gap:9px;padding:12px 16px;border-radius:14px;background:#fff;color:#063866!important;text-decoration:none!important;font-size:12px;font-weight:900;box-shadow:0 8px 22px rgba(0,0,0,.12);transition:transform .18s ease,box-shadow .18s ease}
.caimeda-event-attachment-download span{font-size:16px;line-height:1}
.caimeda-event-attachment-download:hover,.caimeda-event-attachment-download:focus-visible{transform:translateY(-1px);box-shadow:0 11px 25px rgba(0,0,0,.18);outline:none}
.caimeda-event-attachment-close{width:48px;height:48px;border:1px solid rgba(255,255,255,.36);border-radius:15px;background:rgba(255,255,255,.10);color:#fff;font-size:31px;font-weight:300;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.caimeda-event-attachment-close:hover,.caimeda-event-attachment-close:focus-visible{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.60);transform:translateY(-1px);outline:none}
.caimeda-event-attachment-stage{min-height:0;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#dfe8ed 0%,#f7fafb 100%)}
.caimeda-event-attachment-image-wrap{width:100%;height:100%;margin:0;padding:28px;overflow:auto;display:grid;place-items:center}
.caimeda-event-attachment-image-wrap[hidden],.caimeda-event-attachment-pdf-wrap[hidden],.caimeda-event-attachment-generic[hidden]{display:none!important}
.caimeda-event-attachment-image-wrap img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 18px 50px rgba(3,44,82,.18);background:#fff}
.caimeda-event-attachment-pdf-wrap{width:100%;height:100%;padding:14px;background:#cfd9df}
.caimeda-event-attachment-pdf-wrap iframe{display:block;width:100%;height:100%;border:0;border-radius:14px;background:#fff;box-shadow:0 16px 46px rgba(3,44,82,.16)}
.caimeda-event-attachment-generic{display:grid;place-items:center;align-content:center;gap:12px;text-align:center;color:#063866;padding:40px}
.caimeda-event-attachment-generic strong{font-size:28px}.caimeda-event-attachment-generic p{margin:0;color:#526779}
@media(max-width:720px){
 .caimeda-event-attachment-modal{padding:0;place-items:stretch}
 .caimeda-event-attachment-shell{width:100%;height:100%;border-radius:0;border:0}
 .caimeda-event-attachment-toolbar{min-height:72px;padding:10px 10px 10px 16px;gap:10px}
 .caimeda-event-attachment-heading strong{font-size:14px;max-width:46vw}.caimeda-event-attachment-heading small{display:none}
 .caimeda-event-attachment-download{padding:10px 11px;font-size:11px}.caimeda-event-attachment-download span{display:none}
 .caimeda-event-attachment-close{width:42px;height:42px;border-radius:13px;font-size:28px}
 .caimeda-event-attachment-image-wrap{padding:12px}.caimeda-event-attachment-image-wrap img{border-radius:10px}
 .caimeda-event-attachment-pdf-wrap{padding:0}.caimeda-event-attachment-pdf-wrap iframe{border-radius:0;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){.caimeda-event-attachment-modal,.caimeda-event-attachment-shell,.caimeda-event-attachment-download,.caimeda-event-attachment-close{transition:none!important}}

/* 1.3.5 — risorse degli appuntamenti: collegamento e allegato distinti */
.blue-home-upcoming-item{grid-template-columns:72px minmax(0,1fr) 48px}
.activities-calendar-item.is-public-event{grid-template-columns:72px minmax(0,1fr) auto 48px}
.blue-home-upcoming-item>.caimeda-event-resource-icon.cmm-theme-event-target,
.activities-calendar-item.is-public-event>.caimeda-event-resource-icon.cmm-theme-event-target{
 position:static!important;inset:auto!important;transform:none!important;justify-self:end!important;
 width:42px!important;height:42px!important;border-radius:14px!important;display:grid!important;place-items:center!important;
 pointer-events:none!important;box-shadow:0 7px 18px rgba(18,54,84,.10)!important;
 transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important
}
.caimeda-event-resource-icon.cmm-theme-event-target.is-link{background:#eaf5fd!important;border:1px solid #b9d9ee!important;color:#075f9b!important}
.caimeda-event-resource-icon.cmm-theme-event-target.is-attachment{background:#f3eef9!important;border:1px solid #d8c9e8!important;color:#61427f!important}
.caimeda-event-resource-icon.cmm-theme-event-target svg{width:24px!important;height:24px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.75!important;stroke-linecap:round!important;stroke-linejoin:round!important}
a.blue-home-upcoming-item:hover>.caimeda-event-resource-icon.cmm-theme-event-target,
a.activities-calendar-item.is-public-event:hover>.caimeda-event-resource-icon.cmm-theme-event-target{transform:translateY(-2px)!important;box-shadow:0 10px 22px rgba(18,54,84,.15)!important}
@media(max-width:820px){.blue-home-upcoming-item{grid-template-columns:62px minmax(0,1fr) 42px}.blue-home-upcoming-item>.caimeda-event-resource-icon.cmm-theme-event-target{width:38px!important;height:38px!important;border-radius:12px!important}.blue-home-upcoming-item>.caimeda-event-resource-icon.cmm-theme-event-target svg{width:21px!important;height:21px!important}}
@media(max-width:700px){.activities-calendar-item.is-public-event{grid-template-columns:62px minmax(0,1fr) 40px}.activities-calendar-item.is-public-event>.caimeda-event-resource-icon.cmm-theme-event-target{width:38px!important;height:38px!important;border-radius:12px!important}.activities-calendar-item.is-public-event>.caimeda-event-resource-icon.cmm-theme-event-target svg{width:21px!important;height:21px!important}}
@media(max-width:520px){.blue-home-upcoming-item{grid-template-columns:54px minmax(0,1fr) 38px}.blue-home-upcoming-item>.caimeda-event-resource-icon.cmm-theme-event-target{width:35px!important;height:35px!important;border-radius:11px!important}.blue-home-upcoming-item>.caimeda-event-resource-icon.cmm-theme-event-target svg{width:19px!important;height:19px!important}}


/* v1.1.3 — titolo chiusura più dominante e senza nomi aggiuntivi */
/* v1.1.2 — stato pubblico palestra: grafica più illustrata e ad alta attenzione */
/* v1.1.1 — fix CSS stato pubblico palestra */
/* v1.1.0 — stato pubblico palestra sincronizzato con CAI Meda Manager */
.cai-gym-public-notice{
  --gym-notice-accent:#ff6d5a;
  --gym-notice-accent-2:#31c6b6;
  --gym-notice-ink:#153451;
  --gym-notice-soft:#fff6f1;
  --gym-notice-soft-2:#f1fffd;
  --gym-notice-border:#ffc6bc;
  --gym-notice-icon-bg:#ffffff;
  --gym-notice-icon-border:#ffc9bf;
  --gym-notice-muted:#4a6178;
  --gym-notice-orb:rgba(255,109,90,.16);
  --gym-notice-pattern:rgba(49,198,182,.12);
  --gym-notice-shadow:0 24px 48px rgba(17,46,75,.16);
  position:relative;isolation:isolate;overflow:hidden;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;
  border:2px solid var(--gym-notice-border);
  border-radius:28px;padding:24px 24px 22px;
  background:
    radial-gradient(circle at 14% 18%,var(--gym-notice-orb) 0,transparent 18%),
    radial-gradient(circle at 88% 78%,var(--gym-notice-pattern) 0,transparent 20%),
    linear-gradient(135deg,var(--gym-notice-soft) 0%,#fff 55%,var(--gym-notice-soft-2) 100%);
  color:var(--gym-notice-ink);box-shadow:var(--gym-notice-shadow);
}
.cai-gym-public-notice::before{
  content:"";position:absolute;inset:10px;border-radius:22px;border:2px dashed color-mix(in srgb,var(--gym-notice-accent) 26%, white);pointer-events:none;opacity:.95;
}
.cai-gym-public-notice::after{
  content:"";position:absolute;right:-28px;bottom:-32px;width:180px;height:180px;pointer-events:none;opacity:.42;
  background:
    radial-gradient(circle,#fff 0 18%,transparent 19% 100%),
    radial-gradient(circle,var(--gym-notice-pattern) 0 58%,transparent 59% 100%);
  background-size:16px 16px,100% 100%;
  background-position:0 0,center;
}
.cai-gym-public-notice.is-winter{
  --gym-notice-accent:#2f8de4;
  --gym-notice-accent-2:#e85567;
  --gym-notice-ink:#123654;
  --gym-notice-soft:#edf7ff;
  --gym-notice-soft-2:#fff4f6;
  --gym-notice-border:#bfdcf6;
  --gym-notice-icon-bg:#ffffff;
  --gym-notice-icon-border:#c9def0;
  --gym-notice-muted:#46647d;
  --gym-notice-orb:rgba(47,141,228,.16);
  --gym-notice-pattern:rgba(232,85,103,.12);
  --gym-notice-shadow:0 24px 48px rgba(15,47,74,.17);
}
.cai-gym-public-notice-icon{
  position:relative;z-index:1;width:62px;height:62px;border-radius:20px;display:grid;place-items:center;flex:none;
  background:linear-gradient(180deg,#fff 0%,var(--gym-notice-icon-bg) 100%);border:2px solid var(--gym-notice-icon-border);
  box-shadow:0 10px 20px rgba(18,40,65,.10), inset 0 1px 0 rgba(255,255,255,.95);
  transform:rotate(-4deg);
}
.cai-gym-public-notice.is-winter .cai-gym-public-notice-icon{transform:rotate(4deg)}
.cai-gym-public-notice-icon::before{
  content:"";position:absolute;inset:-7px;border-radius:24px;border:2px solid color-mix(in srgb,var(--gym-notice-accent-2) 32%, white);opacity:.65;pointer-events:none
}
.cai-gym-public-notice-icon svg{width:34px;height:34px;fill:none;stroke:var(--gym-notice-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.cai-gym-public-notice.is-summer .cai-gym-public-notice-icon svg circle{fill:rgba(255,109,90,.18);stroke:var(--gym-notice-accent)}
.cai-gym-public-notice-copy{display:grid;gap:9px;min-width:0}
.cai-gym-public-notice-kicker{
  justify-self:start;display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border-radius:999px;background:#fff;
  border:2px solid color-mix(in srgb,var(--gym-notice-accent) 20%, white);box-shadow:0 8px 16px rgba(18,40,65,.08);
  font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--gym-notice-accent);opacity:.92
}
.cai-gym-public-notice-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--gym-notice-accent) 0%,var(--gym-notice-accent-2) 100%);box-shadow:0 0 0 4px color-mix(in srgb,var(--gym-notice-accent) 12%, transparent)}
.cai-gym-public-notice-title{display:inline-block;font-size:clamp(29px,3vw,40px);font-weight:950;line-height:.98;letter-spacing:-.045em;color:var(--gym-notice-ink);text-wrap:balance;text-transform:uppercase}
.cai-gym-public-notice p{margin:0!important;color:var(--gym-notice-muted)!important;font-size:15px!important;line-height:1.62!important;max-width:72ch!important}
.cai-gym-public-notice-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:2px}
.cai-gym-public-notice-meta span{
  display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 13px;border-radius:14px;background:#fff;
  border:2px solid color-mix(in srgb,var(--gym-notice-accent-2) 18%, white);box-shadow:0 8px 18px rgba(18,40,65,.07);
  font-size:13px;font-weight:800;color:var(--gym-notice-ink)
}
.cai-gym-public-notice-meta span::before{content:"↺";font-size:13px;line-height:1;color:var(--gym-notice-accent)}
.cai-gym-public-notice-meta span b{font-weight:950}
.cai-gym-public-notice-meta small{
  display:inline-block;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.8);border:1px dashed color-mix(in srgb,var(--gym-notice-accent) 28%, white);
  font-size:12px;line-height:1.52;color:var(--gym-notice-muted)
}
.cai-gym-public-notice-season{
  align-self:start;justify-self:end;transform:rotate(3deg);border:2px solid color-mix(in srgb,var(--gym-notice-accent) 26%, white);border-radius:999px;
  padding:8px 12px;background:#fff;font-size:10px;font-weight:950;letter-spacing:.16em;color:var(--gym-notice-accent);
  box-shadow:0 10px 20px rgba(18,40,65,.08)
}
.cai-gym-public-notice.is-winter .cai-gym-public-notice-season{transform:rotate(-3deg)}
.cai-gym-public-notice.context-page{margin:clamp(26px,4vw,48px) clamp(24px,7vw,110px) 0;padding:clamp(24px,3.2vw,34px);border-radius:32px}
.cai-gym-public-notice.context-page .cai-gym-public-notice-icon{width:76px;height:76px;border-radius:24px}
.cai-gym-public-notice.context-page .cai-gym-public-notice-icon svg{width:44px;height:44px}
.cai-gym-public-notice.context-page .cai-gym-public-notice-title{font-size:clamp(36px,4.4vw,58px)}
.cai-gym-public-notice.context-page p{font-size:17px!important}
.cai-gym-public-notice.context-home{grid-template-columns:46px minmax(0,1fr);gap:14px;padding:16px 17px;border-radius:22px;box-shadow:0 16px 30px rgba(17,46,75,.15)}
.cai-gym-public-notice.context-home .cai-gym-public-notice-icon{width:46px;height:46px;border-radius:16px}
.cai-gym-public-notice.context-home .cai-gym-public-notice-icon svg{width:28px;height:28px}
.cai-gym-public-notice.context-home .cai-gym-public-notice-title{font-size:24px}
.cai-gym-public-notice.context-home .cai-gym-public-notice-season{display:none}
.cai-gym-public-notice.context-home p{font-size:13px!important}
.cai-gym-public-notice.context-home .cai-gym-public-notice-meta{grid-column:2}
.cai-gym-public-notice.context-home::before{inset:8px;border-radius:18px}
.cai-gym-public-notice.context-activities{grid-template-columns:48px minmax(0,1fr);gap:15px;padding:17px 18px;border-radius:22px;box-shadow:0 16px 34px rgba(0,20,42,.24)}
.cai-gym-public-notice.context-activities .cai-gym-public-notice-icon{width:48px;height:48px;border-radius:16px}
.cai-gym-public-notice.context-activities .cai-gym-public-notice-title{font-size:25px}
.cai-gym-public-notice.context-activities .cai-gym-public-notice-season{display:none}
.cai-gym-public-notice.context-activities p{font-size:13px!important}
.cai-gym-public-notice.context-activities .cai-gym-public-notice-meta{grid-column:2}
.cai-gym-public-notice.context-activities::before{inset:8px;border-radius:18px}
@media(max-width:760px){
  .cai-gym-public-notice,.cai-gym-public-notice.context-page{grid-template-columns:50px minmax(0,1fr);gap:14px;padding:18px;border-radius:24px}
  .cai-gym-public-notice::before{inset:8px;border-radius:18px}
  .cai-gym-public-notice::after{width:130px;height:130px;right:-18px;bottom:-22px}
  .cai-gym-public-notice.context-page{margin:20px 20px 0}
  .cai-gym-public-notice.context-page .cai-gym-public-notice-icon{width:52px;height:52px;border-radius:18px}
  .cai-gym-public-notice.context-page .cai-gym-public-notice-icon svg{width:30px;height:30px}
  .cai-gym-public-notice.context-page .cai-gym-public-notice-title{font-size:31px}
  .cai-gym-public-notice.context-page p{font-size:14px!important}
  .cai-gym-public-notice-season{display:none}
  .cai-gym-public-notice-meta{grid-column:1/-1;margin-top:2px}
  .cai-gym-public-notice-meta span,.cai-gym-public-notice-meta small{width:100%;justify-content:flex-start}
  .cai-gym-public-notice.context-home,.cai-gym-public-notice.context-activities{grid-template-columns:42px minmax(0,1fr);padding:15px;gap:12px}
  .cai-gym-public-notice.context-home .cai-gym-public-notice-icon,.cai-gym-public-notice.context-activities .cai-gym-public-notice-icon{width:42px;height:42px;border-radius:14px}
  .cai-gym-public-notice.context-home .cai-gym-public-notice-meta,.cai-gym-public-notice.context-activities .cai-gym-public-notice-meta{grid-column:1/-1}
}

/* v1.1.4 — fix impaginazione mobile cartello chiusure pagina Palestra */
@media(max-width:760px){
  .cai-gym-public-notice.context-page{
    margin:28px 20px 0;
    padding-top:22px;
    overflow:visible;
  }
  .cai-gym-public-notice.context-page::before{
    inset:8px;
  }
  .cai-gym-public-notice.context-page .cai-gym-public-notice-copy{
    padding-top:2px;
  }
  .cai-gym-public-notice.context-page .cai-gym-public-notice-kicker{
    margin-top:2px;
  }
}

/* v1.1.5 — isolamento mobile cartello chiusure pagina Palestra */
.cai-gym-public-notice-slot{position:relative;z-index:1;overflow:visible}
@media(max-width:760px){
  .gym-page-subnav + .cai-gym-public-notice-slot{
    position:relative;
    z-index:1;
    overflow:visible!important;
    padding:30px 20px 0;
    margin:0;
    clear:both;
  }
  .cai-gym-public-notice-slot .cai-gym-public-notice.context-page{
    margin:0!important;
    width:100%;
    max-width:none;
    overflow:visible!important;
    clip-path:none!important;
  }
  .cai-gym-public-notice-slot .cai-gym-public-notice.context-page::before,
  .cai-gym-public-notice-slot .cai-gym-public-notice.context-page::after,
  .cai-gym-public-notice-slot .cai-gym-public-notice.context-page .cai-gym-public-notice-icon::before{
    pointer-events:none;
  }
}

/* v1.1.6 — separazione robusta sottomenù/cartello su tablet e smartphone */
@media(max-width:900px){
  .gym-page-subnav{
    position:relative!important;
    top:auto!important;
    z-index:2;
    margin-bottom:0!important;
  }
  .cai-gym-public-notice-slot{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    box-sizing:border-box;
    clear:both;
    overflow:visible!important;
    padding:clamp(28px,5vw,40px) clamp(18px,4vw,28px) 0;
    margin:0!important;
  }
  .gym-page-subnav + .cai-gym-public-notice-slot{
    padding-top:clamp(28px,5vw,40px);
    padding-left:clamp(18px,4vw,28px);
    padding-right:clamp(18px,4vw,28px);
  }
  .cai-gym-public-notice-slot .cai-gym-public-notice.context-page{
    position:relative;
    z-index:1;
    display:grid;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    margin:0!important;
    overflow:hidden!important;
    clip-path:none!important;
  }
}
@media(max-width:760px){
  .cai-gym-public-notice-slot{
    padding-top:30px;
    padding-left:20px;
    padding-right:20px;
  }
  .gym-page-subnav + .cai-gym-public-notice-slot{
    padding:30px 20px 0;
  }
}

/* v1.1.10 — avvisi palestra stagionali con fallback SVG multibrowser */
.cai-gym-public-notice{
  --gym-notice-ink:#16394b;
  --gym-notice-muted:#284b5b;
  --gym-notice-accent:#d47b2d;
  position:relative;isolation:isolate;overflow:hidden;
  display:grid;grid-template-columns:118px minmax(0,1fr) 190px;align-items:center;gap:22px;
  min-height:220px;padding:24px;border:2px solid #e99b38;border-radius:20px;
  background:linear-gradient(125deg,#fff1c8 0%,#ffcf91 56%,#cbe9df 100%);
  color:var(--gym-notice-ink);box-shadow:0 18px 38px rgba(22,57,75,.13);
}
.cai-gym-public-notice.is-winter{
  --gym-notice-ink:#103b5b;
  --gym-notice-muted:#315b75;
  --gym-notice-accent:#3b8dbc;
  border-color:#5da4d3;
  background:linear-gradient(125deg,#cfe9fb 0%,#e5f4ff 58%,#ecd8e8 100%);
  box-shadow:0 18px 38px rgba(16,59,91,.14);
}
.cai-gym-public-notice::before{
  content:"";position:absolute;z-index:-1;width:280px;height:280px;inset:auto -115px -145px auto;
  border:34px solid currentColor;border-radius:50%;opacity:.055;pointer-events:none;
}
.cai-gym-public-notice::after{display:none}
.cai-gym-public-notice-icon,.cai-gym-public-notice.is-winter .cai-gym-public-notice-icon{
  position:relative;z-index:1;display:grid;place-items:center;width:118px;height:118px;border:0;border-radius:0;
  background:transparent;box-shadow:none;transform:none;filter:drop-shadow(0 13px 16px rgba(41,49,45,.18));
}
.cai-gym-public-notice-icon::before{display:none}
.cai-gym-public-notice-icon svg,.cai-gym-public-notice.context-page .cai-gym-public-notice-icon svg{
  display:block;width:118px;height:118px;overflow:visible;fill:initial;stroke:initial;stroke-width:initial;stroke-linecap:initial;stroke-linejoin:initial;
}
.cai-gym-public-notice.is-summer .cai-gym-public-notice-icon .cai-gym-summer-halo{fill:#fff0bd;stroke:#f0bd4f;stroke-width:1.5;opacity:.74}
.cai-gym-public-notice.is-summer .cai-gym-public-notice-icon .cai-gym-summer-ray{fill:#ffd66a;stroke:#cf6f2c;stroke-width:2.2;stroke-linejoin:round}
.cai-gym-public-notice.is-summer .cai-gym-public-notice-icon .cai-gym-summer-sun{fill:#ffc83d;stroke:#cf6f2c;stroke-width:2.6}
.cai-gym-public-notice.is-summer .cai-gym-public-notice-icon .cai-gym-summer-facet{fill:#fff4b3;stroke:none;opacity:.72}
.cai-gym-public-notice.is-summer .cai-gym-public-notice-icon .cai-gym-summer-rim{fill:none;stroke:#fff;stroke-width:2;opacity:.62}
.cai-gym-ice-aura{fill:#e5f7ff;stroke:#9dd9f2;stroke-width:1.5;opacity:.72}
.cai-gym-ice-arm{fill:#c8efff;stroke:#247eae;stroke-width:2.2;stroke-linejoin:round}
.cai-gym-ice-arm-facet{fill:#eefbff;opacity:.88}
.cai-gym-ice-core{fill:#f5fdff;stroke:#247eae;stroke-width:2.4}
.cai-gym-ice-core-inner{fill:#83cce9;opacity:.72}
.cai-gym-public-notice-copy{display:grid;gap:8px;min-width:0}
.cai-gym-public-notice-kicker{
  justify-self:start;display:block;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;
  color:var(--gym-notice-ink);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;opacity:.78;
}
.cai-gym-public-notice-kicker::before{display:none}
.cai-gym-public-notice-title,.cai-gym-public-notice.context-page .cai-gym-public-notice-title{
  display:block;margin:0;color:var(--gym-notice-ink);font-size:clamp(31px,3.2vw,45px);font-weight:700;
  line-height:1.02;letter-spacing:-.035em;text-transform:none;text-wrap:balance;
}
.cai-gym-public-notice p,.cai-gym-public-notice.context-page p{
  margin:0!important;max-width:52ch!important;color:var(--gym-notice-muted)!important;font-size:15px!important;line-height:1.5!important;
}
.cai-gym-public-notice-reopening{
  position:relative;align-self:stretch;display:grid;align-content:center;justify-items:center;overflow:hidden;
  padding:19px 17px 17px;border:1px solid rgba(255,255,255,.98);border-radius:18px;
  background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(249,252,251,.82));
  color:var(--gym-notice-ink);text-align:center;box-shadow:0 14px 28px rgba(28,59,75,.13),inset 0 1px 0 rgba(255,255,255,.72);
}
.cai-gym-public-notice-reopening::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:currentColor;opacity:.58}
.cai-gym-public-notice-reopening::after{content:"";position:absolute;width:54px;height:54px;right:-35px;bottom:-35px;border:1px solid currentColor;transform:rotate(45deg);opacity:.09}
.cai-gym-public-notice-reopening span{
  display:flex;align-items:center;justify-content:center;gap:7px;padding-bottom:9px;border-bottom:1px solid currentColor;
  font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;opacity:.78;
}
.cai-gym-public-notice-reopening span::before{content:"";width:14px;height:13px;border:1.5px solid currentColor;border-radius:3px;box-shadow:inset 0 3px 0 currentColor;opacity:.72}
.cai-gym-public-notice-reopening strong{display:block;margin-top:10px;font-size:23px;font-weight:700;line-height:1.08;letter-spacing:-.02em}
.cai-gym-public-notice-reopening.is-pending strong{max-width:16ch;font-size:15px;line-height:1.38;letter-spacing:0}
.cai-gym-public-notice-season,.cai-gym-public-notice-meta{display:none}
.cai-gym-public-notice.context-page{margin:clamp(26px,4vw,48px) clamp(24px,7vw,110px) 0;padding:clamp(22px,3vw,30px);border-radius:22px}
.cai-gym-public-notice.context-home,.cai-gym-public-notice.context-activities{
  grid-template-columns:64px minmax(0,1fr);gap:14px;min-height:0;padding:16px 17px;border-radius:18px;
}
.cai-gym-public-notice.context-home .cai-gym-public-notice-icon,.cai-gym-public-notice.context-activities .cai-gym-public-notice-icon,
.cai-gym-public-notice.context-home .cai-gym-public-notice-icon svg,.cai-gym-public-notice.context-activities .cai-gym-public-notice-icon svg{width:64px;height:64px}
.cai-gym-public-notice.context-home .cai-gym-public-notice-title,.cai-gym-public-notice.context-activities .cai-gym-public-notice-title{font-size:24px}
.cai-gym-public-notice.context-home p,.cai-gym-public-notice.context-activities p{font-size:13px!important}
.cai-gym-public-notice.context-home .cai-gym-public-notice-reopening,.cai-gym-public-notice.context-activities .cai-gym-public-notice-reopening{
  grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:start;gap:12px;padding:12px 14px;text-align:left;
}
.cai-gym-public-notice.context-home .cai-gym-public-notice-reopening span,.cai-gym-public-notice.context-activities .cai-gym-public-notice-reopening span{padding:0 12px 0 0;border:0;border-right:1px solid currentColor}
.cai-gym-public-notice.context-home .cai-gym-public-notice-reopening strong,.cai-gym-public-notice.context-activities .cai-gym-public-notice-reopening strong{margin:0;font-size:16px}
@media(max-width:760px){
  .cai-gym-public-notice,.cai-gym-public-notice.context-page{grid-template-columns:78px minmax(0,1fr);gap:12px;min-height:0;padding:17px 15px;border-radius:18px}
  .cai-gym-public-notice.context-page{margin:0!important}
  .cai-gym-public-notice-icon,.cai-gym-public-notice.context-page .cai-gym-public-notice-icon,
  .cai-gym-public-notice-icon svg,.cai-gym-public-notice.context-page .cai-gym-public-notice-icon svg{width:78px;height:78px}
  .cai-gym-public-notice-title,.cai-gym-public-notice.context-page .cai-gym-public-notice-title{font-size:27px}
  .cai-gym-public-notice p,.cai-gym-public-notice.context-page p{font-size:14px!important}
  .cai-gym-public-notice-reopening,.cai-gym-public-notice.context-home .cai-gym-public-notice-reopening,.cai-gym-public-notice.context-activities .cai-gym-public-notice-reopening{
    grid-column:1/-1;display:block;padding:14px 17px;text-align:left;
  }
  .cai-gym-public-notice-reopening span,.cai-gym-public-notice.context-home .cai-gym-public-notice-reopening span,.cai-gym-public-notice.context-activities .cai-gym-public-notice-reopening span{justify-content:flex-start;width:max-content;padding:0 0 6px;border:0;border-bottom:1px solid currentColor}
  .cai-gym-public-notice-reopening strong,.cai-gym-public-notice.context-home .cai-gym-public-notice-reopening strong,.cai-gym-public-notice.context-activities .cai-gym-public-notice-reopening strong{margin:5px 0 0;font-size:19px}
  .cai-gym-public-notice-reopening.is-pending strong{font-size:15px}
}

/* v1.2.0 — avvisi pubblici per le chiusure eccezionali della turnazione. */
.cai-gym-shift-alert{
  position:relative;isolation:isolate;overflow:hidden;
  display:grid;grid-template-columns:92px minmax(0,1fr) minmax(190px,260px);align-items:center;gap:20px;
  margin:clamp(26px,4vw,48px) clamp(24px,7vw,110px) 0;padding:22px 24px;
  border:1px solid #e7af8d;border-top:7px solid #b64a24;border-radius:22px;
  background:linear-gradient(125deg,#fff5ed 0%,#fffdfb 55%,#fff1e6 100%);
  box-shadow:0 18px 38px rgba(117,48,23,.16);color:#7b321d;
}
.cai-gym-shift-alert::before{content:"";position:absolute;z-index:-1;inset:8px;border:1px solid rgba(180,74,36,.16);border-radius:14px;pointer-events:none}
.cai-gym-shift-alert-icon{display:grid;place-items:center;width:82px;height:82px;border:1px solid #e6b18d;border-radius:22px;background:#fff;color:#ad4422;box-shadow:0 10px 21px rgba(148,56,25,.13)}
.cai-gym-shift-alert-icon svg{width:49px;height:49px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.cai-gym-shift-alert-copy{display:grid;gap:7px;min-width:0}
.cai-gym-shift-alert-copy>span{justify-self:start;display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border-radius:7px;background:#a94020;color:#fff;font-size:9.5px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.cai-gym-shift-alert-copy>span::before{content:"!";display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#fff;color:#a94020;font-size:11px;font-weight:950}
.cai-gym-shift-alert-copy strong{color:#83361f;font-size:clamp(27px,3vw,42px);font-weight:850;line-height:1.02;letter-spacing:-.04em;text-wrap:balance}
.cai-gym-shift-alert-copy p{margin:0!important;max-width:54ch!important;color:#735e56!important;font-size:15px!important;line-height:1.5!important}
.cai-gym-shift-alert-dates{display:grid;gap:8px;margin:0;padding:14px;list-style:none;border:1px solid #e5b08b;border-radius:15px;background:#fffaf6;box-shadow:inset 0 1px 0 rgba(255,255,255,.86)}
.cai-gym-shift-alert-dates li{display:flex;align-items:flex-start;gap:8px;color:#823720;font-size:12px;font-weight:750;line-height:1.38}
.cai-gym-shift-alert-dates li::before{content:"";width:8px;height:8px;flex:0 0 8px;margin-top:4px;border-radius:50%;background:#c1552c;box-shadow:0 0 0 4px rgba(193,85,44,.13)}
.cai-gym-shift-alert.context-home,.cai-gym-shift-alert.context-activities{grid-template-columns:62px minmax(0,1fr);gap:14px;margin:0;padding:16px 17px;border-radius:18px}
.cai-gym-shift-alert.context-home .cai-gym-shift-alert-icon,.cai-gym-shift-alert.context-activities .cai-gym-shift-alert-icon{width:62px;height:62px;border-radius:18px}
.cai-gym-shift-alert.context-home .cai-gym-shift-alert-icon svg,.cai-gym-shift-alert.context-activities .cai-gym-shift-alert-icon svg{width:37px;height:37px}
.cai-gym-shift-alert.context-home .cai-gym-shift-alert-copy strong,.cai-gym-shift-alert.context-activities .cai-gym-shift-alert-copy strong{font-size:24px}
.cai-gym-shift-alert.context-home .cai-gym-shift-alert-copy p,.cai-gym-shift-alert.context-activities .cai-gym-shift-alert-copy p{font-size:13px!important}
.cai-gym-shift-alert.context-home .cai-gym-shift-alert-dates,.cai-gym-shift-alert.context-activities .cai-gym-shift-alert-dates{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));padding:11px 12px}
@media(max-width:760px){
  .cai-gym-shift-alert,.cai-gym-shift-alert.context-page{grid-template-columns:64px minmax(0,1fr);gap:12px;margin:0!important;padding:17px 15px;border-radius:18px}
  .cai-gym-shift-alert-icon,.cai-gym-shift-alert.context-page .cai-gym-shift-alert-icon{width:64px;height:64px;border-radius:18px}
  .cai-gym-shift-alert-icon svg,.cai-gym-shift-alert.context-page .cai-gym-shift-alert-icon svg{width:38px;height:38px}
  .cai-gym-shift-alert-copy strong,.cai-gym-shift-alert.context-page .cai-gym-shift-alert-copy strong{font-size:26px}
  .cai-gym-shift-alert-copy p,.cai-gym-shift-alert.context-page .cai-gym-shift-alert-copy p{font-size:14px!important}
  .cai-gym-shift-alert-dates,.cai-gym-shift-alert.context-home .cai-gym-shift-alert-dates,.cai-gym-shift-alert.context-activities .cai-gym-shift-alert-dates{grid-column:1/-1;grid-template-columns:1fr;padding:12px}
}

/* v1.1.7 — Tesseramento MyCAI: layout premium senza sovrapposizioni */
.membership-mycai-band{
  grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
  gap:clamp(30px,4vw,52px);
}
.membership-mycai-side{
  gap:20px;
  min-width:0;
}
.membership-mycai-visual{
  min-height:0;
  padding:0;
  place-items:center;
}
.membership-mycai-device{
  width:min(100%,360px);
  padding:13px;
  border-radius:38px;
  box-shadow:0 28px 56px rgba(1,19,34,.34),0 0 0 1px rgba(255,255,255,.06);
}
.membership-mycai-device-screen{
  min-height:0;
  padding:17px;
  gap:13px;
}
.membership-mycai-floating-note{display:none!important;}
.membership-mycai-documents{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.membership-mycai-documents article.membership-mycai-doc-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:flex-start;
  padding:18px 16px 17px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:22px;
  background:linear-gradient(160deg,rgba(255,255,255,.17),rgba(255,255,255,.085));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 28px rgba(1,28,52,.09);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.membership-mycai-documents article.membership-mycai-doc-card>div{
  display:grid;
  gap:6px;
  min-width:0;
}
.membership-mycai-documents article.membership-mycai-doc-card .membership-mycai-doc-icon{
  width:50px;
  height:50px;
  border-radius:16px;
  flex:none;
  box-shadow:0 10px 22px rgba(0,0,0,.13);
}
.membership-mycai-documents article.membership-mycai-doc-card .membership-mycai-doc-icon svg{
  width:24px;
  height:24px;
}
.membership-mycai-documents article.membership-mycai-doc-card small{
  font-size:9px;
  line-height:1.25;
}
.membership-mycai-documents article.membership-mycai-doc-card strong{
  font-size:17px;
  line-height:1.12;
  letter-spacing:-.015em;
}
.membership-mycai-documents article.membership-mycai-doc-card p{
  font-size:12.5px;
  line-height:1.5;
}
.membership-mycai-button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding-left:22px!important;
  padding-right:18px!important;
  border-radius:999px!important;
  font-weight:900!important;
  letter-spacing:.01em;
  box-shadow:0 16px 34px rgba(1,28,52,.22),inset 0 1px 0 rgba(255,255,255,.9)!important;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease!important;
}
.membership-mycai-button::after{
  content:'→';
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#0d4f7e;
  color:#fff;
  font-size:17px;
  line-height:1;
  transition:transform .22s ease,background .22s ease!important;
}
.membership-mycai-button::before{
  content:'';
  position:absolute;
  z-index:-1;
  top:-40%;
  left:-28%;
  width:24%;
  height:180%;
  transform:rotate(18deg);
  background:rgba(255,255,255,.55);
  opacity:0;
  transition:left .42s ease,opacity .2s ease!important;
}
.membership-mycai-button:hover,.membership-mycai-button:focus-visible{
  transform:translateY(-3px)!important;
  box-shadow:0 20px 38px rgba(1,28,52,.26),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.membership-mycai-button:hover::after,.membership-mycai-button:focus-visible::after{transform:translateX(3px);}
.membership-mycai-button:hover::before,.membership-mycai-button:focus-visible::before{left:115%;opacity:1;}
.membership-mycai-button:active{
  transform:translateY(1px) scale(.975)!important;
  box-shadow:0 8px 18px rgba(1,28,52,.18),inset 0 2px 5px rgba(6,56,100,.10)!important;
  transition-duration:.08s!important;
}
.membership-mycai-button:active::after{transform:translateX(4px) scale(.92);}
@media(max-width:1080px){
  .membership-mycai-band{grid-template-columns:1fr;gap:30px;}
  .membership-mycai-copy h2{max-width:14ch;}
  .membership-mycai-side{width:100%;}
  .membership-mycai-device{width:min(100%,390px);}
  .membership-mycai-documents{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
  .membership-mycai-band{gap:26px;}
  .membership-mycai-side{gap:16px;}
  .membership-mycai-device{width:100%;max-width:none;border-radius:30px;}
  .membership-mycai-documents{grid-template-columns:1fr;gap:11px;}
  .membership-mycai-documents article.membership-mycai-doc-card{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:14px;
    align-items:center;
    padding:16px 15px;
    border-radius:19px;
  }
  .membership-mycai-documents article.membership-mycai-doc-card .membership-mycai-doc-icon{width:48px;height:48px;border-radius:15px;}
  .membership-mycai-documents article.membership-mycai-doc-card strong{font-size:18px;}
  .membership-mycai-documents article.membership-mycai-doc-card p{font-size:13px;}
  .membership-mycai-button{width:100%;min-height:56px!important;}
}
@media(prefers-reduced-motion:reduce){
  .membership-mycai-button,.membership-mycai-button::before,.membership-mycai-button::after{transition:none!important;}
  .membership-mycai-button:hover,.membership-mycai-button:focus-visible,.membership-mycai-button:active{transform:none!important;}
}

/* Tema 1.2.1 - precedenza finale alla griglia social Contatti */
body.page-contatti .contact-social-modern{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
body.page-contatti .contact-social-modern .contact-social-card:last-child{
  grid-column:auto!important;
}
@media(max-width:1100px){
  body.page-contatti .contact-social-modern{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  body.page-contatti .contact-social-modern{
    grid-template-columns:1fr!important;
  }
}

/* Tema 1.2.2 - resa definitiva delle quattro tessere Contatti */
.contact-social-section .contact-social-modern{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.contact-social-section .contact-social-modern .contact-social-card,
.contact-social-section .contact-social-modern .contact-social-card:last-child{
  grid-column:auto!important;
  min-width:0;
  width:100%;
  height:100%;
  padding:30px 112px 30px 30px!important;
}
.contact-social-section .contact-social-modern .contact-social-icon{
  position:absolute!important;
  top:28px!important;
  right:28px!important;
  width:68px!important;
  height:68px!important;
  margin:0!important;
  border-radius:19px!important;
}
.contact-social-section .contact-social-modern .contact-social-icon .social-icon{
  width:44px!important;
  height:44px!important;
  stroke-width:1.35!important;
}
.contact-social-section .contact-social-modern a.contact-social-google-maps::after{
  background:linear-gradient(135deg,#4285f4 0%,#34a853 38%,#fbbc05 68%,#ea4335 100%)!important;
}
.contact-social-section .contact-social-modern a.contact-social-google-maps:hover,
.contact-social-section .contact-social-modern a.contact-social-google-maps:focus-visible{
  background:transparent!important;
  border-color:rgba(255,255,255,.58)!important;
  box-shadow:0 20px 38px rgba(32,91,90,.34)!important;
}
@media(max-width:1180px){
  .contact-social-section .contact-social-modern{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .contact-social-section .contact-social-modern .contact-social-card{
    min-height:285px!important;
  }
}
@media(max-width:760px){
  .contact-social-section .contact-social-modern{
    grid-template-columns:1fr!important;
  }
  .contact-social-section .contact-social-modern .contact-social-card{
    min-height:245px!important;
    padding:25px 100px 25px 25px!important;
  }
  .contact-social-section .contact-social-modern .contact-social-icon{
    top:24px!important;
    right:24px!important;
    width:60px!important;
    height:60px!important;
  }
  .contact-social-section .contact-social-modern .contact-social-icon .social-icon{
    width:38px!important;
    height:38px!important;
  }
}

/* Tema 1.3.1 - Tessera Palestra CAI Meda nel riquadro informativo */
.gym-membership-card.gym-membership-step.gym-membership-step-required{
  display:grid!important;
  grid-template-columns:minmax(145px,.72fr) minmax(230px,1.28fr)!important;
  align-items:center!important;
  gap:24px!important;
  padding:20px 20px 20px 24px!important;
  overflow:hidden;
  border:1px solid #bfd3e1!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(110,175,216,.24),transparent 44%),
    linear-gradient(135deg,#f8fbfd 0%,#eaf4fa 100%)!important;
  color:#15324a!important;
  box-shadow:none!important;
}
.gym-membership-card-kicker{
  display:block;
  margin:0 0 12px;
  color:#326483;
  font-size:10px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.gym-membership-card.gym-membership-step .gym-membership-step-copy strong{
  display:block;
  color:#123e65!important;
  font-size:clamp(21px,2vw,28px)!important;
  font-weight:800;
  line-height:1.04!important;
  letter-spacing:-.035em;
}
.gym-membership-card.gym-membership-step .gym-membership-step-copy small{
  display:block;
  margin-top:12px!important;
  color:#526979!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.gym-membership-card-visual{
  width:min(100%,440px);
  margin:0;
  justify-self:end;
}
.gym-membership-card-visual img{
  display:block;
  width:100%;
  height:auto;
  transform:rotate(-1.6deg);
  transform-origin:center;
  filter:drop-shadow(0 15px 16px rgba(14,48,73,.18));
}
@media(max-width:640px){
  .gym-membership-card.gym-membership-step.gym-membership-step-required{
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:20px 18px 18px!important;
    border-radius:20px!important;
  }
  .gym-membership-card.gym-membership-step .gym-membership-step-copy strong{
    font-size:23px!important;
  }
  .gym-membership-card.gym-membership-step .gym-membership-step-copy small{
    font-size:13px!important;
  }
  .gym-membership-card-visual{
    width:100%;
    max-width:420px;
    justify-self:center;
  }
  .gym-membership-card-visual img{transform:rotate(-1deg)}
}
/* v1.3.6 — Hero dedicate per Tesseramento e Contatti */
.tesseramento-page-hero,.contatti-page-hero{background:linear-gradient(118deg,#052d53 0%,#0a5f91 54%,#70bdd2 100%)!important;isolation:isolate;min-height:432px!important;overflow:hidden!important}
.tesseramento-page-hero:after,.contatti-page-hero:after{display:none!important}
.tesseramento-page-hero .page-hero-content,.contatti-page-hero .page-hero-content{position:relative!important;z-index:3!important;max-width:min(54%,650px)!important;color:#fff!important}
.tesseramento-page-hero .section-kicker,.contatti-page-hero .section-kicker{color:#c7e8f3!important}
.tesseramento-page-hero .section-kicker:before,.contatti-page-hero .section-kicker:before{background:#c7e8f3!important}
.tesseramento-page-hero h1,.contatti-page-hero h1{color:#fff!important;max-width:8.8ch!important}
.tesseramento-page-hero p,.contatti-page-hero p{color:#e4f2f7!important;max-width:30em!important}
.membership-hero-art{position:absolute;z-index:1;right:clamp(8%,10vw,14%);top:19%;width:min(31vw,310px);height:min(19.5vw,195px);border:1px solid rgba(255,255,255,.58);border-radius:26px;background:linear-gradient(140deg,rgba(255,255,255,.27),rgba(255,255,255,.06));box-shadow:0 28px 48px rgba(0,25,48,.25);transform:rotate(-8deg)}
.membership-hero-card-label{position:absolute;left:10%;top:17%;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(23px,2.7vw,31px);font-weight:500;letter-spacing:-.07em;line-height:.84}
.membership-hero-card-year{position:absolute;right:9%;bottom:12%;color:#d2edf6;font-size:11px;font-weight:900;letter-spacing:.15em}
.membership-hero-arc,.contacts-hero-arc{position:absolute;z-index:0;right:-2%;bottom:-35%;width:65%;height:70%;border:40px solid rgba(255,255,255,.12);border-radius:50%;transform:rotate(-18deg)}
.contacts-hero-art{position:absolute;z-index:1;right:clamp(4%,6vw,9%);top:0;width:360px;height:100%;color:#fff}
.contacts-hero-place{position:absolute;top:16%;right:9%;display:flex;align-items:center;gap:14px}
.contacts-hero-place>span:last-child{display:grid;gap:4px}.contacts-hero-place strong{font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.contacts-hero-place small{color:#c8e6f0;font-size:10px;font-weight:700}
.contacts-hero-pin{position:relative;width:64px;height:64px;border-radius:50% 50% 50% 0;background:#c62026;box-shadow:0 14px 28px rgba(84,5,18,.28);transform:rotate(-45deg)}
.contacts-hero-pin:after{content:"";position:absolute;top:20px;left:20px;width:24px;height:24px;border-radius:50%;background:#fff}
.contacts-hero-channel{position:absolute;display:flex;align-items:center;justify-content:center;width:76px;height:76px;border:1px solid rgba(255,255,255,.48);border-radius:22px;background:rgba(255,255,255,.12);box-shadow:0 14px 25px rgba(0,28,52,.14);color:#fff}
.contacts-hero-channel .social-icon{width:36px;height:36px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.contacts-hero-channel .social-icon .icon-fill{fill:currentColor;stroke:none}
.contacts-hero-email{top:41%;right:59%;border-radius:50%;font-family:Georgia,'Times New Roman',serif;font-size:45px;line-height:1}.contacts-hero-instagram{top:41%;right:31%}.contacts-hero-facebook{top:63%;right:47%;border-radius:50%}.contacts-hero-whatsapp{top:63%;right:19%;border-radius:50%}
.contacts-hero-connector{position:absolute;height:1px;background:rgba(255,255,255,.32);transform-origin:left center}.contacts-hero-connector-one{top:35%;right:28%;width:129px;transform:rotate(-137deg)}.contacts-hero-connector-two{top:58%;right:45%;width:87px;transform:rotate(-108deg)}.contacts-hero-connector-three{top:58%;right:32%;width:72px;transform:rotate(-70deg)}
@media(max-width:980px){.tesseramento-page-hero .page-hero-content,.contatti-page-hero .page-hero-content{max-width:57%!important}.membership-hero-art{right:6%;width:290px;height:182px}.contacts-hero-art{right:2%;transform:scale(.88);transform-origin:right center}}
@media(max-width:760px){.tesseramento-page-hero,.contatti-page-hero{min-height:610px!important;padding-bottom:294px!important}.tesseramento-page-hero .page-hero-content,.contatti-page-hero .page-hero-content{max-width:100%!important}.tesseramento-page-hero h1,.contatti-page-hero h1{max-width:9.4ch!important}.membership-hero-art{top:auto;right:-55px;bottom:48px;width:260px;height:163px}.membership-hero-card-label{font-size:27px}.membership-hero-arc,.contacts-hero-arc{right:-25%;bottom:-28%;width:95%;height:49%;border-width:25px}.contacts-hero-art{top:auto;right:-4px;bottom:18px;width:260px;height:230px;transform:scale(1);transform-origin:right bottom}.contacts-hero-place{top:0;right:15px;gap:8px}.contacts-hero-place strong{font-size:8px}.contacts-hero-place small{font-size:7px}.contacts-hero-pin{width:42px;height:42px}.contacts-hero-pin:after{top:13px;left:13px;width:16px;height:16px}.contacts-hero-channel{width:53px;height:53px}.contacts-hero-channel .social-icon{width:26px;height:26px}.contacts-hero-email{top:70px;right:145px;font-size:32px}.contacts-hero-instagram{top:70px;right:75px}.contacts-hero-facebook{top:137px;right:117px}.contacts-hero-whatsapp{top:137px;right:44px}.contacts-hero-connector-one{top:61px;right:80px;width:86px}.contacts-hero-connector-two{top:126px;right:101px;width:57px}.contacts-hero-connector-three{top:126px;right:74px;width:49px}}
@media(prefers-reduced-motion:reduce){.membership-hero-art,.contacts-hero-art{transform:none!important}}

/* v1.3.7 — Hero illustrate per Chi siamo e Archivio notizie */
.sezione-page-hero,.news-page-hero{background:#063a62!important;isolation:isolate;min-height:432px!important;overflow:hidden!important}
.sezione-page-hero:after,.news-page-hero:after{display:none!important}
.page-hero-illustration{position:absolute!important;z-index:0!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important;pointer-events:none!important}
.sezione-page-hero:before,.news-page-hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(2,38,68,.22) 0%,rgba(2,38,68,.06) 54%,rgba(2,38,68,0) 76%);pointer-events:none}
.sezione-page-hero .page-hero-content,.news-page-hero .page-hero-content{position:relative!important;z-index:2!important;max-width:min(55%,690px)!important;color:#fff!important}
.sezione-page-hero .section-kicker,.news-page-hero .section-kicker{color:#caeafa!important}
.sezione-page-hero .section-kicker:before,.news-page-hero .section-kicker:before{background:#caeafa!important}
.sezione-page-hero h1,.news-page-hero h1{color:#fff!important}
.sezione-page-hero h1{max-width:10.5ch!important}
.news-page-hero h1{max-width:12ch!important}
.sezione-page-hero p,.news-page-hero p{color:#e5f3f9!important;max-width:31em!important}
@media(max-width:980px){
  .sezione-page-hero .page-hero-content,.news-page-hero .page-hero-content{max-width:61%!important}
  .page-hero-illustration{object-position:61% center!important}
}
@media(max-width:760px){
  .sezione-page-hero,.news-page-hero{min-height:640px!important;padding-bottom:258px!important}
  .sezione-page-hero:before,.news-page-hero:before{background:linear-gradient(180deg,rgba(2,38,68,.84) 0%,rgba(2,38,68,.62) 48%,rgba(2,38,68,.08) 100%)}
  .sezione-page-hero .page-hero-content,.news-page-hero .page-hero-content{max-width:100%!important}
  .sezione-page-hero h1,.news-page-hero h1{max-width:10.6ch!important}
  .sezione-page-hero p,.news-page-hero p{max-width:26em!important}
  .page-hero-illustration{object-position:63% center!important}
}
@media(max-width:430px){
  .sezione-page-hero,.news-page-hero{min-height:670px!important;padding-bottom:276px!important}
}

/* v1.3.8 — Hero illustrate coordinate e inquadrature desktop complete */
.tesseramento-page-hero,.contatti-page-hero,.sezione-page-hero,.news-page-hero{background:#063a62!important;isolation:isolate;min-height:432px!important;overflow:hidden!important}
.tesseramento-page-hero:after,.contatti-page-hero:after,.sezione-page-hero:after,.news-page-hero:after{display:none!important}
.tesseramento-page-hero:before,.contatti-page-hero:before,.sezione-page-hero:before,.news-page-hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(2,38,68,.24) 0%,rgba(2,38,68,.08) 54%,rgba(2,38,68,0) 76%);pointer-events:none}
.tesseramento-page-hero .page-hero-illustration,.contatti-page-hero .page-hero-illustration,.sezione-page-hero .page-hero-illustration,.news-page-hero .page-hero-illustration{object-fit:contain!important;object-position:right center!important;background:#063a62!important}
.tesseramento-page-hero .page-hero-content,.contatti-page-hero .page-hero-content,.sezione-page-hero .page-hero-content,.news-page-hero .page-hero-content{position:relative!important;z-index:3!important;max-width:min(55%,690px)!important;color:#fff!important}
.tesseramento-page-hero .section-kicker,.contatti-page-hero .section-kicker,.sezione-page-hero .section-kicker,.news-page-hero .section-kicker{color:#caeafa!important}
.tesseramento-page-hero .section-kicker:before,.contatti-page-hero .section-kicker:before,.sezione-page-hero .section-kicker:before,.news-page-hero .section-kicker:before{background:#caeafa!important}
.tesseramento-page-hero h1,.contatti-page-hero h1,.sezione-page-hero h1,.news-page-hero h1{color:#fff!important}
.tesseramento-page-hero p,.contatti-page-hero p,.sezione-page-hero p,.news-page-hero p{color:#e5f3f9!important;max-width:31em!important}
.membership-hero-card-authentic{position:absolute;z-index:2;right:clamp(8%,11vw,15%);top:50%;width:clamp(210px,22vw,300px);margin:0;overflow:hidden;border:1px solid rgba(241,220,165,.72);border-radius:10px;background:#14202c;box-shadow:0 24px 45px rgba(0,20,41,.38);transform:translateY(-50%) rotate(-4deg)}
.membership-hero-card-authentic img{display:block;width:100%;height:auto;max-width:none!important}
@media(max-width:980px){
  .tesseramento-page-hero .page-hero-content,.contatti-page-hero .page-hero-content,.sezione-page-hero .page-hero-content,.news-page-hero .page-hero-content{max-width:62%!important}
  .membership-hero-card-authentic{right:6%;width:250px}
}
@media(max-width:760px){
  .tesseramento-page-hero,.contatti-page-hero,.sezione-page-hero,.news-page-hero{min-height:650px!important;padding-bottom:274px!important}
  .tesseramento-page-hero:before,.contatti-page-hero:before,.sezione-page-hero:before,.news-page-hero:before{background:linear-gradient(180deg,rgba(2,38,68,.86) 0%,rgba(2,38,68,.66) 48%,rgba(2,38,68,.1) 100%)}
  .tesseramento-page-hero .page-hero-illustration,.contatti-page-hero .page-hero-illustration,.sezione-page-hero .page-hero-illustration,.news-page-hero .page-hero-illustration{object-fit:cover!important;object-position:63% center!important}
  .tesseramento-page-hero .page-hero-content,.contatti-page-hero .page-hero-content,.sezione-page-hero .page-hero-content,.news-page-hero .page-hero-content{max-width:100%!important}
  .tesseramento-page-hero h1,.contatti-page-hero h1,.sezione-page-hero h1,.news-page-hero h1{max-width:10.6ch!important}
  .membership-hero-card-authentic{top:auto;right:22px;bottom:28px;width:210px;transform:rotate(-3deg)}
}
@media(max-width:430px){
  .tesseramento-page-hero,.contatti-page-hero,.sezione-page-hero,.news-page-hero{min-height:680px!important;padding-bottom:292px!important}
  .membership-hero-card-authentic{right:16px;bottom:24px;width:190px}
}

/* v1.3.9 — Tessera CAI protagonista nella Hero Tesseramento */
.membership-hero-card-authentic{right:clamp(5%,7vw,9%);width:clamp(320px,30vw,410px);border-radius:16px;box-shadow:0 30px 56px rgba(0,18,38,.46);transform:translateY(-50%) rotate(-3deg)}
@media(max-width:980px){
  .membership-hero-card-authentic{right:5%;width:300px}
}
@media(max-width:760px){
  .membership-hero-card-authentic{right:18px;bottom:24px;width:235px;transform:rotate(-2deg)}
}
@media(max-width:430px){
  .membership-hero-card-authentic{right:14px;bottom:20px;width:210px}
}

/* v1.3.10 — Composizione approvata della Hero Tesseramento */
.tesseramento-page-hero{min-height:540px!important}
.tesseramento-page-hero .page-hero-illustration{object-fit:contain!important;object-position:right center!important;background:#063a62!important}
.tesseramento-page-hero .membership-hero-card-authentic{display:none!important}
@media(max-width:980px){
  .tesseramento-page-hero{min-height:510px!important}
  .tesseramento-page-hero .page-hero-illustration{object-position:right center!important}
}
@media(max-width:760px){
  .tesseramento-page-hero{min-height:650px!important}
  .tesseramento-page-hero .page-hero-illustration{object-fit:cover!important;object-position:62% center!important}
}

/* v1.3.11 — Hero illustrata per Rassegna stampa */
.caimeda-press-review-page > .rassegna-stampa-page-hero{background:#063a62!important;isolation:isolate;min-height:500px!important;overflow:hidden!important}
.caimeda-press-review-page > .rassegna-stampa-page-hero:after{display:none!important}
.caimeda-press-review-page > .rassegna-stampa-page-hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(2,38,68,.3) 0%,rgba(2,38,68,.1) 56%,rgba(2,38,68,0) 78%);pointer-events:none}
.caimeda-press-review-page > .rassegna-stampa-page-hero .page-hero-illustration{object-fit:contain!important;object-position:right center!important;background:#063a62!important}
.caimeda-press-review-page > .rassegna-stampa-page-hero .page-hero-content{position:relative!important;z-index:3!important;max-width:min(55%,690px)!important;color:#fff!important}
.caimeda-press-review-page > .rassegna-stampa-page-hero .section-kicker{color:#caeafa!important}
.caimeda-press-review-page > .rassegna-stampa-page-hero .section-kicker:before{background:#caeafa!important}
.caimeda-press-review-page > .rassegna-stampa-page-hero h1{color:#fff!important;max-width:11ch!important}
.caimeda-press-review-page > .rassegna-stampa-page-hero p{color:#e5f3f9!important;max-width:31em!important}
@media(max-width:980px){
  .caimeda-press-review-page > .rassegna-stampa-page-hero{min-height:480px!important}
  .caimeda-press-review-page > .rassegna-stampa-page-hero .page-hero-content{max-width:62%!important}
}
@media(max-width:760px){
  .caimeda-press-review-page > .rassegna-stampa-page-hero{min-height:640px!important;padding-bottom:232px!important}
  .caimeda-press-review-page > .rassegna-stampa-page-hero:before{background:linear-gradient(180deg,rgba(2,38,68,.88) 0%,rgba(2,38,68,.68) 50%,rgba(2,38,68,.12) 100%)}
  .caimeda-press-review-page > .rassegna-stampa-page-hero .page-hero-illustration{object-fit:contain!important;object-position:center bottom!important}
  .caimeda-press-review-page > .rassegna-stampa-page-hero .page-hero-content{max-width:100%!important}
  .caimeda-press-review-page > .rassegna-stampa-page-hero h1{max-width:10.6ch!important}
  .caimeda-press-review-page > .rassegna-stampa-page-hero p{max-width:26em!important}
}

/* v1.3.12 — Composizioni verticali complete per le Hero su smartphone */
.page-hero-illustration-picture{display:contents}
@media(max-width:760px){
  .tesseramento-page-hero,.contatti-page-hero,.sezione-page-hero,.news-page-hero,
  .caimeda-press-review-page > .rassegna-stampa-page-hero{min-height:680px!important;padding-bottom:0!important}
  .tesseramento-page-hero:before,.contatti-page-hero:before,.sezione-page-hero:before,.news-page-hero:before,
  .caimeda-press-review-page > .rassegna-stampa-page-hero:before{background:linear-gradient(180deg,rgba(2,38,68,.94) 0%,rgba(2,38,68,.8) 42%,rgba(2,38,68,.22) 69%,rgba(2,38,68,.03) 100%)!important}
  .tesseramento-page-hero .page-hero-illustration,.contatti-page-hero .page-hero-illustration,.sezione-page-hero .page-hero-illustration,.news-page-hero .page-hero-illustration,
  .caimeda-press-review-page > .rassegna-stampa-page-hero .page-hero-illustration{object-fit:cover!important;object-position:center center!important}
  .tesseramento-page-hero .page-hero-content,.contatti-page-hero .page-hero-content,.sezione-page-hero .page-hero-content,.news-page-hero .page-hero-content,
  .caimeda-press-review-page > .rassegna-stampa-page-hero .page-hero-content{max-width:100%!important}
}

/* v1.3.13 — Hero illustrate approvate per Attività e Palestra */
.attivita-page-hero,.palestra-page-hero{background:#063a62!important;isolation:isolate;min-height:500px!important;overflow:hidden!important}
.attivita-page-hero:after,.palestra-page-hero:after{display:none!important}
.attivita-page-hero:before,.palestra-page-hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(2,38,68,.38) 0%,rgba(2,38,68,.14) 53%,rgba(2,38,68,0) 78%);pointer-events:none}
.attivita-page-hero .page-hero-illustration,.palestra-page-hero .page-hero-illustration{object-fit:contain!important;object-position:right center!important;background:#063a62!important}
.attivita-page-hero .page-hero-content,.palestra-page-hero .page-hero-content{position:relative!important;z-index:3!important;max-width:min(55%,690px)!important;color:#fff!important}
.attivita-page-hero .section-kicker,.palestra-page-hero .section-kicker{color:#caeafa!important}
.attivita-page-hero .section-kicker:before,.palestra-page-hero .section-kicker:before{background:#caeafa!important}
.attivita-page-hero h1,.palestra-page-hero h1{color:#fff!important}
.attivita-page-hero p,.palestra-page-hero p{color:#e5f3f9!important;max-width:31em!important}
.palestra-page-hero .gym-hero-whatsapp{z-index:4!important}
@media(max-width:980px){
  .attivita-page-hero,.palestra-page-hero{min-height:480px!important}
  .attivita-page-hero .page-hero-content,.palestra-page-hero .page-hero-content{max-width:61%!important}
  .attivita-page-hero .page-hero-illustration,.palestra-page-hero .page-hero-illustration{object-position:right center!important}
}
@media(max-width:760px){
  .attivita-page-hero,.palestra-page-hero{min-height:680px!important;padding-bottom:0!important}
  .attivita-page-hero:before,.palestra-page-hero:before{background:linear-gradient(180deg,rgba(2,38,68,.95) 0%,rgba(2,38,68,.81) 42%,rgba(2,38,68,.23) 69%,rgba(2,38,68,.03) 100%)!important}
  .attivita-page-hero .page-hero-illustration,.palestra-page-hero .page-hero-illustration{object-fit:cover!important;object-position:center center!important}
  .attivita-page-hero .page-hero-content,.palestra-page-hero .page-hero-content{max-width:100%!important}
  .attivita-page-hero h1,.palestra-page-hero h1{max-width:10.6ch!important}
  .palestra-page-hero .gym-hero-whatsapp{display:none!important}
}

/* v1.3.14 — Divisione verticale comune alle Hero illustrate */
:root{--caimeda-illustrated-hero-split:18%}
.attivita-page-hero:after,.palestra-page-hero:after,.tesseramento-page-hero:after,.contatti-page-hero:after,.sezione-page-hero:after,.news-page-hero:after,
.caimeda-press-review-page > .rassegna-stampa-page-hero:after{content:""!important;display:block!important;position:absolute!important;z-index:2!important;inset:0 auto 0 0!important;width:var(--caimeda-illustrated-hero-split)!important;height:auto!important;background:#063a62!important;pointer-events:none!important}

/* v1.3.16 — Hero illustrate: due sole fasce coerenti con Tesseramento.
 * Il pannello sinistro rimane al 18%; l'immagine ha una larghezza esplicita
 * dell'82%, così le proporzioni intrinseche dei diversi file non possono
 * produrre una fascia residua sul bordo destro.
 */
@media (min-width:761px){
  .attivita-page-hero .page-hero-illustration,.palestra-page-hero .page-hero-illustration,
  .tesseramento-page-hero .page-hero-illustration,.contatti-page-hero .page-hero-illustration,
  .sezione-page-hero .page-hero-illustration,.news-page-hero .page-hero-illustration,
  .caimeda-press-review-page > .rassegna-stampa-page-hero .page-hero-illustration{
    top:0!important;
    right:auto!important;
    bottom:0!important;
    left:var(--caimeda-illustrated-hero-split)!important;
    width:calc(100% - var(--caimeda-illustrated-hero-split))!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:right center!important;
  }
}
@media (max-width:760px){
  .attivita-page-hero:after,.palestra-page-hero:after,.tesseramento-page-hero:after,
  .contatti-page-hero:after,.sezione-page-hero:after,.news-page-hero:after,
  .caimeda-press-review-page > .rassegna-stampa-page-hero:after{display:none!important}
}

/* v1.3.17 — Hero esclusiva dell'archivio Attività svolte. */
.attivita-svolte-page-hero{background:#063a62!important;isolation:isolate;min-height:500px!important;overflow:hidden!important}
.attivita-svolte-page-hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(2,38,68,.38) 0%,rgba(2,38,68,.14) 53%,rgba(2,38,68,0) 78%);pointer-events:none}
.attivita-svolte-page-hero:after{content:""!important;display:block!important;position:absolute!important;z-index:2!important;inset:0 auto 0 0!important;width:var(--caimeda-illustrated-hero-split)!important;background:#063a62!important;pointer-events:none!important}
.attivita-svolte-page-hero .page-hero-illustration{object-fit:cover!important;object-position:right center!important;background:#063a62!important}
.attivita-svolte-page-hero .page-hero-content{position:relative!important;z-index:3!important;max-width:min(55%,690px)!important;color:#fff!important}
.attivita-svolte-page-hero .section-kicker{color:#caeafa!important}
.attivita-svolte-page-hero .section-kicker:before{background:#caeafa!important}
.attivita-svolte-page-hero h1{color:#fff!important}
.attivita-svolte-page-hero p{color:#e5f3f9!important;max-width:31em!important}
@media (min-width:761px){
  .attivita-svolte-page-hero .page-hero-illustration{top:0!important;right:auto!important;bottom:0!important;left:var(--caimeda-illustrated-hero-split)!important;width:calc(100% - var(--caimeda-illustrated-hero-split))!important;height:100%!important;object-fit:cover!important;object-position:right center!important}
}
@media (max-width:980px){
  .attivita-svolte-page-hero{min-height:480px!important}
  .attivita-svolte-page-hero .page-hero-content{max-width:61%!important}
}
@media (max-width:760px){
  .attivita-svolte-page-hero{min-height:680px!important;padding-bottom:0!important}
  .attivita-svolte-page-hero:before{background:linear-gradient(180deg,rgba(2,38,68,.95) 0%,rgba(2,38,68,.81) 42%,rgba(2,38,68,.23) 69%,rgba(2,38,68,.03) 100%)!important}
  .attivita-svolte-page-hero:after{display:none!important}
  .attivita-svolte-page-hero .page-hero-illustration{inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}
  .attivita-svolte-page-hero .page-hero-content{max-width:100%!important}
  .attivita-svolte-page-hero h1{max-width:10.6ch!important}
}

/* v1.3.18 — La Hero del Tema sostituisce solo la copertina duplicata del Manager. */
.caimeda-activity-archive-page .cmm-activity-archive-hero{display:none!important}

/* v1.3.20 — Accesso e minorenni nella pagina Palestra. */
.gym-hours-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.gym-hours-card{min-height:248px}
.gym-hours-card-minors::before{background:linear-gradient(90deg,#15806f 0%,#48ad96 100%)}
.gym-hours-card-staff::before{background:linear-gradient(90deg,#a46b16 0%,#dfaa43 100%)}
.gym-hours-card-minors small{color:#147665}
.gym-hours-card-staff small{color:#8b5b12}
@media(min-width:701px) and (max-width:1180px){
  .gym-hours-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gym-hours-card{min-height:228px}
}
@media(max-width:700px){
  .gym-hours-grid{grid-template-columns:1fr!important}
  .gym-hours-card{min-height:0}
}

/* v1.3.21 — Un solo riquadro Minorenni con le due modalità di accesso. */
.gym-hours-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr) minmax(0,.9fr)!important}
.gym-hours-card{min-height:248px}
.gym-hours-card-minors::before{background:linear-gradient(90deg,#15806f 0%,#48ad96 100%)}
.gym-hours-card-minors > small{color:#147665}
.gym-minor-options{display:grid;gap:12px;margin-top:4px}
.gym-minor-option{padding:13px 14px;border:1px solid #d6ebe5;border-radius:16px;background:#f4faf8}
.gym-minor-option b{display:block;margin:0 0 7px;color:#063866;font-size:15px;line-height:1.25}
.gym-hours-card .gym-minor-option span{margin:0 0 8px;padding:5px 9px;background:#dff2ec;color:#126956;font-size:11px;line-height:1.25;letter-spacing:.02em}
.gym-hours-card .gym-minor-option p{margin:0;color:#536f69;font-size:12.5px;line-height:1.5}
@media(min-width:701px) and (max-width:1180px){
  .gym-hours-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gym-hours-card{min-height:220px}
  .gym-hours-card-access{grid-column:2;grid-row:1}
  .gym-hours-card-minors{grid-column:1/-1;grid-row:2;min-height:0}
  .gym-minor-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .gym-hours-grid{grid-template-columns:1fr!important}
  .gym-hours-card-access,.gym-hours-card-minors{grid-column:auto;grid-row:auto}
  .gym-minor-options{grid-template-columns:1fr}
}
