/*
Theme Name: La Pescara — Centenario Future
Theme URI: https://www.canottieripescara.it/
Author: Delta Service / concept
Description: Tema su misura per Circolo Canottieri La Pescara. Layout immersivo, contenuti WordPress originali e news dinamiche.
Version: 3.2.0
Requires PHP: 7.4
Text Domain: lap-future
*/
:root{--navy:#041a3a;--deep:#062552;--royal:#093d82;--gold:#e7b85c;--white:#f6f8ff;--muted:#b5cbe7;--line:rgba(176,211,250,.27)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 80% 8%,#19518b 0%,transparent 31%),linear-gradient(148deg,#062752,#03162f 64%,#062953);color:var(--white);font-family:Inter,Arial,Helvetica,sans-serif;overflow-x:hidden}body:before{content:'';position:fixed;inset:0;z-index:-1;background:repeating-linear-gradient(156deg,transparent,transparent 110px,rgba(63,151,222,.024) 111px,transparent 112px);pointer-events:none}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%}.wrap{width:min(1440px,94vw);margin-inline:auto}.site-header{position:relative;z-index:30;background:linear-gradient(180deg,rgba(2,22,52,.97),rgba(2,25,55,.78));border-bottom:1px solid rgba(173,212,255,.13);backdrop-filter:blur(18px)}.nav-row{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:24px}.brand{display:inline-flex;gap:12px;align-items:center;min-width:230px}.brand-mark{font-size:28px;color:var(--gold);line-height:1}.brand-copy{line-height:.99}.brand-copy span{display:block;font-size:11px;letter-spacing:.27em;text-transform:uppercase;color:#b9d3f5;margin-bottom:7px}.brand-copy strong{font:italic 32px Georgia,'Times New Roman',serif;white-space:nowrap}.navlinks{display:flex;align-items:center;gap:clamp(16px,2vw,36px)}.navlinks a{font-size:13px;font-weight:600;color:#e0eafb;transition:color .2s}.navlinks a:hover,.navlinks .current-menu-item>a{color:var(--gold)}.nav-cta{border:1px solid rgba(231,184,92,.65);border-radius:999px;padding:10px 15px}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:9px;color:white;padding:9px 12px}.main-surface{position:relative;overflow:hidden}.main-surface:before,.main-surface:after{content:'';position:absolute;border:1px solid rgba(152,215,255,.14);width:65vw;height:22vw;border-radius:50%;transform:rotate(-11deg);right:-14vw;top:170px;pointer-events:none}.main-surface:after{width:110vw;height:31vw;right:30vw;top:750px}.hero{position:relative;padding:44px 0 22px;isolation:isolate}.hero-topline{display:flex;justify-content:space-between;align-items:start;gap:20px}.eyebrow{font-size:11px;letter-spacing:.46em;color:#bfdbf5;font-weight:700}.hero h1{font:italic clamp(66px,8vw,138px)/.94 Georgia,serif;letter-spacing:-.058em;margin:10px 0 7px;text-shadow:0 12px 46px #00152d}.hero h1:before{content:'“';color:var(--gold)}.hero h1:after{content:'”';color:var(--gold)}.hero-rule{display:flex;align-items:center;gap:15px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;font-weight:700}.hero-rule:before{content:'';width:40px;height:2px;background:var(--gold)}.centenary{width:190px;height:auto;object-fit:contain;filter:drop-shadow(0 9px 20px rgba(0,0,0,.3))}.hero-grid{display:grid;grid-template-columns:1.12fr .9fr .95fr;gap:8px;margin-top:32px;transform:skewX(-8deg);margin-inline:34px;overflow:hidden;border-radius:8px 30px 30px 8px;box-shadow:0 32px 72px rgba(0,0,0,.28)}.hero-photo{height:clamp(260px,32vw,455px);position:relative;overflow:hidden;background:#154476}.hero-photo img{width:115%;height:100%;object-fit:cover;max-width:none;transform:skewX(8deg) scale(1.12);margin-left:-7%;filter:saturate(1.08) contrast(1.03)}.hero-photo:first-child img{object-position:55% 57%}.hero-photo:nth-child(2) img{object-position:48% 54%}.hero-photo:nth-child(3) img{object-position:46% 48%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(1,29,62,.34))}.hero-under{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;margin:15px 0}.photo-caption{font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:#9dbddd}.slide-dots{display:flex;gap:8px}.slide-dots span{width:7px;height:7px;border-radius:100%;background:#87a9cd}.slide-dots span:first-child{background:var(--gold)}.anthem{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:19px 26px;margin:-15px 20px 22px auto;width:min(655px,95%);border:1px solid rgba(197,232,255,.53);border-radius:22px;background:linear-gradient(115deg,rgba(104,175,235,.25),rgba(5,31,71,.83));box-shadow:0 22px 65px rgba(0,0,0,.3),inset 0 1px 0 #ffffff49;backdrop-filter:blur(17px);z-index:2}.anthem-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:100%;border:2px solid var(--gold);font-size:31px;color:var(--gold)}.anthem h2{font:italic 27px Georgia,serif;margin:0 0 9px}.anthem audio{width:100%;height:33px;min-width:200px;accent-color:var(--gold)}.anthem-note{font-size:11px;line-height:1.3;color:#bfd5eb;margin:4px 0 0}.equalizer{height:35px;display:flex;align-items:center;gap:3px}.equalizer i{display:block;width:2px;height:var(--h);background:#b6dfff;border-radius:2px;opacity:.85}.section-title{font:italic clamp(38px,4.5vw,69px) Georgia,serif;letter-spacing:-.045em;margin:0;line-height:1}.section-title em{color:var(--gold);font-style:italic}.section-title-sm{font-size:clamp(33px,3.4vw,52px)}.news{padding:25px 0 60px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.section-heading:after{content:'';height:1px;background:linear-gradient(90deg,var(--gold),transparent);flex:1;max-width:250px}.all-link{font-size:13px;font-weight:700;color:#f5d28d;white-space:nowrap}.news-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.news-card{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(162,207,252,.3);border-radius:16px;overflow:hidden;background:linear-gradient(150deg,rgba(40,95,147,.77),rgba(7,31,70,.96));box-shadow:0 14px 40px rgba(0,12,29,.2);transition:transform .25s,border-color .25s}.news-card:hover{transform:translateY(-7px);border-color:var(--gold)}.news-visual{height:147px;background:#1b4874;overflow:hidden}.news-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.news-card:hover .news-visual img{transform:scale(1.07)}.news-card-body{padding:16px 15px 18px;display:flex;flex:1;flex-direction:column}.meta{font-size:10px;letter-spacing:.07em;color:#afcbe5;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.meta-tag{background:var(--gold);color:#08264f;padding:4px 9px;border-radius:30px;font-size:9px;font-weight:900;text-transform:uppercase}.news-card h3{font:italic 20px/1.23 Georgia,serif;margin:15px 0 auto;min-height:94px;overflow-wrap:anywhere}.news-arrow{align-self:flex-end;margin-top:13px;border:1px solid var(--gold);border-radius:100%;width:30px;height:30px;display:grid;place-items:center;color:var(--gold);font-size:18px}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:38px;padding:20px 0 47px}.editorial-col{position:relative;border-top:1px solid var(--line);padding-top:22px}.editorial-col+.editorial-col{border-left:1px solid rgba(231,184,92,.44);padding-left:38px}.editorial p{font-size:15px;line-height:1.7;color:#d7e6fa}.editorial blockquote{margin:17px 0;font:italic 17px/1.65 Georgia,serif;color:#e8f0fd}.attribution{font-size:13px;color:#c0d7ed}.gold-btn{display:inline-flex;align-items:center;gap:16px;margin-top:18px;padding:12px 22px;border-radius:30px;background:linear-gradient(90deg,#f4d890,#cda14e);color:#082452;font-size:13px;font-weight:800;box-shadow:0 9px 26px rgba(0,0,0,.14)}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:76px}.course-card{position:relative;min-height:252px;padding:26px;border:1px solid #5d9bcb;border-radius:20px;overflow:hidden;background:#0b386d;isolation:isolate}.course-card:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06295cee 0%,#073466d9 58%,#0c376c22),var(--bg) center / cover;z-index:-1}.course-card .symbol{font-size:27px;color:var(--gold)}.course-card h3{font:italic 30px/1 Georgia,serif;margin:12px 0}.course-card p{color:#d6e9fb;font-size:12px;line-height:1.65;max-width:75%;min-height:57px}.course-card .gold-btn{margin-top:10px}.site-footer{border-top:1px solid var(--line);background:linear-gradient(95deg,#061a3f,#053167);padding:30px 0 42px}.footer-row{display:flex;align-items:center;gap:32px;flex-wrap:wrap}.footer-row h2{font:italic 43px Georgia,serif;margin:0 8px 0 0}.footer-row a,.footer-row span{font-size:13px;color:#dce8fb}.footer-row b{color:var(--gold);font-size:21px;margin-right:7px}.subfooter{font-size:11px;color:#aac4dd;margin-top:23px}.inner-main{padding:70px 0 100px;min-height:55vh}.inner-main h1{font:italic clamp(42px,6vw,78px) Georgia,serif}.inner-main .entry-body{max-width:850px;font-size:17px;line-height:1.75}.inner-main .entry-body img{height:auto}.inner-main a:not(.gold-btn){text-decoration:underline;text-decoration-color:var(--gold)}.post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.post-list .news-visual{height:215px}.pagination{margin-top:30px}.screen-reader-text{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}.skip-link:focus{position:fixed;clip-path:none;z-index:100;top:10px;left:10px;background:white;color:#123;padding:10px;width:auto;height:auto}@media(max-width:1100px){.news-grid{grid-template-columns:repeat(3,1fr)}.navlinks{gap:14px}.brand{min-width:auto}.hero h1{font-size:clamp(55px,8vw,105px)}}@media(max-width:760px){.wrap{width:min(100% - 32px,700px)}.nav-row{min-height:72px}.brand-copy strong{font-size:24px}.brand-mark{font-size:22px}.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:#051b3c;flex-direction:column;align-items:stretch;padding:24px;gap:19px;box-shadow:0 14px 30px #0007}.navlinks.is-open{display:flex}.hero{padding-top:37px}.hero-topline{position:relative}.centenary{width:92px;position:absolute;right:0;top:-12px}.eyebrow{font-size:9px;letter-spacing:.22em}.hero h1{font-size:clamp(45px,10vw,70px);margin-top:18px}.hero-rule{font-size:9px;letter-spacing:.14em}.hero-grid{margin-inline:8px;gap:5px;transform:skewX(-4deg);margin-top:26px}.hero-photo{height:260px}.hero-photo img{transform:skewX(4deg) scale(1.28)}.hero-photo:nth-child(3){display:none}.hero-grid{grid-template-columns:1fr 1fr}.anthem{width:100%;margin:8px auto 18px;padding:15px;gap:12px;grid-template-columns:auto minmax(0,1fr)}.anthem-icon{width:43px;height:43px;font-size:23px}.anthem h2{font-size:23px}.equalizer{display:none}.news{padding-top:14px}.section-heading{align-items:flex-end}.section-heading:after{display:none}.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-visual{height:130px}.news-card h3{font-size:18px;min-height:90px}.editorial{grid-template-columns:1fr;gap:30px}.editorial-col+.editorial-col{border-left:0;padding-left:0}.course-grid{grid-template-columns:1fr}.course-card{min-height:215px}.footer-row{gap:17px}.post-list{grid-template-columns:1fr 1fr}}@media(max-width:460px){.hero h1{font-size:46px}.hero-photo{height:190px}.news-grid,.post-list{grid-template-columns:1fr}.news-card{flex-direction:row;min-height:150px}.news-visual{height:auto;width:42%;flex:none}.news-card-body{width:58%}.news-card h3{font-size:17px;min-height:unset}.meta{font-size:9px}.news-arrow{display:none}.anthem audio{min-width:0}.section-title{font-size:40px}.all-link{font-size:11px}.course-card p{max-width:86%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}


/* v1.1 — WordPress menu: top-level horizontal, submenus as dropdowns */
.site-header .navlinks{min-width:0;align-self:stretch;display:flex;align-items:center}
.site-header .nav-menu{display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,1.7vw,26px);list-style:none;margin:0;padding:0}
.site-header .nav-menu li{position:relative;list-style:none;margin:0;padding:0}
.site-header .nav-menu>li>a{display:inline-flex;align-items:center;min-height:48px;white-space:nowrap;font-size:13px;font-weight:600;color:#e0eafb;text-decoration:none}
.site-header .nav-menu>li:hover>a,.site-header .nav-menu>li:focus-within>a,.site-header .nav-menu .current-menu-item>a{color:var(--gold)}
.site-header .nav-menu .sub-menu{position:absolute;top:100%;left:0;z-index:99;min-width:205px;display:none;list-style:none;margin:0;padding:9px 0;background:#06254b;border:1px solid rgba(176,211,250,.28);border-radius:12px;box-shadow:0 22px 42px #00132d99}
.site-header .nav-menu .sub-menu li{list-style:none;margin:0;padding:0}
.site-header .nav-menu .sub-menu a{display:block;padding:11px 17px;line-height:1.3;white-space:normal;font-size:12px;color:#e0eafb}
.site-header .nav-menu .sub-menu a:hover,.site-header .nav-menu .sub-menu a:focus{background:rgba(255,255,255,.08);color:var(--gold)}
.site-header .nav-menu li:hover>.sub-menu,.site-header .nav-menu li:focus-within>.sub-menu{display:block}
.site-header .nav-menu .sub-menu .sub-menu{top:0;left:100%}
@media(max-width:1100px){.site-header .nav-menu{gap:11px}.site-header .nav-menu>li>a{font-size:12px}}
@media(max-width:760px){
 .site-header .navlinks{display:none;align-self:auto;align-items:stretch}
 .site-header .navlinks.is-open{display:flex;overflow-y:auto;max-height:calc(100vh - 72px)}
 .site-header .nav-menu{display:flex;align-items:stretch;flex-direction:column;gap:3px;width:100%;margin:0;padding:0}
 .site-header .nav-menu>li>a{display:block;padding:10px 2px;min-height:0;white-space:normal}
 .site-header .nav-menu .sub-menu,.site-header .nav-menu .sub-menu .sub-menu{position:static;display:block;min-width:0;width:100%;margin:0 0 7px;padding:0 0 0 14px;box-shadow:none;background:transparent;border:0;border-left:1px solid rgba(231,184,92,.4);border-radius:0}
 .site-header .nav-menu .sub-menu a{padding:8px 12px}
}

/* v1.2: logo ufficiale in testata, senza alterare il layout del menu */
.site-header .brand { gap: 13px; flex-shrink: 0; }
.site-header .club-logo { display:block; width:58px; height:68px; object-fit:contain; flex-shrink:0; }
@media(max-width:760px){.site-header .club-logo{width:45px;height:54px}.site-header .brand-copy span{font-size:9px}.site-header .brand-copy strong{font-size:21px}}


/* v1.3: refinements requested on 2026-11-08 */
html{scroll-padding-top:120px}
.site-header{position:sticky;top:0}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

/* Header / navigation */
.site-header .nav-row{min-height:92px}
.site-header .nav-menu>li>a,
.site-header .nav-menu .sub-menu a,
.site-header .navlinks>a,
.nav-cta{
  font-family:'Manrope',Inter,'Segoe UI',Arial,sans-serif;
}
.site-header .nav-menu>li>a,
.site-header .navlinks>a{
  font-size:15px;
  font-weight:700;
  letter-spacing:.015em;
}
.site-header .nav-menu .sub-menu a{font-size:13px;font-weight:600}

/* Hero balance */
.eyebrow{font-size:15px;letter-spacing:.34em;color:#d8e7fa;font-weight:800}
.hero h1{
  font:italic clamp(60px,7vw,118px)/.94 'Cormorant Garamond',Georgia,serif;
  margin:8px 0 8px;
}
.hero-rule{font-size:12px;letter-spacing:.36em}
.centenary{width:220px}

/* News archive page */
.news-archive-head{
  padding:82px 0 18px;
}
.news-archive-head .section-title{
  margin:12px 0 10px;
  font-size:clamp(46px,6vw,86px);
}
.news-archive-intro{
  max-width:780px;
  margin:0;
  color:#d2e2f6;
  font-size:18px;
  line-height:1.7;
}
.news-archive.inner-main{
  padding-top:18px;
}
.post-list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.post-list .news-card{height:100%}
.post-list .news-card h3{min-height:72px}
@media(max-width:1050px){.post-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.post-list{grid-template-columns:1fr}}

/* Smaller screens */
@media(max-width:1100px){
  .site-header .nav-menu>li>a{font-size:14px}
  .centenary{width:190px}
}
@media(max-width:760px){
  html{scroll-padding-top:92px}
  .site-header .nav-row{min-height:76px}
  .eyebrow{font-size:12px;letter-spacing:.28em}
  .hero h1{font-size:clamp(52px,15vw,86px)}
  .centenary{width:138px}
}

/* v1.4 — refined spacing and readability */
.site-header{position:sticky!important;top:0;z-index:9999;background:rgba(2,20,49,.97);box-shadow:0 6px 24px rgba(0,9,29,.28)}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
.site-header .nav-row{gap:30px}
.site-header .nav-menu>li>a{font-family:'Manrope',Inter,'Segoe UI',sans-serif;font-weight:700;font-size:15px;line-height:1.4}
.site-header .nav-menu .sub-menu a{font-family:'Manrope',Inter,'Segoe UI',sans-serif;font-weight:600;font-size:13px}
.hero .eyebrow{font-size:clamp(14px,1.35vw,20px);letter-spacing:.3em;color:#e6f1ff}
.hero h1{font:italic clamp(58px,7vw,115px)/.94 'Cormorant Garamond',Georgia,serif}
.hero .centenary{width:clamp(180px,19vw,255px)}

.inner-main .entry-body :is(p,li,blockquote){line-height:1.8}
.news-archive-head{padding:60px 0 18px}
.news-archive-head .section-title{margin:10px 0 8px}
.news-archive-intro{color:#c9def5}
.news-archive .news-card h3{min-height:0;margin-bottom:20px}
.news-archive .news-card .news-visual{height:215px}
.news-archive .news-card .news-visual img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.site-header .nav-row{gap:10px}.hero .centenary{width:132px}.hero h1{font-size:clamp(55px,13vw,85px)}}


/* v1.5: scoped presentation. No blanket !important color overrides for Elementor. */
:root{--lap-text-on-dark:#e9f2ff;--lap-text-on-light:#16355c;--lap-heading-on-light:#08264b}
.inner-main .entry-body{color:var(--lap-text-on-dark)}
/* WordPress-native text defaults; Elementor and its own background panels retain their intended palette. */
.inner-main .entry-body > p,
.inner-main .entry-body > ul,
.inner-main .entry-body > ol{color:var(--lap-text-on-dark)}
.entry-body .elementor-element{color:inherit}
.entry-body .elementor-widget-text-editor{line-height:1.75}
.entry-body .lap-contrast-adjusted{transition:color .15s}
/* Light content panels can opt into text-on-light without collateral effects. */
.entry-body .lap-on-light,.entry-body .lap-on-light p,.entry-body .lap-on-light li{color:var(--lap-text-on-light)}
.entry-body .lap-on-light h1,.entry-body .lap-on-light h2,.entry-body .lap-on-light h3{color:var(--lap-heading-on-light)}

/* News and gallery landing pages: grid rather than legacy Elementor sliders */
.lap-special-head{padding:62px 0 18px}
.lap-special-head .eyebrow{font-family:Manrope,Inter,sans-serif;font-size:13px}
.lap-special-head h1{font:italic clamp(48px,5.8vw,82px)/1.04 'Cormorant Garamond',Georgia,serif;margin:12px 0 10px;color:#fff}
.lap-special-head h1 em{color:var(--gold);font-style:italic}
.lap-special-head p{color:#e4eeff;font-size:18px;line-height:1.6;max-width:790px}
.lap-special-grid{padding:18px 0 88px}
.lap-special-grid .news-card{min-width:0}
.lap-special-grid .news-card h3{min-height:0;margin-bottom:14px}
.lap-special-grid .news-visual{height:220px}
.lap-special-grid .news-visual img{width:100%;height:100%;object-fit:cover;display:block}
.lap-special-grid .post-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.lap-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.lap-gallery-card{border:1px solid rgba(162,207,252,.35);border-radius:18px;overflow:hidden;background:#102f57;display:flex;flex-direction:column;transition:transform .2s}
.lap-gallery-card:hover{transform:translateY(-4px);border-color:var(--gold)}
.lap-gallery-thumb{height:190px;overflow:hidden;background:#124274}
.lap-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.lap-gallery-card:hover .lap-gallery-thumb img{transform:scale(1.03)}
.lap-gallery-name{padding:19px 18px 23px;font-family:Manrope,Inter,Arial,sans-serif;font-size:17px;font-weight:700;line-height:1.4;color:#f5f8ff}
.lap-gallery-name span{color:var(--gold);padding-left:6px}
.lap-special-grid .pagination{color:#f5f8ff;margin-top:36px}
.lap-special-grid .pagination a{color:var(--gold)}
@media(max-width:1100px){.lap-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.lap-gallery-grid,.lap-special-grid .post-list{grid-template-columns:repeat(2,minmax(0,1fr))}.lap-gallery-thumb{height:150px}}
@media(max-width:540px){.lap-gallery-grid,.lap-special-grid .post-list{grid-template-columns:1fr}.lap-gallery-thumb{height:210px}.lap-special-head{padding-top:42px}}


/* v1.6 — dedicated original-content pages */
.lap-circle-head,.lap-courses-head,.lap-contact-head{padding-top:84px;padding-bottom:28px}
.lap-circle-head h1,.lap-courses-head h1,.lap-contact-head h1{font:italic clamp(54px,7vw,92px)/1.04 'Cormorant Garamond',Georgia,serif;color:#fff;margin:12px 0 0}
.lap-circle-head h1 em,.lap-courses-head h1 em,.lap-contact-head h1 em{color:var(--gold)}
.lap-circle-sections{display:grid;gap:32px;padding:25px 0 100px}
.lap-circle-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:36px;align-items:center;padding:34px;border:1px solid rgba(160,205,255,.24);border-radius:24px;background:linear-gradient(130deg,#103b70bd,#06254bbd)}
.lap-circle-copy{grid-column:1;min-width:0;max-width:840px}
.lap-circle-copy h2,.lap-detail-panel h2,.lap-contact-card h2,.lap-contact-links h2{font:600 clamp(32px,3vw,45px)/1.12 'Cormorant Garamond',Georgia,serif;color:#fff;margin:0 0 18px}
.lap-circle-copy p{font-size:16px;line-height:1.85;color:#e7f0ff;margin:0 0 18px;white-space:pre-line}
.lap-circle-visual{grid-column:2;grid-row:1;min-width:0}
.lap-circle-visual img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;border-radius:17px}
.lap-circle-panel:not(:has(.lap-circle-visual)){display:block}
.lap-circle-panel:not(:has(.lap-circle-visual)) .lap-circle-copy{max-width:none}
.lap-circle-panel:has(.lap-circle-visual) .lap-circle-visual~.lap-circle-visual{grid-row:auto}
.lap-courses-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 0 110px}
.lap-course-tile{position:relative;min-height:495px;display:block;overflow:hidden;border:1px solid #83bce455;border-radius:24px;background:#0c376c;box-shadow:0 25px 55px #00122966}
.lap-course-tile img{display:block;width:100%;height:495px;object-fit:cover;transition:transform .4s}
.lap-course-tile:hover img{transform:scale(1.045)}
.lap-course-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,18,45,.94) 100%)}
.lap-course-overlay{position:absolute;left:27px;right:27px;bottom:25px;z-index:1;display:flex;flex-direction:column;gap:9px;color:#fff}
.lap-course-overlay small{letter-spacing:.16em;font-weight:700;color:#f0ce86;text-transform:uppercase}
.lap-course-overlay strong{font:italic 39px/1.1 'Cormorant Garamond',Georgia,serif}
.lap-course-action{display:flex;align-items:center;justify-content:space-between;padding-top:10px;font-weight:700;color:#f7d58c}
.lap-detail-hero{padding:64px 0 60px}
.lap-detail-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.lap-back{font-size:14px;font-weight:700;color:#e8c780}
.lap-kicker{letter-spacing:.21em;font-size:12px;font-weight:800;color:#bfdaef;margin:30px 0 12px}
.lap-detail-hero h1{font:italic clamp(58px,6vw,100px)/.94 'Cormorant Garamond',Georgia,serif;margin:0 0 24px;color:#fff}
.lap-detail-lead{font-size:21px;color:#d9e8f8;margin:0}
.lap-detail-cover{border-radius:24px;overflow:hidden;border:1px solid #a1cff94f;box-shadow:0 25px 60px #00163199}
.lap-detail-cover img{width:100%;height:410px;object-fit:cover;display:block}
.lap-detail-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-bottom:105px}
.lap-detail-panel{padding:33px;border:1px solid #91c4f944;border-radius:22px;background:linear-gradient(140deg,#0d396e,#06244b)}
.lap-detail-panel:not(.lap-detail-schedule){grid-column:1/-1}
.lap-detail-panel p{color:#e7f0ff;font-size:16px;line-height:1.85;margin:0 0 16px;white-space:pre-line}
.lap-detail-panel p:last-child{margin-bottom:0}
.lap-detail-panel h2:first-letter{text-transform:uppercase}
.lap-contact-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:27px 0 45px}
.lap-contact-card{background:linear-gradient(155deg,#114474,#062650);border:1px solid #add9fa55;border-radius:22px;min-height:255px;padding:32px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.lap-contact-card .lap-contact-icon{color:#f5d58f;font-size:35px}
.lap-contact-card h2{font-size:31px;margin:0}
.lap-contact-card p,.lap-contact-card address{font-size:16px;color:#e6effc;line-height:1.6;font-style:normal;margin:0}
.lap-contact-card>a{font-size:16px;font-weight:700;color:#f7da9a;overflow-wrap:anywhere}
.lap-contact-links{padding:10px 0 115px}
.lap-contact-links h2{margin:30px 0 18px}
.lap-external-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.lap-external-grid a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;padding:20px 24px;border-radius:16px;border:1px solid #a6d1fb4a;background:#123e6f;color:#f4f8ff;font-weight:700;font-family:Manrope,Inter,sans-serif;transition:background .2s}
.lap-external-grid a span{color:var(--gold);font-size:22px}
.lap-external-grid a:hover{background:#20588c}
@media(max-width:1050px){.lap-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lap-contact-layout{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.lap-circle-panel,.lap-detail-hero-grid{grid-template-columns:1fr;gap:24px}.lap-circle-visual{grid-column:1;grid-row:auto}.lap-detail-sections,.lap-contact-layout,.lap-external-grid{grid-template-columns:1fr}.lap-detail-hero{padding:42px 0}.lap-detail-cover img{height:270px}.lap-detail-panel:not(.lap-detail-schedule){grid-column:auto}.lap-courses-grid{grid-template-columns:1fr}.lap-course-tile,.lap-course-tile img{height:380px;min-height:380px}.lap-circle-panel,.lap-detail-panel,.lap-contact-card{padding:24px}}


/* v1.7 – single news articles and original gallery albums */
.hero .centenary{width:clamp(230px,23vw,310px);height:auto;max-height:205px;object-fit:contain;object-position:center right}
@media(max-width:760px){.hero .centenary{width:clamp(140px,39vw,200px);max-height:140px}}

/* Keep post text on an explicitly LIGHT reading surface. No site-wide !important rules. */
.lap-story-header{padding:72px 0 46px;background:linear-gradient(145deg,#061c40,#0d396b)}
.lap-story-heading{max-width:1040px}
.lap-story-heading h1{font:600 clamp(43px,5.1vw,82px)/1.08 'Cormorant Garamond',Georgia,serif;color:#fff;margin:20px 0 0;overflow-wrap:anywhere}
.lap-story-meta{display:flex;gap:15px;align-items:center;flex-wrap:wrap;font:700 13px/1.4 Manrope,Arial,sans-serif;color:#c8def5;margin:20px 0 0}
.lap-story-category{padding:5px 12px;border-radius:20px;background:#e7b85c;color:#072344}
.lap-story-layout{max-width:1030px;padding-top:44px;padding-bottom:95px}
.lap-story-featured{max-width:100%;margin:0 auto 25px;border-radius:22px;overflow:hidden;border:1px solid #7aa4c8}
.lap-story-featured img{display:block;width:100%;max-height:540px;object-fit:cover}
.lap-story-paper{background:#fff;color:#1d3650;border-radius:23px;padding:clamp(22px,4.5vw,64px);box-shadow:0 25px 60px #00152975}
.lap-story-content{max-width:810px;margin:0 auto;color:#20394f;font:400 clamp(16px,1.3vw,18px)/1.83 Inter,Arial,sans-serif;overflow-wrap:anywhere}
.lap-story-content :is(p,li,blockquote,figcaption,td,th){color:#20394f!important}
.lap-story-content :is(h1,h2,h3,h4,h5,h6){color:#0b2b50!important;line-height:1.22;overflow-wrap:anywhere}
.lap-story-content a{color:#075a92!important;text-decoration:underline;text-underline-offset:3px}
.lap-story-content p{margin:0 0 1.4em}
.lap-story-content :is(img,video,iframe){display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto;border-radius:12px}
.lap-story-content :is(figure,.wp-block-image,.wp-block-gallery,.gallery,.elementor-widget-image){max-width:100%;margin:1.8em auto;text-align:center}
.lap-story-content .wp-block-gallery,.lap-story-content .gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:15px;align-items:start}
.lap-story-content .wp-block-gallery>*{margin:0}
.lap-story-content figure img,.lap-story-content .gallery img{width:auto;max-width:100%;object-fit:contain}
.lap-story-content blockquote{border-left:4px solid #d5a447;padding:8px 0 8px 20px;margin-left:0}
.lap-story-content :is(table,pre){max-width:100%;overflow-x:auto}
.lap-story-content table{display:block}
.lap-story-bottom{display:flex;justify-content:center;margin:35px auto 0}

/* Album detail: each gallery from original WordPress content, centered and responsive. */
.lap-album-body{max-width:1310px;padding-top:48px;padding-bottom:95px}
.lap-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;justify-content:center;align-items:start}
.lap-album-image{min-width:0;display:grid;place-items:center;aspect-ratio:4/3;padding:8px;border:1px solid rgba(185,214,245,.35);border-radius:18px;overflow:hidden;background:#0f345c;transition:transform .2s,border-color .2s}
.lap-album-image:hover,.lap-album-image:focus-visible{transform:translateY(-3px);border-color:#e7b85c}
.lap-album-image img{display:block;width:100%;height:100%;object-fit:contain;border-radius:10px}
.lap-album-fallback{max-width:960px;margin:0 auto;padding:35px;border:1px solid #749fc1;border-radius:18px;background:#fff;color:#152f48}
.lap-album-fallback :is(p,li,h1,h2,h3){color:#152f48!important}
.lap-album-fallback img{display:block;max-width:100%;height:auto;margin:auto}
@media(max-width:950px){.lap-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.lap-album-grid{grid-template-columns:1fr;gap:16px}.lap-story-header{padding:45px 0 30px}.lap-story-layout{padding-top:24px}.lap-album-body{padding-top:24px}}

.lap-album-video-section{margin-top:48px}
.lap-album-video-section h2{font:600 38px/1.2 'Cormorant Garamond',Georgia,serif;color:#fff}
.lap-album-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px}
.lap-album-video-grid video{display:block;max-width:100%;width:100%;max-height:550px;background:#02152c;border:1px solid #6b93bf;border-radius:16px}


/* v1.8 — footer, legal policies and member pages */
.lap-footer-wrap{display:grid;gap:26px}
.lap-footer-heading{display:flex;flex-direction:column;gap:7px}
.lap-footer-eyebrow,.lap-member-kicker{font:700 11px/1.4 Manrope,Inter,Arial,sans-serif;letter-spacing:.18em;color:#bdd5f3}
.site-footer .footer-row{display:flex;align-items:center;justify-content:space-between;gap:22px}
.lap-footer-contact{font-style:normal;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.lap-footer-contact a,.lap-footer-contact span{font:600 13px/1.5 Manrope,Inter,Arial,sans-serif;color:#eaf4ff}
.lap-footer-contact span[aria-hidden]{color:var(--gold);margin-right:5px}
.lap-footer-bottom{border-top:1px solid rgba(210,227,247,.25);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px 30px}
.lap-footer-copy{margin:0;font:500 12px/1.6 Manrope,Inter,Arial,sans-serif;color:#d5e5f8}
.lap-footer-legal{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap}
.lap-footer-legal a,.lap-footer-legal button{font:700 12px/1.5 Manrope,Inter,Arial,sans-serif;color:#fff;text-decoration:underline;text-decoration-color:#e7b85c;text-underline-offset:4px}
.lap-footer-legal a:hover,.lap-footer-legal a:focus-visible,.lap-footer-legal button:hover,.lap-footer-legal button:focus-visible{color:#f3d08b}
.lap-footer-legal button{border:0;background:none;padding:0;cursor:pointer}
.lap-member-layout,.lap-policy-layout{padding-top:60px;padding-bottom:94px}
.lap-member-article,.lap-policy-article{width:min(100%,1080px);margin:auto}
.lap-member-header,.lap-policy-header{text-align:center;margin:0 auto 32px}
.lap-member-header h1,.lap-policy-header h1{font:600 clamp(42px,6vw,72px)/1.04 'Cormorant Garamond',Georgia,serif;color:#fff;margin:14px 0 0;overflow-wrap:anywhere}
.lap-member-panel,.lap-policy-paper{width:100%;background:#fff;border:1px solid #dbe5f1;border-radius:24px;box-shadow:0 24px 64px rgba(0,9,29,.24);padding:clamp(22px,4vw,58px);color:#173455;overflow-wrap:anywhere}
.lap-member-panel .entry-body,.lap-policy-paper.entry-body{max-width:none;width:100%;margin:0;color:#173455}
.lap-member-panel .entry-body :is(h1,h2,h3,h4,h5,h6,p,li,div,span,label),
.lap-policy-paper.entry-body :is(h1,h2,h3,h4,h5,h6,p,li,div,span,label){color:inherit}
.lap-member-panel .entry-body :is(h1,h2,h3,h4,h5,h6),
.lap-policy-paper.entry-body :is(h1,h2,h3,h4,h5,h6){color:#082952}
.lap-member-panel .entry-body a:not(.um-button),.lap-policy-paper.entry-body a{color:#164d86;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.lap-member-panel .entry-body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;min-height:42px;color:#183450;background:#fff;border:1px solid #b6c8db;border-radius:8px}
.lap-member-panel .entry-body :is(input,select,textarea):focus-visible{outline:3px solid #e7b85c;outline-offset:1px}
.lap-member-panel .entry-body :is(button,input[type=submit],.um-button){max-width:100%;cursor:pointer}
.lap-member-panel :is(.um,.um-account,.um-form,.um-field,.um-field-area,.um-account-main,.um-account-tab),
.lap-member-panel :is(.wpforms-container,.wpcf7,.elementor,.elementor-section,.elementor-container){max-width:100%;min-width:0}
.lap-member-panel .um{width:100%;margin-inline:auto}
.lap-member-panel .um .um-form{margin:0 auto}
.lap-member-panel .um .um-field-label label,.lap-member-panel .um .um-field-checkbox-option,.lap-member-panel .um .um-field-radio-option{color:#173455!important}
.lap-member-panel .um .um-button{font-weight:700}
/* v2.1: previous forced grid removed; Ultimate Member layout handled by scoped v2.1 rules. */
/* v2.1: previous UM width/float override removed. */
.lap-member-panel .um-account .um-account-side li{list-style:none}
.lap-member-panel .um-account .um-account-side a{overflow-wrap:anywhere}
.lap-policy-paper :is(img,iframe,table),.lap-member-panel :is(img,iframe,table){max-width:100%}
.lap-member-panel .entry-body :is(table),.lap-policy-paper.entry-body :is(table){display:block;overflow-x:auto}
@media(max-width:760px){
 .site-footer .footer-row{align-items:flex-start;flex-direction:column}
 .lap-footer-contact{flex-direction:column;align-items:flex-start;gap:10px}
 .lap-footer-bottom{align-items:flex-start;flex-direction:column}
 .lap-member-layout,.lap-policy-layout{padding-top:36px;padding-bottom:64px}
 .lap-member-panel,.lap-policy-paper{border-radius:16px}
 /* v2.1 UM responsive handled below */


}

/* Scoped fixes for Elementor fragments embedded in light member/legal surfaces. */
.lap-member-panel .entry-body .elementor-widget-heading .elementor-heading-title,
.lap-member-panel .entry-body .elementor-widget-text-editor :is(p,li),
.lap-policy-paper.entry-body .elementor-widget-heading .elementor-heading-title,
.lap-policy-paper.entry-body .elementor-widget-text-editor :is(p,li){color:#173455!important}
.lap-member-panel .entry-body .elementor-widget-text-editor a,
.lap-policy-paper.entry-body .elementor-widget-text-editor a{color:#135785!important}
.lap-member-panel .entry-body :is(input[type=submit],button[type=submit]){background:#164d86;color:#fff;border-color:#164d86;border-radius:10px;padding:10px 22px}


/* v1.9.0 — footer clearly visible on every theme-rendered page. */
body{min-height:100vh;display:flex;flex-direction:column}
body>.main-surface{flex:1 0 auto}
body>.site-footer{flex-shrink:0}
.site-footer.lap-footer-v19{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:2;
  width:100%;
  margin:0;
  border-top:3px solid #d9b75d;
  padding:58px 0 27px;
  background:linear-gradient(125deg,#04152e 0%,#07254e 60%,#0a3970 100%);
  color:#f7fbff;
}
.lap-footer-v19 .lap-footer-primary{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);
  align-items:start;
  gap:clamp(30px,5vw,84px);
  padding-bottom:46px;
}
.lap-footer-v19 .lap-footer-label{
  color:#e7bf66;
  font:800 11px/1.5 Manrope,Arial,sans-serif;
  letter-spacing:.19em;
}
.lap-footer-v19 .lap-footer-identity h2{
  margin:15px 0 16px;
  color:#fff;
  font:600 clamp(32px,4vw,56px)/1.08 'Cormorant Garamond',Georgia,serif;
}
.lap-footer-v19 .lap-footer-identity h2 em{color:#f1ce7f;font-style:italic}
.lap-footer-v19 .lap-footer-identity p{
  margin:0;
  color:#d9e8fb;
  font:500 15px/1.6 Manrope,Arial,sans-serif;
}
.lap-footer-v19 .lap-footer-address h3{
  margin:0 0 19px;
  color:#f1ce7f;
  font:800 15px/1.5 Manrope,Arial,sans-serif;
}
.lap-footer-v19 .lap-footer-address a{
  display:block;
  width:fit-content;
  margin:0 0 12px;
  color:#f6faff;
  font:600 14px/1.5 Manrope,Arial,sans-serif;
  overflow-wrap:anywhere;
}
.lap-footer-v19 .lap-footer-address a:hover{color:#f1ce7f}
.lap-footer-v19 .lap-footer-bottom{
  border-top:1px solid rgba(217,232,252,.3);
  padding-top:26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.lap-footer-v19 .lap-footer-copy{
  margin:0;
  color:#e0eafb;
  font:500 13px/1.7 Manrope,Arial,sans-serif;
}
.lap-footer-v19 .lap-footer-legal{display:flex;flex-wrap:wrap;gap:15px 24px;align-items:center}
.lap-footer-v19 .lap-footer-legal a{
  color:#fff;
  font:700 13px/1.6 Manrope,Arial,sans-serif;
  text-decoration:underline;
  text-decoration-color:#e9c36e;
  text-underline-offset:5px;
}
.lap-footer-v19 .lap-footer-legal a:hover,.lap-footer-v19 .lap-footer-legal a:focus-visible{
  color:#f1ce7f;
}
/* ~20% smaller than v1.8; never alter the uploaded artwork itself */
.hero .centenary{
  width:clamp(184px,18.4vw,248px);
  max-height:164px;
  height:auto;
  object-fit:contain;
}
@media(max-width:760px){
  .hero .centenary{width:clamp(112px,31vw,160px);max-height:112px}
  .lap-footer-v19{padding:43px 0 24px}
  .lap-footer-v19 .lap-footer-primary{grid-template-columns:1fr;gap:32px;padding-bottom:32px}
  .lap-footer-v19 .lap-footer-bottom{flex-direction:column;align-items:flex-start}
}


/* v2.0 — horizontal footer, not vertical columns. Scoped to theme footer only. */
.site-footer.lap-footer-v20{
 display:block!important;visibility:visible!important;opacity:1!important;
 position:relative!important;width:100%;height:auto;z-index:5;
 margin:0;padding:24px 0;border-top:2px solid #e7bc65;
 background:#061a3c;color:#f5f9ff;
}
.lap-footer-v20 .lap-footer-inline{
 display:grid;grid-template-columns:minmax(210px,1.15fr) minmax(340px,1.6fr) minmax(320px,1.25fr);
 align-items:center;gap:24px;
}
.lap-footer-v20 .lap-footer-brandline{display:flex;flex-direction:column;gap:5px;min-width:0}
.lap-footer-v20 .lap-footer-brandline strong{font:700 16px/1.3 Manrope,Inter,Arial,sans-serif;color:#fff}
.lap-footer-v20 .lap-footer-brandline span{font:500 12px/1.5 Manrope,Inter,Arial,sans-serif;color:#d9e6f9}
.lap-footer-v20 .lap-footer-contactline{display:flex;flex-wrap:wrap;align-items:center;gap:7px 19px}
.lap-footer-v20 .lap-footer-contactline a,.lap-footer-v20 .lap-footer-contactline span{font:500 12px/1.5 Manrope,Inter,Arial,sans-serif;color:#e4efff}
.lap-footer-v20 .lap-footer-policyline{display:flex;justify-content:flex-end;align-items:center;gap:10px 20px;flex-wrap:wrap}
.lap-footer-v20 .lap-footer-policyline a{font:700 12px/1.5 Manrope,Inter,Arial,sans-serif;color:#f4d185;text-decoration:underline;text-underline-offset:4px}
.lap-footer-v20 .lap-footer-policyline a:hover{color:#fff}
/* The anniversary logo stays at its approved size, only alignment changes. */
.hero .hero-topline{align-items:center}
.hero .centenary{align-self:center;display:block;flex-shrink:0;object-position:center center}
@media(max-width:1200px){.lap-footer-v20 .lap-footer-inline{grid-template-columns:minmax(180px,1fr) minmax(310px,1.5fr);gap:18px}.lap-footer-v20 .lap-footer-policyline{grid-column:1 / -1;justify-content:flex-start}}
@media(max-width:760px){.lap-footer-v20 .lap-footer-inline{grid-template-columns:1fr;gap:16px}.lap-footer-v20 .lap-footer-policyline{grid-column:auto}.hero .hero-topline{align-items:center}}


/* v2.1.0 — footer adjacency. Pull the border up across the empty end-of-main
   background stripe, without shrinking the actual footer or changing its content. */
.main-surface + .site-footer.lap-footer-v20{
  margin-top:-22px !important;
  z-index:10;
}
.site-footer.lap-footer-v20{
  background:#061a3c !important;
  border-top:2px solid #e7bc65 !important;
  box-shadow:none !important;
}
/* Main content should not create an extra margin after its final section. */
.main-surface > :last-child{margin-bottom:0}

/* v2.1.0 — members area: scope everything to the dedicated page templates.
   No global Elementor color overrides and no modification of Ultimate Member JS. */
.lap-member-layout{padding-block:clamp(34px,5vw,72px) clamp(55px,7vw,100px)}
.lap-member-article{width:min(100%,1180px)}
.lap-member-article.lap-member--login{max-width:720px}
.lap-member-header{margin-bottom:26px;text-align:center}
.lap-member-header h1{font-size:clamp(40px,5vw,66px);line-height:1.08}
.lap-member-panel{
  overflow:visible;
  width:100%;
  padding:clamp(20px,3.4vw,42px);
  background:#ffffff;
  border:1px solid #d7e3f1;
  box-shadow:0 18px 58px rgba(0,12,39,.25);
  border-radius:20px;
}
.lap-member-panel .entry-body{width:100%;max-width:none;min-width:0;margin:0}
.lap-member-panel .entry-body :is(p,li,label,h1,h2,h3,h4,h5,h6){color:#173455}
.lap-member-panel .entry-body :is(p,li){line-height:1.65}
.lap-member-panel .entry-body a:not(.um-button){color:#15518a}
.lap-member-panel .entry-body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
 width:100%;max-width:100%;box-sizing:border-box;
 min-height:44px;background:#fff;color:#173455;
}
.lap-member-panel .entry-body :is(input[type=checkbox],input[type=radio]){width:auto;min-height:0}
.lap-member-panel .entry-body :is(button[type=submit],input[type=submit],.um-button){
 box-sizing:border-box;
 width:auto;min-width:0;max-width:100%;
 padding:11px 19px;
 color:#fff;background:#124a82;border:1px solid #124a82;
 border-radius:9px;
}
.lap-member-panel .entry-body :is(button[type=submit],input[type=submit],.um-button):hover{background:#0b315c;border-color:#0b315c}
.lap-member-panel .entry-body :is(a,button,input,select,textarea):focus-visible{outline:3px solid #d8ad58;outline-offset:3px}

/* Ultimate Member account has its own nested forms/tabs. Use flex for the two
   primary siblings only. Do not force widths on .um-form or its tab content. */
.lap-member-panel .um-account{
  display:flex !important;
  flex-wrap:nowrap;
  align-items:flex-start;
  gap:clamp(18px,3vw,32px);
  width:100% !important;
  max-width:100% !important;
  min-width:0;
}
.lap-member-panel .um-account > .um-account-side{
  float:none !important;
  width:clamp(195px,27%,265px) !important;
  max-width:265px !important;
  flex:0 0 clamp(195px,27%,265px);
  margin:0;
  min-width:0;
  background:#f3f7fb;
  border:1px solid #dbe5f1;
  border-radius:14px;
  padding:12px;
}
.lap-member-panel .um-account > .um-account-main{
  float:none !important;
  width:auto !important;
  max-width:none !important;
  flex:1 1 0;
  min-width:0;
  margin:0;
}
.lap-member-panel .um-account .um-account-side ul{list-style:none;margin:0;padding:0}
.lap-member-panel .um-account .um-account-side li{margin:2px 0;padding:0;list-style:none}
.lap-member-panel .um-account .um-account-side li a{
  display:block;max-width:100%;overflow-wrap:anywhere;
  padding:10px 12px;color:#153c66;text-decoration:none;
  border-radius:9px;
}
.lap-member-panel .um-account .um-account-side li a:hover,
.lap-member-panel .um-account .um-account-side li.active a,
.lap-member-panel .um-account .um-account-side li.um-account-nav-item a:hover{
  color:#072a51;background:#e4edf8;
}
.lap-member-panel .um-account .um-account-main :is(.um-account-tab,.um-account-heading){max-width:100%;min-width:0}
.lap-member-panel .um :is(.um-field,.um-field-area,.um-field-value,.um-form,.um-col,.um-row){
 max-width:100%;min-width:0;box-sizing:border-box;
}
.lap-member-panel .um .um-field-label label{color:#173455 !important}
.lap-member-panel .um .um-field-error{color:#8d1f27}
.lap-member-panel .um .um-field-error,.lap-member-panel .um .um-notice{max-width:100%;overflow-wrap:anywhere}
.lap-member-panel :is(.wpcf7,.wpforms-container,.elementor,.elementor-container){width:100%;max-width:100%;min-width:0}
.lap-member-panel :is(.elementor-column,.elementor-widget-wrap,.elementor-widget-container){min-width:0;max-width:100%}
.lap-member-panel :is(table,iframe,embed,video,img){max-width:100%}
.lap-member-panel table{display:block;max-width:100%;overflow-x:auto}

@media(max-width:850px){
 .lap-member-panel .um-account{flex-direction:column !important;gap:20px}
 .lap-member-panel .um-account > .um-account-side,
 .lap-member-panel .um-account > .um-account-main{
   width:100% !important;max-width:100% !important;flex:0 1 auto;
 }
 .lap-member-panel .um-account .um-account-side ul{display:flex;flex-wrap:wrap;gap:5px}
 .lap-member-panel .um-account .um-account-side li{min-width:0}
}
@media(max-width:600px){
 .lap-member-layout{padding:28px 0 54px}
 .lap-member-panel{padding:18px 14px;border-radius:14px}
 .lap-member-header h1{font-size:clamp(34px,9vw,50px)}
 .lap-member-panel .um-account .um-account-side ul{display:block}
 .lap-member-panel .entry-body :is(input,select,textarea){font-size:16px}
 .main-surface + .site-footer.lap-footer-v20{margin-top:-16px !important}
}

/* Decorative ellipses must never overlap member forms or controls. */
.main-surface:has(.lap-member-layout)::before,
.main-surface:has(.lap-member-layout)::after{display:none}


/* v2.2 — Member area: suppress profile identity chrome, not account functions. */
.lap-member--account .um-account .um-account-meta,
.lap-member--account .um-account .um-account-profile-link,
.lap-member--account .um-account .um-account-name,
.lap-member--account .um-account .um-account-meta-img,
.lap-member--account .um-account .um-account-meta-img-b,
.lap-member--account .um-account .um-account-meta-img-b img{
  display:none !important;
}
.lap-member--account .um-account > .um-account-side{padding-top:12px}
/* Avoid displaying the administrator login identifier as a profile heading/field.
   This is presentation only; it does not modify identities or authentication. */
.lap-member-admin-view .um-account .um-field-user_login,
.lap-member-admin-view .um-account .um-field-username{
  display:none !important;
}

/* v2.2 — Contact page: render original CF7 form outside legacy Elementor hero. */
.lap-member-contact-view{padding:clamp(36px,5vw,76px) 0 clamp(56px,7vw,100px)}
.lap-contact-layout{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(22px,3vw,44px);align-items:start;
  width:min(100%,1160px);margin-inline:auto;
}
.lap-contact-intro{padding:clamp(24px,3vw,45px);border:1px solid rgba(201,225,255,.25);border-radius:20px;background:linear-gradient(155deg,#103964,#06234a);color:#f4f8ff}
.lap-contact-step{color:#f0cf8a;font:700 12px Manrope,Arial,sans-serif;letter-spacing:.15em}
.lap-contact-intro h2{font:600 clamp(31px,3.4vw,48px)/1.14 'Cormorant Garamond',Georgia,serif;color:#fff;margin:16px 0 18px}
.lap-contact-intro p{color:#e7f1ff;font-size:16px;line-height:1.8;margin:0}
.lap-contact-form-panel{min-width:0;padding:clamp(22px,3vw,42px);background:#fff;border:1px solid #dae4f1;border-radius:20px;box-shadow:0 20px 55px rgba(0,12,39,.24);color:#173455}
.lap-contact-form-panel :is(label,p,span,div){color:#173455}
.lap-contact-form-panel :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;max-width:100%;box-sizing:border-box;min-height:44px;border:1px solid #b5c7da;border-radius:8px;padding:9px 12px;color:#152f4d;background:#fff}
.lap-contact-form-panel input[type=submit]{width:auto!important;min-width:180px;background:#164d86!important;color:#fff!important;border:0!important;border-radius:9px;padding:13px 22px;font:700 14px Manrope,Arial,sans-serif;cursor:pointer}
.lap-contact-form-panel :is(input,textarea,select,button):focus-visible{outline:3px solid #d8ad58;outline-offset:2px}
.lap-contact-form-panel .wpcf7-form-control-wrap{display:block;max-width:100%}
.lap-contact-error{padding:14px 18px;background:#fff4d5;border-radius:8px;color:#563b06!important}
.main-surface:has(.lap-member-contact-view)::before,.main-surface:has(.lap-member-contact-view)::after{display:none}
@media(max-width:800px){.lap-contact-layout{grid-template-columns:1fr}}
@media(max-width:600px){.lap-member-contact-view{padding:30px 0 55px}.lap-contact-intro,.lap-contact-form-panel{padding:20px 18px}}

/* v2.3 - Replace the unwanted bright band above the footer with footer navy.
   Draw the gold rule at the top of the covered area; do not touch footer content. */
.site-footer.lap-footer-v20 {
  position:relative !important;
  isolation:isolate;
  border-top:0 !important;
  background:#061a3c !important;
}
.site-footer.lap-footer-v20::before {
  content:"";
  position:absolute;
  left:0; right:0;
  top:-25px; height:25px;
  box-sizing:border-box;
  background:#061a3c;
  border-top:2px solid #e7bc65;
  pointer-events:none;
  z-index:1;
}
@media (max-width:600px) {
 .site-footer.lap-footer-v20::before {top:-20px;height:20px}
}


/* v2.4 — Contatti e Link: dedicated layout, scoped to avoid Ultimate Member / CF7 styles */
.lap-visit-head{padding:clamp(48px,5vw,88px) 0 43px;background:radial-gradient(ellipse at 90% 15%,rgba(59,126,190,.33),transparent 46%)}
.lap-visit-head-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.lap-visit-head h1{font:italic 600 clamp(58px,7vw,110px)/.95 'Cormorant Garamond',Georgia,serif;letter-spacing:-.03em;color:#fff;margin:18px 0 18px}
.lap-visit-head h1 em{font-style:italic;color:var(--gold)}
.lap-visit-head p{color:#d8e9fa;font-size:17px;line-height:1.6;max-width:630px;margin:0}
.lap-visit-head-graphic{font:300 126px/.8 'Cormorant Garamond',Georgia,serif;color:rgba(231,184,92,.28);user-select:none}
.lap-visit-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:25px;align-items:stretch;padding-top:20px;padding-bottom:90px}
.lap-visit-map-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;border-radius:24px;border:1px solid rgba(203,230,255,.36);background:#edf2f8;box-shadow:0 25px 60px rgba(0,12,35,.22)}
.lap-visit-map-bar{min-height:67px;display:flex;gap:13px;align-items:center;background:#fff;padding:15px 25px;color:#15365b;font:800 15px Manrope,Inter,Arial,sans-serif}
.lap-visit-map-pin{display:inline-grid;place-items:center;width:36px;height:36px;background:#e8f2fc;color:#124d83;border-radius:12px;font-size:25px;line-height:1}
.lap-visit-map-location{margin-left:auto;font:600 12px Manrope,Inter,Arial,sans-serif;color:#55728f}
.lap-visit-map-card iframe{display:block;width:100%;height:clamp(390px,41vw,550px);border:0;background:#e2eaf2;flex:1}
.lap-visit-map-bottom{min-height:88px;background:#fff;padding:18px 25px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.lap-visit-map-bottom p{font:800 14px/1.5 Manrope,Inter,Arial,sans-serif;color:#173957;margin:0}
.lap-visit-map-bottom p span{display:block;color:#60778f;font-size:12px;font-weight:500}
.lap-visit-map-bottom a{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;padding:11px 14px;border-radius:30px;background:#0b396a;color:#fff;font:700 12px Manrope,Inter,Arial,sans-serif}
.lap-visit-map-bottom a:hover{background:#13598f}
.lap-visit-details{border:1px solid rgba(204,228,255,.27);border-radius:24px;background:linear-gradient(150deg,rgba(25,75,122,.74),rgba(4,29,63,.95));padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;gap:21px}
.lap-visit-kicker{font:800 11px Manrope,Inter,Arial,sans-serif;letter-spacing:.18em;color:#ecc577}
.lap-visit-details h2,.lap-visit-links-header h2{font:600 clamp(35px,3.3vw,54px)/1.04 'Cormorant Garamond',Georgia,serif;color:#fff;margin:13px 0 12px}
.lap-visit-details h2 em,.lap-visit-links-header h2 em{color:#ecc577}
.lap-visit-details-heading p{font:400 14px/1.7 Manrope,Inter,Arial,sans-serif;color:#d5e5f7;margin:0}
.lap-visit-detail{display:flex;gap:16px;border-top:1px solid rgba(194,222,250,.2);padding-top:18px}
.lap-visit-icon{display:grid;place-items:center;flex-shrink:0;width:45px;height:45px;border:1px solid rgba(242,205,137,.45);border-radius:14px;background:rgba(236,197,119,.08);color:#f2ca7e;font-size:25px;line-height:1}
.lap-visit-detail>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.lap-visit-detail strong{font:800 11px Manrope,Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#c0d8f3;margin-bottom:4px}
.lap-visit-detail a,.lap-visit-detail address{font:600 15px/1.55 Manrope,Inter,Arial,sans-serif;color:#fff;font-style:normal;overflow-wrap:anywhere}
.lap-visit-detail a:hover{color:#f1ce85}
.lap-visit-detail small{font:500 12px Manrope,Inter,Arial,sans-serif;color:#c8dcef}
.lap-visit-primary-button{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;background:linear-gradient(105deg,#f2d28e,#d7a951);padding:15px 20px;border-radius:13px;font:800 13px Manrope,Inter,Arial,sans-serif;color:#082d57}
.lap-visit-primary-button span{font-size:20px}
.lap-visit-links-section{padding:55px 0 110px;border-top:1px solid rgba(160,205,246,.16);background:linear-gradient(155deg,rgba(0,19,47,.5),transparent)}
.lap-visit-links-header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}
.lap-visit-links-header h2{margin-bottom:0}
.lap-visit-links-header>p{max-width:380px;color:#d0e2f7;font-size:15px;line-height:1.7;margin:0}
.lap-visit-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.lap-visit-link-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px;align-items:end;position:relative;min-height:148px;padding:25px;border:1px solid rgba(164,208,252,.3);border-radius:19px;background:linear-gradient(140deg,#0d3d72,#062449);transition:transform .2s,border-color .2s}
.lap-visit-link-card:hover{transform:translateY(-4px);border-color:#edc87f}
.lap-visit-link-type{grid-column:1/-1;font:700 11px Manrope,Inter,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#e7c47f}
.lap-visit-link-card strong{font:700 clamp(18px,1.8vw,24px)/1.35 Manrope,Inter,Arial,sans-serif;color:#fff}
.lap-visit-link-arrow{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;border:1px solid rgba(231,184,92,.65);color:#ebc57d;font-size:23px}
.lap-visit-social{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:30px 0;margin-top:30px;border-top:1px solid rgba(171,213,253,.22)}
.lap-visit-social h3{font:600 30px 'Cormorant Garamond',Georgia,serif;color:#fff;margin:10px 0 0}
.lap-visit-social>a{display:inline-flex;gap:26px;align-items:center;border:1px solid rgba(231,184,92,.55);border-radius:30px;padding:12px 20px;color:#f2d494;font:700 14px Manrope,Inter,Arial,sans-serif}
.lap-visit-social>a:hover{background:rgba(231,184,92,.1)}
@media(max-width:980px){.lap-visit-main{grid-template-columns:1fr}.lap-visit-details{gap:18px}.lap-visit-map-card iframe{height:410px}}
@media(max-width:760px){.lap-visit-head{padding:42px 0 24px}.lap-visit-head-graphic{display:none}.lap-visit-head h1{font-size:clamp(52px,11vw,76px)}.lap-visit-main{padding-top:10px;padding-bottom:55px}.lap-visit-links-section{padding:40px 0 75px}.lap-visit-links-header{display:block}.lap-visit-links-header>p{margin-top:16px}.lap-visit-link-grid{grid-template-columns:1fr}.lap-visit-map-location{display:none}}
@media(max-width:480px){.lap-visit-map-card iframe{height:320px}.lap-visit-map-bar,.lap-visit-map-bottom{padding-left:16px;padding-right:16px}.lap-visit-map-bottom{align-items:flex-start;flex-direction:column}.lap-visit-details{padding:24px 20px}}


/* v2.5 — Il Circolo: readable presidents & founders, scoped to this page */
.lap-circle-v25-head {padding-bottom:40px}
.lap-circle-lead {color:#dce9f8;font-size:clamp(16px,1.7vw,20px);line-height:1.65;margin:14px 0 24px;max-width:700px}
.lap-circle-jump {display:flex;gap:10px;flex-wrap:wrap}
.lap-circle-jump a {display:inline-flex;align-items:center;border:1px solid rgba(230,191,105,.55);border-radius:99px;padding:10px 18px;color:#f7e0a7;font:700 13px/1.25 'Manrope',Arial,sans-serif;transition:background .2s}
.lap-circle-jump a:hover,.lap-circle-jump a:focus-visible {background:#d8ad55;color:#051d40}
.lap-circle-v25 {display:grid;gap:46px;padding:18px 0 100px}
.lap-circle-v25>section {scroll-margin-top:125px}
.lap-circle-intro {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;align-items:center;border:1px solid rgba(164,208,255,.25);border-radius:26px;padding:clamp(24px,4vw,46px);background:linear-gradient(120deg,#103d71,#061e42)}
.lap-circle-intro-text {min-width:0}
.lap-circle-intro-text p {font-size:16px;line-height:1.8;color:#e8f2ff;margin:0 0 18px}
.lap-circle-intro-text blockquote {border-left:3px solid #e7b85c;padding:4px 0 4px 20px;margin:24px 0 12px;font:italic 21px/1.6 'Cormorant Garamond',Georgia,serif;color:#faf4e8}
.lap-circle-intro-text .lap-circle-author {color:#efcb7c;font-weight:700;font-size:14px}
.lap-circle-intro figure,.lap-circle-history-photos figure {margin:0}
.lap-circle-intro img,.lap-circle-history-photos img {display:block;width:100%;height:auto;object-fit:cover;border-radius:16px}
.lap-circle-people-section {border:1px solid rgba(166,211,255,.24);border-radius:28px;background:linear-gradient(145deg,#092c59,#041b39);padding:clamp(24px,4vw,46px)}
.lap-circle-block-head {margin-bottom:30px}
.lap-circle-kicker {font:800 11px/1.5 'Manrope',Arial,sans-serif;letter-spacing:.22em;color:#eec77b}
.lap-circle-block-head h2 {font:600 clamp(39px,4.5vw,64px)/1.04 'Cormorant Garamond',Georgia,serif;color:#fff;margin:9px 0 12px}
.lap-circle-block-head h2 em {color:#edc775}
.lap-circle-block-head p {color:#dce9fc;line-height:1.6;font-size:15px;max-width:760px}
.lap-presidents-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;margin:0;list-style:none}
.lap-president-card {display:flex;align-items:center;gap:20px;min-width:0;padding:20px;border:1px solid #c5d8ec;border-radius:16px;background:#f7faff;color:#09274f;box-shadow:0 10px 25px rgba(1,12,35,.12)}
.lap-president-count {flex:0 0 42px;color:#9f7726;font:700 25px/1 'Cormorant Garamond',Georgia,serif}
.lap-president-text {min-width:0;display:flex;flex-direction:column;gap:7px}
.lap-president-text strong {font:700 17px/1.3 'Manrope',Arial,sans-serif;color:#0a2b50;overflow-wrap:anywhere}
.lap-mandate {display:flex;flex-wrap:wrap;align-items:center;gap:7px;font:500 13px/1.5 'Manrope',Arial,sans-serif;color:#425b77;font-variant-numeric:tabular-nums}
.lap-founders-grid {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lap-founders-grid li {display:flex;align-items:center;gap:12px;min-width:0;padding:17px 18px;background:rgba(248,251,255,.98);color:#082a53;border-radius:13px;font:700 15px/1.5 'Manrope',Arial,sans-serif;overflow-wrap:anywhere}
.lap-founder-symbol {color:#b58a3a;font-size:17px;flex:0 0 auto}
.lap-circle-history {padding:clamp(22px,3vw,38px);background:#f7faff;border:1px solid #e2eaf4;border-radius:26px}
.lap-circle-history .lap-circle-kicker {color:#9a6b22}
.lap-circle-history .lap-circle-block-head h2 {color:#092b52}
.lap-circle-history .lap-circle-block-head h2 em {color:#98702b}
.lap-circle-history-grid {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:32px}
.lap-circle-history-copy p {color:#263f5d;font-size:16px;line-height:1.85;margin:0 0 19px}
.lap-circle-history-photos {display:grid;gap:18px;align-content:start}
.lap-source-alert {color:#fff7d9;background:#583815;padding:14px;border-radius:10px}
@media(max-width:940px){.lap-circle-intro,.lap-circle-history-grid {grid-template-columns:1fr}.lap-founders-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.lap-circle-v25{gap:24px;padding-bottom:65px}.lap-presidents-grid,.lap-founders-grid{grid-template-columns:1fr}.lap-president-card {padding:16px;gap:13px}.lap-circle-people-section{padding:22px}.lap-circle-intro-text blockquote{font-size:19px}.lap-circle-jump a{font-size:12px;padding:10px 12px}}

/* v2.7 editorial content appended through WordPress; no changes to existing layouts */
.lap-cms-extra{padding:32px 0 50px;max-width:min(1100px,94vw);overflow-wrap:anywhere}
.lap-cms-extra img,.lap-cms-extra video,.lap-cms-extra iframe{max-width:100%;height:auto}
.lap-cms-extra iframe{min-height:320px}
.lap-cms-extra p,.lap-cms-extra li{line-height:1.7}
