/*
Theme Name: nanü café & cool-working
Theme URI: https://nanucafe.es
Author: TAG marketing digital
Author URI: https://tagmarketingdigital.es
Description: Tema a medida para nanü café & cool-working. Carta, planes de coworking y galería editables desde el escritorio de WordPress.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: Propietario
Text Domain: nanu
*/

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
::selection { background: #745e59; color: #f7f5f0; }

[hidden] { display: none !important; }

a { color: #745e59; }
a:hover { color: #5c4a45; }

@keyframes rise { from { opacity: 0; transform: translateY(42px); } to { opacity: 1; transform: translateY(0); } }
@keyframes riseScale { from { opacity: 0; transform: translateY(36px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes bounceDot { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes marquee { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
@keyframes spin { to { transform: rotate(360deg); } }

.nanu-rise { animation: rise both; animation-timeline: view(); animation-range: entry 0% cover 28%; }
.nanu-rise-s { animation: riseScale both; animation-timeline: view(); animation-range: entry 0% cover 30%; }

.nanu-hover-lift { transition: transform .3s, box-shadow .3s; }
.nanu-hover-lift:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(61,48,43,.12); }
.nanu-btn { transition: transform .25s, background .25s, border-color .25s, color .25s; }
.nanu-btn:hover { transform: translateY(-2px); }
.nanu-link-arrow:hover { gap: 11px !important; }
.nanu-lang:hover { border-color: #745e59 !important; color: #745e59 !important; }
.nanu-outline:hover { border-color: #745e59 !important; color: #745e59 !important; }
.nanu-social:hover { opacity: .8; }

/* Pantalla de carga */
#nanu-loader { position: fixed; inset: 0; z-index: 9999; background: #745e59; display: flex; align-items: center; justify-content: center; transition: opacity .5s ease; }
#nanu-loader.nanu-gone { opacity: 0; pointer-events: none; }

@media (max-width: 900px) {
  .nav-links { gap: 16px !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; scrollbar-width: none !important; flex: 1 1 auto !important; min-width: 0 !important; }
  .nav-links::-webkit-scrollbar { display: none; }
  .nav-links a { flex: none !important; font-size: 14px !important; }
  .hero-grid { grid-template-columns: 1fr !important; gap: 36px !important; padding-top: 44px !important; }
  .hero-visual { height: 340px !important; }
  .loc-grid { grid-template-columns: 1fr !important; }
  .mem-grid { grid-template-columns: 1fr !important; justify-items: center !important; }
  .mem-card { width: 100% !important; max-width: 368px !important; height: auto !important; min-height: 220px !important; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .gallery-grid { grid-template-columns: repeat(2,1fr) !important; grid-auto-rows: 160px !important; }
  .gallery-grid img { grid-column: span 1 !important; grid-row: span 1 !important; }
  .section-pad { padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 560px) {
  .hero-visual { height: 280px !important; }
  .gallery-grid { grid-auto-rows: 130px !important; gap: 10px !important; }
  .section-pad { padding-left: 20px !important; padding-right: 20px !important; padding-top: 48px !important; padding-bottom: 48px !important; }
  .menu-item-desc { display: none !important; }
}

/* Contenido de eventos (editor de WordPress) */
.nanu-entry { font-size: 18px; line-height: 1.65; color: #4d3f39; }
.nanu-entry > * { margin: 0 0 18px; }
.nanu-entry h2, .nanu-entry h3 { font-family: 'Montserrat', sans-serif; color: #3d302b; line-height: 1.15; margin-top: 32px; }
.nanu-entry img { max-width: 100%; height: auto; border-radius: 22px; }
.nanu-entry .wp-block-gallery, .nanu-entry .gallery { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 14px; }
.nanu-entry .wp-block-gallery figure, .nanu-entry .gallery figure { margin: 0 !important; width: 100% !important; }
.nanu-entry .wp-block-gallery img, .nanu-entry .gallery img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.nanu-entry a { color: #745e59; text-underline-offset: 2px; }
.nanu-card-hover { transition: transform .3s, box-shadow .3s; }
.nanu-card-hover:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(61,48,43,.12); }
