@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#102d42;--muted:#74808a;--gold:#c79a2b;--cream:#f8f8f5;--line:#e6e9e5;--green:#edf4ee;--blue:#edf4f8}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}.container{max-width:1160px;margin:0 auto;padding-left:28px;padding-right:28px}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#d4aa39;color:#fff;font-family:Georgia,serif;font-size:12px}.brand strong{display:block;font-size:14px}.brand small{display:block;margin-top:2px;color:var(--gold);font-size:8px;letter-spacing:3px;font-weight:700}nav{display:flex;gap:30px;font-size:12px;font-weight:600;color:#6c7377}nav a:last-child{color:var(--ink)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;min-height:530px}.eyebrow,.section-kicker{color:#9b7a2b;letter-spacing:2px;font-size:10px;font-weight:700}.hero h1,.page-intro h1{font:500 clamp(50px,6vw,80px)/.96 'Playfair Display',Georgia,serif;letter-spacing:-3px;margin:28px 0 22px}.hero h1 em,.page-intro h1 em{color:#c89a2e;font-style:italic}.lead{max-width:500px;color:#788087;font-size:16px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:25px;margin:30px 0 20px}.button{display:inline-flex;align-items:center;gap:30px;padding:16px 22px;border-radius:5px;background:#c79828;color:#fff;font-size:13px;font-weight:700;box-shadow:0 8px 18px #c7982825}.button:hover{transform:translateY(-2px)}.text-link{font-size:13px;font-weight:700}.privacy-note,.small-note{color:#93a199;font-size:11px}.photo-stack{height:390px;position:relative}.photo-card{position:absolute;background:#173449;box-shadow:0 20px 35px #1b293522}.main-card{width:280px;height:360px;right:70px;top:20px;transform:rotate(2deg);padding:75px 22px 0;color:#f5efe1;font:600 48px Georgia,serif;background:linear-gradient(145deg,#138eb9,#302b45 58%,#442d42)}.main-card small{display:block;margin-top:160px;font:700 9px 'DM Sans';letter-spacing:1px}.small-card{width:125px;height:145px;border:6px solid #fff;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700}.top-card{right:0;top:15px;transform:rotate(7deg);background:linear-gradient(140deg,#d7ae74,#4e2f24)}.bottom-card{left:65px;bottom:22px;transform:rotate(-9deg);background:linear-gradient(145deg,#0a91bb,#285f92)}.finder{background:#fff;border-radius:6px;padding-top:38px;padding-bottom:30px;box-shadow:0 10px 35px #203b2910}.finder-heading,.events-heading{display:flex;align-items:center;justify-content:space-between}.finder h2,.events h2{font:500 27px 'Playfair Display',Georgia,serif;margin:16px 0 20px}.finder-heading span{color:#b08a2c;font:italic 17px Georgia}.finder-heading i{color:#a9afb0;font-size:13px}.finder-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line)}.tab{border:0;background:none;padding:13px 0;color:#a1a7a9;font:600 13px 'DM Sans';cursor:pointer}.tab.active{color:var(--ink);border-bottom:2px solid var(--gold)}.finder-panel{border:1px dashed #d4d9d5;border-radius:5px;margin-top:18px;padding:16px;display:flex;align-items:center;gap:16px}.upload-icon{width:34px;height:34px;background:#eef6f0;color:#5f9c79;border-radius:50%;display:grid;place-items:center;font-size:22px}.finder-panel strong{font-size:13px}.finder-panel p{margin:5px 0 0;color:#9aa2a5;font-size:11px}.finder-panel .arrow{margin-left:auto;color:#bd9026;font-size:21px}.events{padding-top:75px;padding-bottom:52px}.events-heading a{font-size:12px;font-weight:700}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.event-card{min-height:115px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;padding:21px;display:flex;gap:14px;align-items:flex-start;transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #17344912}.event-card.blue{border-top-color:#7da8ba}.event-card.green{border-top-color:#7cad88}.event-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#f9f0d9;color:#be942b}.blue .event-icon{background:#eaf4f7;color:#6f9daf}.green .event-icon{background:#ecf5ed;color:#70a27a}.event-card>span:nth-child(2){flex:1}.event-card strong,.event-card small,.event-card em{display:block}.event-card strong{font-size:13px;font-weight:500}.event-card small{margin-top:7px;color:#8d969a;font-size:10px}.event-card em{margin-top:10px;color:#b28b2d;font-size:9px;font-style:normal;font-weight:700}.event-card b{font-size:17px;font-weight:400}.drive-callout,.notice{background:#edf3ec;border-radius:5px;padding-top:25px;padding-bottom:25px;display:flex;justify-content:space-between;align-items:center}.drive-callout>div{display:flex;gap:15px;align-items:center}.folder-icon{font-size:28px;color:#5e9471}.drive-callout h3{font:500 21px 'Playfair Display';margin:5px 0}.drive-callout p:not(.section-kicker),.notice p{margin:0;color:#77837d;font-size:11px}.outline-button{border:1px solid #b6c3b9;padding:14px 18px;border-radius:4px;font-size:11px;font-weight:700}.site-footer{display:flex;gap:15px;align-items:center;border-top:1px solid var(--line);margin-top:70px;padding-top:25px;padding-bottom:35px;font-size:10px;color:#8b9497}.site-footer strong{font-size:13px;color:var(--ink)}.site-footer a{margin-left:auto;font-weight:700;color:#9a7828}.page-intro{padding-top:70px;padding-bottom:58px}.page-intro h1{font-size:64px}.privacy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.privacy-grid article{background:#fff;padding:28px;border-top:3px solid var(--gold);min-height:230px}.privacy-grid h2{font:500 22px 'Playfair Display';margin:18px 0 10px}.privacy-grid p{color:#778187;font-size:13px;line-height:1.7}.step{color:#b9922f;font-size:12px;font-weight:700}.notice{margin-top:30px;display:block}.notice strong{font:500 22px 'Playfair Display'}.notice p{margin:10px 0 20px;max-width:700px;line-height:1.6}.notice .button{font-size:12px;padding:13px 18px}
.upload-zone{display:flex;align-items:center;gap:22px;width:100%;cursor:pointer}.upload-zone:hover{opacity:.78}.search-status{min-height:24px;margin:18px 0 8px;color:var(--ink);font-size:.92rem}.search-status.error{color:#9b2d20}.results-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 14px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery-card{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(40,34,26,.12);border-radius:8px;box-shadow:0 8px 22px rgba(40,34,26,.08)}.gallery-card>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#eee7dc}.gallery-check{position:absolute;z-index:1;top:9px;left:9px;display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.9);color:#24211d;font-size:.72rem}.gallery-check span{display:none}.gallery-check input{accent-color:#9d6a2b}.gallery-meta{display:grid;gap:7px;padding:12px}.gallery-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.gallery-meta small{color:#81766b;font-size:.75rem}.gallery-meta .outline-button{justify-self:start;padding:7px 10px;font-size:.72rem}
.choose-event-message,.selected-event-bar{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:6px;background:#f8faf7}.choose-event-message strong,.selected-event-bar strong{display:block;font-size:13px}.choose-event-message p,.selected-event-bar small{display:block;margin:7px 0 0;color:#8b9690;font-size:11px}.selected-event-bar{display:flex;align-items:center;justify-content:space-between;gap:18px}.selected-event-bar .outline-button{margin-top:0}.admin-form{display:grid;gap:16px;max-width:560px;margin:28px 0;padding:26px;background:#fff;border-top:3px solid var(--gold);border-radius:6px}.admin-form label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:700}.admin-form input,.admin-form select{width:100%;padding:12px;border:1px solid var(--line);border-radius:4px;background:#fbfcfa;font:inherit;font-size:13px}.admin-form .button{border:0;cursor:pointer;justify-content:center}.admin-form+.text-link{border:0;background:none;cursor:pointer}.event-card em{font-style:normal}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.site-header{height:auto;padding-top:22px;padding-bottom:22px;align-items:flex-start}nav{gap:12px;font-size:10px;flex-wrap:wrap;justify-content:flex-end}.hero{grid-template-columns:1fr;min-height:auto;padding-top:55px;padding-bottom:60px}.photo-stack{height:275px;order:-1}.main-card{width:200px;height:255px;right:50px}.main-card small{margin-top:90px}.small-card{width:92px;height:105px}.bottom-card{left:25px}.hero h1{font-size:53px}.finder-heading h2,.events h2{font-size:23px}.event-grid,.privacy-grid{grid-template-columns:1fr}.drive-callout{display:block}.outline-button{display:inline-block;margin-top:20px}.site-footer{flex-wrap:wrap}.site-footer a{margin-left:0;width:100%}.page-intro{padding-top:45px}.page-intro h1{font-size:52px}}@media(max-width:620px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.results-head{align-items:flex-start;flex-direction:column}.upload-zone{align-items:flex-start}}

.event-cover{display:block;width:100%;height:150px;object-fit:cover;border-radius:4px;margin:-21px -21px 14px;width:calc(100% + 42px)}.event-card:has(.event-cover){display:block;padding:21px;overflow:hidden}.event-card:has(.event-cover)>span:nth-of-type(2){display:block}.selected-event-cover{width:70px;height:52px;object-fit:cover;border-radius:5px;flex:0 0 auto}.selected-event-bar>span{flex:1}.search-button{border:0;cursor:pointer;margin-top:16px}.search-button:disabled{opacity:.45;cursor:not-allowed}.finder-panel+.search-button{display:flex}
@media(max-width:620px){.event-cover{height:130px}.selected-event-bar{align-items:flex-start;flex-wrap:wrap}.selected-event-bar .outline-button{width:100%;text-align:center}.search-button{width:100%;justify-content:center}}

.public-top{background:linear-gradient(90deg,#1a1a1a,#2c3e50);color:#fff;padding:8px 5%;display:flex;align-items:center;justify-content:space-between;gap:12px;font:12px Poppins;flex-wrap:wrap}.radio-player{display:flex;align-items:center;gap:8px;background:#0005;border-radius:20px;padding:5px 12px}.radio-player button{border:0;border-radius:50%;width:27px;height:27px;background:#d6a62d;color:#fff;cursor:pointer}.radio-player input{width:55px}.public-header{min-height:82px;display:flex;align-items:center;justify-content:space-between;background:#fff;gap:20px}.public-logo img{height:52px;max-width:180px}.public-header nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}.public-header nav a{font:600 11px Poppins;color:#263442;text-transform:uppercase}.public-header nav a.active{color:#1a237e}.public-header nav .live{background:#e31d2f;color:#fff;padding:8px 14px;border-radius:20px}.public-banner{background:#101a70;color:#fff;text-align:center;padding:42px 20px}.public-banner h1{margin:0;font:600 32px Poppins}.public-banner p{margin:8px 0 0;color:#d8dcff;font-size:13px}.public-main{padding-top:42px}.finder-news{box-shadow:none;border-radius:0;padding:0 0 38px;background:transparent}.finder-news h2,.events-news h2{font:600 27px Poppins;color:#25384a;margin:10px 0 24px}.muted,.face-note{color:#7d8790;font-size:13px}.finder-news .selected-event-bar{background:#fff;box-shadow:0 4px 18px #00000010}.upload-area{background:#fff;border:1px solid #e8ebee;border-radius:8px;padding:18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.upload-area .upload-zone{flex:1;min-width:240px}.upload-zone small{display:block;color:#88929a;margin-top:4px}.search-button{margin:0}.events-news{padding:34px 0 55px}.events-news .event-grid{grid-template-columns:repeat(3,1fr);gap:26px}.events-news .event-card{display:block;min-height:0;padding:0;border:0;border-radius:8px;overflow:hidden;box-shadow:0 4px 18px #00000012}.events-news .event-cover{height:150px;margin:0;width:100%;border-radius:0;object-fit:cover}.event-card-body{padding:18px 20px 20px}.events-news .event-card strong{font:600 18px Poppins;color:#2d4050}.events-news .event-card small{font-size:12px;margin-top:8px}.events-news .event-card em{font-size:10px;color:#1a237e;letter-spacing:.5px}.events-news .event-card b{position:absolute;right:18px;bottom:18px;color:#1a237e}.events-news .event-card{position:relative}.public-footer{border-top:1px solid #e5e8eb;background:#fff;margin-top:18px;color:#7d8790;font-size:12px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px;padding-top:36px;padding-bottom:30px}.footer-logo{height:44px;max-width:160px}.public-footer h4{margin:0 0 10px;color:#263442}.public-footer a{display:block;color:#7d8790;text-decoration:none;margin:6px 0}.copyright{text-align:center;background:#fafafa;border-top:1px solid #eef0f1;padding:12px;font-size:11px}@media(max-width:900px){.events-news .event-grid{grid-template-columns:repeat(2,1fr)}.public-header{align-items:flex-start;padding-top:18px;padding-bottom:18px}.public-header nav{gap:10px}}@media(max-width:620px){.events-news .event-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.public-top{justify-content:center}.public-header{display:block}.public-header nav{margin-top:14px;justify-content:flex-start}.public-banner h1{font-size:27px}}

/* Correção definitiva da grade pública de eventos */
.events-news .event-grid,.event-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(245px,1fr))!important;align-items:stretch!important}
.events-news .event-card,.event-grid .event-card{display:block!important;position:relative!important;min-width:0!important;width:100%!important;max-width:100%!important;overflow:hidden!important;padding:0!important}
.events-news .event-card .event-cover,.event-grid .event-card .event-cover{display:block!important;width:100%!important;max-width:100%!important;height:145px!important;max-height:145px!important;min-height:145px!important;object-fit:cover!important;margin:0!important;border-radius:0!important}
.events-news .event-card-body,.event-grid .event-card-body{display:block!important;padding:16px 18px 20px!important;min-height:105px}
@media(max-width:700px){.events-news .event-grid,.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.events-news .event-card .event-cover,.event-grid .event-card .event-cover{height:120px!important;min-height:120px!important;max-height:120px!important}}
@media(max-width:480px){.events-news .event-grid,.event-grid{grid-template-columns:1fr!important}}

/* Ajustes finais de responsividade e recursos visuais */
html{overflow-x:hidden}.public-top{width:100%;min-height:42px}.public-header{width:100%;min-height:82px;max-width:1160px;overflow:hidden}.public-logo{display:flex!important;align-items:center!important;flex:0 0 auto!important;max-width:190px!important}.public-logo img{display:block!important;width:auto!important;height:56px!important;max-width:190px!important;max-height:56px!important;object-fit:contain!important}.public-header nav{flex:1 1 auto;min-width:0}.public-header nav a{white-space:nowrap}.public-banner{width:100%;margin:0}.public-main{width:100%;max-width:1160px}.finder-news{width:100%;max-width:none}.footer-logo{display:block!important;width:auto!important;height:48px!important;max-width:180px!important;object-fit:contain!important}.event-grid .event-card{min-height:0!important}.event-grid .event-card-body{overflow:hidden}.event-grid .event-card-body strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:normal}.radio-player{max-width:100%;flex-wrap:wrap}.radio-player #radio-status{white-space:nowrap}@media(max-width:900px){.public-header{padding-top:14px;padding-bottom:14px}.public-logo img{height:48px!important;max-height:48px!important}.public-header nav{gap:10px}.public-header nav a{font-size:10px}}@media(max-width:620px){.public-top{font-size:11px}.public-header{display:flex;align-items:center;flex-wrap:wrap}.public-logo{max-width:150px!important}.public-logo img{height:42px!important;max-width:150px!important;max-height:42px!important}.public-header nav{width:100%;justify-content:flex-start;margin-top:10px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.public-header nav a{font-size:9px}.public-banner{padding:30px 15px}.public-banner h1{font-size:25px}.public-main{padding-top:25px}.finder-news h2,.events-news h2{font-size:22px}.upload-area{align-items:stretch}.upload-area .upload-zone{min-width:100%;}.search-button{width:100%;justify-content:center}.footer-grid{padding-left:20px;padding-right:20px}}

/* Tutorial visual e enquadramento de capas */
.how-to-fotos{margin:28px 0 8px;padding:24px;border:1px solid #e7eaf0;border-radius:18px;background:linear-gradient(135deg,#fff,#f6f8fc);box-shadow:0 8px 24px rgba(18,35,95,.07)}
.tutorial-heading{text-align:center;margin-bottom:18px}.tutorial-heading .section-kicker{display:block}.tutorial-heading h3{margin:6px 0;color:#15235f;font-size:1.35rem}.tutorial-heading p{margin:0;color:#667085;font-size:.92rem}.tutorial-image{display:block;width:100%;height:auto;max-width:1200px;margin:0 auto;border-radius:14px}
.event-cover,.selected-event-cover{object-position:var(--cover-x,50%) var(--cover-y,50%);transform:scale(var(--cover-zoom,1));transform-origin:center center}
@media(max-width:720px){.how-to-fotos{padding:16px;border-radius:14px}.tutorial-heading h3{font-size:1.12rem}.tutorial-heading p{font-size:.82rem}.tutorial-image{border-radius:10px}.event-cover{height:135px}.selected-event-cover{width:76px;height:58px}}

.photo-count{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:999px;background:#f5edd8;color:#9b7625;font:600 10px 'DM Sans',Arial,sans-serif;vertical-align:middle;white-space:nowrap}.selected-event-bar strong .photo-count{font-size:10px}@media(max-width:480px){.photo-count{display:block;width:max-content;margin:6px 0 0;font-size:9px}}

.media-thumb{position:relative;display:block;overflow:hidden;border-radius:12px 12px 0 0}.media-thumb img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.media-type{position:absolute;left:9px;bottom:9px;padding:4px 8px;border-radius:999px;background:rgba(20,24,35,.82);color:#fff;font:600 10px 'DM Sans',Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}.gallery-video .media-type{background:#9b7625}.gallery-card>.media-thumb+.gallery-meta{padding-top:12px}

/* Miniaturas compactas da busca facial */
.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important}.gallery-card{border-radius:7px!important}.media-thumb img{aspect-ratio:1/1!important;height:auto!important;max-height:170px!important;object-fit:cover!important}.gallery-meta{gap:4px!important;padding:8px!important}.gallery-meta strong{font-size:11px!important}.gallery-meta small{font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-meta .outline-button{padding:5px 7px!important;font-size:9px!important;margin-top:3px!important}.media-type{left:6px;bottom:6px;padding:3px 6px;font-size:8px}.gallery-check{top:6px;left:6px;padding:4px 6px;font-size:0}.gallery-check input{margin:0}@media(max-width:1050px){.gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@media(max-width:650px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.media-thumb img{max-height:150px!important}}@media(max-width:430px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
