/* UAB Eventos — site público. */
:root{--brand:#2f6fb0;--brand-dark:#235688;--ink:#222;--muted:#6b7280;--bg:#f6f7f9;--card:#fff;--border:#e3e6eb;--ok:#15703b;--warn:#8a6400;--err:#9a1f1f;}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
.container{max-width:920px;margin:0 auto;padding:0 16px}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.muted{color:var(--muted)}
h1,h2,h3{line-height:1.2}

.site-header{background:var(--brand);color:#fff}
.site-header .brand{display:inline-block;padding:14px 0;color:#fff;font-weight:700;font-size:1.2rem}
.site-footer{margin-top:48px;padding:24px 0;color:var(--muted);border-top:1px solid var(--border)}

.hero{padding:32px 0 8px}
.hero h1{margin:0 0 4px}

/* Botões */
.btn{display:inline-block;padding:10px 16px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--ink);cursor:pointer;font-size:.95rem;text-decoration:none}
.btn:hover{text-decoration:none;border-color:#cfd4db}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark)}
.btn-ghost{background:transparent}
.btn-sm{padding:5px 10px;font-size:.82rem}
.btn-lg{padding:13px 22px;font-size:1.05rem}
.btn-block{display:block;width:100%}

/* Eventos */
.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:20px 0}
.event-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:block;color:var(--ink)}
.event-card:hover{text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.08)}
.event-card-cover{height:140px;background:#dde3ea center/cover no-repeat}
.event-card-cover--placeholder{background:linear-gradient(135deg,#cdd7e3,#aebfd0)}
.event-card-body{padding:14px}
.event-card-body h3{margin:0 0 6px}

.event-detail{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;margin:24px 0}
.event-cover{height:260px;border-radius:10px;background:#dde3ea center/cover no-repeat;margin-bottom:16px}
.event-description{margin:14px 0}

.rooms-list{margin:12px 0}
.room-item{padding:12px 14px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px}
.room-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.room-sold{opacity:.55}
.room-meta{display:flex;gap:14px;align-items:center}
.room-price{font-weight:600}
.room-vacancy{font-size:.85rem;color:var(--muted)}
.room-desc{margin:8px 0 0;color:#374151;font-size:.92rem;white-space:pre-line}
.room-gallery{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.room-photo{display:block;width:120px;height:90px;border-radius:6px;overflow:hidden;border:1px solid var(--border)}
.room-photo img{width:100%;height:100%;object-fit:cover;display:block}
.room-photo:hover{box-shadow:0 4px 12px rgba(0,0,0,.12)}

/* Formulário de inscrição */
.reg-form fieldset{border:1px solid var(--border);border-radius:10px;padding:16px;margin:0 0 16px}
.reg-form legend{font-weight:700;padding:0 6px}
label{display:block;margin:0 0 12px;font-size:.92rem;color:#374151}
input,select,textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:#fff}
.radio{display:flex;align-items:center;gap:8px}
.radio input{width:auto}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.companions-head{display:flex;justify-content:space-between;align-items:center;margin:8px 0}
.companion-row{border-top:1px dashed var(--border);padding-top:10px}
.companion-name-label{}
.total-line{font-size:1.15rem;margin-top:10px}

/* Itens opcionais */
.optionals-list{display:flex;flex-direction:column;gap:6px}
.optional-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:8px;padding:10px 12px}
.optional-check{display:flex;align-items:center;gap:10px;margin:0;flex:1}
.optional-check input{width:auto}
.optional-qty{width:84px;flex:0 0 84px}
.optional-qty:disabled{background:#f1f3f5;color:#9aa1a9}
.optional-sold{opacity:.55}

/* Alertas */
.alert{padding:12px 14px;border-radius:8px;margin:12px 0;border:1px solid transparent}
.alert-success{background:#eafaf0;border-color:#b7e8c8;color:var(--ok)}
.alert-error{background:#fadbdb;border-color:#f1b9b9;color:var(--err)}
.alert-info{background:#e9f1fb;border-color:#b9d3f0;color:var(--brand-dark)}

/* Resultado */
.result-box{max-width:560px;margin:48px auto;background:#fff;border:1px solid var(--border);border-radius:12px;padding:36px;text-align:center}
.result-icon{font-size:3rem}
.result-success .result-icon{color:var(--ok)}
.result-pending .result-icon{color:var(--warn)}
.result-failure .result-icon{color:var(--err)}

@media(max-width:560px){.grid-2{grid-template-columns:1fr}}
