/*
Theme Name: FestMaps
Theme URI: https://festmaps.com.br/
Author: FestMaps
Description: Tema público da plataforma FestMaps. Requer os tipos de conteúdo ACF e os snippets de cadastro já instalados.
Version: 0.2.17
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: festmaps
*/

:root{--fm-white:#fff;--fm-soft:#f5f8fc;--fm-blue:#1a44d6;--fm-blue-dark:#1439ba;--fm-red:#de3a2c;--fm-green:#2e7a5b;--fm-ink:#16171a;--fm-muted:#656b75;--fm-line:#e2e7ef;--fm-radius:16px;--fm-shadow:0 18px 55px rgba(22,23,26,.07)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fm-white);color:var(--fm-ink);font:400 16px/1.6 'Work Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
a:hover{color:var(--fm-blue)}
:focus-visible{outline:3px solid var(--fm-blue);outline-offset:3px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}
.fm-skip-link{position:absolute;top:-100px;left:12px;z-index:9999;padding:10px;background:var(--fm-blue);color:#fff}.fm-skip-link:focus{top:10px;color:#fff}
.fm-shell{width:min(100% - 48px,1220px);margin-inline:auto}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{font-family:'Bricolage Grotesque','Arial Black',Arial,sans-serif;letter-spacing:-.035em;line-height:1.12}
h1{font-size:clamp(2.6rem,5.6vw,5.5rem)}h2{font-size:clamp(1.75rem,3vw,2.85rem)}h3{font-size:1.25rem}
.fm-eyebrow{font-size:.73rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--fm-blue)}
.fm-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:12px 22px;border:1px solid var(--fm-blue);border-radius:10px;background:var(--fm-blue);color:#fff;font-weight:700;line-height:1.2;text-align:center;transition:background .18s,transform .18s,border-color .18s}.fm-button:hover{background:var(--fm-blue-dark);border-color:var(--fm-blue-dark);color:#fff;transform:translateY(-1px)}.fm-button--small{min-height:42px;padding:9px 17px;font-size:.88rem}.fm-button--outline{background:#fff;color:var(--fm-blue)}.fm-button--outline:hover{color:#fff}.fm-button--light{background:#fff;border-color:#fff;color:var(--fm-blue)}.fm-button--light:hover{background:var(--fm-soft);border-color:var(--fm-soft);color:var(--fm-blue)}.fm-button--full{width:100%}
.fm-text-link{font-weight:700;color:var(--fm-blue);white-space:nowrap}.fm-text-link span{margin-left:6px}

/* Global navigation */
.fm-header{position:relative;z-index:30;border-bottom:1px solid var(--fm-line);background:#fff}.fm-header__inner{display:flex;align-items:center;min-height:82px;gap:35px}.fm-brand{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;color:var(--fm-ink)}.fm-brand:hover{color:var(--fm-ink)}.fm-brand__mark{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--fm-blue);color:#fff;font:800 27px/1 'Bricolage Grotesque',Arial,sans-serif;position:relative}.fm-brand__mark span{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--fm-red);right:-3px;top:-3px;border:2px solid #fff}.fm-brand__name{font:800 23px/1 'Bricolage Grotesque',Arial,sans-serif;letter-spacing:-.06em}.fm-brand__name span{color:var(--fm-blue)}.fm-brand__logo{display:block;max-height:46px;width:auto;max-width:220px;object-fit:contain}.fm-nav{margin-left:auto}.fm-nav__list{display:flex;align-items:center;gap:30px;list-style:none;padding:0;margin:0}.fm-nav__list a{font-size:.88rem;font-weight:600}.fm-header__actions{display:flex;align-items:center;gap:20px}.fm-header__login{font-size:.88rem;font-weight:700}.fm-menu-toggle{display:none;border:0;background:none;padding:12px}.fm-menu-toggle span{display:block;width:23px;height:2px;margin:4px 0;background:var(--fm-ink)}.fm-mobile-bar{display:none}
.fm-account-menu{position:relative}.fm-account-menu summary{display:flex;align-items:center;gap:9px;max-width:235px;min-height:40px;padding:7px 11px;border:1px solid var(--fm-line);border-radius:9px;background:var(--fm-soft);font-size:.83rem;font-weight:700;list-style:none;cursor:pointer}.fm-account-menu summary::-webkit-details-marker{display:none}.fm-account-menu summary:hover,.fm-account-menu[open] summary{border-color:#b7c8e8;color:var(--fm-blue)}.fm-account-menu__greeting{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-account-menu__chevron{flex:0 0 6px;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}.fm-account-menu[open] .fm-account-menu__chevron{transform:rotate(225deg) translateY(-1px)}.fm-account-menu__panel{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:210px;padding:7px;border:1px solid var(--fm-line);border-radius:11px;background:#fff;box-shadow:var(--fm-shadow)}.fm-account-menu__panel a{display:block;padding:10px 12px;border-radius:7px;font-size:.82rem;font-weight:600;white-space:nowrap}.fm-account-menu__panel a:hover,.fm-account-menu__panel a:focus-visible{background:var(--fm-soft);color:var(--fm-blue)}.fm-account-menu__panel a:last-child{border-top:1px solid var(--fm-line);border-radius:0;margin-top:4px}
.fm-account-menu__panel .fm-account-menu__whatsapp{display:flex;align-items:center;gap:9px}.fm-account-menu__whatsapp svg{display:block;flex:none;width:18px;height:18px;color:#16884b}

/* Home */
.fm-hero{overflow:hidden;background:var(--fm-soft);border-bottom:1px solid var(--fm-line)}.fm-hero__inner{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;min-height:520px;gap:48px;padding-block:72px}.fm-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;color:var(--fm-green);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.fm-kicker__dot{width:9px;height:9px;border-radius:50%;background:var(--fm-green)}.fm-hero h1{max-width:750px;margin-bottom:20px;font-weight:800}.fm-hero h1 em{font-style:normal;color:var(--fm-blue)}.fm-hero__copy>p{max-width:570px;color:#424851;font-size:1.08rem;line-height:1.7}.fm-hero-search{display:flex;align-items:center;gap:8px;width:min(780px,calc(100% + 180px));position:relative;z-index:2;margin-top:32px;padding:8px;background:#fff;border:1px solid var(--fm-line);border-radius:14px;box-shadow:var(--fm-shadow)}.fm-hero-search input{min-width:0;height:45px;padding:8px 13px;border:0;outline:0;background:transparent}.fm-hero-search input[type=search]{flex:1}.fm-hero-search input[name=fm_cidade]{width:145px;border-left:1px solid var(--fm-line)}.fm-hero-search .fm-button{flex:0 0 auto}.fm-hero__quick{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;font-size:.78rem}.fm-hero__quick>span{color:var(--fm-muted)}.fm-hero__quick a{padding:5px 10px;border:1px solid #d5def0;border-radius:999px;background:#fff;font-weight:600}.fm-hero__quick a:hover{border-color:var(--fm-blue)}.fm-hero__visual{position:relative;min-height:390px;border-radius:28px;background:linear-gradient(145deg,#e7eefb,#d5e4fb);overflow:hidden;box-shadow:var(--fm-shadow)}.fm-hero__map-grid{position:absolute;inset:-30px;background:repeating-linear-gradient(28deg,transparent 0 45px,#c2d3ee 46px 50px,transparent 51px 100px),repeating-linear-gradient(115deg,transparent 0 54px,#fff 55px 61px,transparent 62px 110px);transform:rotate(-7deg)}.fm-hero__visual::before{content:'';position:absolute;inset:9% 8%;border:24px solid rgba(255,255,255,.38);border-radius:45%;transform:rotate(-22deg)}.fm-map-pin{position:absolute;width:34px;height:34px;border:9px solid #fff;border-radius:50% 50% 50% 4px;background:var(--fm-red);box-shadow:0 8px 18px rgba(22,23,26,.2);transform:rotate(-45deg)}.fm-map-pin--one{top:30%;left:52%}.fm-map-pin--two{top:59%;left:24%;width:27px;height:27px;border-width:7px;background:var(--fm-blue)}.fm-map-pin--three{top:18%;right:19%;width:25px;height:25px;border-width:7px;background:var(--fm-green)}.fm-hero__floating-card{position:absolute;right:18px;bottom:20px;display:flex;align-items:center;gap:11px;padding:13px 15px;border-radius:12px;background:#fff;box-shadow:var(--fm-shadow)}.fm-hero__floating-card strong,.fm-hero__floating-card small{display:block}.fm-hero__floating-card strong{font-size:.84rem}.fm-hero__floating-card small{font-size:.68rem;color:var(--fm-muted)}.fm-hero__floating-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e7eefb;color:var(--fm-blue)}
.fm-section{padding-block:76px}.fm-section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:26px}.fm-section-heading h2{max-width:650px;margin:8px 0 0}.fm-category-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:33px}.fm-category-chip{display:inline-flex;align-items:center;gap:19px;padding:10px 15px;border:1px solid var(--fm-line);border-radius:999px;background:#fff;font-size:.86rem;font-weight:600}.fm-category-chip:hover{border-color:var(--fm-blue);background:var(--fm-soft)}.fm-category-chip span{color:var(--fm-blue)}.fm-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.fm-event-card{min-width:0;border:1px solid var(--fm-line);border-radius:var(--fm-radius);overflow:hidden;background:#fff;transition:box-shadow .2s,transform .2s}.fm-event-card:hover{box-shadow:var(--fm-shadow);transform:translateY(-3px)}.fm-event-card__link{display:block;height:100%;color:inherit}.fm-event-card__link:hover{color:inherit}.fm-event-card__image{position:relative;aspect-ratio:1.52;background:var(--fm-soft);overflow:hidden}.fm-event-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.fm-event-card:hover img{transform:scale(1.035)}.fm-image-fallback{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(145deg,#e7eefb,var(--fm-soft));font:800 clamp(2rem,5vw,4rem)/1 'Bricolage Grotesque',sans-serif;letter-spacing:-.07em;color:#aac1ef}.fm-date-badge{position:absolute;top:14px;left:14px;display:grid;place-items:center;min-width:55px;padding:6px 8px;border-radius:9px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.08);text-align:center}.fm-date-badge strong{font:800 20px/1 'Bricolage Grotesque',sans-serif}.fm-date-badge small{font-size:.61rem;font-weight:700;letter-spacing:.06em}.fm-event-card__body{padding:19px 20px 22px}.fm-event-card__body h3{margin:7px 0 9px;font-size:1.27rem}.fm-event-card__place,.fm-event-card__time{margin:0;color:var(--fm-muted);font-size:.8rem}.fm-event-card__time{margin-top:3px}.fm-status{display:inline-flex;font-size:.69rem;font-weight:700}.fm-status--canceled{color:var(--fm-red)}.fm-empty-panel{padding:42px;border:1px solid var(--fm-line);border-radius:var(--fm-radius);background:var(--fm-soft)}.fm-empty-panel h3{margin-bottom:8px}.fm-empty-panel p{color:var(--fm-muted)}.fm-banner{margin-block:0 65px}.fm-banner__label{display:block;margin-bottom:9px;color:var(--fm-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.fm-banner a,.fm-banner img{display:block;width:100%;border-radius:12px}.fm-callout{background:var(--fm-blue);color:#fff}.fm-callout__inner{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:57px}.fm-callout .fm-eyebrow{color:#cfdaff}.fm-callout h2{margin:7px 0 12px}.fm-callout p{margin:0;color:#e1e8ff}

/* Archive and ordinary pages */
.fm-standard-page{min-height:52vh;padding-block:65px 90px}.fm-page-heading{max-width:740px;margin:0 0 32px}.fm-page-heading h1{margin:10px 0 10px;font-size:clamp(2.4rem,5vw,4.3rem)}.fm-page-heading>p{color:var(--fm-muted)}.fm-filter-form{display:grid;grid-template-columns:1.4fr 1.15fr .9fr 1fr auto;align-items:end;gap:12px;padding:20px;margin:28px 0 34px;border:1px solid var(--fm-line);border-radius:var(--fm-radius);background:var(--fm-soft)}.fm-filter-form label{min-width:0}.fm-filter-form label span{display:block;margin-bottom:7px;font-size:.75rem;font-weight:700}.fm-filter-form input,.fm-filter-form select{width:100%;min-width:0;min-height:47px;padding:10px 12px;border:1px solid #d0d9e8;border-radius:9px;background:#fff;color:var(--fm-ink)}.fm-filter-form .fm-button{min-height:47px}.fm-results-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:19px}.fm-results-heading h2{font-size:1.35rem;margin:0}.fm-results-heading>span{font-size:.78rem;color:var(--fm-muted)}.fm-pagination{margin-top:36px}.fm-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px}.fm-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border:1px solid var(--fm-line);border-radius:8px}.fm-pagination .current{background:var(--fm-blue);border-color:var(--fm-blue);color:#fff}.fm-content-card{padding:25px;border:1px solid var(--fm-line);border-radius:var(--fm-radius)}.fm-content-card h2{font-size:1.4rem}.fm-page-content{max-width:790px}.fm-page-content h2,.fm-prose h2{font-size:1.55rem}.fm-page-content p,.fm-prose p{line-height:1.75}.fm-page-content a:not(.fm-button){color:var(--fm-blue);text-decoration:underline}.fm-empty-state{max-width:600px}.fm-venue-content{padding:25px;border:1px solid var(--fm-line);border-radius:var(--fm-radius)}

/* Public registration and login shortcodes */
.fm-auth-page{width:min(100% - 40px,620px);padding-block:72px 100px}.fm-auth-page .fm-page-heading{text-align:center;margin-inline:auto}.fm-auth-page .fm-page-heading h1{font-size:clamp(2.1rem,4vw,3.2rem)}.fm-auth-page .fm-page-content{padding:32px 35px;border:1px solid var(--fm-line);border-radius:20px;background:#fff;box-shadow:var(--fm-shadow)}.festmaps-formulario>p{margin:0 0 21px}.festmaps-formulario p>label{display:block;font-size:.85rem;font-weight:700}.festmaps-formulario p>label br{display:none}.festmaps-formulario input:not([type=checkbox]),.festmaps-formulario select,.festmaps-formulario textarea,.fm-auth-page .login input[type=text],.fm-auth-page .login input[type=password]{display:block;width:100%;min-height:48px;margin-top:7px;padding:10px 13px;border:1px solid #cbd4e3;border-radius:9px;background:#fff;color:var(--fm-ink);font-size:.95rem;font-weight:400}.festmaps-formulario input:focus,.festmaps-formulario select:focus,.fm-auth-page .login input:focus{border-color:var(--fm-blue);outline:3px solid #d9e4ff;outline-offset:0}.festmaps-formulario small{display:block;margin-top:5px;color:var(--fm-muted);font-size:.72rem;font-weight:400}.festmaps-formulario fieldset{margin:0 0 22px;padding:17px;border:1px solid var(--fm-line);border-radius:10px}.festmaps-formulario legend{padding:0 5px;font-size:.85rem;font-weight:700}.festmaps-formulario fieldset label{display:inline-flex;align-items:center;gap:6px;margin:4px 14px 4px 0;font-size:.8rem}.festmaps-formulario fieldset br{display:none}.festmaps-formulario input[type=checkbox]{accent-color:var(--fm-blue);width:17px;height:17px;vertical-align:middle}.festmaps-formulario button,.fm-auth-page #wp-submit{width:100%;min-height:50px;border:0;border-radius:9px;background:var(--fm-blue);color:#fff;font-weight:700}.festmaps-formulario button:hover,.fm-auth-page #wp-submit:hover{background:var(--fm-blue-dark)}.fm-auth-page [role=alert]{padding:12px 14px;border:1px solid #f3b4ae;border-radius:8px;background:#fff4f3;color:#94291f}.fm-auth-page [role=status]{padding:12px 14px;border:1px solid #bad9c9;border-radius:8px;background:#f0faf4;color:#1f6045}.fm-auth-page .login p{margin:0 0 20px}.fm-auth-page .login label{font-size:.85rem;font-weight:700}.fm-auth-page .login input[type=checkbox]{accent-color:var(--fm-blue)}

/* Login form: wp_login_form() uses #loginform, not a .login wrapper. */
.fm-auth-page #loginform .login-username,.fm-auth-page #loginform .login-password{margin:0 0 21px}
.fm-auth-page #loginform .login-username label,.fm-auth-page #loginform .login-password label{display:block;margin-bottom:7px;font-size:.85rem;font-weight:700}
.fm-auth-page #loginform input[type=text],.fm-auth-page #loginform input[type=password]{display:block;width:100%;min-height:48px;margin:0;padding:10px 13px;border:1px solid #cbd4e3;border-radius:9px;background:#fff;color:var(--fm-ink);font-size:.95rem;font-weight:400}
.fm-auth-page #loginform input[type=text]:focus,.fm-auth-page #loginform input[type=password]:focus{border-color:var(--fm-blue);outline:3px solid #d9e4ff;outline-offset:0}
.fm-auth-page #loginform .login-remember{margin:0 0 23px}
.fm-auth-page #loginform .login-remember label{display:inline-flex;align-items:center;gap:9px;font-size:.84rem;font-weight:500}
.fm-auth-page #loginform .login-remember input{margin:0;accent-color:var(--fm-blue)}
.fm-auth-page #loginform .login-submit{margin:0 0 19px}
.fm-auth-page #loginform #wp-submit{display:block;width:100%;cursor:pointer}

/* Event detail */
.fm-event-page{padding-block:25px 90px}.fm-breadcrumb{display:flex;align-items:center;gap:9px;overflow:hidden;white-space:nowrap;margin-bottom:22px;color:var(--fm-muted);font-size:.73rem}.fm-breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis}.fm-event-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:32px}.fm-event-main{min-width:0}.fm-event-cover{position:relative;aspect-ratio:1.8;border-radius:20px;overflow:hidden;background:var(--fm-soft)}.fm-event-cover img{width:100%;height:100%;object-fit:cover}.fm-cover-status{position:absolute;left:18px;top:18px;padding:7px 12px;border-radius:999px;background:var(--fm-blue);color:#fff;font-size:.72rem;font-weight:700}.fm-cover-status--canceled{background:var(--fm-red)}.fm-event-intro{padding:26px 0 8px}.fm-event-intro__labels{display:flex;align-items:center;gap:10px}.fm-age-badge{padding:3px 8px;border-radius:5px;background:var(--fm-soft);font-size:.68rem;font-weight:700}.fm-event-intro h1{font-size:clamp(2.2rem,4.3vw,4rem);margin:12px 0}.fm-event-intro__place{color:var(--fm-muted)}.fm-event-details{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:25px;border-bottom:1px solid var(--fm-line)}.fm-detail{display:flex;gap:12px;padding:17px;border:1px solid var(--fm-line);border-radius:12px;background:#fff}.fm-detail__icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:8px;background:var(--fm-soft);color:var(--fm-blue);font-size:1.3rem}.fm-detail h2{margin:0 0 5px;font:700 .76rem/1.4 'Work Sans',sans-serif}.fm-detail p{margin:0;color:#444a54;font-size:.78rem;line-height:1.55}.fm-event-copy{padding:29px 0;border-bottom:1px solid var(--fm-line)}.fm-event-copy h2{margin-bottom:15px;font-size:1.55rem}.fm-prose{color:#424851}.fm-prose>*:last-child{margin-bottom:0}.fm-event-owner{padding-top:29px}.fm-event-owner h2{font-size:1.3rem;margin:6px 0}.fm-event-owner h2 span{color:var(--fm-blue)}.fm-event-side{display:flex;flex-direction:column;gap:16px}.fm-side-card{padding:22px;border:1px solid var(--fm-line);border-radius:16px;box-shadow:0 7px 24px rgba(22,23,26,.035)}.fm-side-card h2{margin:7px 0;font-size:1.25rem}.fm-side-card>p{color:var(--fm-muted);font-size:.8rem}.fm-side-card--action{background:var(--fm-soft)}.fm-side-card--action .fm-button{margin:12px 0}.fm-side-card--action small{display:block;color:var(--fm-muted);font-size:.7rem}.fm-map-frame,.fm-map-placeholder{display:block;width:100%;height:220px;margin:18px 0 15px;border:0;border-radius:11px;background:#e4ecf7}.fm-map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:20px;text-align:center;color:var(--fm-muted)}.fm-map-placeholder span{font-size:2rem;color:var(--fm-blue)}.fm-map-placeholder small{font-size:.72rem}.fm-share-button{min-height:48px;padding:10px 15px;border:1px solid var(--fm-line);border-radius:10px;background:#fff;color:var(--fm-blue);font-weight:700}.fm-share-button:hover{border-color:var(--fm-blue)}

/* Footer */
.fm-footer{background:var(--fm-ink);color:#fff}.fm-footer__inner{display:flex;justify-content:space-between;align-items:center;gap:35px;min-height:180px;padding-block:40px}.fm-footer__brand{font:800 24px/1 'Bricolage Grotesque',sans-serif;letter-spacing:-.06em}.fm-footer p{margin:12px 0 0;color:#b8bdc5;font-size:.78rem}.fm-footer nav{display:flex;gap:23px;font-size:.8rem}.fm-footer small{color:#9ea5ae;font-size:.72rem}

@media(max-width:1050px){.fm-nav__list{gap:17px}.fm-header__actions{gap:12px}.fm-hero__inner{grid-template-columns:1fr .75fr;gap:25px}.fm-hero-search{width:100%}.fm-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-filter-form .fm-button{grid-column:2}.fm-event-layout{grid-template-columns:minmax(0,1.5fr) minmax(270px,.8fr)}}
@media(max-width:760px){.fm-shell{width:min(100% - 32px,1220px)}.fm-header__inner{min-height:64px;gap:12px}.fm-brand__name{font-size:21px}.fm-nav{display:none;position:absolute;top:64px;left:0;right:0;padding:15px 16px 20px;background:#fff;border-bottom:1px solid var(--fm-line);box-shadow:0 10px 25px rgba(0,0,0,.07)}.fm-nav.is-open{display:block}.fm-nav__list{display:block}.fm-nav__list li{margin:5px 0}.fm-nav__list a{display:block;padding:9px}.fm-header__actions{margin-left:auto}.fm-header__actions .fm-button{display:none}.fm-menu-toggle{display:block}.fm-hero__inner{grid-template-columns:1fr;min-height:0;padding-block:54px 35px}.fm-hero h1{max-width:550px;font-size:clamp(3rem,11vw,4.3rem)}.fm-hero__visual{min-height:255px}.fm-hero-search{display:grid;grid-template-columns:1fr 1fr;padding:10px}.fm-hero-search input[type=search]{grid-column:1/-1;border-bottom:1px solid var(--fm-line)}.fm-hero-search input[name=fm_cidade]{grid-column:1;border-left:0}.fm-hero-search .fm-button{grid-column:2;min-height:45px}.fm-section{padding-block:50px}.fm-section-heading{align-items:start}.fm-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fm-callout__inner{padding-block:42px}.fm-event-layout{grid-template-columns:1fr}.fm-event-side{grid-row:auto}.fm-event-page{padding-bottom:55px}.fm-footer__inner{align-items:start;flex-direction:column;min-height:0;gap:25px;padding-bottom:90px}.fm-mobile-bar{display:flex;position:fixed;z-index:50;bottom:0;left:0;right:0;justify-content:space-around;align-items:center;min-height:60px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--fm-line);background:#fff;box-shadow:0 -8px 20px rgba(0,0,0,.03)}.fm-mobile-bar a{flex:1;padding:12px 3px;text-align:center;color:var(--fm-muted);font-size:.66rem;font-weight:700}.fm-mobile-bar a[aria-current=page]{color:var(--fm-blue)}}
@media(max-width:530px){.fm-header__login{font-size:.76rem}.fm-hero__copy>p{font-size:.94rem}.fm-hero__visual{min-height:210px}.fm-section-heading{display:block}.fm-section-heading .fm-text-link{display:inline-block;margin-top:16px}.fm-card-grid{grid-template-columns:1fr}.fm-event-card__image{aspect-ratio:1.7}.fm-filter-form{grid-template-columns:1fr;padding:15px}.fm-filter-form .fm-button{grid-column:1}.fm-callout__inner{display:block}.fm-callout .fm-button{margin-top:22px}.fm-event-details{grid-template-columns:1fr}.fm-event-cover{aspect-ratio:1.4}.fm-auth-page{width:min(100% - 28px,620px);padding-block:45px 75px}.fm-auth-page .fm-page-content{padding:23px 19px}.fm-standard-page{padding-block:43px 68px}}
@media(max-width:530px){.fm-brand__logo{max-width:130px;max-height:36px}.fm-brand__name{font-size:18px}.fm-header__actions{min-width:0}.fm-account-menu summary{max-width:115px;padding:6px 8px;font-size:.72rem}.fm-account-menu__panel{min-width:190px}.fm-menu-toggle{padding:8px}}

/* v0.2: clearer date and location hierarchy */
.fm-event-card__schedule{margin-top:14px;padding-top:12px;border-top:1px solid var(--fm-line)}
.fm-event-card__schedule time{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fm-event-card__schedule-date{color:#3f4651;font-size:.76rem;font-weight:700}
.fm-event-card__schedule-date>span{margin-right:3px;color:var(--fm-blue);font-size:1rem;vertical-align:-1px}
.fm-event-card__schedule strong{flex:0 0 auto;padding:5px 8px;border-radius:6px;background:var(--fm-soft);color:var(--fm-blue);font-size:.82rem;line-height:1.2}
.fm-detail--date{align-items:center;gap:14px;border-color:#cfddf7;background:var(--fm-soft)}
.fm-detail__content{min-width:0}
.fm-detail__date-tile{display:flex;flex:0 0 57px;flex-direction:column;align-items:center;justify-content:center;height:66px;border-radius:9px;background:#fff;box-shadow:0 4px 14px rgba(26,68,214,.08);color:var(--fm-ink)}
.fm-detail__date-tile strong{font:800 1.75rem/1 'Bricolage Grotesque',sans-serif}
.fm-detail__date-tile span{margin-top:3px;color:var(--fm-blue);font-size:.65rem;font-weight:800;letter-spacing:.07em}
.fm-detail__date-line{display:block;margin-bottom:4px;color:#424851;font-size:.76rem;font-weight:600}
.fm-detail__hour{display:block;color:var(--fm-blue);font:800 1.55rem/1.1 'Bricolage Grotesque',sans-serif}
.fm-detail__end{display:block;margin-top:4px;color:var(--fm-muted);font-size:.72rem}
.fm-location-name{display:block;font-size:.85rem;line-height:1.35}
.fm-city-label{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:8px 0;padding:5px 8px;border-radius:6px;background:#eaf0ff;color:var(--fm-blue);font-size:.72rem;font-weight:800;line-height:1.2}
.fm-detail .fm-street-address,.fm-side-card .fm-street-address{margin:5px 0 0;color:var(--fm-muted);font-size:.78rem;font-weight:400;line-height:1.6}
.fm-side-card .fm-city-label{display:flex;margin:10px 0 3px}
@media(max-width:530px){.fm-detail--date{min-height:108px}.fm-detail__hour{font-size:1.4rem}}

/* Painel inicial do administrador. */
.fm-admin-dashboard-page{min-height:60vh;padding-block:56px 90px}
.fm-admin-dashboard-page .fm-page-heading{margin-bottom:24px}
.fm-admin-dashboard-page .fm-page-content{max-width:none}
.fm-admin-hub__intro{max-width:760px;margin:0 0 27px;color:var(--fm-muted)}
.fm-admin-hub__pending{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:38px}
.fm-admin-hub__pending a{display:flex;align-items:center;gap:14px;min-width:0;padding:17px 20px;border:1px solid #d5e1f8;border-radius:14px;background:var(--fm-soft);color:var(--fm-ink)!important;text-decoration:none!important;transition:border-color .18s,transform .18s}
.fm-admin-hub__pending a:hover{border-color:var(--fm-blue);transform:translateY(-2px)}
.fm-admin-hub__pending strong{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:10px;background:#fff;color:var(--fm-blue);font:800 1.55rem/1 'Bricolage Grotesque',Arial,sans-serif}
.fm-admin-hub__pending span{font-size:.84rem;font-weight:700;line-height:1.35}
.fm-admin-hub__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fm-admin-hub__card{display:flex;flex-direction:column;min-width:0;min-height:245px;padding:24px;border:1px solid var(--fm-line);border-radius:17px;background:#fff;box-shadow:0 9px 30px rgba(22,23,26,.035)}
.fm-admin-hub__number{display:grid;place-items:center;width:32px;height:32px;margin-bottom:19px;border-radius:8px;background:#eaf0ff;color:var(--fm-blue);font-size:.73rem;font-weight:800}
.fm-admin-hub__card h2{margin:0 0 7px;font:800 1.4rem/1.2 'Bricolage Grotesque',Arial,sans-serif}
.fm-admin-hub__card p{margin:0 0 22px;color:var(--fm-muted);font-size:.84rem;line-height:1.55}
.fm-admin-hub__actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-top:auto}
.fm-admin-hub__actions .fm-button{width:100%;min-height:44px}
.fm-admin-hub__secondary{display:inline-flex;align-items:center;gap:6px;padding:6px 2px;color:var(--fm-blue)!important;font-size:.84rem;font-weight:700;text-decoration:none!important}
.fm-admin-hub__secondary:hover{text-decoration:underline!important}
.fm-admin-hub a:focus-visible{outline:3px solid var(--fm-blue);outline-offset:3px}
@media(max-width:900px){.fm-admin-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.fm-admin-dashboard-page{padding-block:40px 80px}.fm-admin-hub__pending{grid-template-columns:1fr;gap:9px;margin-bottom:25px}.fm-admin-hub__pending a{padding:12px 15px}.fm-admin-hub__grid{grid-template-columns:1fr;gap:13px}.fm-admin-hub__card{min-height:0;padding:20px}.fm-admin-hub__number{margin-bottom:12px}}

/* Descoberta de eventos: lista, mapa e busca por proximidade. */
[hidden]{display:none!important}
.fm-hero-near{display:inline-flex;align-items:center;margin-top:20px;color:var(--fm-blue);font-size:.88rem;font-weight:700}
.fm-discovery-page .fm-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}
.fm-discovery-page .fm-filter-form .fm-button{grid-column:auto}
.fm-discovery-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:-11px 0 10px}
.fm-discovery-shortcuts,.fm-discovery-near{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.fm-discovery-shortcuts a{display:inline-flex;align-items:center;min-height:40px;padding:7px 14px;border:1px solid var(--fm-line);border-radius:999px;font-size:.8rem;font-weight:700}
.fm-discovery-shortcuts a:hover,.fm-discovery-shortcuts a.is-active{border-color:var(--fm-blue);background:#eaf0ff;color:var(--fm-blue)}
.fm-discovery-near label{font-size:.77rem;font-weight:700}
.fm-discovery-near select{min-height:42px;padding:7px 10px;border:1px solid #cbd4e3;border-radius:9px;background:#fff}
.fm-discovery-near .fm-button{min-height:42px;padding:8px 14px;font-size:.8rem}
#fm-clear-near{padding:8px;border:0;background:none;color:var(--fm-blue);font-size:.78rem;font-weight:700}
.fm-discovery-pick{min-height:42px;padding:8px 12px;border:0;background:none;color:var(--fm-blue);font-size:.79rem;font-weight:700}
.fm-discovery-pick:hover,#fm-clear-near:hover{text-decoration:underline}
.fm-discovery-status{min-height:23px;margin:0 0 13px;color:var(--fm-muted);font-size:.78rem}
.fm-discovery-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:start;gap:24px;margin-bottom:50px}
.fm-discovery-results{min-width:0}
.fm-discovery-results .fm-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.fm-discovery-results .fm-empty-panel{grid-column:1/-1}
.fm-discovery-map-panel{position:sticky;top:20px;padding:17px;border:1px solid var(--fm-line);border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(22,23,26,.035)}
.fm-discovery-map-panel h2{margin:0 0 4px;font-size:1.22rem}
.fm-discovery-map-panel>p{margin:0 0 13px;color:var(--fm-muted);font-size:.75rem}
.fm-discovery-map{height:min(64vh,560px);min-height:360px;border-radius:11px;background:#e4ecf7;z-index:0}
.fm-discovery-map.is-picking{outline:3px solid var(--fm-blue);outline-offset:2px;cursor:crosshair}
.fm-discovery-map-panel .fm-map-note{margin:10px 0 0}
.fm-discovery-map .leaflet-popup-content p{margin:5px 0;font-size:.75rem}
.fm-discovery-map .leaflet-popup-content a{color:var(--fm-blue);font-weight:700}
.fm-discovery-map .leaflet-popup-content>div+div{margin-top:10px;padding-top:10px;border-top:1px solid var(--fm-line)}
.fm-discovery-view{display:none}
.fm-discovery-more{margin-top:26px}
.fm-event-card__distance{margin:12px 0 0;color:var(--fm-blue);font-size:.78rem;font-weight:700}
@media(max-width:1100px){.fm-discovery-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}.fm-discovery-results .fm-card-grid{grid-template-columns:1fr}}
@media(max-width:850px){.fm-discovery-page .fm-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-discovery-layout{grid-template-columns:1fr}.fm-discovery-map-panel{position:static}.fm-discovery-results .fm-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-discovery-view{display:flex;gap:7px;margin:10px 0 18px}.fm-discovery-view button{padding:7px 17px;border:1px solid var(--fm-line);border-radius:8px;background:#fff;font-size:.8rem;font-weight:700}.fm-discovery-view button[aria-pressed=true]{border-color:var(--fm-blue);background:var(--fm-blue);color:#fff}.fm-discovery-layout[data-view=list] .fm-discovery-map-panel,.fm-discovery-layout[data-view=map] .fm-discovery-results{display:none}}
@media(max-width:560px){.fm-discovery-page .fm-filter-form{grid-template-columns:1fr}.fm-discovery-results .fm-card-grid{grid-template-columns:1fr}.fm-discovery-near{width:100%}.fm-discovery-near .fm-button{flex:1}.fm-discovery-map{min-height:420px;height:65vh}}
.fm3-preview{margin:24px 0;padding:22px;border:1px solid var(--fm-line);border-radius:16px;background:var(--fm-soft)}
.fm3-preview[hidden]{display:none}
.fm3-preview img{display:block;width:100%;max-height:340px;object-fit:cover;border-radius:10px;margin-bottom:18px}
.fm3-preview__type{color:var(--fm-blue);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.fm3-preview__title{font-family:'Bricolage Grotesque',Arial,sans-serif;font-size:clamp(1.6rem,4vw,2.5rem);margin:7px 0}
.fm3-preview__date{font-size:1.05rem;font-weight:800}
.fm3-preview__description{white-space:pre-line}
.fm3-preview__meta{font-size:.8rem;color:var(--fm-muted)}
.fm-event-metrics{display:flex;flex-wrap:wrap;gap:12px;margin:0;color:var(--fm-muted);font-size:.76rem}
.fm-event-metrics span+span:before{content:'·';margin-right:12px}
.fm-event-metrics strong{color:var(--fm-ink)}
.fm-promoter-metrics{margin-top:38px;padding-top:26px;border-top:1px solid var(--fm-line)}
.fm-promoter-metrics>p{color:var(--fm-muted);font-size:.85rem}
.fm-metrics-scroll{overflow-x:auto}
.fm-metrics-table{width:100%;border-collapse:collapse;font-size:.84rem}
.fm-metrics-table th,.fm-metrics-table td{padding:11px 13px;border-bottom:1px solid var(--fm-line);text-align:left}
.fm-metrics-table th{background:var(--fm-soft);font-weight:700}
.fm-metrics-table td:nth-child(n+2),.fm-metrics-table th:nth-child(n+2){text-align:right}

/* Mobile event list: compact horizontal cards inspired by the client reference. */
.fm-date-badge__weekday,.fm-event-card__place-icon,.fm-event-card__clock-icon,.fm-event-card__cta{display:none}
@media(max-width:560px){
  .fm-card-grid,.fm-discovery-results .fm-card-grid{grid-template-columns:1fr;gap:12px}
  .fm-event-card{border-radius:15px;box-shadow:0 4px 16px rgba(22,23,26,.055)}
  .fm-event-card__link{display:grid;grid-template-columns:minmax(100px,36%) minmax(0,1fr);min-height:174px}
  .fm-event-card__image{min-height:174px;height:100%;aspect-ratio:auto}
  .fm-event-card__image img,.fm-event-card__image .fm-image-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .fm-event-card__image .fm-image-fallback{font-size:1.15rem}
  .fm-date-badge{top:9px;left:9px;min-width:49px;padding:6px 5px;border-radius:9px;background:var(--fm-blue-dark);color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.15)}
  .fm-date-badge__weekday{display:block;font-size:.55rem;font-weight:800;line-height:1.1;letter-spacing:.05em}
  .fm-date-badge strong{font-size:1.35rem;line-height:1.05}
  .fm-date-badge small{font-size:.55rem;line-height:1.1}
  .fm-event-card__body{display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:174px;padding:12px 13px}
  .fm-event-card__body>.fm-eyebrow{display:none}
  .fm-event-card__body h3{margin:0 0 7px;font-size:clamp(.98rem,4.3vw,1.13rem);line-height:1.17;overflow-wrap:anywhere}
  .fm-event-card__place{position:relative;margin:0 0 6px;padding-left:17px;font-size:.7rem;line-height:1.25}
  .fm-event-card__place-icon{display:block;position:absolute;top:1px;left:0;width:13px;height:13px;color:var(--fm-muted)}
  .fm-event-card__place-name,.fm-event-card__place-city{display:block}
  .fm-event-card__place-separator{display:none}
  .fm-event-card__schedule{margin:0;padding:0;border:0}
  .fm-event-card__schedule time{display:flex;align-items:center;justify-content:flex-start;gap:4px}
  .fm-event-card__schedule-date{display:none}
  .fm-event-card__clock-icon{display:block;flex:none;width:13px;height:13px;color:var(--fm-muted)}
  .fm-event-card__schedule strong{display:block;padding:0;background:none;color:var(--fm-muted);font-size:.7rem;font-weight:600}
  .fm-event-card__schedule strong::before{content:'Início: '}
  .fm-event-card__distance{margin:3px 0 0;font-size:.67rem}
  .fm-event-card__cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:32px;margin-top:auto;padding:5px 10px;border-radius:7px;background:var(--fm-blue);color:#fff;font-size:.75rem;font-weight:700;line-height:1.2;text-align:center}
  .fm-event-card__cta span{margin-left:auto;font-size:1.3rem;line-height:.8}
  .fm-event-card__link:hover .fm-event-card__cta,.fm-event-card__link:focus-visible .fm-event-card__cta{background:var(--fm-blue-dark)}
}

/* Atalho na tela inicial: convite discreto, sem bloquear a navegação. */
.fm-footer__install{display:none}
.fm-install-prompt{position:fixed;z-index:49;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));left:16px;max-width:420px;margin-inline:auto;padding:16px;border:1px solid var(--fm-line);border-radius:18px;background:#fff;box-shadow:0 16px 44px rgba(22,23,26,.18)}
.fm-install-prompt__close{position:absolute;top:8px;right:9px;width:34px;height:34px;border:0;background:transparent;color:var(--fm-muted);font-size:26px;line-height:1}
.fm-install-prompt__heading{display:flex;align-items:center;gap:12px;padding-right:28px}
.fm-install-prompt__heading img{flex:none;width:44px;height:44px;border-radius:10px;object-fit:cover}
.fm-install-prompt__heading strong,.fm-install-prompt__heading span{display:block;line-height:1.35}
.fm-install-prompt__heading strong{font-size:.95rem}
.fm-install-prompt__heading span{color:var(--fm-muted);font-size:.78rem}
.fm-install-prompt__instructions{margin:12px 0;color:var(--fm-muted);font-size:.79rem;line-height:1.45}
.fm-install-prompt__action{display:block;width:100%;min-height:42px;border:0;border-radius:9px;background:var(--fm-blue);color:#fff;font-size:.83rem;font-weight:700}
.fm-install-prompt__action:hover{background:var(--fm-blue-dark)}
.fm-install-prompt button:focus-visible,.fm-footer__install:focus-visible{outline:3px solid var(--fm-blue);outline-offset:3px}
@media(max-width:760px){.fm-footer nav{flex-wrap:wrap}.fm-footer__install:not([hidden]){display:inline-block;padding:0;border:0;background:none;color:inherit;font-size:inherit;font-weight:inherit;text-align:left}}

/* A imagem configurada na Home fica subordinada ao conteúdo e ao mapa. */
.fm-hero--custom-bg{background-image:linear-gradient(90deg,rgba(245,248,252,.9) 0%,rgba(245,248,252,.78) 55%,rgba(245,248,252,.7) 100%),var(--fm-hero-bg-image);background-position:center;background-size:cover;background-repeat:no-repeat}
@media(max-width:760px){.fm-hero--custom-bg{background-image:linear-gradient(rgba(245,248,252,.88),rgba(245,248,252,.88)),var(--fm-hero-bg-image);background-position:center}}

/* A Home usa a foto de fundo sem sobrepor o mapa ilustrativo antigo. */
.fm-hero__inner{display:flex;align-items:center;min-height:540px;padding-block:74px 82px}
.fm-hero__copy{width:min(100%,780px)}
@media(max-width:760px){.fm-hero__inner{min-height:0;padding-block:54px 44px}}
