:root{
  --mc-gold:#b97a22;--mc-gold-2:#d39a3a;--mc-gold-soft:#f6ead6;--mc-dark:#1f2933;--mc-text:#415166;--mc-muted:#7a8796;--mc-bg:#f5f7fa;--mc-white:#fff;--mc-border:rgba(24,39,55,.08);--mc-shadow:0 18px 50px rgba(31,41,51,.08);--mc-navbar:88px;--mc-blue:#2f7de1;--mc-green:#2f9e63
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--mc-bg);color:var(--mc-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-top:0;overflow-x:hidden}.mc-main{min-height:calc(100vh - var(--mc-navbar))}.mc-container{width:min(1480px,calc(100% - 48px));margin-inline:auto}.mc-navbar{min-height:var(--mc-navbar);background:rgba(255,255,255,.96);border-top:4px solid var(--mc-gold);border-bottom:1px solid var(--mc-border);box-shadow:0 6px 24px rgba(31,41,51,.06);backdrop-filter:blur(14px);z-index:1100}.mc-navbar-inner{width:min(1540px,calc(100% - 28px));margin:auto}.mc-brand{display:flex;align-items:center;gap:12px;padding:8px 0}.mc-logo{width:60px;height:60px;object-fit:contain;display:block}.mc-brand-copy{flex-direction:column;line-height:1.05;color:var(--mc-dark);font-size:13px;letter-spacing:.04em;text-transform:uppercase}.mc-brand-copy strong{font-size:15px}.mc-brand-copy span{color:var(--mc-gold);font-weight:700;margin-top:3px}.mc-nav-list{gap:4px}.mc-navbar .nav-link{display:flex;align-items:center;gap:7px;color:#596779;font-size:14px;font-weight:700;padding:12px 14px!important;border-radius:12px;position:relative;transition:.2s}.mc-navbar .nav-link i{font-size:16px}.mc-navbar .nav-link:hover,.mc-navbar .nav-link.active{color:#8a5919;background:#fbf5ec}.mc-navbar .nav-link.active:after{content:"";position:absolute;height:2px;border-radius:4px;background:var(--mc-gold);left:15px;right:15px;bottom:6px}.mc-toggler{border:0!important;box-shadow:none!important;padding:8px}.mc-toggler span{display:block;width:24px;height:2px;background:#4b5868;margin:5px;border-radius:99px}.mc-hero{padding-top:28px}.mc-hero-inner{overflow:hidden;position:relative;min-height:205px;border-radius:26px;padding:34px 44px;background:linear-gradient(135deg,#fff 0%,#fffaf3 58%,#f1dcc0 100%);box-shadow:var(--mc-shadow);border:1px solid rgba(185,122,34,.12);display:flex;align-items:center;justify-content:space-between;gap:36px}.mc-hero-inner:before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-100px;top:-145px;background:radial-gradient(circle,rgba(185,122,34,.18),transparent 68%)}.mc-hero-copy{position:relative;z-index:2;min-width:0;flex:1}.mc-eyebrow{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:11px;color:var(--mc-gold)}.mc-hero h1,.mc-page-head h1{color:var(--mc-dark);font-weight:800;letter-spacing:-.035em}.mc-hero h1{font-size:clamp(29px,2.6vw,42px);line-height:1.08;margin:10px 0 10px;white-space:nowrap}.mc-hero h1 span{color:var(--mc-gold)}.mc-hero p,.mc-page-head p{font-size:15px;line-height:1.55;color:#657386;max-width:none;margin:0}.mc-hero p{white-space:nowrap}.mc-hero-actions{position:relative;z-index:2;display:flex;gap:10px;align-items:center;justify-content:flex-end;flex:0 0 auto}.mc-btn-primary,.mc-btn-soft{border-radius:12px;padding:11px 17px;font-weight:800;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.mc-btn-primary{background:var(--mc-gold);border-color:var(--mc-gold);color:#fff}.mc-btn-primary:hover{background:#9d651c;border-color:#9d651c;color:#fff}.mc-btn-soft{background:#fff;border:1px solid rgba(185,122,34,.2);color:#7d531c}.mc-btn-soft:hover{background:#fbf4ea;color:#6d4516}.mc-page-head p{font-size:18px;line-height:1.75;max-width:760px}
.mc-events-section{padding-top:52px;padding-bottom:70px}.mc-section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.mc-section-head h2{margin:6px 0 0;color:var(--mc-dark);font-size:34px;font-weight:800;letter-spacing:-.02em}.mc-legend{display:flex;flex-wrap:wrap;gap:18px;color:#677486;font-size:13px;font-weight:700}.mc-legend span{display:flex;align-items:center;gap:7px}.mc-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.mc-dot-green{background:var(--mc-green)}.mc-dot-blue{background:var(--mc-blue)}.mc-month-block{margin-bottom:50px}.mc-month-title-wrap{display:flex;align-items:center;gap:16px;margin-bottom:22px}.mc-month-title{display:flex;align-items:baseline;gap:8px;color:var(--mc-dark);font-weight:800;white-space:nowrap}.mc-month-title span{font-size:24px}.mc-month-title small{font-size:14px;color:#9a7643}.mc-month-line{height:1px;background:linear-gradient(90deg,rgba(185,122,34,.35),rgba(24,39,55,.06));flex:1}.mc-month-count{font-size:12px;font-weight:700;color:#8a95a3;white-space:nowrap}.mc-event-card{background:#fff;border:1px solid var(--mc-border);border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(31,41,51,.055);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.mc-event-card:hover,.mc-event-card:focus{transform:translateY(-6px);box-shadow:0 18px 42px rgba(31,41,51,.12);border-color:rgba(185,122,34,.25);outline:0}.mc-event-image{height:230px;background-size:cover;background-position:top center;background-repeat:no-repeat;position:relative;background-color:#eef1f4}.mc-event-image-empty{display:grid;place-items:center;background:linear-gradient(145deg,#f4eee4,#fff)}.mc-event-image-empty img{width:100px;height:100px;object-fit:contain;opacity:.72}.mc-event-badge{position:absolute;left:14px;top:14px;color:#fff;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;box-shadow:0 8px 18px rgba(0,0,0,.12)}.mc-event-badge.is-chapter{background:var(--mc-green)}.mc-event-badge.is-event{background:var(--mc-blue)}.mc-event-body{padding:20px}.mc-event-body h3{color:var(--mc-dark);font-size:17px;line-height:1.45;font-weight:800;margin:0 0 15px;min-height:49px}.mc-event-meta{display:grid;gap:7px;color:#758294;font-size:13px}.mc-event-meta span{display:flex;align-items:flex-start;gap:7px}.mc-event-meta i{color:#a2763e;margin-top:1px}.mc-card-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0f3;margin-top:17px;padding-top:14px;color:#9a6728;font-weight:800;font-size:13px}.mc-page-head{padding-top:42px;padding-bottom:30px}.mc-page-head h1{font-size:clamp(34px,4vw,50px);margin:10px 0 10px}.mc-calendar-card,.mc-content-card{background:#fff;border:1px solid var(--mc-border);border-radius:22px;box-shadow:var(--mc-shadow)}.mc-calendar-card{padding:24px 24px 30px;margin-bottom:60px}.mc-calendar-topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:4px 4px 18px}.fc .fc-toolbar-title{font-size:26px!important;font-weight:800!important;color:var(--mc-dark)}.fc .fc-button-primary{background:#263442!important;border-color:#263442!important;border-radius:9px!important;font-weight:700!important}.fc .fc-button-primary:hover,.fc .fc-button-primary:not(:disabled).fc-button-active{background:var(--mc-gold)!important;border-color:var(--mc-gold)!important}.fc .fc-daygrid-event{border-radius:7px!important;padding:3px 6px!important;font-size:12px!important;font-weight:700!important}.fc .fc-daygrid-event-harness{margin-top:3px!important}.fc .fc-daygrid-event{white-space:normal!important;align-items:flex-start!important;line-height:1.25!important;min-height:30px}.fc .fc-event-main{white-space:normal!important}.fc .fc-event-title{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;max-height:2.5em;word-break:break-word}.fc .fc-event-time{display:none!important}.fc-theme-standard td,.fc-theme-standard th{border-color:#e7ebef!important}.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number{color:#526173;text-decoration:none}.fc .fc-day-today{background:#fff7e9!important}.mc-modal{border:0!important;border-radius:24px!important;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.23)}.mc-modal-close{position:absolute;right:18px;top:18px;z-index:5;background-color:rgba(255,255,255,.95);padding:11px;border-radius:50%;box-shadow:0 5px 16px rgba(0,0,0,.14)}.mc-event-modal-image{height:330px;background-size:cover;background-position:top center;background-repeat:no-repeat;background-color:#f0f2f4}.mc-modal-title{color:var(--mc-dark);font-weight:800;letter-spacing:-.02em}.mc-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--mc-gold-soft);color:#8a5b20;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.mc-muted{color:var(--mc-muted)}.mc-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mc-detail-item{border:1px solid #edf0f3;border-radius:14px;padding:14px;display:flex;gap:12px;align-items:flex-start}.mc-detail-item>i{font-size:20px;color:var(--mc-gold)}.mc-detail-item small{display:block;color:#8b95a2;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.mc-detail-item strong{display:block;color:#344150;font-size:14px;line-height:1.45;margin-top:3px}.mc-description{padding-top:6px;color:#59687a;line-height:1.75}.mc-confraria-head{display:flex;gap:18px;align-items:center}.mc-confraria-logo{width:94px;height:94px;border:1px solid #edf0f3;border-radius:18px;background:#fff;display:grid;place-items:center;overflow:hidden}.mc-confraria-logo img{max-width:82px;max-height:82px;object-fit:contain}.mc-map-shell{position:relative;padding-bottom:0}.mc-map-search-wrap{position:relative;z-index:20}.mc-map-search-card{height:58px;background:#fff;border:1px solid var(--mc-border);box-shadow:0 10px 34px rgba(31,41,51,.09);border-radius:15px;display:flex;align-items:center;padding:0 10px 0 18px;position:relative}.mc-map-search-card>i{font-size:18px;color:#8d99a7}.mc-map-search-card input{flex:1;border:0;outline:0;padding:0 13px;font-size:15px;color:#344150;background:transparent}.mc-map-search-card .btn{border:0;color:#7c8793}.mc-map-results{position:absolute;top:66px;left:0;right:0;background:#fff;border-radius:14px;box-shadow:0 18px 45px rgba(31,41,51,.16);overflow:auto;max-height:330px;display:none;border:1px solid #edf0f3}.mc-map-result{padding:13px 15px;border-bottom:1px solid #edf0f3;cursor:pointer}.mc-map-result:last-child{border-bottom:0}.mc-map-result:hover{background:#fbf6ef}.mc-map-result strong{display:block;color:#334150;font-size:14px}.mc-map-result small{color:#8793a1}.mc-map-canvas{height:calc(100vh - var(--mc-navbar) - 180px);min-height:560px;margin-top:18px;background:#e9eef3;position:relative}.mc-map-loading,.mc-map-config{position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:#758294}.mc-map-config i{font-size:42px;color:var(--mc-gold)}.mc-map-config h3{color:var(--mc-dark);margin:0}.mc-content-card{padding:36px;min-height:220px;margin-bottom:60px;font-size:16px;line-height:1.75}.mc-empty-state{text-align:center;background:#fff;border-radius:20px;padding:55px 20px;border:1px solid var(--mc-border)}.mc-empty-state img{width:90px;opacity:.7;margin-bottom:15px}.mc-empty-state h3{color:var(--mc-dark);font-weight:800}
@media(max-width:1199.98px){.mc-hero-inner{padding:30px 34px;gap:24px}.mc-hero h1{font-size:34px}.mc-hero p{font-size:14px}.mc-event-image{height:210px}}
@media(max-width:991.98px){:root{--mc-navbar:76px}.mc-container{width:min(100% - 30px,1480px)}.mc-navbar{min-height:var(--mc-navbar)}.mc-navbar-inner{width:calc(100% - 18px)}.mc-logo{width:50px;height:50px}.mc-navbar .navbar-collapse{position:absolute;left:0;right:0;top:100%;background:rgba(255,255,255,.985);border-top:1px solid var(--mc-border);box-shadow:0 18px 35px rgba(31,41,51,.1);padding:12px 16px 18px}.mc-nav-list{gap:2px}.mc-navbar .nav-link{padding:13px 14px!important}.mc-navbar .nav-link.active:after{display:none}.mc-hero{padding-top:20px}.mc-hero-inner{min-height:auto;padding:28px 30px;align-items:flex-start;flex-direction:column;gap:20px}.mc-hero h1{font-size:32px;white-space:normal}.mc-hero p{white-space:normal}.mc-hero-actions{width:100%;justify-content:flex-start}.mc-page-head{padding-top:30px}.mc-map-canvas{height:calc(100vh - var(--mc-navbar) - 170px);min-height:500px}}
@media(max-width:767.98px){.mc-section-head{align-items:flex-start;flex-direction:column}.mc-month-title-wrap{gap:10px}.mc-month-count{display:none}.mc-event-image{height:235px}.mc-detail-grid{grid-template-columns:1fr}.mc-calendar-card{padding:12px 8px 20px;border-radius:16px}.mc-calendar-topbar{padding:6px 6px 14px}.fc .fc-toolbar{gap:10px;flex-wrap:wrap}.fc .fc-toolbar-title{font-size:20px!important}.fc .fc-button{padding:.35em .6em!important;font-size:.85em!important}.fc .fc-header-toolbar{margin-bottom:1em!important}.mc-event-modal-image{height:260px}.mc-map-canvas{min-height:520px}.mc-content-card{padding:24px}}
@media(max-width:575.98px){.mc-container{width:calc(100% - 22px)}.mc-brand-copy{display:none!important}.mc-hero-inner{border-radius:20px;padding:25px 22px;gap:17px}.mc-hero h1{font-size:28px}.mc-hero p{font-size:14px}.mc-page-head p{font-size:16px}.mc-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.mc-hero-actions .btn{justify-content:center;padding:10px 12px;font-size:13px}.mc-events-section{padding-top:38px}.mc-section-head h2{font-size:29px}.mc-month-title span{font-size:21px}.mc-event-image{height:245px}.mc-event-body h3{min-height:auto}.mc-page-head h1{font-size:34px}.mc-calendar-card{margin-left:-3px;margin-right:-3px}.mc-map-search-card{height:54px}.mc-map-canvas{height:calc(100vh - var(--mc-navbar) - 160px);min-height:500px}.mc-confraria-head{align-items:flex-start}.mc-confraria-logo{width:76px;height:76px;flex:0 0 76px}.mc-confraria-logo img{max-width:66px;max-height:66px}}

/* WebsiteMC_003 - Agenda: botoes separados e dias mais altos */
.fc .fc-button-group{gap:5px!important}
.fc .fc-button-group>.fc-button{border-radius:8px!important;margin:0!important}
.fc .fc-toolbar-chunk:first-child{display:flex;align-items:center;gap:10px}
.fc .fc-daygrid-day-frame{min-height:108px}
@media(min-width:1200px){.fc .fc-daygrid-day-frame{min-height:118px}}
@media(max-width:767.98px){.fc .fc-daygrid-day-frame{min-height:auto}.fc .fc-button-group{gap:4px!important}}

/* WebsiteMC_005: agenda com eventos sem limite de linhas e dias mais altos */
.fc .fc-daygrid-event{
    white-space:normal!important;
    align-items:flex-start!important;
    line-height:1.28!important;
    min-height:30px;
    font-weight:400!important;
    padding:5px 7px!important;
}
.fc .fc-event-main,
.fc .fc-event-title{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:unset!important;
    display:block!important;
    max-height:none!important;
    -webkit-line-clamp:unset!important;
    -webkit-box-orient:initial!important;
    line-clamp:unset!important;
    word-break:normal!important;
    overflow-wrap:anywhere;
    font-weight:400!important;
}
.fc .fc-daygrid-event-harness{margin-top:4px!important}
.fc .fc-daygrid-day-frame{min-height:135px}
@media(min-width:1200px){.fc .fc-daygrid-day-frame{min-height:150px}}
@media(min-width:1500px){.fc .fc-daygrid-day-frame{min-height:160px}}
@media(max-width:767.98px){.fc .fc-daygrid-day-frame{min-height:auto}}

/* WebsiteMC_006 — Boleias no Movimento */
.mc-rides-hero{padding:28px 0 6px}.mc-rides-hero-inner{background:linear-gradient(118deg,#222c35 0%,#2d3945 60%,#9a6829 135%);border-radius:24px;color:#fff;padding:40px 44px;display:flex;justify-content:space-between;gap:36px;align-items:center;box-shadow:0 20px 55px rgba(31,41,51,.14);position:relative;overflow:hidden}.mc-rides-hero-inner:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-75px;top:-110px;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.015)}.mc-rides-hero h1{font-size:clamp(36px,4vw,58px);line-height:1.04;letter-spacing:-.045em;margin:10px 0 14px;max-width:740px}.mc-rides-hero h1 span{color:#e2b66f}.mc-rides-hero p{max-width:720px;color:#d7dee6;font-size:16px;margin:0}.mc-rides-how{display:grid;gap:9px;min-width:260px;position:relative;z-index:2}.mc-rides-how span{display:flex;align-items:center;gap:10px;color:#edf1f4;font-size:13px}.mc-rides-how b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.11);color:#f1c982}.mc-rides-events{padding-top:42px;padding-bottom:70px}.mc-rides-privacy{font-size:13px;color:#607084;display:flex;align-items:center;gap:7px}.mc-rides-privacy i{color:var(--mc-green)}.mc-ride-event-card{display:block;height:100%;background:#fff;border:1px solid var(--mc-border);border-radius:19px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 10px 34px rgba(31,41,51,.055);transition:.22s ease}.mc-ride-event-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(31,41,51,.11)}.mc-ride-event-cover{height:205px;background:#f5efe6 center top/cover no-repeat;position:relative;display:grid;place-items:center}.mc-ride-event-cover>img{width:90px;opacity:.55}.mc-ride-event-body{padding:21px}.mc-ride-event-body h3{font-size:18px;color:var(--mc-dark);line-height:1.4;margin:0 0 13px;font-weight:800}.mc-ride-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.mc-ride-stats span{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:10px;font-size:12px}.mc-ride-stats .is-offer{background:#ebf8f1;color:#25734d}.mc-ride-stats .is-search{background:#eef4fd;color:#386fae}.mc-ride-stats strong{font-size:14px}.mc-ride-event-head{padding-top:36px}.mc-back-link{display:inline-flex;align-items:center;gap:7px;color:#718094;text-decoration:none;font-size:13px;font-weight:700;margin-bottom:15px}.mc-back-link:hover{color:var(--mc-gold)}.mc-ride-event-summary{background:#fff;border:1px solid var(--mc-border);border-radius:22px;padding:20px;display:flex;align-items:center;gap:20px;box-shadow:var(--mc-shadow)}.mc-ride-event-thumb{width:120px;height:105px;flex:0 0 120px;border-radius:15px;background:#f4eee5 center top/cover no-repeat}.mc-ride-event-summary h1{font-size:clamp(24px,3vw,37px);color:var(--mc-dark);line-height:1.12;letter-spacing:-.03em;margin:7px 0 10px}.mc-ride-event-meta{display:flex;gap:14px;flex-wrap:wrap;color:#728094;font-size:13px}.mc-ride-event-meta span{display:flex;gap:6px;align-items:center}.mc-share-actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.mc-whatsapp-btn{background:#eaf8f0!important;color:#197445!important;border:1px solid #d4efdf!important;font-weight:800!important;border-radius:11px!important}.mc-whatsapp-btn:hover{background:#dff4e8!important;color:#116039!important}.mc-alert-success{background:#edf9f2;border:1px solid #d0eddd;color:#256b49;border-radius:14px;display:flex;gap:9px;align-items:center}.mc-ride-choice{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.mc-ride-choice-card{border:0;border-radius:20px;padding:23px;text-align:left;display:flex;align-items:center;gap:16px;color:#fff;box-shadow:0 14px 38px rgba(31,41,51,.1);transition:.2s ease}.mc-ride-choice-card:hover{transform:translateY(-3px)}.mc-ride-choice-card.is-driver{background:linear-gradient(120deg,#267d55,#36a56f)}.mc-ride-choice-card.is-passenger{background:linear-gradient(120deg,#326fae,#438bd3)}.mc-ride-choice-icon{width:52px;height:52px;flex:0 0 52px;border-radius:15px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:24px}.mc-ride-choice-card>span:nth-child(2){display:flex;flex-direction:column;flex:1}.mc-ride-choice-card small{color:rgba(255,255,255,.72);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.mc-ride-choice-card strong{font-size:24px;line-height:1.2}.mc-ride-choice-card em{font-style:normal;color:rgba(255,255,255,.78);font-size:12px;margin-top:4px}.mc-ride-choice-card>i:last-child{font-size:20px}.mc-rides-tabs{display:flex;gap:8px;border-bottom:1px solid #dfe5ea;margin-top:35px}.mc-rides-tabs button{border:0;background:transparent;color:#778596;font-weight:800;padding:14px 17px;display:flex;align-items:center;gap:8px;border-bottom:3px solid transparent;margin-bottom:-1px}.mc-rides-tabs button.active{color:#9a6829;border-color:var(--mc-gold)}.mc-rides-tabs button span{background:#edf0f3;border-radius:999px;padding:3px 7px;font-size:11px}.mc-rides-list-wrap{padding:22px 0 70px}.mc-ride-card{background:#fff;border:1px solid var(--mc-border);border-radius:18px;padding:20px;height:100%;box-shadow:0 8px 28px rgba(31,41,51,.045);display:flex;flex-direction:column}.mc-ride-route{display:flex;align-items:center;gap:12px}.mc-route-dot{width:13px;height:13px;border:3px solid #fff;background:var(--mc-green);box-shadow:0 0 0 2px #bfe5cf;border-radius:50%;flex:0 0 13px}.mc-ride-route>div{min-width:0;flex:1}.mc-ride-route small,.mc-looking-head small{display:block;color:#8c98a6;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.mc-ride-route h3,.mc-looking-head h3{font-size:20px;color:var(--mc-dark);margin:2px 0 0;font-weight:800}.mc-ride-route strong{display:block;color:#536274;font-size:14px;line-height:1.3}.mc-ride-route>i{color:#a7b0ba}.mc-ride-card-meta{display:flex;gap:8px 14px;flex-wrap:wrap;border-top:1px solid #edf0f3;margin-top:16px;padding-top:14px;color:#6f7d8e;font-size:12px}.mc-ride-card-meta span{display:flex;align-items:center;gap:6px}.mc-seat-pill{color:#28734e!important;font-weight:800}.mc-ride-note{font-size:12px;color:#657488;background:#f7f8fa;border-radius:10px;padding:9px 11px;margin:11px 0 0}.mc-ride-card-actions{margin-top:auto;padding-top:17px;display:flex;gap:8px}.mc-icon-btn{border:1px solid #e1e6eb!important;border-radius:10px!important;color:#69788a!important}.mc-looking-head{display:flex;gap:13px;align-items:center}.mc-looking-head .mc-ride-choice-icon{background:#eef4fd;color:#3474b5}.mc-rides-empty{text-align:center;border:1px dashed #d6dde4;background:#fbfcfd;border-radius:18px;padding:42px 20px}.mc-rides-empty>i{font-size:36px;color:#b58a53}.mc-rides-empty h3{font-size:19px;color:var(--mc-dark);margin:11px 0 5px}.mc-rides-empty p{color:#7d8a99;font-size:13px}.mc-form-control{border-radius:11px!important;border-color:#dfe5ea!important;min-height:46px}.mc-form-control:focus{border-color:#c89652!important;box-shadow:0 0 0 .2rem rgba(184,122,34,.1)!important}.mc-modal-rides{border:1px solid #e4eadf;background:linear-gradient(100deg,#f4fbf7,#fffaf2);border-radius:15px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.mc-modal-rides>div{display:flex;align-items:center;gap:11px}.mc-modal-rides>div>i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#e4f5eb;color:#287450;font-size:18px}.mc-modal-rides span{display:flex;flex-direction:column}.mc-modal-rides strong{color:#344354;font-size:13px}.mc-modal-rides small{color:#7c8998;font-size:11px;margin-top:2px}.mc-home-ride-chip{display:inline-flex;align-items:center;gap:6px;background:#edf8f2;color:#28734e;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:800;text-decoration:none;margin-top:12px}.mc-home-ride-chip span{color:#a4b1aa}.mc-manage-wrap{padding-top:36px;padding-bottom:70px}.mc-manage-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:10px 0 24px}.mc-manage-hero h1{font-size:38px;color:var(--mc-dark);margin:6px 0 2px}.mc-manage-hero p{margin:0;color:#748294}.mc-private-pill{background:#fff3dc;color:#8f652c;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800}.mc-manage-card{background:#fff;border:1px solid var(--mc-border);border-radius:19px;padding:22px;box-shadow:0 10px 34px rgba(31,41,51,.055)}.mc-big-seat{display:flex;align-items:center;gap:10px;background:#f2faf5;border-radius:14px;padding:16px;margin-top:18px}.mc-big-seat strong{font-size:38px;line-height:1;color:#24724c}.mc-big-seat span{font-size:11px;text-transform:uppercase;color:#668071;font-weight:800;line-height:1.2}.mc-count-badge{width:34px;height:34px;border-radius:50%;background:#f1e6d6;color:#93642a;display:grid;place-items:center;font-weight:800}.mc-connection-row{display:flex;gap:12px;align-items:flex-start;border-top:1px solid #edf0f3;padding:18px 0}.mc-connection-row:first-of-type{border-top:0}.mc-connection-avatar{width:40px;height:40px;border-radius:50%;background:#edf1f5;color:#56687b;display:grid;place-items:center;font-weight:800}.mc-connection-row strong{display:block;color:#344354}.mc-connection-row small{display:block;color:#82909f;font-size:11px}.mc-connection-row p{font-size:12px;color:#647386;margin:6px 0 0}.mc-connection-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.mc-status{font-size:10px;text-transform:uppercase;font-weight:900;border-radius:999px;padding:5px 8px}.mc-status.is-pendente{background:#fff3dc;color:#916426}.mc-status.is-aceite{background:#e8f7ef;color:#27724e}.mc-status.is-recusado{background:#f4edef;color:#98515c}.mc-contact-reveal{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.mc-contact-reveal a{display:inline-flex;gap:5px;align-items:center;background:#f6f8fa;border-radius:8px;padding:6px 8px;color:#536477;text-decoration:none;font-size:11px}.mc-contact-reveal .is-whatsapp{background:#eaf8f0;color:#197445}.mc-connection-page{padding-top:55px;padding-bottom:80px}.mc-connection-card{max-width:760px;margin:auto;background:#fff;border:1px solid var(--mc-border);border-radius:24px;padding:48px;text-align:center;box-shadow:var(--mc-shadow)}.mc-connection-state{font-size:58px;margin-bottom:12px}.mc-connection-state.is-pendente{color:#c18b42}.mc-connection-state.is-aceite{color:#2f9e63}.mc-connection-state.is-recusado{color:#b75a67}.mc-connection-card h1{font-size:40px;color:var(--mc-dark);margin:8px 0}.mc-match-box{background:#f4fbf7;border-radius:15px;padding:18px;margin-top:20px}.mc-match-box>span{display:block;color:#4d6758;font-size:13px;font-weight:700;margin-bottom:9px}
@media(max-width:991.98px){.mc-rides-hero-inner{align-items:flex-start;flex-direction:column}.mc-rides-how{grid-template-columns:repeat(3,1fr);width:100%}.mc-rides-how span{flex-direction:column;align-items:flex-start}.mc-ride-event-summary{align-items:flex-start;flex-wrap:wrap}.mc-share-actions{margin-left:140px;margin-top:-45px}.mc-ride-choice{grid-template-columns:1fr}.mc-manage-card.sticky-lg-top{position:static!important}}
@media(max-width:767.98px){.mc-rides-hero-inner{padding:30px 25px}.mc-rides-hero h1{font-size:38px}.mc-rides-how{grid-template-columns:1fr}.mc-rides-how span{flex-direction:row}.mc-ride-event-summary{gap:13px}.mc-ride-event-thumb{width:82px;height:82px;flex-basis:82px}.mc-share-actions{margin:0;width:100%;justify-content:flex-start}.mc-ride-choice-card{padding:18px}.mc-ride-choice-card strong{font-size:20px}.mc-rides-tabs{overflow:auto}.mc-rides-tabs button{white-space:nowrap;padding-inline:11px}.mc-ride-route{align-items:flex-start}.mc-manage-hero{align-items:flex-start;flex-direction:column}.mc-connection-row{flex-wrap:wrap}.mc-connection-actions{width:100%;justify-content:flex-start;padding-left:52px}.mc-connection-card{padding:30px 22px}.mc-connection-card h1{font-size:32px}}
@media(max-width:575.98px){.mc-rides-hero{padding-top:16px}.mc-rides-hero-inner{border-radius:19px;padding:26px 20px}.mc-rides-hero h1{font-size:33px}.mc-rides-hero p{font-size:14px}.mc-ride-event-cover{height:220px}.mc-ride-event-head{padding-top:22px}.mc-ride-event-summary{padding:14px}.mc-ride-event-summary h1{font-size:23px}.mc-ride-choice{margin-top:18px}.mc-ride-choice-card em{display:none}.mc-rides-list-wrap{padding-bottom:45px}.mc-modal-rides{align-items:flex-start;flex-direction:column}.mc-modal-rides .btn{width:100%}}
.mc-whatsapp-community{display:flex;align-items:center;gap:14px;background:linear-gradient(100deg,#eaf8f0,#f8fdf9);border:1px solid #d4efdf;border-radius:17px;padding:15px 18px;text-decoration:none;color:#355b46;margin:22px 0 -6px;transition:.2s ease}.mc-whatsapp-community:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(25,116,69,.08);color:#214b34}.mc-whatsapp-community>span{width:44px;height:44px;border-radius:13px;background:#d9f3e4;color:#197445;display:grid;place-items:center;font-size:23px}.mc-whatsapp-community>div{display:flex;flex-direction:column;flex:1}.mc-whatsapp-community small{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#55906f}.mc-whatsapp-community strong{font-size:15px}.mc-whatsapp-community em{font-style:normal;font-size:11px;color:#789283;margin-top:2px}.mc-whatsapp-community>i{color:#4e8466}

/* =========================================================
   MAPA - LEAFLET / OPENSTREETMAP
========================================================= */
.mc-map-canvas.leaflet-container,
#mcMap.leaflet-container {
    font-family: inherit;
    z-index: 1;
}

.mc-leaflet-marker {
    border-radius: 50%;
    filter: drop-shadow(0 4px 6px rgba(31, 41, 51, .28));
}

.marker-cluster-small,
.marker-cluster-medium,
.marker-cluster-large {
    background: rgba(185, 122, 34, .20) !important;
}

.marker-cluster-small div,
.marker-cluster-medium div,
.marker-cluster-large div {
    background: #b97a22 !important;
    color: #fff !important;
    font-weight: 800;
    box-shadow: 0 5px 16px rgba(31, 41, 51, .18);
}

.leaflet-control-zoom a {
    color: #263442 !important;
    border: 0 !important;
}

.leaflet-control-zoom {
    border: 0 !important;
    box-shadow: 0 8px 24px rgba(31, 41, 51, .14) !important;
}

.leaflet-control-attribution {
    font-size: 10px;
}


/* =========================================================
   WebsiteMC_009 - correção robusta do mapa Leaflet
========================================================= */

#mcMap {
    width: 100% !important;
    height: calc(100vh - var(--mc-navbar) - 185px) !important;
    min-height: 620px;
    position: relative;
    overflow: hidden;
    background: #e9eef3;
}

/* Regras críticas para os mosaicos do Leaflet */
#mcMap.leaflet-container {
    width: 100% !important;
    font-family: inherit;
}

#mcMap .leaflet-pane,
#mcMap .leaflet-tile,
#mcMap .leaflet-marker-icon,
#mcMap .leaflet-marker-shadow,
#mcMap .leaflet-tile-container,
#mcMap .leaflet-pane > svg,
#mcMap .leaflet-pane > canvas {
    position: absolute;
    left: 0;
    top: 0;
}

#mcMap .leaflet-tile {
    width: 256px !important;
    height: 256px !important;
    max-width: none !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

#mcMap img.leaflet-tile,
#mcMap img.leaflet-marker-icon,
#mcMap img.leaflet-marker-shadow {
    max-width: none !important;
}

#mcMap .leaflet-map-pane,
#mcMap .leaflet-tile-pane,
#mcMap .leaflet-overlay-pane,
#mcMap .leaflet-shadow-pane,
#mcMap .leaflet-marker-pane,
#mcMap .leaflet-tooltip-pane,
#mcMap .leaflet-popup-pane {
    position: absolute;
    left: 0;
    top: 0;
}

@media (max-width: 991.98px) {
    #mcMap {
        height: 68vh !important;
        min-height: 520px;
    }
}

@media (max-width: 575.98px) {
    #mcMap {
        height: 65vh !important;
        min-height: 440px;
    }
}


/* =========================================================
   WebsiteMC_014 - modal de eventos prioritário e mobile
========================================================= */
.modal {
    z-index: 2200 !important;
}

.modal-backdrop {
    z-index: 2190 !important;
}

#eventModal .modal-dialog {
    position: relative;
}

#eventModal .mc-modal-close {
    z-index: 25;
}

@media (max-width: 575.98px) {
    #eventModal {
        padding: 0 !important;
    }

    #eventModal .modal-dialog {
        margin: 0 !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 100dvh;
        height: 100dvh;
        align-items: stretch;
    }

    #eventModal .modal-content {
        width: 100%;
        min-height: 100dvh;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0 !important;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    #eventModal .mc-event-modal-image {
        flex: 0 0 auto;
        width: 100%;
        height: min(34dvh, 300px);
        min-height: 190px;
        background-position: top center;
    }

    #eventModal .modal-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 24px 20px calc(28px + env(safe-area-inset-bottom)) !important;
    }

    #eventModal .mc-modal-close {
        position: fixed;
        top: calc(12px + env(safe-area-inset-top));
        right: 14px;
        width: 42px;
        height: 42px;
        padding: 12px;
        opacity: 1;
        background-color: rgba(255,255,255,.97);
        box-shadow: 0 6px 22px rgba(0,0,0,.22);
    }

    #eventModal .mc-modal-title {
        font-size: clamp(25px, 7vw, 34px);
        line-height: 1.12;
    }

    #eventModal .mc-detail-grid {
        grid-template-columns: 1fr;
    }

    #eventModal .mc-modal-rides {
        margin-bottom: 8px;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    #eventModal .modal-dialog {
        margin-top: 24px;
        margin-bottom: 24px;
        max-height: calc(100dvh - 48px);
    }

    #eventModal .modal-content {
        max-height: calc(100dvh - 48px);
    }
}


/* WebsiteMC_015 - versão no rodapé */
.mc-footer-version,
.mc-footer-version-only {
    font-size: 11px;
    opacity: .55;
    text-align: center;
    letter-spacing: .04em;
}

.mc-footer-version-only {
    padding: 8px 12px 12px;
}

.mc-footer-legal {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px 16px;
    margin-bottom: 5px;
}

.mc-footer-legal a {
    color: inherit;
    text-decoration: none;
}

.mc-footer-legal a:hover,
.mc-footer-legal a:focus-visible {
    color: #9b191f;
    text-decoration: underline;
}

.mc-legal-updated {
    margin: 8px 0 0;
    color: #6b7280;
    font-size: .92rem;
}

.mc-legal-card {
    max-width: 920px;
    margin: 0 auto;
    line-height: 1.75;
}

.mc-legal-card h2 {
    margin: 2rem 0 .65rem;
    font-size: clamp(1.12rem, 2vw, 1.35rem);
}

.mc-legal-card h2:first-of-type {
    margin-top: 1.25rem;
}

.mc-legal-card li + li {
    margin-top: .35rem;
}


/* =========================================================
   WebsiteMC_016 - detalhes de evento premium
========================================================= */

.mc-event-modal-premium {
    border: 0;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 30px 90px rgba(13, 25, 39, .28);
    background: #fff;
}

#eventModal .modal-dialog {
    max-width: 1180px;
}

.mc-event-gallery-column {
    background: #111923;
    min-height: 620px;
}

.mc-event-gallery-wrap {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.mc-event-gallery-main {
    position: relative;
    flex: 1 1 auto;
    min-height: 510px;
    overflow: hidden;
    background: #151d27;
}

.mc-event-gallery-image {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    transition: opacity .2s ease;
}

.mc-event-gallery-main::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 34%;
    background: linear-gradient(to top, rgba(0,0,0,.28), transparent);
    pointer-events: none;
}

.mc-event-gallery-count {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 3;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(12, 18, 25, .72);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    backdrop-filter: blur(10px);
}

.mc-gallery-nav,
.mc-gallery-zoom {
    position: absolute;
    z-index: 4;
    border: 0;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: #202a35;
    box-shadow: 0 8px 24px rgba(0,0,0,.16);
}

.mc-gallery-prev { left: 18px; top: 50%; transform: translateY(-50%); }
.mc-gallery-next { right: 18px; top: 50%; transform: translateY(-50%); }
.mc-gallery-zoom { right: 18px; bottom: 18px; }

.mc-event-thumbs {
    gap: 10px;
    padding: 12px;
    overflow-x: auto;
    background: #111923;
    scrollbar-width: thin;
}

.mc-event-thumb {
    flex: 0 0 76px;
    height: 64px;
    border-radius: 12px;
    border: 2px solid transparent;
    background-size: cover;
    background-position: center;
    opacity: .72;
    transition: .2s ease;
}

.mc-event-thumb.active {
    opacity: 1;
    border-color: #c48425;
    transform: translateY(-1px);
}

.mc-event-info-column {
    background:
        radial-gradient(circle at top right, rgba(196,132,37,.08), transparent 30%),
        #fff;
}

.mc-event-modal-body {
    padding: 48px 46px 42px;
}

.mc-event-modal-eyebrow {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(196,132,37,.12);
    color: #a86612;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mc-event-modal-meta {
    margin-top: 14px;
    color: #7d8998;
    font-size: 15px;
}

#eventModal .mc-modal-title {
    margin-top: 10px;
    margin-bottom: 26px;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.02;
    letter-spacing: -.035em;
    color: #172331;
}

#eventModal .mc-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
}

#eventModal .mc-detail-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 92px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid #e5e9ee;
    background: rgba(255,255,255,.84);
    box-shadow: 0 8px 24px rgba(26,39,54,.04);
}

#eventModal .mc-detail-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #fbf3e7;
    color: #bd7718;
    font-size: 20px;
}

#eventModal .mc-detail-label {
    color: #9aa5b2;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

#eventModal .mc-detail-value {
    margin-top: 3px;
    color: #2a394a;
    font-size: 17px;
    font-weight: 700;
}

#eventModal .mc-event-description {
    margin-top: 24px;
    color: #5d6a78;
    font-size: 15px;
    line-height: 1.7;
}

#eventModal .mc-modal-rides {
    margin-top: 24px;
}

#eventModal .mc-modal-close {
    top: 18px;
    right: 18px;
    width: 44px;
    height: 44px;
    z-index: 20;
    border-radius: 50%;
    background-color: rgba(255,255,255,.94);
    box-shadow: 0 8px 24px rgba(0,0,0,.16);
}

/* Lightbox */
.mc-lightbox {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(4,8,12,.94);
}

.mc-lightbox.show {
    display: flex;
}

.mc-lightbox img {
    max-width: min(92vw, 1400px);
    max-height: 88vh;
    object-fit: contain;
    border-radius: 18px;
    box-shadow: 0 30px 80px rgba(0,0,0,.45);
}

.mc-lightbox-close,
.mc-lightbox-nav {
    position: fixed;
    z-index: 2;
    border: 0;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: #1b2733;
}

.mc-lightbox-close { top: 20px; right: 20px; }
.mc-lightbox-prev { left: 24px; top: 50%; transform: translateY(-50%); }
.mc-lightbox-next { right: 24px; top: 50%; transform: translateY(-50%); }

body.mc-lightbox-open {
    overflow: hidden;
}

@media (max-width: 991.98px) {
    .mc-event-gallery-column {
        min-height: 430px;
    }

    .mc-event-gallery-main {
        min-height: 360px;
    }

    .mc-event-modal-body {
        padding: 34px 28px;
    }

    #eventModal .mc-modal-title {
        font-size: clamp(30px, 5vw, 42px);
    }
}

@media (max-width: 575.98px) {
    #eventModal .modal-dialog {
        min-height: 100dvh;
        height: 100dvh;
    }

    .mc-event-modal-premium {
        min-height: 100dvh;
        height: 100dvh;
        border-radius: 0;
        overflow-y: auto;
    }

    #eventModal .row {
        display: block;
        height: auto !important;
    }

    .mc-event-gallery-column {
        min-height: 0;
    }

    .mc-event-gallery-main {
        min-height: 300px;
        height: 36dvh;
        max-height: 360px;
    }

    .mc-event-thumbs {
        padding: 10px 14px;
        gap: 8px;
    }

    .mc-event-thumb {
        flex-basis: 68px;
        height: 56px;
    }

    .mc-event-modal-body {
        padding: 26px 20px calc(30px + env(safe-area-inset-bottom));
    }

    #eventModal .mc-modal-title {
        margin-bottom: 20px;
        font-size: clamp(28px, 8vw, 38px);
        line-height: 1.06;
    }

    #eventModal .mc-detail-grid {
        grid-template-columns: 1fr;
    }

    #eventModal .mc-detail-card {
        min-height: 82px;
        padding: 16px;
    }

    #eventModal .mc-modal-close {
        position: fixed;
        top: calc(12px + env(safe-area-inset-top));
        right: 14px;
    }

    .mc-gallery-nav {
        width: 40px;
        height: 40px;
    }

    .mc-gallery-prev { left: 12px; }
    .mc-gallery-next { right: 12px; }

    .mc-gallery-zoom {
        right: 12px;
        bottom: 12px;
        width: 40px;
        height: 40px;
    }

    .mc-lightbox {
        padding: 10px;
    }

    .mc-lightbox img {
        max-width: 96vw;
        max-height: 82vh;
        border-radius: 12px;
    }

    .mc-lightbox-prev { left: 10px; }
    .mc-lightbox-next { right: 10px; }
}


/* WebsiteMC_017 - correções e acabamento do modal de eventos */
#eventModal .mc-rides-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
    border: 1px solid rgba(196,132,37,.20);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(196,132,37,.10), rgba(196,132,37,.04));
}

#eventModal .mc-rides-callout-title {
    color: #172331;
    font-size: 16px;
    font-weight: 800;
}

#eventModal .mc-rides-callout-title i {
    color: #bd7718;
    margin-right: 7px;
}

#eventModal .mc-rides-callout-text {
    margin-top: 4px;
    color: #7a8795;
    font-size: 13px;
}

@media (max-width: 575.98px) {
    #eventModal .mc-rides-callout {
        align-items: stretch;
        flex-direction: column;
    }

    #eventModal .mc-rides-callout .btn {
        width: 100%;
    }
}


/* WebsiteMC_018 - página própria de detalhes do evento */
.mc-event-page{padding-top:28px;padding-bottom:56px}
.mc-event-page-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.mc-event-page-status{padding:11px 18px;border-radius:999px;font-weight:700;font-size:13px}
.mc-event-page-status.is-chapter{background:#dff4e8;color:#247a4d}
.mc-event-page-status.is-event{background:#e7f0ff;color:#2867b2}
.mc-event-page-card{background:#fff;border:1px solid rgba(20,35,50,.06);border-radius:26px;padding:clamp(28px,5vw,64px);box-shadow:0 18px 50px rgba(24,38,54,.06)}
.mc-event-page-card h1{font-size:clamp(32px,4.2vw,56px);line-height:1.04;letter-spacing:-.035em;margin:12px 0 30px;color:#172331}
.mc-event-page-facts{display:grid;gap:14px;margin-bottom:30px}
.mc-event-page-facts>div{display:grid;grid-template-columns:145px 1fr;gap:16px}
.mc-event-page-facts span{font-weight:700;color:#84909e}
.mc-event-page-facts strong{color:#26394c}
.mc-event-page-description{font-size:16px;line-height:1.75;color:#435467}
.mc-event-share{display:flex;align-items:center;gap:9px;margin-top:34px;padding-top:24px;border-top:1px solid #edf0f3}
.mc-event-share strong{margin-right:5px}
.mc-event-share a,.mc-event-share button{border:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f2f5f8;color:#22364a;text-decoration:none}
.mc-event-share a:hover,.mc-event-share button:hover{background:#c27d1d;color:#fff}
.mc-event-page-gallery{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 16px 45px rgba(24,38,54,.08);margin-bottom:20px}
.mc-event-page-main-image{position:relative;border:0;padding:0;width:100%;background:#eef1f4;display:block}
.mc-event-page-main-image img{width:100%;height:auto;max-height:430px;object-fit:cover;object-position:top center;display:block}
.mc-event-page-main-image>span{position:absolute;right:12px;bottom:12px;background:rgba(15,25,35,.78);color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}
.mc-event-page-thumbs{display:flex;gap:8px;padding:10px;overflow-x:auto}
.mc-event-page-thumbs button{border:2px solid transparent;border-radius:10px;padding:0;overflow:hidden;flex:0 0 72px;background:none}
.mc-event-page-thumbs button.active{border-color:#c27d1d}
.mc-event-page-thumbs img{width:100%;height:58px;object-fit:cover;display:block}
.mc-event-rides-panel{background:linear-gradient(145deg,#fffaf2,#fff);border:1px solid #eadbc5;border-radius:22px;padding:24px;box-shadow:0 16px 45px rgba(24,38,54,.06)}
.mc-event-rides-head{display:flex;align-items:center;gap:13px}
.mc-event-rides-head>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#e2f5ea;color:#27835a;font-size:21px}
.mc-event-rides-head small{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#b16f17}
.mc-event-rides-head h2{font-size:24px;margin:1px 0 0}
.mc-event-rides-panel>p{color:#6d7986;margin:17px 0}
.mc-event-rides-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.mc-event-rides-stats>div{background:#fff;border:1px solid #eee5d9;border-radius:14px;padding:13px}
.mc-event-rides-stats strong{font-size:24px;display:block;color:#172331}
.mc-event-rides-stats span{font-size:11px;color:#7d8995}
.mc-event-rides-all{text-align:center;text-decoration:none;color:#a76612;font-weight:700;padding-top:7px}
.mc-page-lightbox{position:fixed;inset:0;z-index:5000;background:rgba(5,10,15,.94);display:none;align-items:center;justify-content:center;padding:20px}
.mc-page-lightbox.show{display:flex}
.mc-page-lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}
.mc-page-lightbox button{position:absolute;right:20px;top:20px;border:0;width:46px;height:46px;border-radius:50%;background:#fff;color:#172331}
@media(max-width:767.98px){
 .mc-event-page{padding-top:16px}
 .mc-event-page-toolbar{margin-bottom:16px}
 .mc-event-page-card{border-radius:20px;padding:26px 20px}
 .mc-event-page-card h1{font-size:34px}
 .mc-event-page-facts>div{grid-template-columns:1fr;gap:2px;padding-bottom:10px;border-bottom:1px solid #eef1f4}
 .mc-event-page-gallery{border-radius:18px}
 .mc-event-page-main-image img{max-height:none}
 .mc-event-rides-panel{padding:20px}
}


/* =========================================================
   WebsiteMC_019 - detalhe do evento: título e cartazes
========================================================= */

.mc-event-page-card h1 {
    font-size: clamp(28px, 3vw, 42px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
    max-width: 900px;
}

.mc-event-posters {
    margin-top: 34px;
    padding-top: 28px;
    border-top: 1px solid #edf0f3;
}

.mc-event-posters-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.mc-event-posters-head span {
    color: #172331;
    font-size: 16px;
    font-weight: 800;
}

.mc-event-posters-head small {
    color: #8b96a3;
    font-size: 12px;
}

.mc-event-posters-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.mc-event-poster {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    border: 0;
    border-radius: 16px;
    overflow: hidden;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    box-shadow: 0 8px 24px rgba(24,38,54,.08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.mc-event-poster::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.18), transparent 45%);
    opacity: 0;
    transition: opacity .2s ease;
}

.mc-event-poster:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(24,38,54,.14);
}

.mc-event-poster:hover::after {
    opacity: 1;
}

.mc-event-poster span {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 2;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.94);
    color: #172331;
    box-shadow: 0 6px 18px rgba(0,0,0,.16);
}

@media (max-width: 767.98px) {
    .mc-event-page-card h1 {
        font-size: clamp(27px, 8vw, 34px) !important;
    }

    .mc-event-posters-grid {
        gap: 10px;
    }

    .mc-event-poster {
        border-radius: 13px;
        aspect-ratio: 1 / 1;
    }
}


/* =========================================================
   WebsiteMC_020 - navegação contínua dos cartazes
========================================================= */

.mc-page-lightbox {
    touch-action: pan-y;
}

.mc-page-lightbox-stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 94vw;
    max-height: 90vh;
}

.mc-page-lightbox-counter {
    position: absolute;
    left: 50%;
    bottom: 14px;
    transform: translateX(-50%);
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(10,18,26,.78);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

.mc-page-lightbox-close,
.mc-page-lightbox-nav {
    position: fixed;
    z-index: 5002;
    border: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.95);
    color: #172331;
    box-shadow: 0 8px 24px rgba(0,0,0,.22);
}

.mc-page-lightbox-close {
    top: 20px;
    right: 20px;
}

.mc-page-lightbox-prev {
    left: 22px;
    top: 50%;
    transform: translateY(-50%);
}

.mc-page-lightbox-next {
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
}

@media (max-width: 575.98px) {
    .mc-page-lightbox-nav {
        width: 42px;
        height: 42px;
        background: rgba(255,255,255,.88);
    }

    .mc-page-lightbox-prev {
        left: 8px;
    }

    .mc-page-lightbox-next {
        right: 8px;
    }

    .mc-page-lightbox-close {
        top: calc(12px + env(safe-area-inset-top));
        right: 12px;
    }

    .mc-page-lightbox-counter {
        bottom: 10px;
    }
}


/* =========================================================
   WebsiteMC_021 - setas centradas verticalmente na lightbox
========================================================= */
.mc-page-lightbox-prev,
.mc-page-lightbox-next {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
}

.mc-page-lightbox-prev {
    left: 22px !important;
    right: auto !important;
}

.mc-page-lightbox-next {
    right: 22px !important;
    left: auto !important;
}

@media (max-width: 575.98px) {
    .mc-page-lightbox-prev {
        left: 8px !important;
    }

    .mc-page-lightbox-next {
        right: 8px !important;
    }
}


/* =========================================================
   WebsiteMC_022 - barra premium de navegação mensal
========================================================= */

.mc-month-nav-section {
    padding-top: 4px;
    padding-bottom: 6px;
}

.mc-month-nav-shell {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    padding: 14px 16px 14px 20px;
    border: 1px solid rgba(196,132,37,.13);
    border-radius: 22px;
    background:
        radial-gradient(circle at 90% 20%, rgba(196,132,37,.11), transparent 28%),
        rgba(255,255,255,.94);
    box-shadow: 0 14px 42px rgba(24,38,54,.07);
    overflow: hidden;
}

.mc-month-nav-label {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-right: 14px;
    border-right: 1px solid #edf0f3;
}

.mc-month-nav-label .mc-eyebrow {
    margin: 0;
    font-size: 10px;
}

.mc-month-nav-label strong {
    color: #172331;
    font-size: 15px;
    line-height: 1.2;
}

.mc-month-nav-scroll {
    display: grid;
    grid-template-columns: repeat(5, minmax(118px, 1fr));
    gap: 8px;
    min-width: 0;
}

.mc-month-nav-item {
    position: relative;
    min-height: 66px;
    padding: 11px 40px 10px 13px;
    border: 1px solid transparent;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-decoration: none;
    background: #f7f9fb;
    color: #536274;
    transition:
        transform .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.mc-month-nav-item:hover {
    transform: translateY(-2px);
    border-color: rgba(196,132,37,.22);
    background: #fffaf3;
    color: #9a5f10;
    box-shadow: 0 8px 20px rgba(24,38,54,.07);
}

.mc-month-nav-month {
    font-size: 13px;
    font-weight: 800;
    line-height: 1.05;
}

.mc-month-nav-item small {
    margin-top: 3px;
    color: #9aa5b2;
    font-size: 10px;
}

.mc-month-nav-item b {
    position: absolute;
    top: 50%;
    right: 11px;
    transform: translateY(-50%);
    min-width: 28px;
    height: 28px;
    padding: 0 7px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #e9edf2;
    color: #536274;
    font-size: 11px;
}

.mc-month-nav-item.is-current {
    background:
        linear-gradient(135deg, #c78624, #aa6812);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 10px 24px rgba(177,108,18,.22);
}

.mc-month-nav-item.is-current small {
    color: rgba(255,255,255,.72);
}

.mc-month-nav-item.is-current b {
    background: rgba(255,255,255,.18);
    color: #fff;
}

.mc-month-nav-item.is-selected:not(.is-current) {
    border-color: rgba(196,132,37,.38);
    background: #fff8ed;
    color: #9a5f10;
}

.mc-month-nav-item.is-selected:not(.is-current) b {
    background: #f2dfc1;
    color: #8c5710;
}

@media (max-width: 991.98px) {
    .mc-month-nav-shell {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 14px;
    }

    .mc-month-nav-label {
        padding-right: 0;
        padding-bottom: 10px;
        border-right: 0;
        border-bottom: 1px solid #edf0f3;
    }

    .mc-month-nav-scroll {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
        padding-bottom: 2px;
    }

    .mc-month-nav-scroll::-webkit-scrollbar {
        display: none;
    }

    .mc-month-nav-item {
        flex: 0 0 132px;
        scroll-snap-align: center;
    }
}

@media (max-width: 575.98px) {
    .mc-month-nav-section {
        padding-top: 0;
    }

    .mc-month-nav-shell {
        border-radius: 18px;
        padding: 12px;
    }

    .mc-month-nav-label strong {
        font-size: 14px;
    }

    .mc-month-nav-item {
        flex-basis: 124px;
        min-height: 62px;
    }
}


/* WebsiteMC_023 - limpar filtro mensal */
.mc-month-clear {
    width: max-content;
    margin-top: 5px;
    color: #a66612;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.mc-month-clear:hover {
    color: #7f4d0a;
    text-decoration: underline;
}


/* =========================================================
   WebsiteMC_024 - etiqueta Evento/Capítulo no detalhe
========================================================= */

.mc-event-page-status {
    min-height: 44px;
    padding: 10px 20px !important;
    border-radius: 14px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.mc-event-page-status.is-event {
    background: #e7f0ff !important;
    color: #2867b2 !important;
    border-color: rgba(40, 103, 178, .10);
}

.mc-event-page-status.is-chapter {
    background: #dff4e8 !important;
    color: #247a4d !important;
    border-color: rgba(36, 122, 77, .10);
}

@media (max-width: 575.98px) {
    .mc-event-page-status {
        min-height: 48px;
        padding: 11px 22px !important;
        border-radius: 14px !important;
        font-size: 15px;
    }
}


/* =========================================================
   WebsiteMC_025 - calendário sem sobreposição / sem "+ more"
========================================================= */

/* Deixa cada semana crescer conforme o número de eventos. */
#mcCalendar .fc-daygrid-body,
#mcCalendar .fc-daygrid-body table,
#mcCalendar .fc-scrollgrid-sync-table {
    height: auto !important;
}

#mcCalendar .fc-daygrid-day-frame {
    min-height: 145px;
    height: auto !important;
    overflow: visible !important;
}

/* Remove qualquer limite visual interno dos eventos. */
#mcCalendar .fc-daygrid-day-events {
    position: relative !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 2px 3px 6px !important;
}

#mcCalendar .fc-daygrid-event-harness,
#mcCalendar .fc-daygrid-event-harness-abs {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    margin-top: 4px !important;
}

#mcCalendar .fc-daygrid-event {
    position: relative !important;
    margin: 0 !important;
    min-height: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
}

#mcCalendar .fc-event-main {
    overflow: visible !important;
}

#mcCalendar .fc-event-title,
#mcCalendar .fc-event-title-container {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.25 !important;
}

/* Caso uma célula tenha muitos eventos, cresce em altura em vez de esconder. */
#mcCalendar .fc-daygrid-day {
    height: auto !important;
    vertical-align: top !important;
}

#mcCalendar .fc-daygrid-day-bottom,
#mcCalendar .fc-daygrid-more-link {
    display: none !important;
}

/* Melhor leitura quando existem muitos eventos no mesmo dia. */
#mcCalendar .fc-daygrid-block-event .fc-event-time,
#mcCalendar .fc-daygrid-block-event .fc-event-title {
    padding-top: 1px;
    padding-bottom: 1px;
}

@media (max-width: 991.98px) {
    #mcCalendar .fc-daygrid-day-frame {
        min-height: 125px;
    }
}

@media (max-width: 767.98px) {
    #mcCalendar .fc-daygrid-day-frame {
        min-height: 105px;
    }
}


/* =========================================================
   WebsiteMC_026 - Contactos
========================================================= */
.mc-contact-head { padding-bottom: 24px; }

.mc-contact-info,
.mc-contact-form-card {
    border: 1px solid rgba(24,38,54,.07);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(24,38,54,.06);
}

.mc-contact-info {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 4vw, 44px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 34px;
    background:
        radial-gradient(circle at 100% 0%, rgba(196,132,37,.15), transparent 30%),
        linear-gradient(145deg, #fffdf9, #ffffff);
}

.mc-contact-info h2 {
    margin: 9px 0 12px;
    color: #172331;
    font-size: clamp(30px, 3vw, 42px);
    letter-spacing: -.03em;
}

.mc-contact-info p {
    color: #687687;
    line-height: 1.7;
}

.mc-contact-items { display: grid; gap: 12px; }

.mc-contact-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border: 1px solid #eceff2;
    border-radius: 17px;
    background: rgba(255,255,255,.86);
    text-decoration: none;
    color: #233446;
}

.mc-contact-item > span {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: #fff4e3;
    color: #b77115;
    font-size: 19px;
}

.mc-contact-item small,
.mc-contact-item strong { display: block; }

.mc-contact-item small {
    color: #98a3af;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.mc-contact-item strong {
    margin-top: 2px;
    font-size: 14px;
    word-break: break-word;
}

.mc-contact-signature {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding-top: 22px;
    border-top: 1px solid #edf0f3;
    color: #778493;
    font-size: 12px;
    line-height: 1.6;
}

.mc-contact-signature i { color: #bd7718; }

.mc-contact-form-card { padding: clamp(26px, 4vw, 42px); }

.mc-contact-form-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.mc-contact-form-title span {
    color: #172331;
    font-size: 23px;
    font-weight: 800;
}

.mc-contact-form-title small { color: #8f9aa6; }

.mc-contact-form .form-label {
    margin-bottom: 7px;
    color: #546476;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.mc-contact-form .form-control {
    min-height: 52px;
    padding: 12px 14px;
    border: 1px solid #dfe4e9;
    border-radius: 14px;
    box-shadow: none;
}

.mc-contact-form textarea.form-control {
    min-height: 180px;
    resize: vertical;
}

.mc-contact-form .form-control:focus {
    border-color: rgba(196,132,37,.68);
    box-shadow: 0 0 0 4px rgba(196,132,37,.08);
}

.mc-contact-form-footer {
    margin-top: 5px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.mc-contact-form-footer small {
    max-width: 420px;
    color: #8d98a4;
    line-height: 1.5;
}

.mc-contact-form-footer small i { color: #2f9e63; }

.mc-contact-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 14px;
}

/* Separação entre o banner e a barra mensal no mobile. */
@media (max-width: 575.98px) {
    .mc-month-nav-section {
        margin-top: 18px !important;
    }

    .mc-contact-form-title { display: block; }

    .mc-contact-form-title small {
        display: block;
        margin-top: 4px;
    }

    .mc-contact-form-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .mc-contact-form-footer .btn { width: 100%; }

    .mc-contact-info,
    .mc-contact-form-card {
        border-radius: 20px;
    }
}


/* =========================================================
   WebsiteMC_027 - aviso temporário de atualização
========================================================= */

:root {
    --mc-maintenance-height: 34px;
}

.mc-maintenance-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2000;
    min-height: var(--mc-maintenance-height);
    background: #c62828;
    color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.10);
}

.mc-maintenance-bar-inner {
    min-height: var(--mc-maintenance-height);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 6px 16px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}

.mc-maintenance-bar i {
    flex: 0 0 auto;
    font-size: 13px;
}

.mc-navbar {
    top:0 !important;
}

body {
    padding-top:0 !important;
}

@media (max-width: 575.98px) {
    :root {
        --mc-maintenance-height: 42px;
    }

    .mc-maintenance-bar-inner {
        padding: 6px 12px;
        font-size: 11px;
        line-height: 1.25;
    }
}


/* =========================================================
   WebsiteMC_028 - correção do topo com barra de atualização
========================================================= */

/*
 * A barra de manutenção ocupa espaço próprio no topo.
 * O navbar continua fixo imediatamente por baixo.
 * O conteúdo começa apenas depois dos dois elementos.
 */
:root {
    --mc-maintenance-height: 34px;
}

.mc-maintenance-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2100;
    min-height: var(--mc-maintenance-height);
}

.mc-navbar {
    top:0 !important;
}

/* Garantir que o conteúdo nunca fica por baixo do header */
body {
    padding-top:0 !important;
}

.mc-main {
    position: relative;
    z-index: 1;
}

/* Neutralizar quaisquer margens negativas/offsets herdados no primeiro bloco */
.mc-main > :first-child {
    margin-top: 0 !important;
}

/* Em mobile a barra é ligeiramente mais alta por poder ter 2 linhas */
@media (max-width: 575.98px) {
    :root {
        --mc-maintenance-height: 44px;
    }

    body {
        padding-top:0 !important;
    }

    .mc-maintenance-bar-inner {
        min-height: var(--mc-maintenance-height);
    }
}


/* =========================================================
   WebsiteMC_029 - correção definitiva do topo com aviso
========================================================= */

/*
 * O projeto usa --mc-navbar (não --mc-navbar-height).
 * O conteúdo precisa de reservar a altura da barra vermelha + navbar.
 */
:root {
    --mc-maintenance-height: 34px;
}

.mc-maintenance-bar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2200 !important;
    min-height: var(--mc-maintenance-height) !important;
}

.mc-navbar {
    top:0 !important;
    z-index: 2100 !important;
}

/* Reserva correta do espaço ocupado pelos dois elementos fixos */
body {
    padding-top:0 !important;
}

/* O primeiro bloco de cada página começa abaixo do header */
.mc-main {
    min-height: calc(100vh - var(--mc-navbar) - var(--mc-maintenance-height)) !important;
}

.mc-main > :first-child {
    margin-top: 0 !important;
}

/* Compensação adicional para anchors/scroll automático */
html {
    scroll-padding-top: calc(var(--mc-navbar) + var(--mc-maintenance-height) + 12px);
}

@media (max-width: 575.98px) {
    :root {
        --mc-maintenance-height: 46px;
    }

    body {
        padding-top:0 !important;
    }

    .mc-main {
        min-height: calc(100vh - var(--mc-navbar) - var(--mc-maintenance-height)) !important;
    }

    html {
        scroll-padding-top: calc(var(--mc-navbar) + var(--mc-maintenance-height) + 10px);
    }
}


/* =========================================================
   WebsiteMC_030 - banner Home específico para mobile
========================================================= */

.mc-hero-mobile {
    display: none;
}

@media (max-width: 575.98px) {
    .mc-hero-desktop {
        display: none !important;
    }

    .mc-hero-mobile {
        display: flex !important;
        min-height: 0 !important;
        padding: 22px 24px 24px !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        border-radius: 20px !important;
    }

    .mc-hero-mobile .mc-hero-copy {
        width: 100%;
    }

    .mc-hero-mobile .mc-eyebrow {
        font-size: 10px !important;
        letter-spacing: .13em;
        margin-bottom: 10px;
    }

    .mc-hero-mobile h1 {
        margin: 0 !important;
        white-space: normal !important;
        font-size: clamp(31px, 9vw, 42px) !important;
        line-height: 1.03 !important;
        letter-spacing: -.035em !important;
    }

    .mc-hero-mobile h1 span {
        color: var(--mc-gold);
    }

    /* Mantém uma separação confortável antes da barra mensal */
    .mc-month-nav-section {
        margin-top: 16px !important;
    }
}


/* =========================================================
   WebsiteMC_031 - título compacto do banner mobile
========================================================= */
@media (max-width: 575.98px) {
    .mc-hero-mobile h1 {
        font-size: clamp(25px, 7.15vw, 33px) !important;
        line-height: 1.06 !important;
        letter-spacing: -.04em !important;
    }

    .mc-hero-mobile h1 br {
        display: none;
    }

    .mc-hero-mobile h1 span {
        display: block;
        font-size: .92em;
        margin-top: 2px;
    }
}


/* =========================================================
   WebsiteMC_032 - título da agenda numa linha no mobile
========================================================= */
@media (max-width: 575.98px) {
    .mc-section-title {
        font-size: clamp(22px, 5.9vw, 28px) !important;
        line-height: 1.08 !important;
        letter-spacing: -.035em !important;
        white-space: nowrap !important;
    }
}

/* WebsiteMC_033 - titulo dos proximos eventos numa linha no mobile */
@media (max-width:575.98px){
  .mc-events-section .mc-section-head h2{
    font-size:26px !important;
    line-height:1.1 !important;
    letter-spacing:-.02em !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   WebsiteMC_038 - indicador de scroll na Home
========================================================= */
.mc-home-scroll-cue-wrap {
    display: flex;
    justify-content: center;
    margin: 10px 0 2px;
}

.mc-home-scroll-cue {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    color: #8a5919;
    text-decoration: none;
    font-weight: 800;
    font-size: 11px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.mc-home-scroll-cue:hover {
    color: #b97a22;
}

.mc-home-scroll-cue-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    border: 1px solid rgba(185,122,34,.18);
    box-shadow: 0 8px 22px rgba(31,41,51,.08);
    animation: mc-scroll-cue-bounce 1.7s ease-in-out infinite;
}

.mc-home-scroll-cue-icon i {
    font-size: 15px;
}

@keyframes mc-scroll-cue-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(5px); }
}

@media (max-width: 575.98px) {
    .mc-home-scroll-cue-wrap {
        margin-top: 8px;
        margin-bottom: 0;
    }

    .mc-home-scroll-cue-text {
        font-size: 10px;
    }

    .mc-home-scroll-cue-icon {
        width: 32px;
        height: 32px;
    }
}


/* =========================================================
   WebsiteMC_039 - indicador de scroll visível na Home
========================================================= */
.mc-home-scroll-cue-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    position: relative;
    z-index: 5;
}

.mc-home-scroll-cue {
    display: inline-flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #8a5919 !important;
    text-decoration: none !important;
}

.mc-home-scroll-cue-text {
    display: block !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.mc-home-scroll-cue-icon {
    display: grid !important;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--mc-gold) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(185,122,34,.25);
    animation: mc-scroll-cue-bounce 1.5s ease-in-out infinite;
}

.mc-home-scroll-cue-icon i {
    display: inline-block !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

@media (max-width: 575.98px) {
    .mc-home-scroll-cue-wrap {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .mc-home-scroll-cue-text {
        font-size: 10px;
    }

    .mc-home-scroll-cue-icon {
        width: 36px;
        height: 36px;
    }
}


/* =========================================================
   WebsiteMC_040 - scroll flutuante Home
   Desktop: canto inferior direito
   Mobile: centro inferior
========================================================= */
.mc-home-scroll-cue-wrap {
    position: fixed !important;
    right: 34px !important;
    bottom: 34px !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 1800 !important;
    display: block !important;
    pointer-events: none;
}

.mc-home-scroll-cue {
    pointer-events: auto;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
}

.mc-home-scroll-cue-text {
    display: none !important;
}

.mc-home-scroll-cue-icon {
    display: grid !important;
    place-items: center !important;
    width: 54px !important;
    height: 54px !important;
    border-radius: 50% !important;
    background: linear-gradient(145deg, #d79a34, #b86f0d) !important;
    color: #fff !important;
    border: 4px solid rgba(255,255,255,.92) !important;
    box-shadow:
        0 0 0 1px rgba(185,122,34,.18),
        0 12px 28px rgba(185,122,34,.30) !important;
    animation: mc-scroll-cue-bounce 1.55s ease-in-out infinite;
}

.mc-home-scroll-cue-icon i {
    display: inline-block !important;
    font-size: 24px !important;
    line-height: 1 !important;
}

@media (max-width: 575.98px) {
    .mc-home-scroll-cue-wrap {
        left: 50% !important;
        right: auto !important;
        bottom: calc(20px + env(safe-area-inset-bottom)) !important;
        transform: translateX(-50%) !important;
    }

    .mc-home-scroll-cue-icon {
        width: 52px !important;
        height: 52px !important;
    }
}


/* =========================================================
   WebsiteMC_042 - Contactos WhatsApp corrigido
========================================================= */
.mc-contact-item .bi-whatsapp {
    font-size: 20px;
}

.mc-contact-item:hover .bi-whatsapp {
    color: inherit;
}


/* =========================================================
   WebsiteMC_043 - Notificações / Newsletter / Sugestões
========================================================= */
.mc-notifications-head {
    padding-bottom: 24px;
}

.mc-notification-card-grid {
    align-items: stretch;
}

.mc-action-form-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 26px;
    border: 1px solid rgba(24,38,54,.07);
    border-radius: 24px;
    background:
        radial-gradient(circle at 100% 0%, rgba(185,122,34,.08), transparent 27%),
        #fff;
    box-shadow: 0 18px 50px rgba(24,38,54,.06);
}

.mc-action-form-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    margin-bottom: 20px;
    border-radius: 15px;
    font-size: 21px;
}

.mc-action-form-icon.is-gold {
    background: #fff1dd;
    color: #b36e11;
}

.mc-action-form-icon.is-green {
    background: #e4f6eb;
    color: #27845a;
}

.mc-action-form-icon.is-blue {
    background: #e7effc;
    color: #3569a8;
}

.mc-action-form-heading {
    margin-bottom: 20px;
}

.mc-action-form-heading h2 {
    margin: 6px 0 8px;
    color: #172331;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -.025em;
}

.mc-action-form-heading p {
    margin: 0;
    color: #718091;
    font-size: 14px;
    line-height: 1.65;
}

.mc-action-form .form-label {
    margin-bottom: 7px;
    color: #546476;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.mc-action-form .form-control {
    min-height: 50px;
    padding: 11px 13px;
    border: 1px solid #dfe4e9;
    border-radius: 13px;
    box-shadow: none;
}

.mc-action-form textarea.form-control {
    min-height: 125px;
    resize: vertical;
}

.mc-action-form .form-control:focus {
    border-color: rgba(185,122,34,.62);
    box-shadow: 0 0 0 4px rgba(185,122,34,.08);
}

.mc-inline-alert {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    border-radius: 13px;
    font-size: 13px;
}

.mc-action-form-placeholder {
    background:
        radial-gradient(circle at 100% 0%, rgba(53,105,168,.09), transparent 28%),
        #fff;
}

.mc-placeholder-message {
    min-height: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px dashed #d8dee5;
    border-radius: 16px;
    background: #f8fafc;
    color: #85919e;
    font-weight: 700;
    text-align: center;
}

.mc-placeholder-message i {
    font-size: 24px;
    color: #b97a22;
}

@media (max-width: 991.98px) {
    .mc-action-form-card {
        padding: 22px;
        border-radius: 20px;
    }
}


/* =========================================================
   WebsiteMC_045 - Newsletter: formulário logo após o texto
========================================================= */
.mc-notification-card-grid .mc-action-form-card:first-child .mc-action-form {
    margin-top: 0 !important;
}

.mc-notification-card-grid .mc-action-form-card:first-child .mc-action-form-heading {
    margin-bottom: 18px;
}


/* =========================================================
   WebsiteMC_047 - Módulo Crónicas
========================================================= */
.mc-cronicas-auth-wrap{min-height:62vh;display:grid;place-items:center;padding-top:42px;padding-bottom:60px}
.mc-cronicas-login-card{width:min(100%,480px);padding:34px;border:1px solid rgba(24,38,54,.08);border-radius:26px;background:#fff;box-shadow:0 20px 60px rgba(24,38,54,.08)}
.mc-cronicas-login-card h1{font-size:34px;margin:8px 0 8px}.mc-cronicas-login-card>p{color:#748292;margin-bottom:24px}
.mc-cronicas-login-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:17px;background:#fff1dd;color:#b26d10;font-size:24px;margin-bottom:18px}

.mc-cronicas-panel,.mc-editor-wrap,.mc-profile-wrap{padding-top:38px;padding-bottom:60px}
.mc-cronicas-panel-head,.mc-editor-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}
.mc-cronicas-panel-head h1,.mc-editor-top h1{font-size:clamp(30px,4vw,48px);margin:6px 0}
.mc-cronicas-panel-head p,.mc-editor-top p{color:#758293}
.mc-cronicas-panel-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
.mc-cronicas-table-card,.mc-editor-card,.mc-profile-card{background:#fff;border:1px solid rgba(24,38,54,.08);border-radius:24px;box-shadow:0 18px 48px rgba(24,38,54,.06);overflow:hidden}
.mc-cronicas-table-card table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#7c8996;background:#f8fafc;padding:14px}.mc-cronicas-table-card td{padding:14px}
.mc-editor-card,.mc-profile-card{padding:28px;overflow:visible}
.mc-editor-card .form-label,.mc-profile-card .form-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#566676}
#cronicaToolbar{border-radius:14px 14px 0 0;background:#fbfcfd}
#cronicaEditor{min-height:420px;font-size:16px;line-height:1.7;border-radius:0 0 14px 14px;background:#fff}
.ql-toolbar.ql-snow,.ql-container.ql-snow{border-color:#dfe4e9}
.mc-editor-savebar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;margin-top:20px;border-top:1px solid #edf0f3}

.mc-profile-head{display:flex;align-items:center;gap:20px;margin-bottom:28px}.mc-profile-head img,.mc-profile-avatar-placeholder{width:88px;height:88px;border-radius:50%;object-fit:cover}.mc-profile-avatar-placeholder{display:grid;place-items:center;background:#eef2f5;color:#8a97a3;font-size:34px}
.mc-profile-head h1{margin:4px 0 2px;font-size:34px}.mc-profile-head p{margin:0;color:#84919e}

.mc-cronica-public-card{border:1px solid rgba(24,38,54,.07);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 14px 40px rgba(24,38,54,.06)}
.mc-cronica-cover{display:block;aspect-ratio:16/10;background-size:cover;background-position:center top}
.mc-cronica-public-body{padding:22px}.mc-cronica-public-body h2{font-size:24px;line-height:1.15;margin:8px 0 10px}.mc-cronica-public-body h2 a{color:#172331;text-decoration:none}.mc-cronica-public-body p{color:#738091;line-height:1.6}
.mc-cronica-author-row{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #edf0f3}.mc-cronica-author-row img{width:42px;height:42px;border-radius:50%;object-fit:cover}.mc-cronica-author-row strong,.mc-cronica-author-row small{display:block}.mc-cronica-author-row small{font-size:11px;color:#8d99a5}

.mc-cronica-reading{padding-top:38px;padding-bottom:70px}.mc-cronica-article{max-width:920px;margin:0 auto;background:#fff;border-radius:26px;border:1px solid rgba(24,38,54,.07);box-shadow:0 20px 58px rgba(24,38,54,.07);padding:clamp(28px,6vw,70px)}
.mc-cronica-article h1{font-size:clamp(38px,6vw,68px);line-height:1.02;letter-spacing:-.04em;margin:10px 0 18px}.mc-cronica-lead{font-size:20px;line-height:1.6;color:#6e7c8b}
.mc-cronica-author-large{display:flex;align-items:center;gap:12px;margin-top:22px}.mc-cronica-author-large img{width:52px;height:52px;border-radius:50%;object-fit:cover}.mc-cronica-author-large strong,.mc-cronica-author-large span{display:block}.mc-cronica-author-large span{font-size:12px;color:#8995a1}
.mc-cronica-main-image{width:100%;height:auto;max-height:620px;object-fit:cover;object-position:top;border-radius:20px;margin:32px 0}
.mc-cronica-content{font-size:18px;line-height:1.85;color:#33465a}.mc-cronica-content h2,.mc-cronica-content h3{margin-top:1.5em}.mc-cronica-content img{max-width:100%;height:auto}
.mc-cronica-author-bio{margin-top:42px;padding-top:24px;border-top:1px solid #e7ebef;color:#697887}

@media(max-width:767.98px){
 .mc-cronicas-panel-head,.mc-editor-top{flex-direction:column}.mc-cronicas-panel-actions{justify-content:flex-start}
 .mc-editor-card,.mc-profile-card,.mc-cronicas-login-card{padding:20px;border-radius:20px}
 #cronicaEditor{min-height:360px}
 .mc-editor-savebar{align-items:stretch;flex-direction:column}
 .mc-cronica-article{padding:26px 20px;border-radius:20px}.mc-cronica-article h1{font-size:38px}.mc-cronica-content{font-size:17px}
}


/* =========================================================
   WebsiteMC_049 - Editor profissional tipo Word
========================================================= */
.mc-word-editor-label{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:10px;
}
.mc-word-editor-label small{
    display:block;
    color:#87939f;
}
.mc-word-editor-actions{
    display:flex;
    align-items:center;
    gap:7px;
}
.mc-word-editor-shell{
    position:relative;
    overflow:hidden;
    border:1px solid #d8dee5;
    border-radius:18px;
    background:#e9edf2;
    box-shadow:0 12px 34px rgba(24,38,54,.07);
}
.mc-word-ribbon{
    position:sticky;
    top:calc(var(--mc-navbar) + var(--mc-maintenance-height));
    z-index:20;
    padding:8px 10px;
    border-bottom:1px solid #dce2e8;
    background:linear-gradient(#fff,#f8fafc);
    box-shadow:0 4px 12px rgba(24,38,54,.04);
}
#cronicaToolbar{
    border:0 !important;
    background:transparent !important;
    padding:4px !important;
}
#cronicaToolbar .ql-formats{
    margin-right:9px !important;
    padding-right:9px;
    border-right:1px solid #e4e8ec;
}
#cronicaToolbar .ql-formats:last-child{
    border-right:0;
}
#cronicaToolbar button,
#cronicaToolbar .ql-picker-label{
    border-radius:6px;
}
#cronicaToolbar button:hover,
#cronicaToolbar button.ql-active,
#cronicaToolbar .ql-picker-label:hover{
    background:#eef3f7;
}
.mc-word-paper-wrap{
    padding:28px;
    background:#e7ebef;
    overflow:auto;
}
.mc-word-paper{
    width:min(100%, 850px);
    min-height:720px;
    margin:0 auto;
    background:#fff;
    border:1px solid #dfe4e8;
    box-shadow:0 5px 24px rgba(30,42,54,.12);
}
#cronicaEditor{
    min-height:720px !important;
    border:0 !important;
    padding:56px 64px !important;
    font-size:17px !important;
    line-height:1.75 !important;
    color:#243648;
}
#cronicaEditor.ql-container{
    font-family:Arial, Helvetica, sans-serif;
}
#cronicaEditor .ql-editor{
    min-height:608px;
    padding:0 !important;
}
#cronicaEditor .ql-editor p{
    margin-bottom:1em;
}
#cronicaEditor .ql-editor h1{
    font-size:2.1em;
    line-height:1.15;
}
#cronicaEditor .ql-editor h2{
    font-size:1.65em;
    line-height:1.2;
}
#cronicaEditor .ql-editor h3{
    font-size:1.35em;
    line-height:1.25;
}
.mc-word-statusbar{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    min-height:38px;
    padding:7px 14px;
    border-top:1px solid #dce2e8;
    background:#fff;
    color:#7c8894;
    font-size:11px;
}
.mc-word-statusbar span:first-child{
    margin-right:auto;
}
.mc-word-statusbar i{
    color:#2d9b64;
    margin-right:5px;
}
.mc-word-editor-shell.is-fullscreen{
    position:fixed !important;
    inset:0 !important;
    z-index:5000 !important;
    width:100vw !important;
    height:100vh !important;
    border-radius:0 !important;
    display:flex;
    flex-direction:column;
}
.mc-word-editor-shell.is-fullscreen .mc-word-ribbon{
    position:relative;
    top:0;
    flex:0 0 auto;
}
.mc-word-editor-shell.is-fullscreen .mc-word-paper-wrap{
    flex:1 1 auto;
    min-height:0;
    padding:32px;
}
.mc-word-editor-shell.is-fullscreen .mc-word-paper{
    min-height:calc(100vh - 150px);
}
.mc-word-editor-shell.is-fullscreen #cronicaEditor{
    min-height:calc(100vh - 150px) !important;
}
body.mc-editor-fullscreen-open{
    overflow:hidden !important;
}
@media(max-width:767.98px){
    .mc-word-editor-label{
        align-items:flex-start;
        flex-direction:column;
    }
    .mc-word-editor-actions{
        width:100%;
        justify-content:flex-end;
    }
    .mc-word-ribbon{
        top:calc(var(--mc-navbar) + var(--mc-maintenance-height));
        overflow-x:auto;
        white-space:nowrap;
    }
    #cronicaToolbar{
        min-width:760px;
    }
    .mc-word-paper-wrap{
        padding:10px;
    }
    .mc-word-paper{
        min-height:520px;
    }
    #cronicaEditor{
        min-height:520px !important;
        padding:28px 22px !important;
        font-size:16px !important;
    }
    #cronicaEditor .ql-editor{
        min-height:464px;
    }
    .mc-word-statusbar{
        gap:10px;
        flex-wrap:wrap;
        justify-content:flex-start;
    }
    .mc-word-statusbar span:first-child{
        width:100%;
        margin-right:0;
    }
}


/* =========================================================
   WebsiteMC_051 - Página 404 personalizada
========================================================= */
.mc-error-page{
    min-height:calc(100vh - var(--mc-navbar) - var(--mc-maintenance-height) - 30px);
    display:grid;
    place-items:center;
    padding-top:42px;
    padding-bottom:70px;
}

.mc-error-card{
    position:relative;
    width:min(100%,1080px);
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(280px,.82fr) minmax(0,1.25fr);
    align-items:center;
    gap:54px;
    padding:clamp(34px,6vw,70px);
    border:1px solid rgba(185,122,34,.14);
    border-radius:30px;
    background:
        radial-gradient(circle at 6% 10%,rgba(185,122,34,.10),transparent 28%),
        radial-gradient(circle at 100% 100%,rgba(47,125,225,.05),transparent 28%),
        linear-gradient(145deg,#fff,#fffaf4);
    box-shadow:0 28px 80px rgba(24,38,54,.10);
}

.mc-error-card:before{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    right:-140px;
    top:-180px;
    border:1px solid rgba(185,122,34,.10);
    border-radius:50%;
    pointer-events:none;
}

.mc-error-visual{
    position:relative;
    min-height:310px;
    display:grid;
    place-items:center;
}

.mc-error-visual img{
    position:relative;
    z-index:3;
    width:145px;
    height:145px;
    object-fit:contain;
    filter:drop-shadow(0 14px 28px rgba(24,38,54,.12));
}

.mc-error-ring{
    position:absolute;
    border-radius:50%;
    border:1px solid rgba(185,122,34,.20);
}

.mc-error-ring-one{
    width:230px;
    height:230px;
    animation:mc-error-pulse 3s ease-in-out infinite;
}

.mc-error-ring-two{
    width:300px;
    height:300px;
    border-style:dashed;
    opacity:.55;
    animation:mc-error-spin 28s linear infinite;
}

.mc-error-code{
    display:block;
    margin-bottom:-8px;
    font-size:clamp(72px,10vw,128px);
    line-height:.82;
    font-weight:900;
    letter-spacing:-.065em;
    color:rgba(185,122,34,.14);
}

.mc-error-copy h1{
    margin:12px 0 14px;
    color:var(--mc-dark);
    font-size:clamp(36px,5vw,58px);
    line-height:1.02;
    letter-spacing:-.045em;
    font-weight:850;
}

.mc-error-copy>p{
    max-width:650px;
    margin:0;
    color:#6d7b8a;
    font-size:17px;
    line-height:1.75;
}

.mc-error-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:28px;
}

.mc-error-hint{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin-top:28px;
    padding-top:20px;
    border-top:1px solid rgba(24,38,54,.08);
    color:#85919d;
    font-size:12px;
    line-height:1.5;
}

.mc-error-hint i{
    color:var(--mc-gold);
    margin-top:1px;
}

@keyframes mc-error-pulse{
    0%,100%{transform:scale(1);opacity:.55}
    50%{transform:scale(1.06);opacity:.9}
}

@keyframes mc-error-spin{
    to{transform:rotate(360deg)}
}

@media(max-width:767.98px){
    .mc-error-page{
        padding-top:24px;
        padding-bottom:45px;
    }

    .mc-error-card{
        grid-template-columns:1fr;
        gap:10px;
        padding:28px 22px 30px;
        border-radius:22px;
        text-align:center;
    }

    .mc-error-visual{
        min-height:190px;
    }

    .mc-error-visual img{
        width:96px;
        height:96px;
    }

    .mc-error-ring-one{
        width:150px;
        height:150px;
    }

    .mc-error-ring-two{
        width:190px;
        height:190px;
    }

    .mc-error-code{
        font-size:76px;
    }

    .mc-error-copy h1{
        font-size:34px;
    }

    .mc-error-copy>p{
        font-size:15px;
    }

    .mc-error-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .mc-error-actions .btn{
        justify-content:center;
        width:100%;
    }

    .mc-error-hint{
        justify-content:center;
        text-align:left;
    }
}

@media(prefers-reduced-motion:reduce){
    .mc-error-ring-one,
    .mc-error-ring-two{
        animation:none;
    }
}


/* =========================================================
   WebsiteMC_052 - Fluxo e estados das Boleias
========================================================= */
.mc-rides-how-six{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 18px !important;
}
.mc-rides-how-six span{
    display:flex;
    align-items:center;
    gap:9px;
}
.mc-rides-how-six b{
    flex:0 0 28px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:50%;
}

.mc-ride-flow-strip{
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
    align-items:center;
    gap:12px;
    margin:24px 0 22px;
    padding:16px 18px;
    border:1px solid rgba(185,122,34,.12);
    border-radius:18px;
    background:linear-gradient(135deg,#fff,#fffaf3);
    box-shadow:0 10px 28px rgba(24,38,54,.05);
}
.mc-ride-flow-strip>div{
    display:grid;
    grid-template-columns:34px 1fr;
    grid-template-rows:auto auto;
    column-gap:9px;
    align-items:center;
}
.mc-ride-flow-strip>div>span{
    grid-row:1/3;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff1dd;
    color:#a86812;
    font-weight:900;
}
.mc-ride-flow-strip strong{
    color:#273646;
    font-size:13px;
}
.mc-ride-flow-strip small{
    color:#85919d;
    font-size:10px;
}
.mc-ride-flow-strip>i{
    color:#c6ccd2;
}

.mc-ride-public-status{
    display:flex;
    justify-content:flex-end;
    margin-bottom:10px;
}
.mc-status-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 9px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.mc-status-chip.is-available{
    background:#e6f7ee;
    color:#218251;
}
.mc-status-chip.is-last{
    background:#fff2dd;
    color:#a56510;
}
.mc-status-chip.is-full{
    background:#f7e7e7;
    color:#a23d3d;
}
.mc-status-chip.is-looking{
    background:#e8f0fc;
    color:#356da9;
}
.mc-status-chip.is-pending{
    background:#fff3dc;
    color:#9d6417;
}

.mc-ride-card.is-full{
    opacity:.82;
    background:#fbfbfb;
}
.mc-ride-card.is-full .mc-seat-pill{
    color:#8a9199;
    background:#eef0f2;
}

@media(max-width:991.98px){
    .mc-rides-how-six{
        grid-template-columns:1fr !important;
    }
    .mc-ride-flow-strip{
        grid-template-columns:1fr;
        gap:8px;
    }
    .mc-ride-flow-strip>i{
        display:none;
    }
}


/* =========================================================
   WebsiteMC_053 - Fotografias dos Confrades
========================================================= */
.mc-event-photo-alert{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    border-radius:14px;
}

.mc-event-photos-panel{
    margin-top:20px;
    padding:24px;
    border:1px solid #dce8f7;
    border-radius:22px;
    background:
        radial-gradient(circle at 100% 0%,rgba(47,125,225,.10),transparent 28%),
        linear-gradient(145deg,#f8fbff,#fff);
    box-shadow:0 16px 45px rgba(24,38,54,.06);
}

.mc-event-photos-head{
    display:flex;
    align-items:center;
    gap:13px;
}

.mc-event-photos-head>span{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    flex:0 0 48px;
    border-radius:15px;
    background:#e8f1fd;
    color:#3472ba;
    font-size:21px;
}

.mc-event-photos-head small{
    color:#467ab6;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.mc-event-photos-head h2{
    margin:1px 0 0;
    color:#172331;
    font-size:22px;
    font-weight:800;
}

.mc-event-photos-panel>p{
    margin:17px 0;
    color:#6e7c8a;
    font-size:14px;
    line-height:1.6;
}

.mc-confrade-photo-modal{
    overflow:hidden;
    border:0;
    border-radius:24px;
    box-shadow:0 30px 90px rgba(0,0,0,.24);
}

.mc-confrade-photo-modal .modal-header{
    padding:26px 28px 16px;
    align-items:flex-start;
}

.mc-confrade-photo-modal .modal-header h2{
    margin:6px 0 5px;
    color:#172331;
    font-size:28px;
    font-weight:800;
    letter-spacing:-.025em;
}

.mc-confrade-photo-modal .modal-header p{
    margin:0;
    color:#7a8794;
    font-size:13px;
}

.mc-confrade-photo-modal .modal-body{
    padding:0 28px 12px;
}

.mc-confrade-photo-modal .modal-footer{
    padding:16px 28px 26px;
}

.mc-confrade-photo-modal .form-label{
    margin-bottom:7px;
    color:#566576;
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.mc-confrade-photo-modal .form-control{
    min-height:50px;
    border:1px solid #dfe4e9;
    border-radius:13px;
    box-shadow:none;
}

.mc-confrade-photo-modal .form-control:focus{
    border-color:rgba(185,122,34,.58);
    box-shadow:0 0 0 4px rgba(185,122,34,.08);
}

.mc-photo-form-intro{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin-bottom:18px;
    padding:12px 14px;
    border-radius:13px;
    background:#f5f8fb;
    color:#6d7b88;
    font-size:12px;
    line-height:1.5;
}

.mc-photo-form-intro i{
    color:#3d79b8;
    margin-top:1px;
}

.mc-photo-dropzone{
    min-height:170px;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:22px;
    cursor:pointer;
    border:2px dashed #cad8e7;
    border-radius:17px;
    background:#f8fbff;
    text-align:center;
    transition:.18s ease;
}

.mc-photo-dropzone:hover{
    border-color:#8fb2d8;
    background:#f1f7fd;
}

.mc-photo-dropzone>i{
    margin-bottom:4px;
    color:#3979bb;
    font-size:34px;
}

.mc-photo-dropzone strong{
    color:#26394b;
    font-size:15px;
}

.mc-photo-dropzone>span{
    color:#84919e;
    font-size:11px;
}

.mc-photo-dropzone small{
    max-width:100%;
    margin-top:7px;
    color:#aa6b17;
    font-size:12px;
    font-weight:800;
    word-break:break-word;
}

.mc-photo-newsletter-consent{
    padding:14px 14px 14px 38px;
    border:1px solid #e5e9ed;
    border-radius:13px;
    background:#fbfcfd;
    color:#657484;
    font-size:12px;
    line-height:1.55;
}

@media(max-width:575.98px){
    .mc-confrade-photo-modal .modal-header{
        padding:22px 18px 14px;
    }

    .mc-confrade-photo-modal .modal-body{
        padding:0 18px 8px;
    }

    .mc-confrade-photo-modal .modal-footer{
        padding:14px 18px 20px;
    }

    .mc-confrade-photo-modal .modal-footer .btn{
        flex:1;
        justify-content:center;
    }

    .mc-photo-dropzone{
        min-height:145px;
    }
}


/* =========================================================
   WebsiteMC_054 - Correção modal fotografias no iPhone/Safari
========================================================= */
#confradePhotosModal{
    z-index: 2200 !important;
}

#confradePhotosModal .mc-confrade-photo-dialog{
    position: relative;
    z-index: 2202 !important;
    pointer-events: auto !important;
}

#confradePhotosModal .mc-confrade-photo-modal{
    position: relative;
    z-index: 2203 !important;
    pointer-events: auto !important;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
}

.modal-backdrop.show{
    z-index: 2190 !important;
}

body.modal-open{
    overflow: hidden !important;
    padding-right: 0 !important;
}

#confradePhotosModal .modal-body{
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px){
    #confradePhotosModal{
        padding: 0 !important;
    }

    #confradePhotosModal .modal-dialog{
        width: 100%;
        max-width: none;
        height: 100%;
        min-height: 100%;
        margin: 0 !important;
        align-items: flex-end;
    }

    #confradePhotosModal .mc-confrade-photo-modal{
        width: 100%;
        max-height: calc(100dvh - env(safe-area-inset-top));
        min-height: 0;
        margin-top: env(safe-area-inset-top);
        border-radius: 22px 22px 0 0 !important;
        overflow: hidden;
    }

    #confradePhotosModal .modal-header{
        position: sticky;
        top: 0;
        z-index: 5;
        background: #fff;
        padding-top: calc(18px + env(safe-area-inset-top));
    }

    #confradePhotosModal .modal-body{
        max-height: none !important;
        overflow-y: auto !important;
        flex: 1 1 auto;
        padding-bottom: 20px;
    }

    #confradePhotosModal .modal-footer{
        position: sticky;
        bottom: 0;
        z-index: 5;
        background: #fff;
        padding-bottom: calc(18px + env(safe-area-inset-bottom));
        box-shadow: 0 -8px 20px rgba(24,38,54,.06);
    }

    #confradePhotosModal .btn-close{
        flex: 0 0 auto;
        margin: 0 0 0 12px;
    }
}


/* =========================================================
   WebsiteMC_055 - Fotografias apenas em eventos realizados
========================================================= */
.mc-mobile-photo-cta{
    display:none;
}

.mc-photo-events-head{
    padding-bottom:20px;
}

.mc-photo-events-info{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:22px;
    padding:13px 16px;
    border:1px solid rgba(185,122,34,.13);
    border-radius:14px;
    background:#fffaf3;
    color:#687686;
    font-size:13px;
}

.mc-photo-events-info i{
    color:var(--mc-gold);
    font-size:18px;
}

.mc-photo-event-card{
    display:block;
    height:100%;
    overflow:hidden;
    border:1px solid rgba(24,38,54,.07);
    border-radius:22px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    box-shadow:0 14px 40px rgba(24,38,54,.06);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.mc-photo-event-card:hover{
    transform:translateY(-5px);
    border-color:rgba(185,122,34,.24);
    box-shadow:0 20px 48px rgba(24,38,54,.11);
}

.mc-photo-event-cover{
    position:relative;
    height:220px;
    background-position:top center;
    background-size:cover;
    background-repeat:no-repeat;
    background-color:#eef2f5;
}

.mc-photo-event-cover.is-empty{
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,#f5eee4,#fff);
}

.mc-photo-event-cover.is-empty img{
    width:92px;
    height:92px;
    object-fit:contain;
    opacity:.72;
}

.mc-photo-event-body{
    padding:20px;
}

.mc-photo-event-body h2{
    min-height:52px;
    margin:0 0 14px;
    color:#172331;
    font-size:18px;
    line-height:1.4;
    font-weight:800;
}

.mc-photo-event-action{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:17px;
    padding-top:14px;
    border-top:1px solid #edf0f3;
    color:#99641e;
    font-size:13px;
    font-weight:800;
}

.mc-photo-event-action span{
    display:flex;
    align-items:center;
    gap:7px;
}

@media(max-width:991.98px){
    .mc-hero-mobile .mc-mobile-photo-cta{
        display:inline-flex;
        margin-top:18px;
        align-self:flex-start;
    }
}

@media(max-width:575.98px){
    .mc-photo-events-info{
        align-items:flex-start;
        font-size:12px;
        line-height:1.5;
    }

    .mc-photo-event-cover{
        height:190px;
    }

    .mc-photo-event-body h2{
        min-height:auto;
    }
}


/* =========================================================
   WebsiteMC_058 - Modal fotografias acima do backdrop
========================================================= */
#confradePhotosModal.modal{
    z-index:3001 !important;
}

#confradePhotosModal .modal-dialog,
#confradePhotosModal .modal-content{
    position:relative;
    z-index:3002 !important;
    pointer-events:auto !important;
}

.modal-backdrop,
.modal-backdrop.show{
    z-index:3000 !important;
}

#confradePhotosModal.show{
    display:block !important;
    pointer-events:auto !important;
}

#confradePhotosModal .modal-content{
    opacity:1 !important;
    filter:none !important;
}

@media(max-width:575.98px){
    #confradePhotosModal .modal-dialog{
        margin:0 !important;
        width:100% !important;
        max-width:none !important;
        min-height:100dvh;
        align-items:flex-end;
    }

    #confradePhotosModal .modal-content{
        max-height:calc(100dvh - env(safe-area-inset-top));
        border-radius:22px 22px 0 0 !important;
        overflow:hidden;
    }

    #confradePhotosModal .modal-body{
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior:contain;
    }
}


/* =========================================================
   WebsiteMC_059 - Fotografias em eventos futuros
========================================================= */
.mc-future-photo-modal{
    border:0;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 30px 90px rgba(0,0,0,.22);
}

.mc-future-photo-modal .modal-header{
    padding:26px 28px 12px;
    align-items:flex-start;
}

.mc-future-photo-modal .modal-title{
    margin-top:7px;
    color:#172331;
    font-size:28px;
    font-weight:850;
    letter-spacing:-.025em;
}

.mc-future-photo-modal .modal-body{
    padding:10px 28px 6px;
    color:#667586;
    line-height:1.7;
}

.mc-future-photo-modal .modal-body p{
    margin:0 0 14px;
}

.mc-future-photo-icon{
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    margin-bottom:18px;
    border-radius:18px;
    background:#fff3df;
    color:#b57419;
    font-size:28px;
}

.mc-future-photo-modal .modal-footer{
    padding:18px 28px 26px;
    gap:8px;
}

@media(max-width:575.98px){
    .mc-future-photo-modal .modal-header{
        padding:22px 20px 10px;
    }

    .mc-future-photo-modal .modal-body{
        padding:8px 20px 4px;
    }

    .mc-future-photo-modal .modal-footer{
        display:grid;
        grid-template-columns:1fr;
        padding:16px 20px 22px;
    }

    .mc-future-photo-modal .modal-footer .btn{
        width:100%;
        justify-content:center;
    }
}


/* =========================================================
   WebsiteMC_060 - Corrige modal de evento futuro
========================================================= */
#futurePhotosModal.modal{
    z-index:3101 !important;
    pointer-events:auto !important;
}

#futurePhotosModal .modal-dialog,
#futurePhotosModal .modal-content{
    position:relative;
    z-index:3102 !important;
    pointer-events:auto !important;
}

#futurePhotosModal.show{
    display:block !important;
    pointer-events:auto !important;
}

#futurePhotosModal .modal-content{
    opacity:1 !important;
    filter:none !important;
}

.modal-backdrop,
.modal-backdrop.show{
    z-index:3100 !important;
}

@media(max-width:575.98px){
    #futurePhotosModal{
        padding:12px !important;
    }

    #futurePhotosModal .modal-dialog{
        margin:0 auto !important;
        min-height:calc(100dvh - 24px);
        align-items:center;
    }

    #futurePhotosModal .modal-content{
        max-height:calc(100dvh - 24px);
        overflow:hidden;
    }

    #futurePhotosModal .modal-body{
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
    }
}


/* =========================================================
   WebsiteMC_064 - Home mais compacta e sem barra de manutenção
========================================================= */
:root{
    --mc-maintenance-height: 0px !important;
}

.mc-maintenance-bar,
.mc-maintenance-bar-inner{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
}

.mc-main{
    padding-top:var(--mc-navbar) !important;
}

/* Redução apenas da altura visual do banner principal da Home */
.mc-hero{
    padding-top:14px !important;
}

.mc-hero-inner{
    min-height:auto !important;
    padding-top:22px !important;
    padding-bottom:22px !important;
}

@media(min-width:992px){
    .mc-hero-inner{
        padding-top:20px !important;
        padding-bottom:20px !important;
    }
}

@media(max-width:991.98px){
    .mc-hero{
        padding-top:14px !important;
    }

    .mc-hero-inner{
        padding-top:22px !important;
        padding-bottom:22px !important;
    }
}

@media(max-width:575.98px){
    .mc-hero{
        padding-top:12px !important;
    }

    .mc-hero-inner{
        padding-top:18px !important;
        padding-bottom:18px !important;
    }
}


/* =========================================================
   WebsiteMC_065 - remover definitivamente o espaço da
   antiga barra de manutenção
========================================================= */
:root{
    --mc-maintenance-height: 0px !important;
}

/* A navbar passa a começar imediatamente no topo */
.mc-navbar{
    top:0 !important;
}

/* O conteúdo começa apenas depois da navbar, sem espaço fantasma */
.mc-main{
    padding-top:var(--mc-navbar) !important;
    margin-top:0 !important;
}

/* Qualquer contentor antigo da barra deixa de ocupar espaço */
.mc-maintenance-bar,
.mc-maintenance-bar-inner{
    display:none !important;
    position:static !important;
    top:auto !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}

/* Em todos os tamanhos de ecrã */
@media(max-width:991.98px){
    .mc-navbar{ top:0 !important; }
    .mc-main{
        padding-top:var(--mc-navbar) !important;
        margin-top:0 !important;
    }
}


/* =========================================================
   WebsiteMC_066 - correção estrutural definitiva do topo
========================================================= */

/*
 * A navbar deixa de ser fixed e passa a sticky.
 * Assim começa naturalmente no topo do documento e continua visível
 * ao fazer scroll, sem ser necessário reservar espaço no body.
 */
html,
body{
    margin-top:0 !important;
    padding-top:0 !important;
}

body{
    margin:0 !important;
}

.mc-navbar{
    position:sticky !important;
    top:0 !important;
    margin-top:0 !important;
    transform:none !important;
    z-index:2100 !important;
}

/* O conteúdo deixa de ter qualquer compensação artificial da navbar. */
.mc-main{
    padding-top:0 !important;
    margin-top:0 !important;
}

/* A antiga barra de manutenção não ocupa absolutamente nenhum espaço. */
:root{
    --mc-maintenance-height:0px !important;
}

.mc-maintenance-bar,
.mc-maintenance-bar-inner{
    display:none !important;
    position:absolute !important;
    width:0 !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
}

/* Mantém anchors e editor a considerar apenas a navbar real. */
html{
    scroll-padding-top:calc(var(--mc-navbar) + 12px) !important;
}

.mc-word-ribbon{
    top:var(--mc-navbar) !important;
}

@media(max-width:991.98px){
    html,
    body{
        padding-top:0 !important;
        margin-top:0 !important;
    }

    .mc-navbar{
        position:sticky !important;
        top:0 !important;
    }

    .mc-main{
        padding-top:0 !important;
        margin-top:0 !important;
    }
}

@media(max-width:575.98px){
    html{
        scroll-padding-top:calc(var(--mc-navbar) + 10px) !important;
    }
}


/* =========================================================
   WebsiteMC_067 - topo sem qualquer offset residual
========================================================= */
html, body{
    margin-top:0 !important;
    padding-top:0 !important;
}

body{
    margin:0 !important;
}

.mc-navbar{
    position:sticky !important;
    top:0 !important;
    margin-top:0 !important;
}

.mc-main{
    margin-top:0 !important;
    padding-top:0 !important;
}

.mc-maintenance-bar,
.mc-maintenance-bar-inner{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}


/* =========================================================
   WebsiteMC_068 - Banner Boleias mais compacto
========================================================= */
.mc-rides-hero{
    padding-top:18px !important;
    padding-bottom:4px !important;
}

.mc-rides-hero-inner{
    padding-top:26px !important;
    padding-bottom:26px !important;
}

.mc-rides-hero h1{
    font-size:clamp(30px,3.25vw,46px) !important;
    line-height:1.04 !important;
    margin-top:8px !important;
    margin-bottom:10px !important;
}

.mc-rides-hero p{
    font-size:14px !important;
    line-height:1.55 !important;
    max-width:690px !important;
}

@media(max-width:991.98px){
    .mc-rides-hero{
        padding-top:14px !important;
    }

    .mc-rides-hero-inner{
        padding:24px 24px !important;
    }

    .mc-rides-hero h1{
        font-size:34px !important;
    }

    .mc-rides-hero p{
        font-size:13.5px !important;
    }
}

@media(max-width:575.98px){
    .mc-rides-hero{
        padding-top:12px !important;
    }

    .mc-rides-hero-inner{
        padding:20px 18px !important;
    }

    .mc-rides-hero h1{
        font-size:29px !important;
        margin-bottom:8px !important;
    }

    .mc-rides-hero p{
        font-size:13px !important;
        line-height:1.5 !important;
    }
}


/* =========================================================
   WebsiteMC_069 - modal de upload acima do backdrop
========================================================= */
#confradePhotosModal.modal{
    z-index:3201 !important;
    pointer-events:auto !important;
}

#confradePhotosModal .modal-dialog,
#confradePhotosModal .modal-content{
    position:relative;
    z-index:3202 !important;
    pointer-events:auto !important;
}

#confradePhotosModal.show{
    display:block !important;
    pointer-events:auto !important;
}

#confradePhotosModal .modal-content{
    opacity:1 !important;
    filter:none !important;
}

body.modal-open .modal-backdrop,
body.modal-open .modal-backdrop.show,
.modal-backdrop,
.modal-backdrop.show{
    z-index:3200 !important;
}

@media(max-width:575.98px){
    #confradePhotosModal{
        padding:0 !important;
    }

    #confradePhotosModal .modal-dialog{
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        min-height:100dvh;
        align-items:flex-end;
    }

    #confradePhotosModal .modal-content{
        max-height:calc(100dvh - env(safe-area-inset-top));
        overflow:hidden;
        border-radius:22px 22px 0 0 !important;
    }

    #confradePhotosModal .modal-body{
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch;
    }
}


/* =========================================================
   WebsiteMC_071 - Editor profissional de Crónicas
========================================================= */
.mc-pro-editor-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:10px;
}
.mc-pro-editor-heading small{
    display:block;
    color:#87939f;
}
.mc-pro-editor-top-actions{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.mc-pro-editor-shell{
    position:relative;
    overflow:hidden;
    border:1px solid #d5dce3;
    border-radius:18px;
    background:#dfe5eb;
    box-shadow:0 14px 38px rgba(24,38,54,.08);
}

.mc-pro-editor-ribbon{
    position:sticky;
    top:var(--mc-navbar);
    z-index:25;
    background:#fff;
    border-bottom:1px solid #d8dfe6;
    box-shadow:0 4px 14px rgba(24,38,54,.05);
}

.mc-pro-ribbon-titlebar{
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:7px 13px;
    color:#5e6b78;
    background:linear-gradient(#fff,#f7f9fb);
    border-bottom:1px solid #edf0f3;
    font-size:11px;
}
.mc-pro-ribbon-brand{
    display:flex;
    align-items:center;
    gap:7px;
    color:#273747;
    font-weight:800;
}
.mc-pro-ribbon-brand i{
    color:var(--mc-gold);
}
.mc-pro-ribbon-hint{
    display:flex;
    align-items:center;
    gap:4px;
    color:#8a96a2;
}
.mc-pro-ribbon-hint kbd{
    padding:2px 5px;
    border:1px solid #dbe1e6;
    border-bottom-width:2px;
    border-radius:5px;
    background:#fff;
    color:#53606c;
    box-shadow:none;
    font:10px/1.2 inherit;
}

.mc-pro-toolbar.ql-toolbar{
    display:flex;
    align-items:stretch;
    gap:0;
    min-height:76px;
    padding:7px 8px 5px !important;
    border:0 !important;
    overflow-x:auto;
    overflow-y:hidden;
    background:#fff;
}
.mc-pro-tool-group{
    position:relative;
    flex:0 0 auto;
    min-width:max-content;
    padding:2px 10px 17px;
    border-right:1px solid #e6eaee;
}
.mc-pro-tool-group:last-child{
    border-right:0;
}
.mc-pro-tool-row{
    display:flex;
    align-items:center;
    min-height:34px;
    gap:2px;
}
.mc-pro-tool-caption{
    position:absolute;
    left:0;
    right:0;
    bottom:1px;
    text-align:center;
    color:#8995a0;
    font-size:9px;
    line-height:1;
    font-weight:700;
    letter-spacing:.02em;
}
.mc-pro-toolbar button,
.mc-pro-toolbar .ql-picker-label{
    border-radius:6px !important;
}
.mc-pro-toolbar button:hover,
.mc-pro-toolbar button.ql-active,
.mc-pro-toolbar .ql-picker-label:hover,
.mc-pro-toolbar .ql-picker-label.ql-active{
    background:#edf3f8 !important;
}
.mc-pro-toolbar .ql-picker{
    color:#344454;
}
.mc-pro-toolbar .ql-font{
    width:92px;
}
.mc-pro-toolbar .ql-size{
    width:70px;
}
.mc-pro-toolbar .ql-header{
    width:96px;
}

.mc-pro-draft-warning{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:11px 14px;
    background:#fff7e8;
    border-bottom:1px solid #ecd7af;
    color:#765522;
    font-size:12px;
}
.mc-pro-draft-warning>div{
    display:flex;
    align-items:center;
    gap:8px;
}
.mc-pro-draft-warning i{
    color:#b97a22;
    font-size:16px;
}

.mc-pro-editor-workspace{
    min-height:700px;
    padding:34px;
    overflow:auto;
    background:
        linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),
        #e4e9ee;
    background-size:20px 20px;
}
.mc-pro-editor-paper{
    width:min(100%,820px);
    min-height:760px;
    margin:0 auto;
    background:#fff;
    border:1px solid #d5dce2;
    box-shadow:0 9px 30px rgba(27,39,51,.15);
    transform-origin:top center;
}
#cronicaEditor{
    min-height:760px !important;
    padding:62px 70px !important;
    border:0 !important;
    background:#fff;
    color:#273747;
    font-size:17px !important;
    line-height:1.78 !important;
}
#cronicaEditor.ql-container{
    font-family:Arial,Helvetica,sans-serif;
}
#cronicaEditor .ql-editor{
    min-height:636px;
    padding:0 !important;
}
#cronicaEditor .ql-editor p{
    margin-bottom:1em;
}
#cronicaEditor .ql-editor h1{
    margin:.25em 0 .6em;
    font-size:2.15em;
    line-height:1.15;
}
#cronicaEditor .ql-editor h2{
    margin:.4em 0 .6em;
    font-size:1.7em;
    line-height:1.2;
}
#cronicaEditor .ql-editor h3{
    margin:.5em 0 .6em;
    font-size:1.35em;
    line-height:1.25;
}
#cronicaEditor .ql-editor blockquote{
    margin:1.3em 0;
    padding:10px 0 10px 18px;
    border-left:4px solid #c78a36;
    color:#667586;
    font-style:italic;
}
#cronicaEditor .ql-editor img{
    max-width:100%;
    height:auto;
    border-radius:8px;
}

.mc-pro-editor-status{
    min-height:40px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:18px;
    padding:7px 12px;
    border-top:1px solid #d9e0e6;
    background:#fff;
    color:#7d8995;
    font-size:10px;
}
.mc-pro-editor-status>span:first-child{
    justify-self:start;
}
.mc-pro-editor-status i{
    margin-right:5px;
    color:#279261;
}
.mc-pro-status-center{
    display:flex;
    align-items:center;
    gap:15px;
}
.mc-pro-zoom{
    justify-self:end;
    display:flex;
    align-items:center;
    gap:4px;
}
.mc-pro-zoom button{
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    border-radius:6px;
    background:#f3f6f8;
    color:#536170;
}
.mc-pro-zoom button:hover{
    background:#e8edf2;
}
.mc-pro-zoom span{
    min-width:40px;
    text-align:center;
    font-variant-numeric:tabular-nums;
}

.mc-pro-editor-shell.is-fullscreen{
    position:fixed !important;
    inset:0 !important;
    z-index:5000 !important;
    width:100vw !important;
    height:100dvh !important;
    border-radius:0 !important;
    display:flex;
    flex-direction:column;
}
.mc-pro-editor-shell.is-fullscreen .mc-pro-editor-ribbon{
    position:relative;
    top:0;
    flex:0 0 auto;
}
.mc-pro-editor-shell.is-fullscreen .mc-pro-editor-workspace{
    flex:1 1 auto;
    min-height:0;
}
.mc-pro-editor-shell.is-fullscreen .mc-pro-editor-status{
    flex:0 0 auto;
}
body.mc-editor-fullscreen-open{
    overflow:hidden !important;
}

@media(max-width:991.98px){
    .mc-pro-editor-heading{
        align-items:flex-start;
        flex-direction:column;
    }
    .mc-pro-editor-top-actions{
        width:100%;
        justify-content:flex-end;
    }
    .mc-pro-editor-ribbon{
        top:var(--mc-navbar);
    }
    .mc-pro-editor-workspace{
        padding:18px;
    }
    #cronicaEditor{
        padding:42px 38px !important;
    }
}

@media(max-width:575.98px){
    .mc-pro-ribbon-titlebar{
        display:none;
    }
    .mc-pro-toolbar.ql-toolbar{
        min-height:70px;
    }
    .mc-pro-editor-workspace{
        min-height:540px;
        padding:8px;
    }
    .mc-pro-editor-paper{
        min-height:540px;
    }
    #cronicaEditor{
        min-height:540px !important;
        padding:28px 20px !important;
        font-size:16px !important;
    }
    #cronicaEditor .ql-editor{
        min-height:484px;
    }
    .mc-pro-editor-status{
        grid-template-columns:1fr auto;
        gap:8px;
    }
    .mc-pro-status-center{
        grid-column:1 / -1;
        grid-row:2;
        justify-content:flex-start;
        gap:10px;
    }
    .mc-pro-zoom{
        grid-column:2;
        grid-row:1;
    }
    .mc-pro-draft-warning{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* =========================================================
   WebsiteMC_072 - Home mais compacta entre meses e agenda
========================================================= */
.mc-events-section {
    padding-top: 22px !important;
}

@media (max-width: 575.98px) {
    .mc-events-section {
        padding-top: 20px !important;
    }
}


/* =========================================================
   WebsiteMC_073 - camada única para modais de fotografias
   Corrige conflito entre o modal de evento futuro e o
   backdrop global criado nas versões anteriores.
========================================================= */

/* O fundo escuro fica sempre por baixo dos dois modais. */
body.modal-open > .modal-backdrop,
body.modal-open > .modal-backdrop.show,
.modal-backdrop,
.modal-backdrop.show{
    z-index:4100 !important;
}

/* Ambos os modais de fotografias usam exatamente a mesma camada. */
#futurePhotosModal.modal,
#confradePhotosModal.modal{
    z-index:4101 !important;
    pointer-events:auto !important;
}

/* Conteúdo clicável e sempre acima do respetivo backdrop. */
#futurePhotosModal .modal-dialog,
#futurePhotosModal .modal-content,
#confradePhotosModal .modal-dialog,
#confradePhotosModal .modal-content{
    position:relative !important;
    z-index:4102 !important;
    pointer-events:auto !important;
    opacity:1 !important;
    filter:none !important;
}

#futurePhotosModal.show,
#confradePhotosModal.show{
    display:block !important;
    pointer-events:auto !important;
}

/* Impedir que qualquer stacking context do layout afete o modal. */
body > #futurePhotosModal,
body > #confradePhotosModal{
    position:fixed !important;
    inset:0 !important;
    transform:none !important;
    isolation:isolate;
}


/* =========================================================
   WebsiteMC_074 - Chat WhatsApp
========================================================= */
.mc-whatsapp-chat{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:3900;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.mc-whatsapp-launcher{
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 18px;
    border:0;
    border-radius:999px;
    background:#25D366;
    color:#fff;
    font-size:14px;
    font-weight:800;
    box-shadow:0 14px 34px rgba(25,95,55,.28);
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.mc-whatsapp-launcher:hover{
    transform:translateY(-2px);
    background:#1fc15b;
    box-shadow:0 18px 40px rgba(25,95,55,.34);
}

.mc-whatsapp-launcher i{
    font-size:23px;
    line-height:1;
}

.mc-whatsapp-panel{
    position:absolute;
    right:0;
    bottom:68px;
    width:min(360px,calc(100vw - 32px));
    overflow:hidden;
    border:1px solid rgba(24,38,54,.08);
    border-radius:22px;
    background:#fff;
    box-shadow:0 24px 70px rgba(24,38,54,.22);
    opacity:0;
    visibility:hidden;
    transform:translateY(10px) scale(.98);
    transform-origin:bottom right;
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.mc-whatsapp-panel.is-open{
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);
    pointer-events:auto;
}

.mc-whatsapp-panel-head{
    position:relative;
    display:flex;
    align-items:center;
    gap:11px;
    padding:16px 16px 15px;
    background:#075E54;
    color:#fff;
}

.mc-whatsapp-avatar{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#25D366;
    font-size:22px;
}

.mc-whatsapp-panel-head strong,
.mc-whatsapp-panel-head small{
    display:block;
}

.mc-whatsapp-panel-head strong{
    font-size:14px;
    line-height:1.25;
}

.mc-whatsapp-panel-head small{
    margin-top:3px;
    color:rgba(255,255,255,.78);
    font-size:10px;
}

.mc-whatsapp-online{
    width:7px;
    height:7px;
    display:inline-block;
    margin-right:4px;
    border-radius:50%;
    background:#57f287;
    vertical-align:1px;
}

.mc-whatsapp-close{
    position:absolute;
    top:11px;
    right:11px;
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.09);
    color:#fff;
}

.mc-whatsapp-close:hover{
    background:rgba(255,255,255,.16);
}

.mc-whatsapp-panel-body{
    min-height:160px;
    padding:22px 18px;
    background:
        radial-gradient(circle at 20% 20%,rgba(7,94,84,.04),transparent 26%),
        #efeae2;
}

.mc-whatsapp-bubble{
    position:relative;
    width:88%;
    padding:13px 14px;
    border-radius:4px 14px 14px 14px;
    background:#fff;
    color:#334252;
    box-shadow:0 3px 9px rgba(24,38,54,.08);
}

.mc-whatsapp-bubble:before{
    content:"";
    position:absolute;
    left:-7px;
    top:0;
    border-top:8px solid #fff;
    border-left:8px solid transparent;
}

.mc-whatsapp-bubble span{
    color:#233341;
    font-size:13px;
    font-weight:800;
}

.mc-whatsapp-bubble p{
    margin:4px 0 5px;
    font-size:14px;
    font-weight:700;
}

.mc-whatsapp-bubble small{
    display:block;
    color:#758291;
    font-size:11px;
    line-height:1.45;
}

.mc-whatsapp-panel-foot{
    padding:15px 16px 14px;
    background:#fff;
}

.mc-whatsapp-start{
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:12px;
    background:#25D366;
    color:#fff !important;
    text-decoration:none !important;
    font-size:13px;
    font-weight:850;
}

.mc-whatsapp-start:hover{
    background:#20c45c;
}

.mc-whatsapp-start i{
    font-size:19px;
}

.mc-whatsapp-panel-foot>small{
    display:block;
    margin-top:8px;
    color:#98a2ad;
    text-align:center;
    font-size:9px;
}

@media(max-width:575.98px){
    .mc-whatsapp-chat{
        right:16px;
        bottom:18px;
    }

    .mc-whatsapp-launcher{
        width:54px;
        min-width:54px;
        padding:0;
        border-radius:50%;
    }

    .mc-whatsapp-launcher span{
        display:none;
    }

    .mc-whatsapp-panel{
        position:fixed;
        right:12px;
        left:12px;
        bottom:82px;
        width:auto;
        transform-origin:bottom center;
    }
}


/* =========================================================
   WebsiteMC_075 - Chat próprio em tempo real
========================================================= */
.mc-live-chat{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:3950;
}
.mc-live-chat-launcher{
    position:relative;
    min-height:56px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 19px;
    border:0;
    border-radius:999px;
    background:#263747;
    color:#fff;
    font-weight:850;
    font-size:13px;
    box-shadow:0 16px 40px rgba(24,38,54,.24);
    transition:.18s ease;
}
.mc-live-chat-launcher:hover{
    transform:translateY(-2px);
    background:#17293a;
}
.mc-live-chat-launcher>i{
    color:#e3b266;
    font-size:21px;
}
.mc-live-chat-unread{
    position:absolute;
    top:-5px;
    right:-3px;
    min-width:22px;
    height:22px;
    display:grid;
    place-items:center;
    padding:0 5px;
    border:2px solid #fff;
    border-radius:999px;
    background:#d83c3c;
    color:#fff;
    font-size:10px;
}
.mc-live-chat-panel{
    position:absolute;
    right:0;
    bottom:70px;
    width:min(390px,calc(100vw - 32px));
    overflow:hidden;
    border:1px solid rgba(24,38,54,.09);
    border-radius:22px;
    background:#fff;
    box-shadow:0 28px 80px rgba(24,38,54,.25);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(12px) scale(.98);
    transform-origin:bottom right;
    transition:.18s ease;
}
.mc-live-chat-panel.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
}
.mc-live-chat-head{
    position:relative;
    display:flex;
    align-items:center;
    gap:11px;
    padding:15px 16px;
    background:linear-gradient(120deg,#1f2f3e,#33495b);
    color:#fff;
}
.mc-live-chat-avatar{
    width:42px;height:42px;flex:0 0 42px;
    display:grid;place-items:center;
    border-radius:14px;
    background:#b97a22;
    font-size:19px;
}
.mc-live-chat-head strong,.mc-live-chat-head small{display:block}
.mc-live-chat-head strong{font-size:14px}
.mc-live-chat-head small{margin-top:3px;color:rgba(255,255,255,.72);font-size:10px}
.mc-live-dot{
    width:7px;height:7px;display:inline-block;margin-right:4px;
    border-radius:50%;background:#64df93;vertical-align:1px;
    box-shadow:0 0 0 4px rgba(100,223,147,.10);
}
.mc-live-chat-close{
    position:absolute;right:10px;top:10px;
    width:31px;height:31px;display:grid;place-items:center;
    border:0;border-radius:50%;
    background:rgba(255,255,255,.08);color:#fff;
}
.mc-live-chat-intro{padding:18px}
.mc-live-chat-welcome{
    margin-bottom:15px;
    padding:15px;
    border-radius:16px;
    background:#fff8ee;
    color:#4c5966;
}
.mc-live-chat-welcome>i{color:#b97a22;font-size:22px}
.mc-live-chat-welcome h3{margin:5px 0 4px;color:#233341;font-size:17px}
.mc-live-chat-welcome p{margin:0;font-size:12px}
.mc-live-chat-start-form{display:grid;gap:10px}
.mc-live-chat-start-form label{
    display:block;margin-bottom:5px;
    color:#586879;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em
}
.mc-live-chat-start-form label span{text-transform:none;font-weight:500;color:#9aa4ae}
.mc-live-chat-start-form input,.mc-live-chat-start-form textarea{
    width:100%;border:1px solid #dfe5ea;border-radius:11px;
    padding:10px 11px;background:#fff;color:#354555;outline:0;font-size:12px
}
.mc-live-chat-start-form input:focus,.mc-live-chat-start-form textarea:focus{
    border-color:#d0a05a;box-shadow:0 0 0 3px rgba(185,122,34,.08)
}
.mc-live-chat-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mc-live-chat-primary{
    min-height:44px;border:0;border-radius:11px;
    background:#b97a22;color:#fff;font-size:12px;font-weight:850
}
.mc-live-chat-alt{
    display:flex;align-items:center;justify-content:center;gap:8px;
    margin-top:13px;padding-top:12px;border-top:1px solid #edf0f2;color:#89949e;font-size:10px
}
.mc-live-chat-alt a{color:#16824c;text-decoration:none;font-weight:800}
.mc-live-chat-room{height:390px;display:flex;flex-direction:column;background:#f4f6f8}
.mc-live-chat-messages{
    flex:1;overflow:auto;padding:15px;display:flex;flex-direction:column;gap:8px
}
.mc-chat-msg{max-width:82%;font-size:12px}
.mc-chat-msg>div{padding:9px 11px;border-radius:13px;line-height:1.45;box-shadow:0 2px 7px rgba(24,38,54,.05)}
.mc-chat-msg small{display:block;margin-top:3px;color:#9aa4ae;font-size:8px}
.mc-chat-msg.is-visitor{align-self:flex-end;text-align:right}
.mc-chat-msg.is-visitor>div{background:#dff4e8;color:#244233;border-bottom-right-radius:4px}
.mc-chat-msg.is-admin{align-self:flex-start}
.mc-chat-msg.is-admin>div{background:#fff;color:#344454;border-bottom-left-radius:4px}
.mc-live-chat-compose{
    display:flex;align-items:flex-end;gap:8px;padding:10px;border-top:1px solid #e1e6ea;background:#fff
}
.mc-live-chat-compose textarea{
    flex:1;resize:none;max-height:100px;border:1px solid #dfe4e9;border-radius:12px;padding:9px 10px;outline:0;font-size:12px
}
.mc-live-chat-compose button{
    width:40px;height:40px;display:grid;place-items:center;
    border:0;border-radius:50%;background:#b97a22;color:#fff
}
.mc-live-chat-closed{
    padding:12px;background:#fff4e8;border-top:1px solid #eed7b7;color:#79582b;text-align:center;font-size:11px
}
.mc-live-chat-closed button{
    margin-left:6px;border:0;background:transparent;color:#9e6315;font-weight:850
}
.mc-live-chat-foot{
    min-height:34px;display:flex;align-items:center;justify-content:space-between;
    padding:6px 12px;border-top:1px solid #e5e9ed;background:#fff;color:#89949f;font-size:9px
}
.mc-live-chat-foot span i{color:#37a468}
.mc-live-chat-foot a{color:#1b9a58;font-size:16px}

/* Admin */
.mc-chat-admin{padding-top:28px;padding-bottom:60px}
.mc-chat-admin-head{
    display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px
}
.mc-chat-admin-head h1{margin:5px 0 5px;font-size:clamp(30px,4vw,46px)}
.mc-chat-admin-head p{margin:0;color:#768493}
.mc-chat-admin-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.mc-chat-admin-shell{
    height:min(720px,calc(100dvh - 190px));
    min-height:520px;
    display:grid;grid-template-columns:340px minmax(0,1fr);
    overflow:hidden;border:1px solid #dfe5ea;border-radius:22px;background:#fff;
    box-shadow:0 18px 55px rgba(24,38,54,.08)
}
.mc-chat-admin-list{border-right:1px solid #e4e9ed;background:#fafbfd;overflow:hidden;display:flex;flex-direction:column}
.mc-chat-admin-list-title{
    display:flex;justify-content:space-between;align-items:center;padding:14px 15px;border-bottom:1px solid #e7ebef;background:#fff
}
.mc-chat-admin-list-title span{
    min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#eef2f5;color:#667586;font-size:10px
}
.mc-chat-admin-conversations{overflow:auto;flex:1}
.mc-chat-conversation{
    width:100%;display:flex;gap:10px;padding:12px;border:0;border-bottom:1px solid #edf0f3;background:transparent;text-align:left
}
.mc-chat-conversation:hover,.mc-chat-conversation.active{background:#fff6e9}
.mc-chat-conversation.is-closed{opacity:.58}
.mc-chat-conversation-avatar{
    width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:50%;background:#263747;color:#fff;font-weight:850
}
.mc-chat-conversation-main{min-width:0;flex:1}
.mc-chat-conversation-top,.mc-chat-conversation-bottom{display:flex;align-items:center;justify-content:space-between;gap:7px}
.mc-chat-conversation-top strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#243443;font-size:12px}
.mc-chat-conversation-top small{color:#9aa4ae;font-size:9px}
.mc-chat-conversation-bottom>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#84909c;font-size:10px}
.mc-chat-conversation-bottom b{
    min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px;border-radius:999px;background:#b97a22;color:#fff;font-size:9px
}
.mc-chat-admin-room{position:relative;min-width:0;background:#f3f5f7}
.mc-chat-admin-placeholder{height:100%;display:grid;place-items:center;align-content:center;text-align:center;color:#8b97a2}
.mc-chat-admin-placeholder i{font-size:48px;color:#c8a36e}
.mc-chat-admin-placeholder h2{margin:10px 0 5px;color:#455565;font-size:21px}
.mc-chat-admin-placeholder p{margin:0;font-size:12px}
.mc-chat-admin-active{height:100%;display:flex;flex-direction:column}
.mc-chat-admin-room-head{
    min-height:65px;display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid #e1e6ea;background:#fff
}
.mc-chat-admin-room-head strong,.mc-chat-admin-room-head small{display:block}
.mc-chat-admin-room-head strong{color:#263746;font-size:13px}
.mc-chat-admin-room-head small{margin-top:2px;color:#8b97a2;font-size:9px}
.mc-chat-admin-room-actions{margin-left:auto}
.mc-chat-admin-back{display:none;border:0;background:transparent;color:#596979;font-size:20px}
.mc-chat-admin-messages{
    flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:8px
}
.mc-chat-admin-messages .mc-chat-msg{font-size:13px}
.mc-chat-admin-compose{
    display:flex;align-items:flex-end;gap:9px;padding:12px;border-top:1px solid #dfe5ea;background:#fff
}
.mc-chat-admin-compose textarea{
    flex:1;resize:none;max-height:120px;border:1px solid #dce2e7;border-radius:13px;padding:10px 12px;outline:0
}
.mc-chat-admin-compose button{
    width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:#b97a22;color:#fff
}
.mc-chat-admin-empty-list{padding:35px 20px;text-align:center;color:#98a3ad}
.mc-chat-admin-empty-list i{font-size:30px}
.mc-chat-admin-empty-list p{margin:7px 0 0;font-size:11px}

@media(max-width:767.98px){
    .mc-live-chat{right:14px;bottom:16px}
    .mc-live-chat-launcher{width:56px;min-width:56px;padding:0;border-radius:50%}
    .mc-live-chat-launcher>span:last-child{display:none}
    .mc-live-chat-panel{
        position:fixed;left:10px;right:10px;bottom:82px;width:auto;max-height:calc(100dvh - 96px)
    }
    .mc-live-chat-two{grid-template-columns:1fr}
    .mc-live-chat-room{height:min(500px,calc(100dvh - 180px))}
    .mc-chat-admin{padding-top:15px;padding-left:10px;padding-right:10px}
    .mc-chat-admin-head{flex-direction:column}
    .mc-chat-admin-head-actions{width:100%}
    .mc-chat-admin-head-actions .btn{flex:1;justify-content:center}
    .mc-chat-admin-shell{
        height:calc(100dvh - 190px);min-height:500px;grid-template-columns:1fr
    }
    .mc-chat-admin-list{border-right:0}
    .mc-chat-admin-room{position:absolute;inset:0;display:none}
    .mc-chat-admin.has-open-conversation .mc-chat-admin-room{display:block}
    .mc-chat-admin.has-open-conversation .mc-chat-admin-list{visibility:hidden}
    .mc-chat-admin-back{display:block}
}


/* WebsiteMC_077 - ativação de notificações no telemóvel */
.mc-chat-notify-btn{
    display:inline-flex;
    align-items:center;
    gap:7px;
}
.mc-chat-notify-btn.is-active{
    border-color:#58a879 !important;
    background:#edf8f1 !important;
    color:#267246 !important;
}
@media(max-width:767.98px){
    .mc-chat-notify-btn{
        width:100%;
        min-height:46px;
        justify-content:center;
        font-weight:800;
    }
    .mc-chat-notify-btn i{
        font-size:18px;
    }
}


/* =========================================================
   WebsiteMC_080 - Chat admin ajustado ao viewport desktop
   Mantém cabeçalho, histórico e caixa de resposta dentro
   da janela disponível sem obrigar a scroll da página.
========================================================= */
@media(min-width:768px){
    .mc-chat-admin{
        height:calc(100dvh - var(--mc-navbar)) !important;
        min-height:0 !important;
        padding-top:22px !important;
        padding-bottom:18px !important;
        display:flex !important;
        flex-direction:column !important;
        overflow:hidden !important;
    }

    .mc-chat-admin-head{
        flex:0 0 auto !important;
        margin-bottom:16px !important;
    }

    .mc-chat-admin-shell{
        flex:1 1 auto !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        overflow:hidden !important;
    }

    .mc-chat-admin-list,
    .mc-chat-admin-room,
    .mc-chat-admin-active{
        min-height:0 !important;
        height:100% !important;
    }

    .mc-chat-admin-active{
        display:flex !important;
        flex-direction:column !important;
        overflow:hidden !important;
    }

    .mc-chat-admin-room-head{
        flex:0 0 auto !important;
    }

    .mc-chat-admin-messages{
        flex:1 1 auto !important;
        min-height:0 !important;
        overflow-y:auto !important;
        overscroll-behavior:contain !important;
        padding-bottom:18px !important;
    }

    .mc-chat-admin-compose{
        flex:0 0 auto !important;
        position:relative !important;
        bottom:auto !important;
        width:100% !important;
        min-height:68px !important;
        padding:10px 12px !important;
        border-top:1px solid #dfe5ea !important;
        background:#fff !important;
        z-index:5 !important;
    }

    .mc-chat-admin-compose textarea{
        min-height:44px !important;
        max-height:120px !important;
        font-size:14px !important;
        line-height:1.4 !important;
    }

    .mc-chat-admin-compose button{
        width:44px !important;
        height:44px !important;
        flex:0 0 44px !important;
    }

    .mc-chat-admin-conversations{
        min-height:0 !important;
        overflow-y:auto !important;
    }
}

/* Ecrãs de desktop menos altos, por exemplo portáteis */
@media(min-width:768px) and (max-height:760px){
    .mc-chat-admin{
        padding-top:14px !important;
        padding-bottom:12px !important;
    }

    .mc-chat-admin-head{
        margin-bottom:10px !important;
    }

    .mc-chat-admin-head h1{
        font-size:34px !important;
        margin-bottom:2px !important;
    }

    .mc-chat-admin-head p{
        font-size:12px !important;
    }
}


/* =========================================================
   WebsiteMC_082 - Conversa contínua no mobile
   O teclado mantém-se aberto após enviar e o compositor
   fica mais encostado ao teclado.
========================================================= */
@media(max-width:767.98px){
    body.mc-chat-keyboard-open .mc-chat-admin-compose{
        min-height:54px !important;
        padding-top:5px !important;
        padding-right:8px !important;
        padding-bottom:2px !important;
        padding-left:8px !important;
        margin:0 !important;
    }

    body.mc-chat-keyboard-open .mc-chat-admin-compose textarea{
        min-height:40px !important;
        max-height:88px !important;
        padding:8px 11px !important;
        margin:0 !important;
    }

    body.mc-chat-keyboard-open .mc-chat-admin-compose button{
        width:40px !important;
        height:40px !important;
        flex-basis:40px !important;
        margin:0 !important;
    }

    /* Evita espaço inferior adicional enquanto o teclado está visível. */
    body.mc-chat-keyboard-open .mc-chat-admin-active,
    body.mc-chat-keyboard-open .mc-chat-admin-room,
    body.mc-chat-keyboard-open .mc-chat-admin-shell{
        padding-bottom:0 !important;
        margin-bottom:0 !important;
    }

    .mc-chat-admin-compose button:disabled{
        opacity:.72;
        cursor:wait;
    }
}


/* =========================================================
   WebsiteMC_086 - Botão Push visível no mobile
========================================================= */
.mc-chat-mobile-notify-wrap{
    display:none;
}

@media(max-width:767.98px){
    .mc-chat-mobile-notify-wrap{
        display:block;
        padding:12px 14px 13px;
        border-bottom:1px solid #e7ebef;
        background:#fff;
    }

    .mc-chat-mobile-notify-wrap .mc-chat-notify-btn{
        display:flex !important;
        width:100%;
        min-height:46px;
        align-items:center;
        justify-content:center;
        gap:8px;
        border-radius:14px;
        font-size:13px;
        font-weight:800;
    }

    .mc-chat-mobile-notify-wrap .mc-chat-notify-btn.is-active{
        border-color:#58a879 !important;
        background:#edf8f1 !important;
        color:#267246 !important;
    }
}

/* =========================================================
   WebsiteMC_094 - Chat mobile CANÓNICO
   Uma única implementação para iPhone/PWA.
========================================================= */
@media(max-width:767.98px){
    /* Página/área do chat */
    .mc-chat-admin{
        position:fixed !important;
        top:var(--mc-chat-top, var(--mc-navbar)) !important;
        right:0 !important;
        bottom:auto !important;
        left:0 !important;
        width:var(--mc-chat-width, 100vw) !important;
        height:var(--mc-chat-height, calc(100dvh - var(--mc-navbar))) !important;
        min-height:0 !important;
        max-height:none !important;
        margin:0 !important;
        padding:0 !important;
        overflow:hidden !important;
        transform:none !important;
        background:#f3f5f7 !important;
        overscroll-behavior:none !important;
    }

    .mc-chat-admin-head{
        display:none !important;
    }

    .mc-chat-admin-shell,
    .mc-chat-admin-room,
    .mc-chat-admin-active{
        position:absolute !important;
        inset:0 !important;
        width:100% !important;
        height:100% !important;
        min-height:0 !important;
        max-height:none !important;
        margin:0 !important;
        padding:0 !important;
        transform:none !important;
        overflow:hidden !important;
    }

    .mc-chat-admin-shell{
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
    }

    .mc-chat-admin-list{
        height:100% !important;
        border-right:0 !important;
        overflow:hidden !important;
    }

    .mc-chat-admin-conversations{
        min-height:0 !important;
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch !important;
    }

    .mc-chat-admin-room{
        display:none;
        background:#f3f5f7 !important;
    }

    .mc-chat-admin.has-open-conversation .mc-chat-admin-room{
        display:block !important;
    }

    .mc-chat-admin.has-open-conversation .mc-chat-admin-list{
        visibility:hidden !important;
    }

    .mc-chat-admin-active{
        display:flex !important;
        flex-direction:column !important;
    }

    .mc-chat-admin-room-head{
        position:relative !important;
        flex:0 0 auto !important;
        min-height:64px !important;
        padding:8px 12px !important;
        background:#fff !important;
        border-bottom:1px solid #dfe5ea !important;
        z-index:5 !important;
    }

    .mc-chat-admin-back{
        display:block !important;
    }

    .mc-chat-admin-messages{
        flex:1 1 auto !important;
        min-height:0 !important;
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch !important;
        overscroll-behavior:contain !important;
        padding:16px 18px 10px !important;
        padding-bottom:var(--mc-compose-space, 68px) !important;
    }

    /* Compositor: sempre ancorado ao fundo da área REAL do chat */
    .mc-chat-admin-compose{
        position:absolute !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        top:auto !important;
        width:100% !important;
        box-sizing:border-box !important;
        display:flex !important;
        align-items:flex-end !important;
        gap:8px !important;
        min-height:0 !important;
        height:auto !important;
        margin:0 !important;
        padding:4px 8px 4px !important;
        border-top:1px solid #dfe5ea !important;
        border-bottom:0 !important;
        background:#fff !important;
        z-index:20 !important;
    }

    .mc-chat-admin-compose textarea{
        flex:1 1 auto !important;
        min-height:40px !important;
        max-height:88px !important;
        margin:0 !important;
        padding:8px 12px !important;
        border:1px solid #dce2e7 !important;
        border-radius:16px !important;
        resize:none !important;
        overflow-y:auto !important;
        font-size:16px !important;
        line-height:1.3 !important;
        outline:0 !important;
    }

    .mc-chat-admin-compose button{
        width:40px !important;
        height:40px !important;
        flex:0 0 40px !important;
        margin:0 !important;
        border:0 !important;
        border-radius:50% !important;
        background:#b97a22 !important;
        color:#fff !important;
        -webkit-tap-highlight-color:transparent !important;
        touch-action:manipulation !important;
        user-select:none !important;
    }

    .mc-chat-admin-compose button:focus{
        outline:none !important;
        box-shadow:none !important;
    }

    /* Ao abrir o teclado, escondemos tudo o que possa reservar altura */
    body.mc-chat-keyboard-open .mc-navbar,
    body.mc-chat-keyboard-open .mc-footer-version-only{
        display:none !important;
    }

    body.mc-chat-keyboard-open .mc-chat-admin{
        top:0 !important;
        width:100vw !important;
        height:var(--mc-chat-height, 100dvh) !important;
    }

    body.mc-chat-keyboard-open .mc-chat-admin-compose{
        bottom:var(--mc-keyboard-inset, 0px) !important;
    }

    body.mc-chat-keyboard-open .mc-chat-admin-room-head{
        min-height:54px !important;
        padding-top:6px !important;
        padding-bottom:6px !important;
    }

    body.mc-chat-keyboard-open .mc-chat-admin-compose{
        bottom:var(--mc-keyboard-inset, 0px) !important;
        padding-bottom:2px !important;
    }
}


/* WebsiteMC_095 - teclado iOS: compensação por inset, sem encolher o Chat */
@media(max-width:767.98px){
    body.mc-chat-keyboard-open .mc-chat-admin-compose{
        bottom:var(--mc-keyboard-inset, 0px) !important;
    }
}


/* =========================================================
   WebsiteMC_096 - iPhone PWA: abertura estável do teclado
========================================================= */
@media(max-width:767.98px) and (display-mode:standalone){
    body.mc-chat-keyboard-open .mc-chat-admin-compose{
        bottom:0 !important;
    }
}


/* =========================================================
   WebsiteMC_097 - Composer portal direto no BODY (iPhone/PWA)
========================================================= */
@media(max-width:767.98px){
    body.mc-chat-compose-portaled > .mc-chat-admin-compose{
        position:fixed !important;
        top:var(--mc-compose-portal-top, auto) !important;
        right:auto !important;
        bottom:auto !important;
        left:0 !important;
        width:var(--mc-compose-portal-width, 100vw) !important;
        min-height:0 !important;
        height:auto !important;
        box-sizing:border-box !important;
        display:flex !important;
        align-items:flex-end !important;
        gap:8px !important;
        margin:0 !important;
        padding:4px 8px 2px !important;
        border-top:1px solid #dfe5ea !important;
        border-bottom:0 !important;
        background:#fff !important;
        transform:none !important;
        z-index:2147483000 !important;
    }

    body.mc-chat-compose-portaled > .mc-chat-admin-compose textarea{
        flex:1 1 auto !important;
        min-height:40px !important;
        max-height:88px !important;
        margin:0 !important;
        padding:8px 12px !important;
        border:1px solid #dce2e7 !important;
        border-radius:16px !important;
        resize:none !important;
        overflow-y:auto !important;
        font-size:16px !important;
        line-height:1.3 !important;
    }

    body.mc-chat-compose-portaled > .mc-chat-admin-compose button{
        width:40px !important;
        height:40px !important;
        flex:0 0 40px !important;
        margin:0 !important;
        border-radius:50% !important;
    }

    /*
     * Não permitimos que o documento inteiro seja usado pelo Safari para
     * "procurar" o campo focado. A conversa continua a fazer scroll apenas
     * dentro de .mc-chat-admin-messages.
     */
    body.mc-chat-compose-portaled{
        overscroll-behavior:none !important;
    }
}


/* =========================================================
   WebsiteMC_099 - Chat admin: lados das mensagens
   Recebidas à esquerda, enviadas à direita.
========================================================= */
.mc-chat-admin .mc-chat-msg.is-visitor{
    align-self:flex-start !important;
    margin-left:0 !important;
    margin-right:auto !important;
    text-align:left !important;
}

.mc-chat-admin .mc-chat-msg.is-admin{
    align-self:flex-end !important;
    margin-left:auto !important;
    margin-right:0 !important;
    text-align:left !important;
}

.mc-chat-admin .mc-chat-msg.is-visitor > div{
    border-bottom-left-radius:6px !important;
    border-bottom-right-radius:18px !important;
}

.mc-chat-admin .mc-chat-msg.is-admin > div{
    border-bottom-left-radius:18px !important;
    border-bottom-right-radius:6px !important;
}


/* =========================================================
   WebsiteMC_102 - Controlos Push sempre acessíveis no iPhone
========================================================= */
@media(max-width:767.98px){
    .mc-chat-mobile-notify-wrap{
        display:block !important;
        flex:0 0 auto !important;
        padding:10px 14px !important;
        background:#fff !important;
        border-bottom:1px solid #e7ebef !important;
        position:relative !important;
        z-index:30 !important;
    }

    .mc-chat-mobile-notify-wrap .mc-chat-notify-btn{
        display:flex !important;
        visibility:visible !important;
        opacity:1 !important;
        width:100% !important;
        min-height:44px !important;
    }

    .mc-chat-notify-room{
        display:inline-flex !important;
        visibility:visible !important;
        opacity:1 !important;
        align-items:center !important;
        justify-content:center !important;
        width:40px !important;
        height:40px !important;
        min-width:40px !important;
        padding:0 !important;
        border-radius:12px !important;
    }

    .mc-chat-notify-room i{
        font-size:18px !important;
    }
}


/* =========================================================
   WebsiteMC_104 - Chat admin iPhone: cabeçalho limpo
========================================================= */
@media(max-width:767.98px){
    .mc-chat-admin-room-head{
        display:grid !important;
        grid-template-columns:42px minmax(0,1fr) auto !important;
        align-items:center !important;
        column-gap:8px !important;
        min-height:58px !important;
        padding:7px 10px !important;
        background:#fff !important;
        border-bottom:1px solid #dfe5ea !important;
        overflow:hidden !important;
    }

    .mc-chat-admin-room-head > div:nth-child(2){
        min-width:0 !important;
        overflow:hidden !important;
    }

    .mc-chat-admin-room-head > div:nth-child(2) strong{
        display:block !important;
        max-width:100% !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        font-size:16px !important;
        line-height:1.2 !important;
    }

    .mc-chat-admin-room-head > div:nth-child(2) small{
        display:none !important;
    }

    .mc-chat-admin-back{
        width:40px !important;
        height:40px !important;
        min-width:40px !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        margin:0 !important;
        padding:0 !important;
    }

    .mc-chat-admin-room-actions{
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:6px !important;
        min-width:0 !important;
        margin:0 !important;
    }

    #mcChatAdminToggle{
        min-height:40px !important;
        height:40px !important;
        padding:0 13px !important;
        margin:0 !important;
        white-space:nowrap !important;
        border-radius:12px !important;
        font-size:13px !important;
        font-weight:800 !important;
    }

    /* O botão Push fica apenas na lista de conversas no iPhone. */
    .mc-chat-notify-room{
        display:none !important;
    }

    .mc-chat-mobile-notify-wrap{
        display:block !important;
    }

    /* Garante que nada da lista fica sobre a conversa aberta. */
    .mc-chat-admin.has-open-conversation .mc-chat-admin-list{
        visibility:hidden !important;
        pointer-events:none !important;
        z-index:0 !important;
    }

    .mc-chat-admin.has-open-conversation .mc-chat-admin-room{
        display:block !important;
        z-index:2 !important;
    }

    .mc-chat-admin.has-open-conversation .mc-chat-mobile-notify-wrap{
        display:none !important;
    }
}


/* =========================================================
   WebsiteMC_111 - Modais das boleias acima do backdrop
========================================================= */

/*
 * Desde a V073 o backdrop global dos modais está em z-index 4100.
 * Os modais das boleias continuavam no z-index Bootstrap/genérico inferior,
 * ficando visualmente atrás da camada escura.
 */
.mc-ride-modal.modal{
    z-index:4201 !important;
    pointer-events:auto !important;
}

.mc-ride-modal .modal-dialog,
.mc-ride-modal .modal-content{
    position:relative !important;
    z-index:4202 !important;
    pointer-events:auto !important;
    opacity:1 !important;
    filter:none !important;
}

.mc-ride-modal.show{
    display:block !important;
    pointer-events:auto !important;
}

/* Os modais são movidos para body para evitar stacking contexts do layout. */
body > .mc-ride-modal{
    position:fixed !important;
    inset:0 !important;
    transform:none !important;
    isolation:isolate;
}

/* O backdrop continua por baixo dos formulários. */
body.modal-open > .modal-backdrop,
body.modal-open > .modal-backdrop.show{
    z-index:4100 !important;
}

/* Mobile: mantém o formulário utilizável e com scroll dentro do modal. */
@media(max-width:575.98px){
    .mc-ride-modal{
        padding:0 !important;
    }

    .mc-ride-modal .modal-dialog{
        width:100% !important;
        max-width:none !important;
        min-height:100dvh !important;
        height:100dvh !important;
        margin:0 !important;
        align-items:stretch !important;
    }

    .mc-ride-modal .modal-content{
        width:100% !important;
        min-height:100dvh !important;
        height:100dvh !important;
        max-height:100dvh !important;
        border-radius:0 !important;
        overflow:hidden !important;
        display:flex !important;
        flex-direction:column !important;
    }

    .mc-ride-modal .modal-body{
        flex:1 1 auto !important;
        min-height:0 !important;
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch !important;
        padding-bottom:calc(28px + env(safe-area-inset-bottom)) !important;
    }

    .mc-ride-modal .mc-modal-close{
        position:fixed !important;
        top:calc(12px + env(safe-area-inset-top)) !important;
        right:14px !important;
        z-index:4205 !important;
        background-color:rgba(255,255,255,.97) !important;
        box-shadow:0 6px 22px rgba(0,0,0,.20) !important;
    }
}
