.hero {
  background:linear-gradient(90deg,rgba(15,12,10,.86),rgba(15,12,10,.60) 58%,rgba(15,12,10,.24)),url("assets/banner-sala.png") center 58% / cover no-repeat;
  color:white;
  gap:36px;
  min-height:510px;
}
.hero > div { flex:1; min-width:0; }
.hero small { color:#fff; }
.hero h1 { text-shadow:0 2px 12px #0005; }
.hero p { color:#f4efec; line-height:1.5; }
.hero aside { flex-shrink:0; background:rgba(36,32,30,.84); border:1px solid #ffffff55; box-shadow:none; line-height:1.5; }
.hero aside strong { white-space:nowrap; }
.hero aside span { font-size:14px; }
.whatsapp-button,.special .whatsapp-button,#send.whatsapp-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#128c4a;
  border:1px solid #128c4a;
  color:#fff;
  min-height:46px;
  line-height:1.35;
}
.whatsapp-button:hover,.special .whatsapp-button:hover,#send.whatsapp-button:hover { background:#0d713b; border-color:#0d713b; }
.whatsapp-icon { width:23px; height:23px; flex-shrink:0; color:white; }
#send.whatsapp-button:disabled { cursor:not-allowed; }
.special {
  background:linear-gradient(90deg,rgba(5,28,27,.85),rgba(5,28,27,.55) 62%,rgba(5,28,27,.30)),url("assets/banner-rejunte-pedra.png") center 55% / cover no-repeat;
  min-height:280px;
  padding:40px;
  border:0;
  border-radius:10px;
  color:#fff;
  gap:28px;
}
.special small { color:#fff; }
.special h3 { font-size:clamp(26px,3vw,36px); max-width:540px; margin-top:10px; }
.special p { color:#f2f7f5; line-height:1.5; }
.special .whatsapp-button { flex-shrink:0; }
.about {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#600606;
  color:#fff;
}
.about::before {
  content:"";
  position:absolute;
  inset:-8px;
  z-index:-2;
  background:url("assets/banner-quem-somos.png") center / cover no-repeat;
  filter:blur(3px);
}
.about::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(35,0,0,.91),rgba(35,0,0,.83) 65%,rgba(35,0,0,.72));
}
.about small,.about h2,.about p { color:#fff; }
.about p { line-height:1.75; font-size:17px; }
@media(max-width:800px){
  .special { flex-direction:column; align-items:flex-start; padding:30px 24px; background-position:60% center; }
}
@media(max-width:800px){
  .hero { background-position:62% center; min-height:0; }
  .hero aside { width:100%; max-width:300px; }
}
.store { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.store > b { line-height:1.4; }
.store .location-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; margin-top:auto; padding:11px 14px; min-height:44px; border-radius:5px; background:var(--red); color:#fff; font-size:13px; font-weight:bold; }
.store .location-button svg { width:20px; height:20px; flex-shrink:0; }
.store .location-button:hover { background:#8f0000; }
.store .location-button:focus-visible { outline:3px solid #242020; outline-offset:3px; }
.faq { background:#fbf6f4; scroll-margin-top:90px; }
.faq-group { max-width:960px; margin-top:32px; }
.faq-group h3 { font-size:24px; margin:0 0 16px; }
.faq details { border:1px solid var(--line); border-radius:8px; background:#fff; margin:10px 0; }
.faq summary { cursor:pointer; padding:20px 24px; font-weight:700; line-height:1.5; }
.faq summary::marker { color:var(--red); }
.faq summary:focus-visible { outline:3px solid var(--red); outline-offset:3px; border-radius:8px; }
.faq details[open] summary { color:var(--red); border-bottom:1px solid var(--line); }
.faq-answer { padding:4px 24px 16px; color:#514b48; line-height:1.75; }
.faq-answer ul { padding-left:24px; }
.social-link { display:inline-flex; align-items:center; gap:9px; max-width:100%; overflow-wrap:anywhere; }
.social-link svg { width:24px; height:24px; flex-shrink:0; }
footer a:hover { text-decoration:underline; }
@media(max-width:800px) {
  header { height:auto; min-height:74px; flex-wrap:wrap; gap:12px; padding:10px 25px; }
  header nav { display:flex; order:3; width:100%; overflow-x:auto; padding:8px 0; gap:20px; }
  header nav a { white-space:nowrap; }
}
footer {
  background:#390000 url("assets/rodape-vermelho.png") center / cover no-repeat;
  align-items:start;
  padding-top:50px;
  padding-bottom:50px;
  line-height:1.6;
}
footer > div { min-width:0; }
footer > div > p:first-child { margin-top:0; }
footer p { color:#f3e9e7; overflow-wrap:anywhere; }
footer .maker-logo { display:block; object-position:left top; margin-bottom:16px; }
