/* Identidade compartilhada pelas páginas e recursos do site. */
.rodape-nav .icone-contato { display: block; width: 23px; height: 23px; flex: 0 0 23px; object-fit: contain; }
@media(max-width:767px) {
 .barra-mobile a .icone-contato { display: block; width: 30px; height: 30px; flex: 0 0 30px; object-fit: contain; padding: 0; border: 0; border-radius: 0; background: transparent; }
 .barra-mobile a[data-channel="whatsapp"] .icone-contato { width: 32px; height: 32px; flex-basis: 32px; }
 .barra-mobile a:focus-visible { outline-offset: -5px; }
}
.escolha-dj > h2 { max-width: 700px; margin-bottom: 24px; font-size: clamp(25px,2.7vw,39px); line-height: 1.25; letter-spacing: .075em; }
.escolha-dj-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.escolha-dj-item { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.85fr); align-items: center; gap: clamp(20px,2.2vw,36px); min-width: 0; }
.escolha-dj-texto { min-width: 0; }
.escolha-dj-texto h3 { margin-bottom: 20px; font-size: clamp(18px,1.65vw,25px); line-height: 1.3; letter-spacing: .1em; }
.escolha-dj-texto p { font-size: 15px; line-height: 1.75; }
.foto-reservada { width: 100%; min-width: 0; aspect-ratio: 1; overflow: hidden; background: #f4f4f1; border: 1px solid #e6e6e1; }
.foto-reserva-conteudo { display: grid; place-items: center; width: 100%; height: 100%; min-height: inherit; color: #aaa9a1; }
.foto-reserva-conteudo svg { width: 56px; height: 56px; fill: none; stroke: currentColor; stroke-width: 1.3; }
.foto-reservada > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.equipe-introducao { max-width: 850px; margin-bottom: 24px; }
.equipe-casamentos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; max-width: 1000px; }
.equipe-card { min-width: 0; overflow: hidden; border: 1px solid var(--linha); border-radius: 16px; }
.equipe-card .foto-reservada { aspect-ratio: 4/3; border: 0; border-bottom: 1px solid var(--linha); }
.foto-iniciais { font: 900 clamp(40px,6vw,72px)/1 var(--titulo); letter-spacing: .05em; }
.equipe-card-texto { padding: 24px; }
.equipe-card-texto h3 { margin-bottom: 14px; }
@media(max-width:1100px) {
 .escolha-dj-grid { grid-template-columns: 1fr; gap: 28px; }
 .escolha-dj-item { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .escolha-dj-texto { max-width: 42ch; }
}
@media(max-width:600px) {
 .escolha-dj-item,.equipe-casamentos { grid-template-columns: 1fr; }
 .escolha-dj-item { gap: 18px; }
 .escolha-dj-texto { max-width: none; }
 .escolha-dj-texto h3 { margin-bottom: 12px; }
 .equipe-card-texto { padding: 22px; }
}
.abertura-site { pointer-events:auto; }
.origem-marca { margin-top: 24px; padding: 24px; border-left: 4px solid var(--verde); background: #fafafa; }
.origem-marca .link-texto { display: inline-block; margin-top: 12px; }
.sobre-daniel { max-width: 900px; }
.sobre-numeros dt { overflow-wrap: anywhere; }
.rodape-descricao { max-width: 42ch; margin-top: 16px; }
.rodape-atendimento { font-size: 14px; color: var(--cinza); }
.rodape .redes a { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; overflow-wrap: anywhere; }
.rodape .redes img { flex: 0 0 20px; }
.rodape-nav a { display: flex; align-items: center; gap: 10px; }
.rodape-nav svg { width: 23px; height: 23px; flex: 0 0 23px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.rodape-base { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--linha); font-size: 13px; }
.rodape-base p + p { margin-top: 4px; }
.rodape-explorar { display: flex; flex-wrap: wrap; gap: 8px 26px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--linha); }
.rodape-explorar a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.apresentacao-video { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: center; gap: 45px; }
.apresentacao-video .video-area { aspect-ratio: 16/9; border-radius: 0; }
.video-em-breve { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100%; padding: 28px; text-align: center; background: #fafafa; }
.video-em-breve strong { color: #111; font-size: 20px; }
.video-em-breve p { font-size: 14px; margin: 8px 0; }
.video-em-breve a { font-size: 13px; }
.video-simbolo { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 12px; border-radius: 50%; background: var(--verde); font: 34px/1 Arial,sans-serif; }
.pacotes-condicoes { margin-top: 28px; font-size: 14px; max-width: 1000px; }
.v7-pacotes { grid-template-columns: repeat(2,minmax(0,1fr)); }
.v7-pacote h3 { font-size: 25px; }
.v7-pacote:nth-child(3) { border-top-color: #111; }
.v7-pacote:nth-child(4) { border-top-color: #777; }
.pagina-topo { padding-block: 36px 24px; }
.pagina-topo .introducao { margin-top: 18px; max-width: 58ch; }
.pagina-topo h1 { max-width: 1050px; font-size: clamp(30px,4vw,56px); }
.pagina-topo .sobretitulo { color: #444; }
.pagina-prosa { max-width: 880px; }
.pagina-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.pagina-card { display: flex; flex-direction: column; min-width: 0; padding: 30px; border: 1px solid var(--linha); border-radius: 18px; background: #fff; }
.pagina-card h3 { margin-bottom: 18px; }
.pagina-card .link-texto { margin-top: auto; padding-top: 22px; }
.pagina-card ul { margin: 18px 0 0; padding-left: 20px; }
.pagina-banda { padding: 28px; border: 1px solid var(--linha); border-left: 5px solid var(--verde); border-radius: 0 18px 18px 0; }
.pagina-banda h2 { margin-bottom: 16px; font-size: clamp(23px,2.5vw,34px); }
.pagina-banda .acoes { margin-top: 20px; }
.pagina-hero { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); align-items: center; gap: 40px; }
.pagina-hero img { max-height: 380px; width: 100%; object-fit: contain; }
.daniel-monograma { display: grid; place-items: center; width: min(100%,300px); aspect-ratio:1; margin:auto; background:var(--verde); border-radius:50%; font:900 clamp(70px,12vw,150px)/1 var(--titulo); color:#111; }
.lista-limpa { padding-left: 22px; }
.lista-limpa li + li { margin-top: 12px; }
.nota-servico { margin-top:24px; font-size:14px; color:#555; }
.faq-completa { max-width: 1100px; }
.faq-cabecalho { display: flex; justify-content: space-between; align-items: flex-start; gap: 36px; margin-bottom: 28px; }
.faq-completa .titulo-secao { max-width: 580px; margin: 0; font-size: clamp(27px,3vw,39px); line-height: 1.12; letter-spacing: .12em; }
.faq-completa .titulo-secao::before { display:none; }
.faq-busca { display: flex; align-items:center; width:280px; max-width:100%; border-bottom:1px solid #666; flex-shrink:0; }
.faq-busca input { width:100%; min-width:0; padding:12px 0; border:0; background:#fff; color:#111; font:15px/1.4 Arial,sans-serif; }
.faq-busca svg { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:#111; stroke-width:1.5; }
.faq-categorias { display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.faq-categorias-lista { display:flex; gap:24px; overflow-x:auto; scrollbar-width:thin; padding:6px 2px 12px; flex:1; }
.faq-categorias button { white-space:nowrap; color:#111; border:0; background:#fff; min-height:44px; font:17px/1.4 var(--corpo); }
.faq-categorias-lista button { padding:8px 0; border-bottom:2px solid transparent; }
.faq-categorias-lista button[aria-pressed="true"] { border-bottom-color:#111; font-weight:700; }
.faq-seta { flex:0 0 30px; padding:0; font-size:27px!important; }
.faq-completa details { margin:0 0 12px; padding:0 24px; border:1px solid #707070; border-radius:0; }
.faq-completa summary { display:flex; align-items:center; min-height:82px; padding:22px 36px 22px 0; font:18px/1.5 var(--corpo); font-weight:400; }
.faq-completa summary::after { content:''; top:32px; right:8px; width:12px; height:12px; border-right:1px solid #111; border-bottom:1px solid #111; border-radius:0; background:none; transform:rotate(45deg); }
.faq-completa details[open] summary::after { content:''; background:none; transform:rotate(225deg); top:38px; }
.faq-completa details p { padding-bottom:24px; color:#444; font-size:16px; }
.faq-resultados { margin:0 0 16px; color:#666; font-size:13px; }
.faq-vazio { padding:24px; border:1px solid #ddd; }
.faq-limpar { border:0; background:transparent; text-decoration:underline; color:#111; padding:10px 0; }
.formulario-local { max-width:900px; }
.formulario-local fieldset { margin:0 0 24px; padding:28px; border:1px solid var(--linha); border-radius:16px; }
.formulario-local legend { padding:0 12px; color:#111; font-weight:700; }
.formulario-local label { display:block; margin-bottom:22px; font-weight:700; }
.formulario-local input,.formulario-local textarea,.formulario-local select { display:block; width:100%; min-width:0; margin-top:8px; padding:13px; border:1px solid #999; border-radius:7px; color:#111; background:#fff; font:16px/1.5 Arial,sans-serif; }
.formulario-local textarea { resize:vertical; }
.formulario-local .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }
.formulario-local .form-status { margin-top:20px; font-size:14px; }
.formulario-local .form-nota { color:#666; font-size:14px; margin-bottom:24px; }
.formulario-local .resultado-texto { width:100%; min-height:280px; margin-top:22px; }
.pagina-grid > *, .duas-colunas > *, .rodape-grid > *, .faq-cabecalho > *, .form-grid > * { min-width:0; }
.pagina-card a, .rodape a, .pagina-prosa a { overflow-wrap:anywhere; }
.formulario-local fieldset { min-width:0; }
.faq-categorias { min-width:0; }
.faq-categorias-lista { min-width:0; }
.video-area:has(.video-em-breve) { aspect-ratio:16/9; min-height:270px; }
.video-em-breve { height:100%; }
.faq-busca input:focus-visible { outline-offset:3px; }
.rodape-explorar a { text-decoration:none; }
.rodape-explorar a:hover { text-decoration:underline; }
@media(max-width:1150px){
 .js .cabecalho-interior { flex-wrap:wrap; }
 .js .navegacao { position:static; flex:0 0 100%; width:100%; max-height:55dvh; margin-bottom:10px; }
}
@media(max-width:1150px){ .pagina-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px){
 body { padding-bottom:calc(92px + env(safe-area-inset-bottom)); }
 .barra-mobile { min-height:calc(72px + env(safe-area-inset-bottom)); padding-right:84px; }
 .barra-mobile a { min-height:72px; }
 .marca-flutuante { width:48px; height:48px; right:18px; bottom:calc(12px + env(safe-area-inset-bottom)); padding:3px; }
 .cabecalho-interior { row-gap:0; }
 .rodape { padding-bottom:32px; }
 .pagina-inicial .hero h1 { font-size:clamp(25px,7.4vw,44px); line-height:1.12; }
 .pagina-inicial .arte-principal { height:clamp(200px,calc(100svh - 450px),430px); }
 .pagina-inicial .hero .introducao { margin-top:24px; }
 .pagina-grid,.pagina-hero,.apresentacao-video,.v7-pacotes { grid-template-columns:1fr; }
 .pagina-topo { padding-block:28px 20px; }
 .pagina-banda { padding:24px; }
 .pagina-card { padding:26px; }
 .pagina-hero { gap:30px; }
 .pagina-hero img { max-height:260px; }
 .apresentacao-video { gap:25px; }
 .video-em-breve { padding:20px 12px; }
 .video-area:has(.video-em-breve) { min-height:240px; aspect-ratio:auto; }
 .video-em-breve strong { font-size:17px; }
 .video-em-breve p { font-size:13px; }
 .video-simbolo { width:42px; height:42px; font-size:28px; }
 .faq-cabecalho { flex-direction:column; gap:24px; }
 .faq-busca { width:100%; }
 .faq-categorias-lista { gap:22px; }
 .faq-completa details { padding-inline:18px; }
 .faq-completa summary { font-size:16px; min-height:82px; }
 .formulario-local .form-grid { grid-template-columns:1fr; }
 .formulario-local fieldset { padding:22px 18px; }
 .rodape-nav { display:flex; }
}
