:root{--accent:#f2b800;--dark:#0f0f0f;--gray:#2a2a2a;--light:#ffffff}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;color:#222;background:#fff;min-height:100vh;display:flex;flex-direction:column;overflow:auto}
.main-content{flex:1;overflow:visible;padding-top:20px;padding-bottom:20px}
a{transition:color .18s ease, opacity .18s ease, transform .06s ease;text-decoration:none;color:inherit}
.link-clean{text-decoration:none;color:inherit}
.link-white{text-decoration:none;color:#fff;font-weight:600}
.text-center{text-align:center}
.fw-700{font-weight:700}
.text-muted{color:#777}
.text-666{color:#666}
.text-333{color:#333}
.text-111{color:#111}
.text-accent{color:var(--accent)}
.text-success{color:green}
.text-danger{color:#c00}
.fs-12{font-size:12px}
.fs-14{font-size:14px}
.fs-18{font-size:18px}
.fs-22{font-size:22px}
.fs-28{font-size:28px}
.m-0{margin:0}
.mt-6{margin-top:6px}
.mt-8{margin-top:8px}
.mt-12{margin-top:12px}
.mt-16{margin-top:16px}
.mt-18{margin-top:18px}
.mt-80{margin-top:80px}
.mb-4{margin-bottom:4px}
.mb-8{margin-bottom:8px}
.mb-12{margin-bottom:12px}
.mb-16{margin-bottom:16px}
.mb-18{margin-bottom:18px}
.w-100{width:100%}
.w-360{width:360px}
.h-screen{height:100vh}
.h-24{height:24px}
.h-28{height:28px}
.h-32{height:32px}
.bg-white{background:#fff}
.bg-111{background:#111}
.container-1100{max-width:1100px;margin:0 auto}
.container-1000{max-width:1000px;margin:0 auto}
.container-900{max-width:900px;margin:0 auto}
.container-800{max-width:800px;margin:0 auto}
.container-640{max-width:640px;margin:0 auto}
.container-520{max-width:520px;margin:0 auto}
.pt-100{padding-top:100px}
.flex{display:flex}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.column{flex-direction:column}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-6{gap:6px}
.gap-8{gap:8px}
.gap-10{gap:10px}
.gap-12{gap:12px}
.gap-20{gap:20px}
.p-16{padding:16px}
.p-24{padding:24px}
.pad-6-8{padding:6px 8px}
.border{border:1px solid #eee}
.rounded-8{border-radius:8px}
.rounded-10{border-radius:10px}
.overflow-hidden{overflow:hidden}
.shadow{box-shadow:0 10px 30px rgba(0,0,0,.1)}
.grid-2-1{display:grid;grid-template-columns:2fr 1fr}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr)}
.grid-auto-150{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.form-label{display:block;font-weight:700;font-size:14px;margin-bottom:4px;color:#3498db!important}
label{color:#3498db!important}
.form-input{height:48px;border:1px solid #ddd;border-radius:6px;padding:0 14px;font-size:16px}
.form-control{border:1px solid #ddd;border-radius:6px;padding:10px}
.ws-prewrap{white-space:pre-wrap}
.col-span-all{grid-column:1/-1}
.min-h-140{min-height:140px}
.thumb-360{height:240px;background:#ccc center/cover no-repeat;transition:opacity .3s ease}
.thumb-120{height:120px;background:#ccc center/cover no-repeat}
.thumb-80{height:64px;background:#ccc center/cover no-repeat;cursor:pointer;transition:opacity .2s ease}
.thumb-80:hover{opacity:.8}
.topbar{background:#09ACDB;color:#fff;position:relative;z-index:20;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px rgba(0,0,0,.08);flex-shrink:0}
.topbar.admin{position:relative;background:#09ACDB;color:#fff;z-index:20;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.logo{display:flex;align-items:center;font-weight:700;gap:8px}
.logo span{color:#fff}
.logo img{height:48px;display:block}
.loc-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,0.7);color:#fff;margin-left:8px;text-decoration:none}
.loc-link:hover{background:rgba(255,255,255,0.15)}
.loc-link svg{width:18px;height:18px;fill:currentColor}
.topbar-hours{color:#fff;opacity:0.95;font-size:12px;white-space:nowrap;margin:0 12px}
.topbar .nav{display:flex;gap:14px;align-items:center}
.topbar .nav a{color:rgba(255,255,255,0.9)}
.menu-btn{display:none;background:transparent;border:none;color:#fff;font-size:22px;line-height:1;cursor:pointer}
.menu-backdrop{display:none}
body.no-scroll{overflow:hidden}
.topbar-actions{display:flex;align-items:center;gap:8px}
.topbar-wa{display:none;width:36px;height:36px;border-radius:50%;background:#25D366;color:#fff;align-items:center;justify-content:center;text-decoration:none}
.topbar-wa svg{width:20px;height:20px;fill:currentColor}
.toast{position:fixed;top:76px;right:16px;background:rgba(0,0,0,0.85);color:#fff;padding:10px 14px;border-radius:8px;z-index:9999;font-size:14px;opacity:0;transform:translateY(-6px);transition:opacity .18s ease, transform .18s ease;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.toast.show{opacity:1;transform:translateY(0)}
.toast.success{background:rgba(33,150,83,.95)}
.toast.error{background:rgba(192,0,0,.95)}
.toast .toast-close{position:absolute;top:6px;right:8px;background:transparent;border:0;color:#fff;font-size:18px;line-height:1;cursor:pointer;opacity:.9}
.toast .toast-close:hover{opacity:1}
.progress{height:8px;background:#eee;border-radius:6px;overflow:hidden}
.progress-bar{height:100%;width:0;background:#25D366;transition:width .2s ease}
.adm-filters{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:end}
.adm-filters .form-input{width:100%}
.adm-filters .btn-primary{width:100%}
.adm-filters .link-clean{display:inline-block;text-align:center}
.toast-container{position:fixed;top:76px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px}
.toast-container .toast{position:relative;top:auto;right:auto}
.hero{position:relative;min-height:auto;background:#ccc center right/cover no-repeat;display:flex;align-items:center;justify-content:center;padding:15px;flex-shrink:0;z-index:15;box-shadow:0 4px 12px rgba(0,0,0,0.1)}
.search-card{background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-radius:15px;box-shadow:0 15px 35px rgba(0,0,0,.1);padding:12px 20px;max-width:1100px;width:100%;border:1px solid rgba(255,255,255,0.5)}
.search-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.search-grid input,.search-grid select{height:44px;border:1px solid #ddd;border-radius:6px;padding:0 10px}
.btn-primary{background:var(--accent);border:none;color:#000;padding:12px 18px;border-radius:6px;font-weight:700;cursor:pointer;transition:filter .18s ease, transform .06s ease;text-decoration:none;display:inline-block}
.btn-primary:hover{filter:brightness(0.97)}
.btn-primary:active{filter:brightness(0.92);transform:scale(0.98)}
.btn-primary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.section{padding:40px 24px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.12);transition:transform .12s ease, box-shadow .18s ease}
.cards .card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.16)}
.card .thumb{height:160px;background:#ccc center/cover no-repeat}
.card .body{padding:12px}
.home-headline{font-weight:700;font-size:24px;color:#111;margin-bottom:2px}
.home-subtitle{font-size:15px;color:#444;margin-bottom:8px}
.icons{display:flex;gap:18px;justify-content:center}
.icon{display:flex;flex-direction:column;align-items:center;gap:8px;color:#333;transition:transform .12s ease, opacity .18s ease}
.icons .icon:hover{transform:translateY(-2px);opacity:.95}
.menu-btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.topbar .menu-btn:focus-visible,.topbar .nav a:focus-visible{outline:3px solid #fff;outline-offset:2px}
.footer{background:#09ACDB;color:#eee;padding:16px 24px;position:relative;z-index:10;border-top:1px solid rgba(255,255,255,0.08);flex-shrink:0;min-height:120px}
.footer .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.footer a{color:#fff;text-decoration:none}
.footer div{color:#fff}
.footer b, .footer strong{color:#fff}
.section a:focus-visible,.footer a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.fab-whatsapp:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.section .btn-primary:focus-visible,.section button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.section .btn-primary:focus-visible{filter:brightness(0.95)}
.section .btn-primary:hover{filter:brightness(0.97)}
.section .btn-primary:active{filter:brightness(0.92);transform:scale(0.98)}
.fab-whatsapp{position:fixed;right:24px;bottom:calc(var(--footer-h, 0px) + 16px);width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 8px 25px rgba(37,211,102,.4);z-index:50;transition:all .3s ease;animation:wa-pulse 2s infinite}
.fab-whatsapp svg{width:32px;height:32px;fill:currentColor}
.fab-whatsapp:hover{transform:scale(1.1);box-shadow:0 12px 30px rgba(37,211,102,.5);filter:brightness(1.05)}
.fab-whatsapp:active{transform:scale(0.95)}

@keyframes wa-pulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,0.7)}
  70%{box-shadow:0 0 0 15px rgba(37,211,102,0)}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}
.topbar .nav a:hover{color:#fff;opacity:1}
.topbar.admin .nav a:hover{color:#fff;opacity:1}
/* Lightbox Modal */
.lightbox-modal{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.9);backdrop-filter:blur(5px);justify-content:center;align-items:center;padding:20px;cursor:zoom-out}
.lightbox-modal.active{display:flex}
.lightbox-content{max-width:90%;max-height:90vh;position:relative;cursor:default}
.lightbox-content img{display:block;max-width:100%;max-height:90vh;border-radius:8px;box-shadow:0 0 50px rgba(0,0,0,0.5);border:2px solid rgba(255,255,255,0.1)}
.lightbox-close{position:absolute;top:-40px;right:-40px;background:none;border:none;color:#fff;font-size:40px;cursor:pointer;line-height:1;transition:transform .2s ease}
.lightbox-close:hover{transform:scale(1.2)}
@media(max-width:768px){
  .lightbox-close{top:-40px;right:0}
}
.footer a:hover{color:#fff;opacity:1}
.section a:hover{opacity:.88}
.adm-grid .row a{transition:opacity .18s ease}
.adm-grid .row a:hover{opacity:.75}
.responsive-scroll{overflow:auto}
.adm-grid{display:grid;grid-template-columns:minmax(200px, 3fr) 120px 120px 120px 100px 100px;gap:10px;min-width:900px;align-items:center;padding:12px 16px}
.adm-grid.header{background:#f8f9fa;font-weight:700;color:#3498db!important;border-bottom:2px solid #eee}
.adm-grid.row{border-top:1px solid #eee;transition:background .15s ease}
.adm-grid.row:hover{background:#fcfcfc}
.adm-grid > div:not(.actions-dropdown){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adm-grid .flex{white-space:normal}

/* Dropdown Ações */
.actions-dropdown{position:relative;display:inline-block;overflow:visible!important}
.btn-actions{background:#f0f0f0;border:1px solid #ddd;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;display:flex;align-items:center;gap:4px;width:100%;justify-content:center}
.btn-actions:hover{background:#e8e8e8}
.btn-actions::after{content:'▼';font-size:9px}
.actions-menu{display:none;position:absolute;right:0;top:100%;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 10px 25px rgba(0,0,0,0.2);z-index:999;min-width:160px;margin-top:4px}
.actions-menu a{display:block;padding:12px 16px;text-decoration:none;color:#333;font-size:14px;border-bottom:1px solid #f5f5f5;transition:background .15s ease;white-space:nowrap}
.actions-menu a:last-child{border-bottom:none}
.actions-menu a:hover{background:#f8f9fa;color:#3498db!important}
.actions-dropdown.active .actions-menu{display:block}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(min-width:1920px){
  .container-1100{max-width:1400px}
  .container-1000{max-width:1300px}
  .home-headline{font-size:32px}
  .home-subtitle{font-size:18px}
  .cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
  .card .thumb{height:200px}
}
@media(min-width:1366px) and (max-width:1919px){
  .container-1100{max-width:1200px}
  .home-headline{font-size:28px}
  .cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
}
@media(max-width:980px){
  .adm-filters{grid-template-columns:repeat(3,1fr)}
  .search-grid{grid-template-columns:repeat(3,1fr)}
  .footer .cols{grid-template-columns:repeat(2,1fr)}
  .topbar{position:fixed;top:0;left:0;right:0}
  .footer{position:fixed;left:0;right:0;bottom:0}
  body{padding-top:72px;padding-bottom:70px}
  .fab-whatsapp{bottom:calc(var(--footer-h, 0px) + 16px)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .main-content{overflow:visible}
  .grid-2-1{display:block}
  .grid-2-1 > * + *{margin-top:16px}
  .topbar-hours{display:none}
}
@media(max-width:640px){
  .adm-filters{grid-template-columns:repeat(2,1fr)}
  .topbar{padding:12px 16px;position:fixed;top:0;left:0;right:0}
  .topbar .nav{position:absolute;right:16px;top:60px;background:#fff;padding:10px 12px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.1);flex-direction:column;gap:10px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .18s ease, transform .18s ease}
  .topbar .nav a{opacity:0;transform:translateY(-4px);transition:opacity .18s ease, transform .18s ease;color:#09ACDB}
  .topbar.open .nav{opacity:1;transform:translateY(0);pointer-events:auto}
  .topbar.open .nav a{opacity:1;transform:translateY(0)}
  .menu-btn{display:block}
  .menu-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(1px);z-index:9;animation:fadeIn .18s ease}
  .topbar.open + .menu-backdrop{display:block}
  .logo img{height:48px}
  .search-grid{grid-template-columns:repeat(2,1fr)}
  .hero{min-height:220px}
  .footer{padding:12px 10px;border-top:1px solid rgba(255,255,255,.1);position:fixed;left:0;right:0;bottom:0}
  body{padding-top:72px;padding-bottom:70px}
  .fab-whatsapp{display:none}
  .topbar-wa{display:flex}
  .toast-container{top:100px;right:12px}
  .icons{flex-wrap:wrap;gap:12px}
  .home-headline{font-size:22px}
  .home-subtitle{font-size:14px}
  .card .thumb{height:140px}
  .grid-5{grid-template-columns:repeat(4,1fr)}
  .thumb-80{height:56px}
  .cards{grid-template-columns:1fr}
  .grid-2-1{display:block}
  .grid-2-1 > * + *{margin-top:16px}
}
@media(max-width:420px){
  .search-grid{grid-template-columns:1fr}
  .logo img{height:44px}
  .hero{min-height:200px}
  .footer .cols{grid-template-columns:1fr}
  .home-headline{font-size:20px}
  .footer{padding:14px 10px;position:fixed;left:0;right:0;bottom:0}
  body{padding-bottom:80px;padding-top:72px}
  .fab-whatsapp{bottom:calc(var(--footer-h, 0px) + 16px)}
  .card .thumb{height:120px}
  .grid-5{grid-template-columns:repeat(4,1fr)}
  .thumb-80{height:48px}
}
.login-dash{width:12px;height:2px;background:var(--accent);margin-top:10px}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
