@charset "utf-8";
/* Layout mobile do site AGIF - aplicado apenas em telas de ate 919px */

/* Mostrar elementos exclusivos do mobile */
.mobile-only { display:block !important; }
.mm-btn.mobile-only { display:flex !important; }
.mm-backdrop.mobile-only { display:block !important; }
.mm-drawer.mobile-only { display:flex !important; }
.mobile-search.mobile-only { display:block !important; }

/* Base */
html, body { width:100%; min-width:0; overflow-x:hidden; }
body { font-size:13px; line-height:1.45; }
body.mm-open,
body.mm-search-open { overflow:hidden; }
body>.wrapCont { display:block; width:100%; min-width:0; height:auto; }
#main, .wrapCont>aside { display:block; width:100%; height:auto; }
.wrapCont>aside { display:none !important; }
#main { box-sizing:border-box; min-height:0; }
#main img { max-width:100%; }

/******************************************************* Header */
header { position:sticky; top:0; z-index:800; width:100%; min-width:0; height:56px; background-color:#8b1d28; }
header h1 { position:absolute; left:50%; top:0; width:111px; height:56px; margin-left:-55.5px; }
header.mm-site-header h1 { background-image:none; }
header.mm-site-header h1 a { display:flex; align-items:center; justify-content:center; height:100%; text-indent:0; overflow:visible; }
header.mm-site-header h1 img.mm-logo { display:block !important; width:111px; height:auto; }

.mm-btn { position:absolute; top:0; width:56px; height:56px; padding:0; border:0; background:transparent; color:#fff; cursor:pointer; text-decoration:none; }
.mm-menu-btn { left:0; flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.mm-menu-btn span { display:block; width:20px; height:2px; background-color:#fff; }
.mm-search-btn { right:0; align-items:center; justify-content:center; }
.mm-search-btn svg { display:block; }
.mm-search-btn .mm-close-icon { display:none; }
body.mm-search-open .mm-search-btn .mm-search-icon { display:none; }
body.mm-search-open .mm-search-btn .mm-close-icon { display:block; }

#formBuscaGeral,
#navSup,
header.logado .wrapLogado { display:none !important; }

/* Menu lateral */
.mm-backdrop { position:fixed; top:56px; right:0; bottom:0; left:0; z-index:810; background-color:rgba(0,0,0,0.4); opacity:0; visibility:hidden; transition:opacity 0.25s ease, visibility 0.25s ease; }
.mm-backdrop.open { opacity:1; visibility:visible; }
.mm-drawer { position:fixed; top:56px; bottom:0; left:0; z-index:820; display:flex; flex-direction:column; width:72%; max-width:320px; height:auto; background-color:#3f3f3f; overflow-y:auto; visibility:hidden; transform:translateX(-102%); transition:transform 0.25s ease, visibility 0.25s ease; }
.mm-drawer.open { visibility:visible; transform:translateX(0); }
.mm-nav { flex:1 0 auto; }
.mm-nav a { display:block; padding:0 22px; border-bottom:1px solid #585858; color:#fff; font-size:14px; line-height:44px; text-transform:uppercase; letter-spacing:0.2px; }
.mm-nav > a:first-child { border-top:1px solid #585858; }
.mm-nav a:hover,
.mm-nav a:active { background-color:#333; }

/* Subcategorias do menu mobile */
.mm-group { display:block; }
.mm-group-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; height:44px; padding:0 22px; border:0; border-bottom:1px solid #585858; background-color:transparent; color:#fff; font-family:inherit; font-size:14px; line-height:44px; text-align:left; text-transform:uppercase; letter-spacing:0.2px; cursor:pointer; }
.mm-group-toggle:hover { background-color:#333; }
.mm-arrow { display:block; flex:0 0 auto; width:7px; height:7px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg); transition:transform 0.2s ease; }
.mm-group-toggle[aria-expanded="true"] .mm-arrow { transform:rotate(45deg); }
.mm-submenu { display:none; background-color:#4a4a4a; }
.mm-submenu.open { display:block; }
.mm-nav .mm-submenu a { padding:0 22px 0 38px; border-bottom:1px solid #555; font-size:12px; line-height:40px; letter-spacing:0; }
.mm-submenu li:last-child a { border-bottom:0; }

.mm-contact { margin-top:auto; padding:22px 20px 28px; color:#fff; font-size:11px; line-height:1.75; text-align:center; }
.mm-contact a { display:block; color:#fff; }
.mm-contact .mm-wa { margin-bottom:2px; font-size:10px; font-weight:700; letter-spacing:0.7px; text-transform:uppercase; }

/* Painel de busca no header */
.mm-search-panel { position:fixed; top:56px; right:0; bottom:0; left:0; z-index:820; overflow-y:auto; background-color:#3f3f3f; visibility:hidden; opacity:0; transform:translateY(-8px); transition:opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease; }
.mm-search-panel.open { visibility:visible; opacity:1; transform:translateY(0); }
.mm-search-panel .mobile-search { padding-top:18px; }

/******************************************************* Home */
body.index #main { background-color:#111; }
body.index #main .destaques,
body.index #main .ultimas,
body.index #main .wrapLink { display:none !important; }

.mobile-home { background-color:#111; padding-bottom:3px; }

.mh-hero { position:relative; display:block; width:100%; aspect-ratio:13/10; background-color:#333; overflow:hidden; }
.mh-hero img { display:block; width:100%; height:100%; object-fit:cover; }
.mh-hero-shade { position:absolute; top:0; right:0; bottom:0; left:0; background:linear-gradient(180deg, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0.48) 52%, rgba(0,0,0,0.75) 100%); }
.mh-hero-caption { position:absolute; top:50%; right:11%; left:11%; display:flex; flex-direction:column; align-items:center; gap:4px; color:#fff; text-align:center; text-shadow:0 1px 4px rgba(0,0,0,0.9); transform:translateY(-50%); }
.mh-hero-date { font-size:13px; font-weight:800; letter-spacing:0.4px; text-transform:uppercase; }
.mh-hero-title { display:-webkit-box; overflow:hidden; font-size:13px; font-weight:600; line-height:1.25; text-transform:uppercase; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.mh-hero-qtd { font-size:11px; opacity:0.9; }

.mh-grid { padding:3px; background-color:#111; column-count:2; column-gap:3px; }
.mh-tile { position:relative; display:block; height:155px; margin:0 0 3px; background-color:#333; overflow:hidden; break-inside:avoid; }
.mh-tile:nth-child(3n+2) { height:185px; }
.mh-tile:nth-child(4n+3) { height:135px; }
.mh-tile img { display:block; width:100%; height:100%; object-fit:cover; }
.mh-tile-date { position:absolute; top:6px; right:7px; color:#fff; font-size:10px; font-weight:700; text-shadow:0 1px 3px rgba(0,0,0,0.95); }

.mh-editorias { display:grid; grid-template-columns:1fr 1fr; gap:3px; padding:0 3px 3px; background-color:#111; }
.mh-editoria { position:relative; display:block; height:150px; background-color:#333; overflow:hidden; }
.mh-editoria img { display:block; width:100%; height:100%; object-fit:cover; }
.mh-editoria-shade { position:absolute; top:0; right:0; bottom:0; left:0; background-color:rgba(0,0,0,0.48); }
.mh-editoria-nome { position:absolute; top:0; right:0; bottom:0; left:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:17px; font-weight:700; letter-spacing:0.3px; text-align:center; text-shadow:0 1px 3px rgba(0,0,0,0.85); }

/******************************************************* Busca / filtros */
body.busca { background-color:#1b1b1b; }
body.busca .wrapCont,
body.busca #main { background-color:#1b1b1b; }
body.busca #main { min-height:calc(100vh - 56px); padding:0; }
body.busca .topBusca { display:none !important; }

.mobile-search { width:100%; max-width:520px; margin:0 auto; padding:18px 20px 28px; box-sizing:border-box; }
.ms-field { margin:0 0 15px; }
.ms-term { margin-bottom:18px; }
.ms-field label { display:block; margin:0 0 6px; color:#fff; font-size:10px; font-weight:600; line-height:1.2; letter-spacing:0.5px; text-transform:uppercase; }
.ms-field input[type=text],
.ms-field select { width:100%; height:32px; padding:0 9px; border:0; border-radius:3px; background-color:#fff; color:#4d4d4d; font-size:12px; box-sizing:border-box; }
.ms-field select { padding-right:5px; }
.ms-field input[type=text]::placeholder { color:#888; font-size:10px; letter-spacing:0.2px; text-transform:uppercase; }
.ms-submit { display:block; width:100%; height:33px; margin:24px 0 0; padding:0; border:1px solid #fff; background-color:transparent; color:#fff; font-size:10px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; }
.ms-submit:hover,
.ms-submit:active { background-color:#fff; color:#1b1b1b; }

body.busca .resultBusca { padding:0 3px 30px; background-color:#1b1b1b; }
body.busca .resultBusca .GITheWall { margin:0; }

/******************************************************* Listagens / resultados */
/* Fundo escuro padronizado nas páginas com listagem de fotos */
body.ultimas,
body.detPauta,
body.detAlbum,
body.listaPautas,
body.mesadeluz,
body.busca,
body.ultimas #main,
body.detPauta #main,
body.detAlbum #main,
body.listaPautas #main,
body.mesadeluz #main,
body.busca #main,
body.ultimas .resultBusca,
body.detPauta .resultBusca,
body.detAlbum .resultBusca,
body.listaPautas .resultBusca,
body.mesadeluz .resultBusca,
body.busca .resultBusca { background-color:#1b1b1b; }
.topBusca { height:auto; padding:8px 10px; font-size:10px; background-color:#333; }
.topBusca.docked { left:0; right:0; }
.topBusca .displayFormat { display:none; }
.topBusca .paging { float:none; margin-top:3px; }
.topBusca .paging input[name=page] { width:28px; }
.topBusca .totItems { font-size:10px; }
.resultBusca { padding:2px; }
#main .wrapLink { font-size:11px; }

.GITheWall ul { width:100% !important; }
.GITheWall ul li,
.GITheWall ul li.foto { border:0 !important; }
.GITheWall ul.listaPadrao.resultados > li figure { width:100% !important; height:100% !important; margin:0 !important; }
.GITheWall ul.listaPadrao.resultados > li figure img { width:100% !important; height:100% !important; object-fit:contain; }

/* Todas as listagens de fotos usam o flex-images, preservando a proporção.
   A Mesa de Luz também deixou de usar grade fixa para não cortar as fotos. */

.GITheWall .listaPadrao .wrapFigcaption,
#main .listaPadrao.open .wrapFigcaption { right:0; bottom:0; left:0; padding:3px 4px !important; border:0; background-color:rgba(0,0,0,0.58) !important; text-align:left; }
.GITheWall .wrapFigcaption figcaption { margin:0 !important; padding:0 !important; }
.GITheWall .wrapFigcaption .data { font-size:9px !important; line-height:1.2 !important; text-align:left; text-transform:uppercase; }

/* Pautas / albuns */
#main .listaPadrao.open li { padding-bottom:0; }
#main .listaPadrao.open .wrapFigcaption { position:absolute; bottom:0; padding:5px; border:0; }
#main .listaPadrao.open .wrapFigcaption figcaption { padding:0; }
#main .listaPadrao.open .wrapFigcaption figcaption .titulo { display:none; }

/******************************************************* Detalhes da foto */
.GI_TW_expander .GI_TW_expander-inner { width:100% !important; height:auto !important; margin:0 !important; overflow:visible; }
.GI_TW_expander.opened { height:auto !important; }
.GI_TW_expander .GI_TW_expander-inner .GI_TW_fullimg { width:100%; height:auto; }
.GI_TW_expander .GI_TW_expander-inner .GI_TW_fullimg img { max-width:100%; height:auto; }

body.popFoto { background-color:#1b1b1b; }
body.popFoto #main { display:block; width:100%; background-color:#1b1b1b; }
body.popFoto #aside { display:none; }
#main #mainCont { width:100%; }
.fotoDetail { padding:12px; }
.fotoDetail figure { float:none; width:100%; height:auto; min-height:0; padding:0; margin:0 0 14px; }
.fotoDetail figure img { max-width:100%; max-height:none; }
.fotoDetail .wrapPauta { float:none; width:100%; }
.fotoDetail .wrapPauta h4,
.fotoDetail dt,
.fotoDetail dd { font-size:1.04em; }
.fotoDetail .wrapSpecs { padding-top:16px; }
.fotoDetail .specs { display:block; width:100%; margin:0 0 12px; }
.fotoDetail .specs span { float:none; display:block; width:100%; margin-bottom:8px; }
.fotoDetail .actions { float:none; width:100%; margin:15px 0 0; }
.GITheWall .fotoDetail ul.actions > li { border:0 !important; box-sizing:border-box; }
.fotoDetail li.comprar,
.fotoDetail li.preview,
.fotoDetail li.mluz { float:none; width:100%; margin-bottom:8px; }

/******************************************************* Conteudo geral */
#main .wrapDados,
#main #frmCadastro,
#main #frmUpdate,
#main .fotoDetail { padding:15px; }
#main .wrapCols,
#main .wrapCols .col1,
#main .wrapCols .col2 { display:block; width:100%; min-width:0; }
#main .wrapNumeros .unit,
#main .wrapTotais .unit,
#main .wrapDados .contratado .unit { float:none; width:100%; border-right:0; border-bottom:5px solid #e6e6e6; }
#main table { max-width:100%; }
.wrapDownloads { overflow-x:auto; }
.wrapDownloads table { min-width:720px; }
#agendaPautas .data { position:static; display:block; text-align:right; }
#agendaPautas .disclaimer { position:static; margin-top:10px; }

/* Formularios longos */
#main .unit .field,
#main .unit .field.col3,
#main .unit .field.col2 { display:block; float:none; width:100%; box-sizing:border-box; }
#main form input[type=text],
#main form input[type=email],
#main form input[type=password],
#main form input[type=tel],
#main form select,
#main form textarea { width:100%; max-width:100%; box-sizing:border-box; }
#main form textarea { resize:vertical; }

/* Contato / sobre */
.dadosContato { padding:15px; }
.dadosContato h2 { margin-bottom:10px; }
#main .linha { height:auto; background-color:#fff; }
#main .linha .cell { display:block; width:100%; height:auto; }
#main .linha .cell.wrapTexto h4 { font-size:2em; }

/* Login / cadastro em modal */
.modal-content,
#modal_signup + .modal .modal-content,
#modal_login + .modal .modal-content,
#modal_agenda + .modal .modal-content { width:92%; min-width:0; max-width:520px; max-height:90%; box-sizing:border-box; }
#formLogin { width:100%; }
#formLogin .t1 input { width:100%; }
#formLogin input.submit,
#formLogin a.btCadastro { width:48%; }

/******************************************************* Footer */
footer { padding:36px 20px 44px; text-align:center; background-color:#333; }
footer a.logoAgif { margin:0 auto; }
footer .wrapContato { display:block; margin-top:26px; }
footer .wrapContato h4 { margin-bottom:12px; }
footer .wrapContato .vcard { margin-bottom:12px; }
footer .wrapContato .vcard li { margin-bottom:5px; }
footer .listaRedes li { display:inline-block; margin:0 8px; }

/******************************************************* Mesa de Luz */
body.mesadeluz #main { padding:0; background-color:#1b1b1b; }
body.mesadeluz #frmSearch.topBusca {
  height:auto;
  padding:14px 14px 12px !important;
  background-color:#333;
}
body.mesadeluz .wrapCluster {
  display:block;
  width:100%;
  min-height:0;
  height:auto;
}
body.mesadeluz .wrapListaAcoes {
  display:block;
  width:100%;
  margin:0;
  padding:0;
  background-color:transparent;
}
body.mesadeluz h2.head {
  display:block;
  width:100%;
  min-width:0;
  margin:0 0 12px;
  padding:0;
  background-color:transparent;
  color:#fff;
  font-size:17px;
  line-height:1.2;
  letter-spacing:0.6px;
  text-align:left;
  text-transform:uppercase;
}
body.mesadeluz .wrapListaAcoes .grupo1 {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0;
  padding:0;
}
body.mesadeluz #frmSearch .wrapListaAcoes select {
  display:block;
  width:100% !important;
  height:40px;
  margin:0 !important;
  padding:0 10px;
  border:0;
  border-radius:3px;
  background-color:#fff;
  color:#333;
  font-size:13px;
  box-sizing:border-box;
}
body.mesadeluz .wrapListaAcoes .listaAcoes {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
  width:100%;
  margin:0;
  padding:0;
}
body.mesadeluz #frmSearch .wrapListaAcoes .listaAcoes li {
  display:block;
  margin:0 !important;
}
body.mesadeluz #frmSearch .wrapListaAcoes .listaAcoes a {
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:54px;
  padding:12px 8px;
  background-color:#fff !important;
  color:#333 !important;
  font-size:11px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:0.3px;
  text-align:center;
  text-transform:uppercase;
  white-space:normal;
  box-sizing:border-box;
}
body.mesadeluz #frmSearch .wrapListaAcoes .listaAcoes a > span {
  display:block;
  min-width:0;
  max-width:100px;
}
body.mesadeluz .wrapListaAcoes .listaAcoes a:before {
  flex:0 0 auto;
  margin:0;
}
body.mesadeluz .resultBusca { padding:2px; }
body.mesadeluz .GITheWall { margin:0; }

/* Checkbox de seleção sobre a miniatura, sem cortar a ação no grid */
body.mesadeluz #main .GITheWall ul.listaPadrao.resultados > li {
  padding-bottom:0 !important;
}
body.mesadeluz #main .listaPadrao .acoes {
  top:6px;
  right:6px;
  bottom:auto;
  left:auto;
  width:auto;
  height:auto;
  padding:0;
  border:0;
  background-color:transparent;
  z-index:6;
}
body.mesadeluz #main .listaPadrao .acoes .itemId { display:none; }
body.mesadeluz #main .listaPadrao .acoes label {
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  margin:0;
  padding:0;
  background-color:#fff !important;
  border:1px solid rgba(0,0,0,0.25);
  border-radius:2px;
  box-shadow:0 1px 4px rgba(0,0,0,0.4);
  cursor:pointer;
}
body.mesadeluz #main .listaPadrao .acoes label:before {
  width:26px;
  height:26px;
  margin:0;
  line-height:26px;
  font-size:12px;
  color:#333;
  background:none;
}
body.mesadeluz #main .listaPadrao .acoes .itemId:checked + label {
  background-color:#8b1d28 !important;
  border-color:#8b1d28;
}
body.mesadeluz #main .listaPadrao .acoes .itemId:checked + label:before { color:#fff; }
body.mesadeluz #main .listaPadrao .acoes strong { display:none !important; }
body.mesadeluz #main .listaPadrao .acoes a { display:none !important; }
body.mesadeluz #main .GITheWall ul.listaPadrao.resultados > li.ativo figure {
  outline:3px solid #8b1d28;
  outline-offset:-3px;
}
