/*
Theme Name: Cazarettos
Template: generatepress
Description: Tema hijo de GeneratePress con el branding de Cazarettos.
Version: 1.0.0
Text Domain: cazarettos
*/
:root{
  --caz-naranja:#FF6A00;
  --caz-ocre:#E49B3F;
  --caz-beige:#F3EADF;
  --caz-negro:#111;
  --caz-degradado:linear-gradient(180deg,#F5C242 0%,#E8683A 100%);
}
body{font-family:"Roboto",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--caz-negro);background:#fff}
h1,h2,h3,h4{font-family:"Roboto",system-ui,sans-serif;font-weight:700;color:var(--caz-negro)}
a{color:var(--caz-naranja)}a:hover{color:var(--caz-ocre)}

/* Cabecera: blanca con filete ocre */
.site-header{background:#fff;border-bottom:3px solid var(--caz-ocre);box-shadow:0 4px 14px rgba(0,0,0,.12)}
.main-navigation,.main-navigation ul ul{background:#fff}
.main-navigation .main-nav ul li a{text-transform:uppercase;font-size:14px;letter-spacing:.02em;color:var(--caz-negro)}
.main-navigation .main-nav ul li:hover>a,
.main-navigation .main-nav ul li.current-menu-item>a,
.main-navigation .main-nav ul li.current_page_item>a{color:var(--caz-naranja);background:transparent}
.site-logo img,.header-image{max-height:70px;width:auto}

/* Botones */
.wp-block-button__link,button,input[type=submit],.button{background:var(--caz-ocre);color:#fff;border-radius:3px;border:0;font-weight:700}
.wp-block-button__link:hover,button:hover,input[type=submit]:hover{background:var(--caz-naranja);color:#fff}

/* Clases para el editor (Avanzado > Clase CSS adicional) */
.caz-titulo{background:var(--caz-degradado);border:3px solid #D93A2B;text-align:center;padding:.4em 1em;margin:0 0 1em;font-size:1.6rem}
.caz-destacado{background:var(--caz-beige);padding:1.5rem}
.caz-hero{min-height:60vh;display:flex;align-items:center;justify-content:center}

.wp-block-gallery img,.wp-block-image img{height:auto;max-width:100%}

/* Pie oscuro */
.site-info{background:var(--caz-negro);color:#ddd}
.site-info a{color:#fff}

/* Contact Form 7 */
.wpcf7-form{max-width:640px;margin:0 auto}
.wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),.wpcf7-form textarea,.wpcf7-form select{width:100%;box-sizing:border-box}
.wpcf7-form textarea{height:120px}

/* Sin titulo de texto junto al logo (el logo ya lo incluye) */
.main-title{position:absolute;left:-9999px}

/* Formularios largos de CF7 (socio colaborador) a 2 columnas */
#responsive-form{max-width:700px;margin:0 auto}
.form-row{display:flex;flex-wrap:wrap;gap:0}
.column-half{flex:1 1 280px;padding:.5rem}
.column-full{flex:1 1 100%;padding:.5rem}
.form_asterisco{color:var(--caz-naranja)}

.wpcf7-list-item{margin:0 1em 0 0;display:inline-block}
.wpcf7-acceptance label,.wpcf7-checkbox label{display:flex;align-items:center;gap:.5rem}

/* Portada: pagina de inicio sin titulo y a ancho completo */
.home .entry-header,.home .page-header{display:none}
.wp-block-cover.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;max-width:100vw}

/* Botones de bloques: ocre de marca (mayor especificidad que GeneratePress) */
body .wp-block-button .wp-block-button__link{background:var(--caz-ocre);color:#fff}
body .wp-block-button .wp-block-button__link:hover{background:var(--caz-naranja);color:#fff}
.wp-block-buttons{gap:1rem;margin:1.5rem 0}

/* Iconos de redes en cabecera */
.caz-social{display:flex;gap:.6rem;align-items:center;margin-left:auto;padding-left:1rem}
.caz-social a{display:inline-flex;width:38px;height:38px;border-radius:4px;color:#fff;align-items:center;justify-content:center}
.caz-social svg{width:20px;height:20px;fill:currentColor}
.caz-social .fb{background:#3b5998}.caz-social .ig{background:#c13584}.caz-social .yt{background:#c4302b}
@media(max-width:768px){.caz-social{display:none}}

/* Portada: sin hueco entre cabecera e imagen */
.home .site-content,.home .inside-article,.home .entry-content{padding-top:0;margin-top:0}
.home .site-main>article{margin-bottom:0}

/* Portada: imagen de cabecera más baja y logo más pequeño */
.home .wp-block-cover{min-height:clamp(240px,34vh,380px)!important}
.home .wp-block-cover .wp-block-image img{width:min(300px,55vw)!important;height:auto}

/* Galerías: miniaturas uniformes 4:3 (las fotos verticales no se estiran) */
.wp-block-gallery.has-nested-images figure.wp-block-image{aspect-ratio:4/3}
.wp-block-gallery.has-nested-images figure.wp-block-image img{width:100%;height:100%;object-fit:cover}

/* Entradas: se oculta el autor, se deja la fecha */
.entry-meta .byline,.entry-meta .author{display:none}

/* Tarjetas de álbum */
.caz-albumes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin:1.5rem 0}
.caz-album{display:flex;flex-direction:column;background:#fff;border:1px solid #eee;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.caz-album .portada{display:block;background:var(--caz-beige)}
.caz-album img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.caz-album h3{font-size:1.05rem;line-height:1.3;margin:.8rem 1rem .2rem}
.caz-album .fecha{color:#666;font-size:.85rem;margin:0 1rem}
.caz-album .boton{margin:.8rem 1rem 1rem;text-align:center;align-self:flex-start}

/* Botón de tarjeta de álbum en ocre; menú: apartado activo en naranja también si es el padre */
body .caz-album .boton{background:var(--caz-ocre);color:#fff}
body .caz-album .boton:hover{background:var(--caz-naranja);color:#fff}
.main-navigation .main-nav ul li.current-menu-ancestor>a,
.main-navigation .main-nav ul li.current-menu-parent>a{color:var(--caz-naranja)}

/* Vídeos y mapas bajo demanda */
.caz-embed{position:relative;aspect-ratio:16/9;background:#111;margin:1rem 0;overflow:hidden;border-radius:4px}
.caz-embed-btn{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#111;cursor:pointer}
.caz-embed-btn img{width:100%;height:100%;object-fit:cover;opacity:.85}
.caz-embed-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--caz-ocre);color:#fff;font-weight:700;padding:.7rem 1.4rem;border-radius:4px}
.caz-embed-btn:hover .caz-embed-play{background:var(--caz-naranja)}
.caz-embed small{position:absolute;left:.6rem;bottom:.4rem;color:#ddd;font-size:.75rem;text-shadow:0 1px 2px #000}
.caz-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Listas de noticias (portada del blog, años, categorías) en tarjetas con foto */
.blog .site-main,.archive .site-main,.search .site-main{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.blog .site-main>.page-header,.archive .site-main>.page-header,.search .site-main>.page-header,
.blog .site-main>nav,.archive .site-main>nav,.search .site-main>nav{grid-column:1/-1}
.blog .site-main>article,.archive .site-main>article,.search .site-main>article{margin:0;background:#fff;border:1px solid #eee;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.blog .site-main>article .inside-article,.archive .site-main>article .inside-article,.search .site-main>article .inside-article{padding:0}
.blog .site-main>article .post-image,.archive .site-main>article .post-image{margin:0}
.blog .site-main>article .post-image img,.archive .site-main>article .post-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.blog .site-main>article .entry-header,.archive .site-main>article .entry-header{padding:.9rem 1.1rem 0}
.blog .site-main>article .entry-title,.archive .site-main>article .entry-title{font-size:1.1rem;line-height:1.3}
.blog .site-main>article .entry-summary,.archive .site-main>article .entry-summary{padding:0 1.1rem 1.1rem;font-size:.92rem;color:#444}
.blog .site-main>article footer,.archive .site-main>article footer{padding:0 1.1rem 1rem}

/* En la noticia abierta no se repite la portada: la galería ya la incluye */
.single-post .post-image,.single-post .featured-image{display:none}

/* Tarjetas de noticias: foto arriba y sin categoría ni comentarios */
.blog .site-main>article .inside-article,.archive .site-main>article .inside-article{display:flex;flex-direction:column}
.blog .site-main>article .post-image,.archive .site-main>article .post-image{order:-1}
.blog .site-main>article footer.entry-meta,.archive .site-main>article footer.entry-meta{display:none}

/* Tarjeta de álbum: descripción y dos botones (noticia + fotos) */
.caz-album .desc{font-size:.9rem;color:#444;margin:.4rem 1rem 0}
.caz-album .acciones{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 1rem 1rem;margin-top:auto;padding-top:.8rem}
.caz-album .acciones .boton{margin:0}
body .caz-album .boton.sec{background:transparent;color:var(--caz-ocre);border:2px solid var(--caz-ocre)}
body .caz-album .boton.sec:hover{background:var(--caz-ocre);color:#fff}

/* Home: títulos de sección y columnas */
.caz-titulo{background:var(--caz-degradado);border:3px solid #D93A2B;text-align:center;padding:.4em 1em;margin:1.5rem 0 1rem;font-size:1.5rem}
.home .wp-block-columns{gap:1.5rem}
.caz-album h3 a{color:inherit;text-decoration:none}

/* Destacados de portada */
.caz-dest{padding:1.5rem 0;border-bottom:1px solid #ddd}
.caz-dest:last-child{border-bottom:0}
.caz-dest .wp-block-columns{align-items:center;gap:1.5rem}

/* Formularios en tarjeta + trampa antispam oculta */
.caz-hp{position:absolute;left:-9999px;height:0;width:0;overflow:hidden}
.wpcf7{background:#fff;border:1px solid #eee;border-radius:6px;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.06);margin:1rem 0}
.wpcf7 .wpcf7-form{max-width:none;margin:0}
.wpcf7 label{font-weight:600}
.wpcf7 .wpcf7-not-valid-tip{color:#c0392b;font-size:.85rem}
.wpcf7 form .wpcf7-response-output{border-radius:4px;margin:1rem 0 0}
.caz-contacto-info ul{list-style:none;margin:1rem 0;padding:0}
.caz-contacto-info li{margin:.4rem 0}

/* Menú en una sola fila */
.site-header .inside-header{max-width:1500px;flex-wrap:nowrap}
.main-navigation .inside-navigation,.main-navigation .main-nav>ul{flex-wrap:nowrap}
.main-navigation .main-nav ul li a{font-size:13px;padding-left:11px;padding-right:11px;white-space:nowrap}
.caz-social{gap:.4rem;padding-left:.5rem}
.caz-social a{width:32px;height:32px}
.caz-social svg{width:17px;height:17px}
@media(max-width:1180px){.caz-social{display:none}}

/* Agenda */
.caz-agenda{list-style:none;margin:0;padding:0}
.caz-agenda li{display:flex;gap:.8rem;align-items:center;padding:.6rem 0;border-bottom:1px solid #eee}
.caz-agenda .dia{flex:0 0 52px;text-align:center;background:var(--caz-ocre);color:#fff;border-radius:4px;padding:.3rem 0;line-height:1.1;text-transform:uppercase;font-size:.75rem}
.caz-agenda .dia b{display:block;font-size:1.3rem}
.caz-agenda .dato small{display:block;color:#666}
.caz-agenda-vacia{background:var(--caz-beige);border-radius:6px;padding:1rem;text-align:center}

/* Home: columnas que se reparten bien (sin tarjetas más anchas que su columna) */
.home .wp-block-columns{flex-wrap:wrap!important}
.home .wp-block-column{flex:1 1 220px!important;min-width:0}
.wp-block-column .caz-albumes{grid-template-columns:1fr}
.caz-agenda.pasados li{opacity:.75}
.caz-agenda.pasados .dia{background:#999}
.caz-agenda-h{margin-top:2rem}

/* Iconos de redes en pantallas estrechas: pasan al pie de página */
.caz-social-pie{display:flex;justify-content:center;padding:.8rem 0}
.caz-social-pie .caz-social{display:flex;margin:0;padding:0}
@media(min-width:1181px){.caz-social-pie{display:none}}

/* Submenús: la caja se ajusta al texto */
.main-navigation .main-nav ul ul{width:max-content;min-width:210px;max-width:360px}
.main-navigation .main-nav ul ul li a{white-space:normal;line-height:1.35;padding-top:.6rem;padding-bottom:.6rem}

/* Agenda agrupada por año y mes */
.caz-agenda-anio{margin:2rem 0 .3rem;border-bottom:3px solid var(--caz-ocre);padding-bottom:.2rem}
.caz-agenda-mes{margin:1.2rem 0 .3rem;color:var(--caz-naranja)}
.caz-agenda .dato .desc{display:block;color:#555;font-size:.9rem}
.caz-agenda .dia{flex:0 0 64px}

/* Tarjeta de álbum: botones de tamaño normal, también en columnas estrechas (Home) */
.caz-album{align-self:start;height:auto}
.caz-album .acciones{display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:.5rem;margin-top:auto}
.caz-album .acciones .boton{flex:0 0 auto;height:auto;min-height:0;aspect-ratio:auto;padding:.55rem 1rem;line-height:1.3;font-size:.95rem;margin:0}
