@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* PALETA PRINCIPAL */
:root { --black:#000; --orange:#fe5000; --light-gray:#f5f5f5; --border:#dedede; }
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--black); font:16px/1.5 Arial, Helvetica, sans-serif; }
.public-page { font-family:"Inter", sans-serif; }
a { color:inherit; text-decoration:none; }
.container { width:min(1120px, calc(100% - 40px)); margin:0 auto; }

/* CABEÇALHO: .header-content agrupa logo e menu */
.site-header { background:#fff; border-bottom:1px solid var(--border); }
.header-content { min-height:106px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.header-logo-link { display:block; }
.header-logo-image { display:block; width:185px; max-height:78px; object-fit:contain; object-position:left center; }
.header-tagline { margin:0; font-size:22px; font-weight:bold; font-style:italic; }
.header-navigation { display:flex; align-items:center; gap:24px; font-size:14px; font-weight:bold; }
.header-navigation a:hover { color:var(--orange); }
.button { display:inline-block; padding:11px 16px; border:2px solid var(--orange); border-radius:5px; background:var(--orange); color:#fff; font-weight:bold; cursor:pointer; }
.button:hover { background:#fff; color:var(--orange); }
.button-small { padding:8px 13px; }

/* LISTA DE EVENTOS: .events-heading é o título e a busca */
.events-section { padding:55px 0 75px; }
.social-highlight { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:34px; }
.social-button { display:flex; min-height:52px; align-items:center; justify-content:center; gap:9px; padding:12px 18px; border-radius:4px; color:#fff; font-weight:bold; }
.social-button i { font-size:20px; }
.social-button-instagram { background:linear-gradient(105deg,#ffd36a,#fe5000,#843ddb); }
.social-button-whatsapp { background:linear-gradient(105deg,#3bca5a,#168c71); }
.social-button:hover { filter:brightness(.92); color:#fff; }
.events-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; padding-bottom:24px; border-bottom:1px solid var(--border); margin-bottom:30px; }
.section-label { margin:0 0 4px; color:var(--orange); font-size:12px; font-weight:bold; letter-spacing:1.4px; }
.events-heading h1 { margin:0; font-size:36px; line-height:1.1; font-weight:800; }
.event-search { display:flex; width:330px; overflow:hidden; border:1px solid var(--border); border-radius:7px; }
.event-search input { width:100%; padding:10px; border:0; outline:0; color:#000; font:inherit; }
.event-search button { padding:0 13px; border:0; background:var(--black); color:#fff; font-weight:bold; cursor:pointer; }

/* CARTÃO: imagem 320x230, seguido de .event-information */
.event-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:30px; }
.event-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--border); border-radius:7px; background:#fff; }
.event-cover-link { display:block; cursor:pointer; }
.event-cover-link:hover .event-cover-image { transform:scale(1.03); }
.event-cover-area { width:100%; aspect-ratio:320 / 230; background:var(--light-gray); overflow:hidden; }
.event-cover-image { width:100%; height:100%; object-fit:cover; display:block; transition:transform .2s ease; }
.event-cover-placeholder { height:100%; display:grid; place-items:center; background:#000; color:var(--orange); font-size:24px; font-weight:bold; }
.event-information { display:flex; flex:1; flex-direction:column; padding:20px; }
.event-title { min-height:42px; margin:0 0 17px; color:#000; font-size:18px; line-height:1.15; font-weight:800; }
.event-meta { margin:4px 0; font-size:14px; }
.photos-available-button { display:block; width:100%; margin-top:auto; padding:11px; border:0; border-radius:5px; text-align:center; background:linear-gradient(105deg,#ff971f,#fe5000); color:#fff; font-weight:bold; text-transform:uppercase; font-size:13px; letter-spacing:.3px; }
.photos-available-button:hover { filter:brightness(.92); color:#fff; }
.photos-unavailable-label { display:block; margin-top:auto; padding:11px; border:1px solid #a5a5a5; border-radius:5px; background:#d9d9d9; color:#555; text-align:center; font-size:13px; font-weight:bold; text-transform:uppercase; }
.empty { padding:35px; background:var(--light-gray); text-align:center; }
.event-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px; margin-top:36px; }
.event-pagination a { min-width:38px; padding:8px 11px; border:1px solid var(--border); border-radius:5px; text-align:center; font-size:14px; font-weight:bold; }
.event-pagination a:hover,.event-pagination a.is-current { border-color:var(--orange); background:var(--orange); color:#fff; }

/* RODAPÉ */
.site-footer { padding:35px 0; border-top:1px solid var(--border); background:#fff; text-align:center; }
.footer-content p { margin:10px 0; }.footer-logo-image { width:125px; max-height:55px; object-fit:contain; }.site-footer small { font-size:12px; }

/* ÁREA ADMINISTRATIVA */
.admin-main { padding-top:42px; padding-bottom:70px; }.admin-top { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:25px; }.admin-top h1 { margin:0; font-size:32px; }.admin-table { width:100%; border-collapse:collapse; }.admin-table th,.admin-table td { padding:14px; border-bottom:1px solid var(--border); text-align:left; }.admin-table th { font-size:12px; text-transform:uppercase; }.form-box { max-width:760px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }.form-grid .full { grid-column:1/-1; }.form-grid label,.login label { display:block; margin:14px 0 6px; font-size:14px; font-weight:bold; }.form-grid input,.form-grid textarea,.form-grid select,.login input { width:100%; padding:11px; border:1px solid #777; border-radius:0; color:#000; font:inherit; }.form-grid textarea { min-height:100px; resize:vertical; }.actions { display:flex; gap:8px; align-items:center; }.actions form { margin:0; }.action-button { display:inline-flex; width:76px; height:34px; align-items:center; justify-content:center; padding:0 10px; border:0; border-radius:5px; color:#fff; text-align:center; font-size:13px; font-weight:bold; cursor:pointer; }.action-button:hover { filter:brightness(.9); color:#fff; }.action-edit { background:#259c59; }.action-delete { background:#dc3545; }.text-link { color:var(--orange); font-weight:bold; }.danger { border:0; background:none; color:#b00020; cursor:pointer; font-weight:bold; }.status { font-size:13px; font-weight:bold; }.status-active { color:#259c59; }.status-inactive { color:#dc3545; }.login { max-width:430px; margin:11vh auto; padding:32px; border:1px solid var(--border); }.login h1 { font-size:25px; }.alert { padding:10px; color:#b00020; background:#fff0ef; }.cover-preview { display:block; width:320px; max-width:100%; aspect-ratio:320/230; object-fit:cover; border:1px solid var(--border); margin-top:10px; }
.setting-option { min-height:100%; padding:16px; border:1px solid var(--border); border-radius:6px; background:#fafafa; }
.event-location-fields { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.event-location-fields label { display:block; margin:14px 0 6px; font-size:14px; font-weight:bold; }
.event-location-fields input,.event-location-fields select { width:100%; padding:11px; border:1px solid #777; color:#000; font:inherit; }
.setting-option-label { display:flex !important; align-items:center; gap:9px; margin:0 !important; cursor:pointer; }
.setting-option-label input[type="checkbox"] { width:17px; height:17px; margin:0; padding:0; accent-color:var(--orange); }
.setting-option-description { margin:8px 0 0 26px; color:#555; font-size:13px; line-height:1.4; }

/* VISUAL EXCLUSIVO DO ADMINISTRATIVO */
.admin-page { background:#f7f7f7; }
.admin-page .site-header { background:#fff; }
.admin-page .admin-main { margin-top:32px; margin-bottom:60px; padding:30px; border-radius:24px; background:#efefef; }
.admin-page .form-box { max-width:none; padding:26px; border-radius:20px; background:#e7e7e7; }
.admin-page .form-grid input,.admin-page .form-grid textarea,.admin-page .form-grid select { border:1px solid transparent; border-radius:9px; background:#fff; }
.admin-page .form-grid input:focus,.admin-page .form-grid textarea:focus,.admin-page .form-grid select:focus { outline:3px solid #ffd5c2; border-color:var(--orange); }
.admin-page .form-grid input[type="checkbox"] { outline:none; }
.admin-page .setting-option { border:0; border-radius:12px; background:#fff; }
.admin-page .admin-table { overflow:hidden; border-collapse:separate; border-spacing:0; border-radius:16px; background:#fff; }
.admin-page .admin-table th { background:#e7e7e7; }
.admin-page .admin-table tr:last-child td { border-bottom:0; }
.admin-login-page { display:grid; min-height:100vh; place-items:center; }
.admin-login-card { width:min(460px,calc(100% - 36px)); padding:34px; border-radius:24px; background:#e7e7e7; }
.admin-login-logo { display:block; width:175px; max-height:70px; margin:0 auto 24px; object-fit:contain; }
.admin-login-card h1 { margin:0; font-size:27px; }.admin-login-card > p { margin:5px 0 20px; color:#555; }
.admin-login-card label { display:block; margin:15px 0 6px; font-size:14px; font-weight:bold; }
.admin-login-card input:not([type="hidden"]) { width:100%; padding:12px; border:1px solid transparent; border-radius:9px; background:#fff; font:inherit; }
.admin-login-card input:focus { outline:3px solid #ffd5c2; border-color:var(--orange); }
.admin-login-card .button { min-width:100px; border-radius:99px; }
.admin-login-helper { margin:16px 0 0 !important; text-align:center; font-size:14px; }.admin-login-helper a { color:var(--orange); font-weight:bold; text-decoration:underline; text-underline-offset:3px; }
.admin-success { padding:12px; border-radius:8px; background:#e9f8ee; color:#1d6f3b !important; }
.admin-event-search { display:flex; width:min(420px,100%); margin:0 0 22px; overflow:hidden; border:1px solid #bbb; border-radius:8px; background:#fff; }
.admin-event-search input { min-width:0; flex:1; padding:11px 13px; border:0; outline:0; background:transparent; font:inherit; }
.admin-event-search button,.admin-search-clear { display:flex; align-items:center; border:0; padding:0 14px; background:var(--orange); color:#fff; font-size:14px; font-weight:bold; cursor:pointer; }
.admin-search-clear { border-left:1px solid #fff8; background:#555; }.admin-search-clear:hover { background:#333; color:#fff; }
.admin-pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:7px; margin-top:28px; }
.admin-pagination a { min-width:38px; padding:8px 11px; border:1px solid #bbb; border-radius:5px; background:#fff; text-align:center; font-size:14px; font-weight:bold; }
.admin-pagination a:hover,.admin-pagination a.is-current { border-color:var(--orange); background:var(--orange); color:#fff; }
.admin-event-description { max-width:360px; margin:6px 0 0; color:#666; font-size:11px; line-height:1.4; }
.admin-success-message { display:flex; align-items:center; gap:12px; width:100%; margin:-8px 0 22px; padding:14px 16px; border:1px solid #9bd5b5; border-radius:10px; background:#eaf8f0; color:#176b3a; }
.admin-success-icon { display:grid; flex:0 0 30px; height:30px; place-items:center; border-radius:50%; background:#259c59; color:#fff; font-size:17px; font-weight:700; }
.admin-success-message div { display:flex; flex:1; flex-direction:column; gap:2px; }
.admin-success-message strong { font-size:15px; }
.admin-success-message span:not(.admin-success-icon) { font-size:13px; }
.admin-success-message button { border:0; background:transparent; color:#176b3a; font-size:24px; line-height:1; cursor:pointer; }
.password-input-group { position:relative; }.password-input-group input { padding-right:82px !important; }.password-input-group button { position:absolute; top:50%; right:8px; transform:translateY(-50%); border:0; background:transparent; color:var(--orange); font-size:12px; font-weight:bold; cursor:pointer; }
.admin-back-button { border:0; background:transparent; padding:0; cursor:pointer; font:inherit; }
.admin-exit-modal { position:fixed; z-index:20; inset:0; display:grid; place-items:center; padding:20px; background:#0008; }
.admin-exit-modal[hidden] { display:none; }
.admin-exit-dialog { width:min(430px,100%); padding:28px; border-radius:18px; background:#fff; box-shadow:0 20px 60px #0004; }
.admin-exit-dialog h2 { margin:0 0 8px; font-size:23px; }.admin-exit-dialog p { margin:0; color:#555; }
.admin-exit-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }.admin-exit-actions .button { border-radius:7px; }
.admin-exit-discard,.admin-exit-cancel { padding:11px 14px; border:1px solid #bbb; border-radius:7px; background:#fff; color:#333; font:inherit; font-weight:bold; cursor:pointer; }.admin-exit-discard { border-color:#dc3545; color:#dc3545; }.admin-exit-discard:hover { background:#dc3545; color:#fff; }
.file-upload-dropzone { position:relative; display:flex !important; min-height:145px; align-items:center; justify-content:center; flex-direction:column; gap:3px; margin:6px 0 0 !important; padding:20px; border:2px dashed #b7b7b7; border-radius:12px; background:#fff; text-align:center; cursor:pointer; transition:.2s ease; }
.file-upload-dropzone:hover,.file-upload-dropzone.is-dragging { border-color:var(--orange); background:#fff5f0; }
.file-upload-dropzone.has-file { border-color:var(--orange); border-style:solid; background:#fff5f0; }
.file-upload-dropzone input[type="file"] { position:absolute; inset:0; width:100% !important; height:100%; padding:0 !important; opacity:0; cursor:pointer; }
.file-upload-dropzone strong { color:#000; font-size:15px; }.file-upload-dropzone [data-file-name] { color:#555; font-size:13px; }.file-upload-dropzone small { color:#777; font-size:12px; }.file-upload-icon { display:grid; width:31px; height:31px; place-items:center; border-radius:50%; background:var(--orange); color:#fff; font-size:21px; line-height:1; }
.cover-upload-feedback { display:flex; align-items:center; gap:8px; margin-top:10px; padding:10px 12px; border:1px solid #9bd5b5; border-radius:9px; background:#eaf8f0; color:#176b3a; font-size:13px; }
.cover-upload-feedback[hidden],.cover-selected-preview[hidden] { display:none; }
.cover-upload-feedback > span { display:grid; width:22px; height:22px; place-items:center; border-radius:50%; background:#259c59; color:#fff; font-weight:700; }
.cover-selected-preview { width:160px; }
@media (max-width:800px) { .event-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px) { .container{width:min(100% - 28px,1120px)} .header-content{min-height:82px}.header-logo-image{width:135px}.header-tagline{font-size:15px;text-align:right}.social-highlight{grid-template-columns:1fr;gap:16px}.header-navigation a:not(.button){display:none}.events-heading{align-items:stretch;flex-direction:column}.event-search{width:100%}.event-grid{grid-template-columns:1fr}.form-grid,.event-location-fields{grid-template-columns:1fr}.admin-table{font-size:13px}.admin-table td:nth-child(3),.admin-table th:nth-child(3){display:none} }
