:root{
  --verde: #2f5d4f;
  --verde-escuro: #1c3a31;
  --terra: #a8562f;
  --ouro: #c9a24b;
  --fondo: #fff;
  --veo: rgba(255,255,255,.85);
  --texto: #000;
  --fondo-aviso: #fdf3d9;
  --fondo-ok: #dff3e3;
  --fondo-erro: #fbdede;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-tema="claro"]){
    --fondo: #121212;
    --veo: rgba(10,10,10,.82);
    --texto: #f2f2f2;
    --fondo-aviso: #3a3320;
    --fondo-ok: #173a24;
    --fondo-erro: #3a1717;
    color-scheme: dark;
  }
}
:root[data-tema="escuro"]{
  --fondo: #121212;
  --veo: rgba(10,10,10,.82);
  --texto: #f2f2f2;
  --fondo-aviso: #3a3320;
  --fondo-ok: #173a24;
  --fondo-erro: #3a1717;
  color-scheme: dark;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family: 'Arial Black', Arial, sans-serif;
  background-color: var(--fondo);
  background-image: linear-gradient(var(--veo), var(--veo)), url('../imagenes/fondoprov.jpeg');
  background-repeat: no-repeat, no-repeat;
  background-position: center, center;
  background-size: cover, cover;
  background-attachment: scroll, fixed;
  color: var(--texto);
  line-height:1.6;
}
header{
  background: var(--fondo);
  padding: 1.2rem 2rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  position:sticky;
  top:0;
  z-index:10;
  box-shadow: 0 2px 10px rgba(0,0,0,.25);
}
.logo{
  font-size:1.4rem;
  letter-spacing:1px;
  text-transform:uppercase;
  line-height:1.2;
  text-decoration:none;
  color: var(--texto);
  display:flex;
  align-items:center;
  gap:.6rem;
}
.logo-icono{
  width:36px;
  height:36px;
  object-fit:cover;
  border-radius:50%;
}
.cabeceira-dereita{
  display:flex;
  align-items:center;
  gap:1.5rem;
  flex-wrap:wrap;
}
.boton-inicio, .boton-menu{display:none;}
nav a{
  color: var(--texto);
  text-decoration:none;
  margin-left:1.5rem;
  font-size:.95rem;
  letter-spacing:1px;
  text-transform:uppercase;
  border-bottom:2px solid transparent;
  transition:border-color .2s;
}
nav a:hover{border-color:var(--ouro);}
nav a.activo{border-color:var(--ouro);}
.boton-tema{
  background:none;
  border:none;
  color:var(--texto);
  font-size:1.2rem;
  cursor:pointer;
  padding:0;
}

.hero{
  position:relative;
  padding: 6rem 2rem 5rem;
  text-align:center;
  background: var(--fondo);
  overflow:hidden;
}
.hero::before{
  content:"❋";
  position:absolute;
  font-size:20rem;
  color:rgba(255,255,255,.05);
  top:-4rem;
  left:-3rem;
}
.hero h1{
  font-size: clamp(2rem, 6vw, 4rem);
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom: .5rem;
  -webkit-text-stroke: 1.5px var(--verde-escuro);
  paint-order: stroke fill;
  text-shadow: 0 3px 12px rgba(0,0,0,.4);
}
.hero p.subtitulo{
  font-size:1.3rem;
  max-width:600px;
  margin:0 auto 2rem;
  opacity:.95;
}
.datas{
  display:inline-flex;
  gap:1.5rem;
  background: rgba(0,0,0,.25);
  padding: .8rem 1.6rem;
  border-radius:50px;
  border:1px solid rgba(255,255,255,.3);
  font-size:1.05rem;
  flex-wrap:wrap;
  justify-content:center;
}
.conta-atras{
  display:inline-block;
  margin-top:1.2rem;
  background: var(--terra);
  color:#000;
  padding:.5rem 1.4rem;
  border-radius:50px;
  font-size:1.05rem;
  letter-spacing:.5px;
  box-shadow: 0 3px 10px rgba(0,0,0,.25);
}
.btn{
  display:inline-block;
  margin-top:2rem;
  padding: .9rem 2.2rem;
  background: var(--ouro);
  color: #000;
  font-weight:bold;
  text-decoration:none;
  letter-spacing:1px;
  text-transform:uppercase;
  border-radius:4px;
  box-shadow: 0 4px 14px rgba(0,0,0,.3);
  transition: transform .2s, background .2s;
}
.btn:hover{background:#e0bd63; transform:translateY(-2px);}

section{
  padding: 4.5rem 2rem;
  max-width: 1000px;
  margin: 0 auto;
}
.titulo-seccion{
  text-align:center;
  font-size:1.9rem;
  -webkit-text-stroke: 1.2px var(--verde-escuro);
  paint-order: stroke fill;
  margin-bottom: .6rem;
  text-transform:uppercase;
  letter-spacing:1px;
}
.titulo-seccion::after{
  content:"";
  display:block;
  width:70px;
  height:3px;
  background: var(--terra);
  margin: .7rem auto 0;
}
.lead{
  text-align:center;
  max-width:700px;
  margin:0 auto 3rem;
  font-size:1.1rem;
}

.cartel{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap:1.5rem;
}
.banda{
  background:var(--fondo);
  border:1px solid #e2d5bd;
  border-left:5px solid var(--terra);
  padding:1.5rem;
  border-radius:6px;
  box-shadow: 0 3px 8px rgba(0,0,0,.05);
}
.banda h3{
  font-size:1.25rem;
  margin-bottom:.3rem;
}
.banda .dia{
  display:inline-block;
  background: var(--fondo);
  border:1px solid var(--verde);
  font-size:.75rem;
  padding:.2rem .6rem;
  border-radius:20px;
  margin-bottom:.6rem;
  letter-spacing:.5px;
}
.banda p{font-size:.95rem;}

.mapa-localizacion{margin-top:2rem;}
.mapa-embed{
  position:relative;
  z-index:0;
  width:100%;
  height:380px;
  border-radius:8px;
  overflow:hidden;
  box-shadow: 0 3px 8px rgba(0,0,0,.15);
  border:1px solid #e2d5bd;
}
.mapa-lenda{
  text-align:center;
  margin-top:.8rem;
  font-size:.95rem;
}
.mapa-lenda a{
  color: var(--texto);
  font-weight:bold;
  text-decoration:none;
  border-bottom:2px solid var(--terra);
  margin-left:.3rem;
}
.mapa-lenda a:hover{border-color: var(--verde-escuro);}

.info-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:2rem;
  margin-top:2rem;
}
.info-card{
  background: var(--fondo);
  border-radius:8px;
  padding:1.8rem;
  text-align:center;
  box-shadow: 0 3px 8px rgba(0,0,0,.05);
  border-top:4px solid var(--ouro);
}
.info-card .icona{font-size:2.2rem; margin-bottom:.6rem;}
.info-card h3{margin-bottom:.5rem;}
.info-card p{font-size:.95rem;}
.info-card a{
  color: var(--texto);
  font-weight:bold;
  text-decoration:none;
  border-bottom:2px solid var(--terra);
}
.info-card a:hover{border-color: var(--verde-escuro);}

.aviso-tenda{
  text-align:center;
  max-width:700px;
  margin:0 auto 2.5rem;
  padding:.9rem 1.2rem;
  background:var(--fondo-aviso);
  border:1px solid var(--ouro);
  border-radius:8px;
  font-size:.9rem;
}
.tenda-pechada{
  margin-top:1rem;
  font-weight:bold;
}
.donativo{
  margin-top:.6rem;
  font-size:.85rem;
}
.donativo a{
  color: var(--texto);
  text-decoration:underline;
}
.donativo-logo{
  display:block;
  max-width:110px;
  height:auto;
  margin:0 auto .4rem;
}
.produtos-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap:1.5rem;
}
.produto{
  background:var(--fondo);
  border:1px solid #e2d5bd;
  border-left:5px solid var(--ouro);
  padding:1.5rem;
  border-radius:6px;
  box-shadow: 0 3px 8px rgba(0,0,0,.05);
  text-align:center;
}
.produto .icona{font-size:2.4rem; margin-bottom:.6rem;}
.produto h3{font-size:1.2rem; margin-bottom:.3rem;}
.produto p{font-size:.9rem; margin-bottom:.9rem;}
.produto .prezo{
  display:inline-block;
  font-weight:bold;
  color:#000;
  background:var(--terra);
  padding:.3rem .9rem;
  border-radius:20px;
  font-size:.95rem;
}
.talla-select{
  margin-top:1rem;
  padding:.5rem .8rem;
  border-radius:20px;
  border:1px solid #e2d5bd;
  font-size:.9rem;
  width:100%;
  max-width:200px;
}
.paypal-button-container{
  margin-top:1.2rem;
}
.paypal-mensaxe{
  margin-top:.8rem;
  font-size:.85rem;
  font-weight:bold;
}
.paypal-mensaxe.paypal-correcto{
  padding:.5rem;
  border-radius:6px;
  background:var(--fondo-ok);
}
.paypal-mensaxe.paypal-erro{
  padding:.5rem;
  border-radius:6px;
  background:var(--fondo-erro);
}

.patrocinadores{
  background: var(--fondo);
}
.logos-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap:2rem;
  margin-top:2.5rem;
  align-items:center;
}
.logo-patrocinador{
  background: rgba(255,255,255,.92);
  border-radius:10px;
  padding:1.2rem;
  min-height:100px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.logo-patrocinador img{
  max-width:100%;
  max-height:70px;
  width:auto;
  height:auto;
}
.colaborar-detalles{
  margin-top:3rem;
  text-align:center;
}
.colaborar-detalles summary{
  cursor:pointer;
  display:inline-block;
  font-weight:bold;
  letter-spacing:.5px;
  border-bottom:2px solid var(--ouro);
  list-style:none;
}
.colaborar-detalles summary::-webkit-details-marker{display:none;}
.colaborar-detalles summary:hover{border-color:#e0bd63;}
.colaborar-detalles[open] summary{margin-bottom:2.2rem;}
.datos-colaboracion{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px,1fr));
  gap:1.5rem;
  margin-top:2.5rem;
  text-align:left;
}
.bloque-colaboracion{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.2);
  border-radius:10px;
  padding:1.5rem;
}
.bloque-colaboracion h3{
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:1rem;
  margin-bottom:.8rem;
}
.bloque-colaboracion p{font-size:.9rem; opacity:.9; margin-bottom:.6rem;}
.bloque-colaboracion ul{list-style:none; font-size:.9rem; opacity:.9;}
.bloque-colaboracion ul li{margin-bottom:.5rem;}
.datos-entidade{
  text-align:center;
  font-size:.85rem;
  opacity:.8;
  margin-top:2rem;
}
.datos-entidade a{color: var(--texto);}
.patrocinio-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
  gap:1.5rem;
  margin-top:2rem;
  align-items:start;
}
.patrocinio{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.2);
  border-top:5px solid var(--ouro);
  border-radius:10px;
  padding:1.8rem;
}
.patrocinio h3{
  display:flex;
  align-items:center;
  gap:.5rem;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:.6rem;
}
.patrocinio h3 .icona{font-size:1.4rem;}
.patrocinio-prezo{font-size:1.8rem; font-weight:bold; margin-bottom:1rem;}
.patrocinio ul{list-style:none; font-size:.9rem; opacity:.9;}
.patrocinio ul li{margin-bottom:.6rem; padding-left:1.3rem; position:relative;}
.patrocinio ul li::before{content:"✓"; position:absolute; left:0; color:var(--ouro);}
.grazas{
  text-align:center;
  font-size:1.6rem;
  margin-top:3rem;
}

.entrada-balde{
  display:inline-block;
  margin-top:1.2rem;
  background: var(--ouro);
  color: #000;
  font-weight:normal;
  padding:.5rem 1.4rem;
  border-radius:50px;
  font-size:1.1rem;
  letter-spacing:.5px;
  box-shadow: 0 3px 10px rgba(0,0,0,.25);
}

footer{
  background: var(--fondo);
  text-align:center;
  padding: 2.5rem 1.5rem;
  font-size:.9rem;
}
footer .redes a{
  color: var(--texto);
  margin: 0 .6rem;
  text-decoration:none;
  font-size:1.3rem;
}
footer p{margin-top:1rem;}
footer p a{color: var(--texto);}
.ligazons-legais{font-size:.8rem; opacity:.85;}
.ligazons-legais a{color: var(--texto);}

.enlace-cookies{
  background:none;
  border:none;
  padding:0;
  color: var(--texto);
  text-decoration:underline;
  font-size:inherit;
  font-family:inherit;
  cursor:pointer;
}

.contido-legal h3{
  margin-top:2rem;
  margin-bottom:.6rem;
  font-size:1.1rem;
}
.contido-legal p, .contido-legal ul{margin-bottom:1rem; font-size:.95rem;}
.contido-legal ul{padding-left:1.4rem;}
.contido-legal li{margin-bottom:.4rem;}
.contido-legal code{
  background: rgba(0,0,0,.08);
  padding:.1rem .3rem;
  border-radius:4px;
}

.banner-cookies{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:999;
  background: var(--fondo);
  border-top:1px solid #e2d5bd;
  box-shadow: 0 -4px 14px rgba(0,0,0,.2);
  padding:1.2rem 2rem;
}
.banner-cookies-contido{
  max-width:800px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:1rem;
}
.banner-cookies p{font-size:.85rem;}
.banner-cookies a{color: var(--texto); text-decoration:underline;}
.banner-cookies-botons{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
}
.btn-cookies{
  padding:.6rem 1.2rem;
  border-radius:4px;
  font-size:.85rem;
  font-weight:bold;
  text-transform:uppercase;
  letter-spacing:.5px;
  cursor:pointer;
  border:1px solid var(--texto);
}
.btn-cookies-aceptar{
  background: var(--ouro);
  color:#000;
  border-color: var(--ouro);
}
.btn-cookies-rexeitar{
  background:none;
  color: var(--texto);
}

@media (max-width:600px){
  .banner-cookies{padding:1rem 1.2rem;}
}

@media (max-width:1024px){
  body{background-attachment: scroll, scroll;}
}

@media (max-width:600px){
  header{
    flex-wrap:nowrap;
    padding:1rem 1.2rem;
    gap:.8rem;
  }
  .logo{font-size:1rem; gap:.4rem;}
  .logo-icono{width:28px; height:28px;}
  .cabeceira-dereita{gap:.9rem;}
  .boton-inicio{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
    text-decoration:none;
    color:var(--texto);
  }
  .boton-menu{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:none;
    border:none;
    font-size:1.4rem;
    cursor:pointer;
    color:var(--texto);
    padding:0;
  }
  nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    background:var(--fondo);
    box-shadow:0 8px 14px rgba(0,0,0,.2);
    padding:.5rem 1.2rem 1rem;
  }
  nav.nav-aberto{display:flex;}
  nav a{
    margin-left:0;
    margin-top:.9rem;
    font-size:1rem;
  }

  section{padding:3rem 1.2rem;}
  .hero{padding:3.5rem 1.2rem 3rem;}
  .datas{gap:.8rem; font-size:.95rem; padding:.6rem 1.2rem;}
  .mapa-embed{height:260px;}
  .banda, .produto, .info-card{padding:1.2rem;}
  .patrocinio, .bloque-colaboracion{padding:1.2rem;}
}

@media (max-width:420px){
  .logo span{display:none;}
}
