/* === RESET + BASE === */
*{box-sizing:border-box}
body{font-family:Arial,Tahoma,sans-serif;font-size:15px;line-height:20px;margin:0;background:#fff;padding-top:0}
a{color:#000;text-decoration:none}
a:hover{text-decoration:underline}
.container,.container.blanco{width:100%;max-width:1200px;margin:0 auto;background:#fff;padding:20px;border-radius:5px}

/* === FIX CONTAINERS ANIDADOS - PARA COMPATIBILIDAD CON TU HTML === */
.container .container{
  width:100%;
  max-width:1200px;
  padding:0 20px;
  margin:0 auto;
  background:transparent;
  border-radius:0;
  box-shadow:none;
}

h1,h2,h3{margin:10px 0;font-weight:700;line-height:40px;color:inherit}
h1{font-size:38.5px}
h2{font-size:20.5px}
h3{font-size:24.5px}
p{margin:20px 0 10px}
ol,ul{padding:0;margin:0 0 10px 25px}
hr{margin:20px 0;border:0;border-top:1px solid #f5f5;border-bottom:1px solid #fff}

/* === HEADER + MENU === */
header{background:#000;width:100%;position:relative;z-index:9999;margin:0;padding:0}
nav#cssmenu{max-width:1200px;margin:0 auto;min-height:46px;position:relative;display:flex;justify-content:space-between;align-items:center;padding:0 20px}
.menu-toggle{display:none}
.button{display:none}
ul.menu-lista{display:flex;gap:0;margin:0;padding:0;list-style:none}
ul.menu-lista>li>a{display:block;padding:17px 15px;color:#ddd;font:14px Arial,sans-serif;letter-spacing:1px;transition:background.2s}
ul.menu-lista>li>a:hover{background:#2e7d32;color:#fff;text-decoration:none}

/* === SITE BRAND - EFECTO SHINE VERDE FORZADO === */
.site-brand{
  padding:10px 0!important;
  display:block!important;
}
.site-brand.brand-link,
.site-brand.brand-link:hover,
.site-brand.brand-link:visited,
.site-brand.brand-link:active {
  display: inline-flex!important;
  align-items: center!important;
  font-size: 24px!important;
  font-weight: 800!important;
  color: #fff!important;
  text-decoration: none!important;
  letter-spacing: -0.5px!important;
  line-height: 1!important;
  background: none!important;
}

.site-brand.brand-link.shine {
  display: inline-block!important;
  font-weight: 900!important;
  background: linear-gradient(135deg, #10b981 0%, #059669 50%, #047857 100%)!important;
  background-size: 200% auto!important;
  -webkit-background-clip: text!important;
  -webkit-text-fill-color: transparent!important;
  background-clip: text!important;
  animation: shine-brand 4s linear infinite!important;
  color: #10b981!important;
}

@keyframes shine-brand {
  0% {background-position: 0% center}
  100% {background-position: 200% center}
}

/* === BREADCRUMB === */
.breadcrumb{margin:0 0 20px;list-style:none;background:#f5f5f5;border-radius:4px;padding:.75rem 1rem}
.breadcrumb>li{display:inline-block}
.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#ccc}
.breadcrumb>.active{color:#000}

/* === SUBMENU CON LINEA VERDE === */
.submenu-related-channel{color:#111827;border-bottom:2px solid #16a34a;font-size:20.5px;line-height:26px;padding-bottom:8px;margin:20px 0 16px;font-weight:700}

/* === HERO INTERACTIVO === */
.hero-interactive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:flex-start;max-width:1100px;margin:40px auto;padding:0 16px;width:100%}
.left-hero-column{width:100%;min-width:0}
.welcome-text-side{margin-bottom:24px;color:#111827}
.welcome-text-side h1{font-size:34px;font-weight:800;line-height:1.1;margin:0 0 12px;letter-spacing:-.8px;color:#111827}
.welcome-text-side h1 em{color:#047857;font-style:normal}
.welcome-text-side{font-size:15px;line-height:1.5;font-weight:500;color:#374151}

/* === FORM CARD === */
.vibrant-access-card{background:#fff;border-radius:18px;padding:24px 20px;box-shadow:0 2px 8px rgba(0,0,0,.06),0 10px 25px rgba(5,150,105,.1);border:1px solid rgba(16,185,129,.18);position:relative;width:100%;overflow:hidden}
.vibrant-access-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#047857,#059669,#10b981,#34d399)}
.cta-text{font-size:11px;font-weight:800;color:#000;letter-spacing:.6px;text-transform:uppercase;margin-bottom:14px;text-align:center}
.input-wrapper{display:flex;align-items:stretch;background:#f9fafb;border:2px solid #d1fae5;border-radius:12px;overflow:hidden;transition:all.25s;margin-bottom:12px}
.input-wrapper:focus-within{border-color:#10b981;background:#fff;box-shadow:0 0 0 4px rgba(16,185,129,.08)}
.at-sign{display:flex;align-items:center;padding:0 14px;font-size:18px;font-weight:800;color:#047857;background:linear-gradient(180deg,#ecfdf5 0%,#d1fae5 100%);border-right:1px solid #a7f3d0}
#nick{flex:1;border:none;background:transparent;padding:14px 12px;font-size:15px;font-weight:600;color:#111827;outline:none;min-width:0}
#nick::placeholder{color:#6b7280;font-weight:500}
#btnSubmitChat{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:14px;background:linear-gradient(135deg,#047857 0%,#059669 100%);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all.2s;box-shadow:0 3px 10px rgba(16,185,129,.25)}
#btnSubmitChat:hover{background:linear-gradient(135deg,#065f46 0%,#047857 100%);box-shadow:0 4px 16px rgba(16,185,129,.35);transform:translateY(-1px)}
.vibrant-badges{display:flex;justify-content:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.v-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:16px;font-size:11px;font-weight:600;color:#047857}
.v-badge::before{content:'✓';font-weight:800}

/* === CELULAR + EFECTO CHAT === */
.v3-phone-wrap{position:relative;max-width:100%;margin:0 auto;width:100%;display:flex;justify-content:center;transform:rotate(-4deg)}
.v3-phone{background:linear-gradient(145deg,#1f2937 0%,#111827 100%);border-radius:40px;padding:10px;box-shadow:0 15px 50px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.05) inset;position:relative;width:100%;max-width:340px}
.v3-phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#000;border-radius:0 0 16px 16px;z-index:10}
.v3-phone-screen{background:linear-gradient(180deg,#f0fdf4 0%,#fff 100%);border-radius:32px;overflow:hidden;height:580px;display:flex;flex-direction:column}
.v3-pc-header{background:linear-gradient(135deg,#047857 0%,#059669 50%,#10b981 100%);padding:42px 16px 12px;color:#fff;display:flex;align-items:center;gap:10px}
.v3-pc-back{font-size:20px;font-weight:300}
.v3-pc-avatar{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:18px}
.v3-pc-room-name{font-weight:700;font-size:14px;margin-bottom:1px}
.v3-pc-room-meta{font-size:10px;opacity:.95;display:flex;align-items:center;gap:3px}
.live-pulse{width:5px;height:5px;background:#4ade80;border-radius:50%;display:inline-block;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.v3-pc-msgs{flex:1;padding:18px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}
.v3-pc-day{text-align:center;font-size:10px;color:#6b7280;margin:6px 0;font-weight:600}
.msg-bubble{max-width:80%;padding:10px 12px;border-radius:14px;font-size:12px;line-height:1.4;animation:slideIn.3s ease}
.msg-bubble.left{background:#fff;color:#111827;align-self:flex-start;border-bottom-left-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.msg-bubble.right{background:linear-gradient(135deg,#059669 0%,#10b981 100%);color:#fff;align-self:flex-end;border-bottom-right-radius:4px;box-shadow:0 2px 6px rgba(16,185,129,.25)}
.msg-avatar{display:inline-block;margin-right:5px;font-size:13px}
.msg-time{font-size:9px;opacity:.7;margin-top:3px}
.v3-pc-composer{padding:12px;background:#fff;border-top:1px solid #e5e7eb;display:flex;align-items:center;gap:8px}
.v3-pc-input{flex:1;background:#f3f4f6;border-radius:20px;padding:10px 14px;font-size:12px;color:#374151;font-weight:500}
.v3-pc-send{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#047857 0%,#059669 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px}
@keyframes slideIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.v3-pc-typing{display:flex;gap:4px;padding:10px 12px;background:#fff;border-radius:14px;max-width:60px;align-self:flex-start;box-shadow:0 1px 4px rgba(0,0,0,.05);opacity:0;transform:translateY(6px);transition:all.3s ease}
.v3-pc-typing.v3-typing-visible{opacity:1;transform:translateY(0)}
.v3-pc-typing span{width:6px;height:6px;background:#9ca3af;border-radius:50%;animation:typing 1.4s infinite}
.v3-pc-typing span:nth-child(2){animation-delay:.2s}
@keyframes typing{0%,60%,100%{opacity:.3}30%{opacity:1}}
.v3-msg-in{opacity:1;transform:translateY(0)}

/* === BADGES FLOTANTES === */
.v3-phone-badge{position:absolute;background:#fff;border-radius:12px;padding:8px 12px;box-shadow:0 4px 16px rgba(0,0,0,.12);display:flex;align-items:center;gap:6px;font-size:11px;z-index:20;border:1px solid #e5e7eb;animation:floatBadge 4s ease-in-out infinite}
.v3-phone-badge:hover{animation-play-state:paused}
.v3-phone-badge.emoji{font-size:18px}
.v3-phone-badge b{display:block;color:#111827;font-weight:700;line-height:1.2;font-size:11px}
.v3-phone-badge small{display:block;color:#4b5563;font-size:9px;font-weight:500}
.v3-phone-badge.b1{top:12%;right:-10px;animation-delay:0s}
.v3-phone-badge.b2{top:42%;left:-20px;animation-delay:1.3s}
.v3-phone-badge.b3{bottom:18%;right:-8px;animation-delay:2.6s}
@keyframes floatBadge{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(1deg)}}

/* === GRIDS PC === */
.salas-lista{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin:25px 0
}
.sala-fila{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#fff;
  border:1px solid #e5e5e5;
  border-radius:8px;
  padding:14px 18px;
  color:#222;
  font-weight:600;
  transition:all.2s ease
}
.sala-fila:hover{
  border-color:#2e7d32;
  background:#f8fdf8;
  box-shadow:0 2px 8px rgba(46,125,50,.12);
  transform:translateY(-1px)
}
.sala-nombre{
  font-size:14px;
  color:#222
}
.btn-entrar{
  background:#2e7d32;
  color:#fff;
  padding:6px 16px;
  border-radius:6px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  flex-shrink:0;
  text-decoration:none;
  transition:all.2s ease
}
.btn-entrar:hover{
  background:#1b5e20;
  text-decoration:none
}
.salas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px 0;margin:20px 0}

/* === COLUMNA SALA - FALTABA ESTO === */
.columna-sala{
  background:#fff;
  border-radius:8px;
  border:1px solid #e5e5e5;
  transition:all.2s ease;
  align-self:start
}
.columna-sala:hover{
  border-color:#2e7d32;
  box-shadow:0 2px 8px rgba(46,125,50,.12)
}
.columna-sala summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 16px;
  cursor:pointer;
  list-style:none
}
.columna-sala summary::-webkit-details-marker{display:none}
.columna-sala summary h3{
  font-size:15px;
  font-weight:700;
  margin:0;
  color:#222;
  text-transform:uppercase;
  position:relative
}
.columna-sala[open] summary h3::after{
  content:'';
  position:absolute;
  left:0;
  bottom:-10px;
  width:100%;
  height:2px;
  background:#2e7d32
}
.sala-icon{
  width:20px;
  height:20px;
  position:relative;
  flex-shrink:0
}
.sala-icon::before,.sala-icon::after{
  content:'';
  position:absolute;
  background:#2e7d32;
  transition:transform.25s ease
}
.sala-icon::before{width:12px;height:2px;top:9px;left:4px}
.sala-icon::after{width:2px;height:12px;top:4px;left:9px}
.columna-sala[open].sala-icon::after{transform:rotate(90deg)}
.columna-sala[open]{background:#f8fdf8}
.columna-sala ul{
  list-style:none;
  padding:0 16px 18px;
  margin:0
}
.columna-sala ul li{margin-bottom:8px}
.columna-sala ul li a{
  color:#333;
  font-size:14px;
  font-weight:500;
  display:block;
  padding:8px 12px;
  border-radius:6px;
  transition:all.2s ease
}
.columna-sala ul li a:hover{
  color:#fff;
  background:#2e7d32;
  padding-left:16px;
  text-decoration:none
}

/* === COUNTRY CARDS === */
.country-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:32px 0;padding:0;list-style:none}
.country-item{margin:0}
.country-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;text-decoration:none;transition:all.25s cubic-bezier(.4,0,.2,1);height:100%}
.country-card:hover{border-color:#16a34a;background:#f0fdf4;box-shadow:0 4px 12px rgba(22,163,74,.12);transform:translateY(-3px);text-decoration:none}
.country-badge{
  flex-shrink:0;
  width:48px;
  height:48px;
  background:linear-gradient(135deg,#16a34a,#22c55e);
  color:#fff;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:0;
  letter-spacing:.5px;
}
.country-badge::before{
  content:attr(data-text);
  font-size:14px;
}
.country-content{flex:1;min-width:0}
.country-content h2{margin:0 0 6px;font-size:18px;font-weight:700;color:#111827;line-height:1.3}
.country-card:hover.country-content h2{color:#16a34a}
.country-content p{margin:0 0 12px;color:#6b7280;line-height:1.5;font-size:14px}
.country-cta{display:inline-flex;align-items:center;gap:4px;color:#16a34a;font-size:13px;font-weight:600;opacity:0;transform:translateX(-4px);transition:all.2s ease}
.country-card:hover.country-cta{opacity:1;transform:translateX(0)}

/* === FOOTER === */
.footer{padding:25px 15px;background:#fafafa;border-top:1px solid #e0e0e0}
.footer-contenido{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;font-size:13px;color:#666;text-align:center}
.footer-nav{display:contents}
.footer-nav a{color:#2e7d32;font-weight:500}
.footer-nav a:hover{text-decoration:underline}

/* === RESPONSIVE MÓVIL === */
@media only screen and (max-width:768px){
.container,.container.blanco{width:100%;padding:12px;border-radius:0}
body{font-size:14px;line-height:22px}
h1{font-size:26px;line-height:32px}
h2{font-size:18px;line-height:24px}
h3{font-size:16px;line-height:22px}
header{position:sticky;top:0}
nav#cssmenu{min-height:56px;padding:0 15px}
.site-brand{float:none;width:100%;height:56px;display:flex;align-items:center;justify-content:center;padding:0}
.site-brand.brand-link{font-size:22px}
.button{display:block;position:absolute;right:15px;top:14px;width:28px;height:28px;cursor:pointer;z-index:10000}
.button span,.button span:before,.button span:after{content:'';position:absolute;width:28px;height:3px;background:#fff;border-radius:2px;transition:all.3s ease}
.button span{top:12px}
.button span:before{top:-8px}
.button span:after{top:8px}
.menu-toggle:checked +.button span{background:transparent}
.menu-toggle:checked +.button span:before{top:0;transform:rotate(45deg)}
.menu-toggle:checked +.button span:after{top:0;transform:rotate(-45deg)}
ul.menu-lista{display:none;position:absolute;top:56px;left:0;width:100%;background:#1a1a1a;margin:0;padding:0;list-style:none;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.menu-toggle:checked ~ ul.menu-lista{display:block}
ul.menu-lista>li{border-top:1px solid #333}
ul.menu-lista>li>a{display:block;padding:16px 20px;font-size:15px;color:#ddd}
ul.menu-lista>li>a:hover{background:#2e7d32;color:#fff}
.hero-interactive-grid{grid-template-columns:1fr;gap:28px;margin:24px auto;padding:0}
.left-hero-column{order:1}
.v3-phone-wrap{order:2;transform:rotate(0);max-width:300px}
.v3-phone-badge{display:none}
.welcome-text-side h1{font-size:26px;text-align:center}
.welcome-text-side{text-align:center;font-size:14px;margin-bottom:20px}
.v3-phone-screen{height:520px}
.vibrant-access-card{padding:20px 16px}
#nick{font-size:16px}
.regiones-grid,.salas-grid,.salas-lista,.country-cards{grid-template-columns:1fr;gap:10px}
.regiones-grid a{padding:12px 15px}
.btn-entrar{padding:6px 14px;font-size:11px}
.country-card{padding:16px;gap:14px}
.country-badge{
  width:44px;
  height:44px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
  color:initial;
  font-size:24px;
}
.country-badge::before{
  content:'';
  display:none;
}
.country-card:hover.country-badge{background:#fff;border-color:#16a34a}
.country-content h2{font-size:16px}
.country-content p{font-size:13px}
.country-cta{opacity:1;transform:translateX(0)}
.columna-sala summary{padding:16px 14px}
.columna-sala summary h3{font-size:14px}
.breadcrumb{font-size:13px;padding:10px 15px;overflow-x:auto;white-space:nowrap}
.footer-contenido{flex-direction:column;gap:8px;font-size:12px}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px}
.submenu-related-channel{font-size:18px;line-height:26px;padding-bottom:8px;margin:20px 0 16px}
}

/* === TABLET === */
@media only screen and (min-width:769px) and (max-width:1024px){
.container,.container.blanco{width:95%;max-width:95%}
.regiones-grid,.salas-grid,.country-cards{grid-template-columns:repeat(2,1fr)}
}

/* === ACCESIBILIDAD === */
@media (prefers-reduced-motion:reduce){
.v3-phone-badge,.live-pulse{animation:none}
.site-brand.brand-link.shine{animation:none;background-position:0% center}
}

/* === BRAND UNIVERSO - EFECTO SHINE LOOP === */
.menu-brand {
  padding: 10px 0!important;
  display: block!important;
}

.menu-brand .menu-link {
  display: inline-flex!important;
  align-items: center!important;
  font-size: 24px!important;
  font-weight: 800!important;
  color: #ffffff!important;
  text-decoration: none!important;
  font-family: Arial, sans-serif!important;
  line-height: 1!important;
}

.menu-brand .menu-link .menu-shine {
  position: relative!important;
  display: inline-block!important;
  font-weight: 900!important;
  background: linear-gradient(
    90deg, 
    #047857 0%, 
    #059669 20%, 
    #10b981 40%, 
    #34d399 50%, 
    #10b981 60%, 
    #059669 80%, 
    #047857 100%
  )!important;
  background-size: 200% auto!important;
  -webkit-background-clip: text!important;
  -webkit-text-fill-color: transparent!important;
  background-clip: text!important;
  animation: shine-loop 3s linear infinite!important;
}

@keyframes shine-loop {
  0% {
    background-position: 200% center;
  }
  100% {
    background-position: -200% center;
  }
}

@media (max-width: 768px) {
  .menu-brand .menu-link {
    font-size: 22px!important;
  }
}

/* === INFO POST-FORM === */
.post-form-info {
  margin-top: 28px;
  margin-bottom: 14px;
  padding: 24px;
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
  border-radius: 14px;
  border: 1px solid #bbf7d0;
}

.post-form-info h2 {
  font-size: 22px;
  font-weight: 800;
  color: #065f46;
  margin: 0 0 12px;
  line-height: 1.3;
}

.post-form-info p {
  font-size: 15px;
  line-height: 1.6;
  color: #374151;
  margin: 0;
  font-weight: 500;
}

/* Responsive */
@media only screen and (max-width:768px){
.post-form-info {
  margin-top: 20px;
  padding: 20px 16px;
}
.post-form-info h2 {
  font-size: 18px;
}
.post-form-info p {
  font-size: 14px;
}
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}