/* coliseuderoma.pt — v1.0 — Poppins + Nunito, terracotta / areia / ouro */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Nunito:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');

:root {
  --terra:    #a64a1c;
  --terra-dk: #7a3412;
  --terra-lt: #fdf3ee;
  --areia:    #f8f3ed;
  --creme:    #ede6dc;
  --ouro:     #d4a843;
  --ouro-lt:  #fdf8ef;
  --branco:   #ffffff;
  --tinta:    #1d1915;
  --muted:    #645649;
  --borda:    #ddd5c8;
  --r:        7px;
  --r-lg:     14px;
  --sombra:   0 2px 16px rgba(166,74,28,.08);
  --sombra-g: 0 6px 28px rgba(166,74,28,.14);
  --max:      1100px;
  --fh:       'Poppins', Arial, sans-serif;
  --ft:       'Nunito', Arial, sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:17px;scroll-behavior:smooth}
body{font-family:var(--ft);font-size:1.0625rem;color:var(--tinta);background:var(--areia);line-height:1.82}
img{max-width:100%;height:auto;display:block}
a{color:var(--terra);text-decoration:none}
a:hover{color:var(--terra-dk);text-decoration:underline}
ul,ol{padding-left:1.4rem}
li{margin-bottom:.38rem}

/* HEADER */
.cabecalho{background:var(--terra-dk);position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,.28)}
.cab-in{max-width:var(--max);margin:0 auto;padding:.72rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo-cab{font-family:var(--fh);font-size:1rem;font-weight:800;color:var(--ouro);letter-spacing:.03em;white-space:nowrap}
.logo-cab:hover{color:var(--branco);text-decoration:none}
.nav-cab{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.nav-cab a{font-family:var(--ft);font-size:.82rem;font-weight:600;color:rgba(255,255,255,.75);letter-spacing:.06em;text-transform:uppercase;transition:color .2s}
.nav-cab a:hover{color:var(--ouro);text-decoration:none}
.nav-cta{background:var(--ouro);color:var(--terra-dk)!important;padding:.5rem 1.1rem;border-radius:var(--r);font-weight:700!important;transition:background .2s;white-space:nowrap}
.nav-cta:hover{background:#b08930!important;color:var(--branco)!important}
.botao-menu{display:none;background:none;border:none;cursor:pointer;padding:.3rem;flex-direction:column;gap:5px}
.botao-menu span{display:block;width:24px;height:2px;background:var(--ouro);border-radius:2px}

/* HERO */
.vitrina{position:relative;min-height:540px;display:flex;align-items:flex-end;overflow:hidden}
.vitrina img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:0}
.vitrina-veu{position:absolute;inset:0;background:linear-gradient(to top,rgba(122,52,18,.88) 0%,rgba(122,52,18,.3) 55%,transparent 100%);z-index:1}
.vitrina-texto{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:3rem 1.4rem 4rem;width:100%}
.vitrina-texto h1{font-family:var(--fh);font-size:clamp(2rem,5vw,3.2rem);font-weight:800;color:var(--branco);letter-spacing:.02em;line-height:1.14;margin-bottom:1rem;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.vitrina-texto p{color:rgba(255,255,255,.88);font-size:1.1rem;max-width:660px;margin-bottom:1.5rem;line-height:1.76}
.btn-ouro{display:inline-block;background:var(--ouro);color:var(--terra-dk);font-family:var(--ft);font-size:.86rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.9rem 2.2rem;border-radius:var(--r);transition:background .2s,transform .15s}
.btn-ouro:hover{background:#b08930;color:var(--branco);text-decoration:none;transform:translateY(-1px)}

/* SECÇÕES */
.seccao{padding:3.5rem 1.4rem}
.seccao-clara{background:var(--areia)}
.seccao-creme{background:var(--creme)}
.seccao-in{max-width:var(--max);margin:0 auto}
.seccao h2{font-family:var(--fh);font-size:clamp(1.3rem,2.8vw,1.9rem);font-weight:700;color:var(--tinta);margin-bottom:1.2rem}
.seccao p{font-size:1.0625rem;line-height:1.82;margin-bottom:1rem}
.seccao ul,.seccao ol{margin:.8rem 0 1rem}
.seccao strong{font-weight:700}
.foto-seccao{width:100%;height:280px;object-fit:cover;border-radius:var(--r-lg);margin:1.4rem 0;box-shadow:var(--sombra)}

/* MIGAS */
.migas{background:var(--terra-lt);padding:.6rem 1.4rem;font-size:.85rem;color:var(--muted);border-bottom:1px solid var(--borda)}
.migas-in{max-width:var(--max);margin:0 auto}
.migas a{color:var(--muted)}
.migas a:hover{color:var(--terra)}
.migas span{margin:0 .4rem}

/* TABELAS */
.tabela-wrap{overflow-x:auto;margin:1rem 0 1.2rem;-webkit-overflow-scrolling:touch}
.tabela{width:100%;border-collapse:collapse;font-size:1rem}
.tabela thead th{background:var(--terra);color:var(--branco);font-family:var(--ft);font-size:.82rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.72rem 1rem;text-align:left}
.tabela tbody tr:nth-child(even){background:var(--terra-lt)}
.tabela tbody tr:hover{background:var(--creme)}
.tabela td{padding:.65rem 1rem;border-bottom:1px solid var(--borda);font-size:1rem}

/* PARCEIRO BOX */
.caixa-gyg{background:var(--branco);border:2px solid var(--terra);border-radius:var(--r-lg);padding:1.8rem;margin:1.5rem 0;box-shadow:var(--sombra)}
.caixa-gyg h3{font-family:var(--fh);font-size:1.18rem;color:var(--terra);margin-bottom:1rem}
.lista-check{list-style:none;padding:0;margin:.8rem 0}
.lista-check li{padding:.35rem 0 .35rem 1.6rem;position:relative;border-bottom:1px solid var(--terra-lt);font-size:1rem}
.lista-check li::before{content:'✓';color:var(--terra);font-weight:700;position:absolute;left:0}
.lista-check li:last-child{border-bottom:none}
.btn-tiqets{display:inline-block;background:var(--tinta);color:var(--branco);font-family:var(--ft);font-size:.86rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.8rem 1.8rem;border-radius:var(--r);transition:.2s;margin-top:.5rem;margin-left:.6rem}
.btn-tiqets:hover{background:#333;color:var(--branco);text-decoration:none}

/* WIDGET */
.zona-widget{background:var(--terra-lt);border:1px solid var(--borda);border-radius:var(--r-lg);padding:1.5rem;margin:1.5rem 0;overflow:hidden}

/* GRELHA 2-col */
.grelha-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1rem 0}
.cartao{background:var(--branco);border:1px solid var(--borda);border-radius:var(--r);padding:1.2rem}
.cartao h3{font-family:var(--ft);font-size:.88rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--terra);margin-bottom:.6rem}
.cartao p,.cartao li{font-size:.97rem}

/* FAQ */
.faq-grupo{margin-bottom:1.5rem}
.faq-grupo>h2{font-size:1.1rem;padding-bottom:.5rem;border-bottom:2px solid var(--terra-lt);margin-bottom:.9rem}
.faq-item{background:var(--branco);border:1px solid var(--borda);border-radius:var(--r);margin-bottom:.6rem;overflow:hidden;transition:box-shadow .2s}
.faq-item.aberto{box-shadow:0 3px 14px rgba(166,74,28,.1);border-color:var(--terra)}
.faq-topo{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;cursor:pointer;gap:1rem}
.faq-topo h3{font-family:var(--ft);font-size:.97rem;font-weight:700;color:var(--tinta);margin:0;line-height:1.4}
.faq-icone{width:28px;height:28px;border-radius:50%;background:var(--terra-lt);border:1px solid var(--borda);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--terra);flex-shrink:0;transition:transform .25s,background .2s}
.faq-item.aberto .faq-icone{transform:rotate(45deg);background:var(--terra);color:var(--branco);border-color:var(--terra)}
.faq-corpo{display:none;padding:0 1.2rem 1.2rem;border-top:1px solid var(--borda)}
.faq-item.aberto .faq-corpo{display:block}
.faq-corpo p{margin-top:.9rem;font-size:1rem}

/* PÁGINAS INTERNAS */
.cabeca-pag{background:var(--creme);padding:2.5rem 1.4rem 2rem;border-bottom:1px solid var(--borda)}
.cabeca-pag h1{font-family:var(--fh);font-size:clamp(1.5rem,4vw,2.2rem);color:var(--terra)}
.cabeca-pag p{color:var(--muted);margin-top:.5rem}
.corpo-pag{max-width:820px;margin:0 auto;padding:2.5rem 1.4rem}
.corpo-pag h2{font-family:var(--fh);font-size:1.25rem;margin:2rem 0 .7rem;color:var(--tinta)}
.corpo-pag p,.corpo-pag li{font-size:1rem;line-height:1.8}
.corpo-pag ul{margin:.5rem 0 1rem}

/* 404 */
.erro-pag{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.4rem}
.erro-num{font-family:var(--fh);font-size:clamp(5rem,15vw,9rem);font-weight:800;color:var(--terra-lt);line-height:1;margin-bottom:.5rem}
.erro-pag h1{font-family:var(--fh);font-size:1.6rem;margin-bottom:.8rem;color:var(--terra)}
.erro-pag p{color:var(--muted);margin-bottom:1.8rem;max-width:480px}
.btn-err-a{display:inline-block;background:var(--terra);color:var(--branco);font-family:var(--ft);font-size:.86rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.85rem 2rem;border-radius:var(--r);margin:.4rem}
.btn-err-b{display:inline-block;border:2px solid var(--terra);color:var(--terra);font-family:var(--ft);font-size:.86rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.8rem 2rem;border-radius:var(--r);margin:.4rem}
.btn-err-a:hover,.btn-err-b:hover{opacity:.85;text-decoration:none}

/* RODAPÉ */
.rodape{background:var(--terra-dk);color:rgba(255,255,255,.65);padding:3rem 1.4rem 1.5rem}
.rodape-grelha{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;margin-bottom:2rem}
.rodape h4{font-family:var(--fh);color:var(--ouro);font-size:.95rem;font-weight:700;margin-bottom:.8rem}
.rodape p{font-size:.9rem;line-height:1.6;margin-bottom:.5rem}
.rodape a{color:rgba(255,255,255,.5);font-size:.9rem}
.rodape a:hover{color:var(--ouro);text-decoration:none}
.rodape-nav{list-style:none;padding:0}
.rodape-nav li{margin-bottom:.4rem}
.rodape-fim{max-width:var(--max);margin:0 auto;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center;font-size:.82rem;color:rgba(255,255,255,.3)}

@media(max-width:768px){
  .nav-cab{display:none;flex-direction:column;align-items:flex-start;position:absolute;top:100%;left:0;right:0;background:var(--terra-dk);border-top:1px solid rgba(255,255,255,.1);padding:1rem 1.4rem;box-shadow:var(--sombra-g);gap:.8rem}
  .nav-cab.visivel{display:flex}
  .botao-menu{display:flex}
  .rodape-grelha{grid-template-columns:1fr;gap:1.5rem}
  .grelha-2{grid-template-columns:1fr}
  .vitrina{min-height:400px}
  .vitrina-texto h1{font-size:1.75rem}
  .tabela thead{display:none}
  .tabela tr{display:block;border:1px solid var(--borda);border-radius:var(--r);margin-bottom:.8rem;background:var(--branco)}
  .tabela td{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border-bottom:1px solid var(--terra-lt);font-size:.95rem}
  .tabela td::before{content:attr(data-label);font-weight:700;font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;margin-right:.8rem}
  .tabela td:last-child{border-bottom:none}
  .btn-tiqets{margin-left:0;margin-top:.6rem}
}
@media(max-width:480px){
  .seccao{padding:2.5rem 1rem}
  .vitrina-texto{padding:2rem 1rem 2.5rem}
}
