/* =========================================================
   RIGNAC v5.4 — UNIFICACIÓN VISUAL Y FUNCIONAL
   Capa transversal: no reemplaza el diseño de cada módulo;
   normaliza escala, navegación, botones, reloj y respuesta.
   ========================================================= */
:root{
  --rignac-gold:#d9a52c;
  --rignac-gold-soft:#f1c75b;
  --rignac-ink:#030504;
  --rignac-panel:#07100d;
  --rignac-cream:#f2e9d2;
  --rignac-line:rgba(217,165,44,.55);
  --rignac-radius:18px;
  --rignac-touch:48px;
}
html{background:#020302;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{overflow-x:hidden;background:#020302;color:var(--rignac-cream)}
body,button,a,input,select,textarea{box-sizing:border-box}
img{max-width:100%}
button,a{-webkit-tap-highlight-color:transparent}

/* Una misma huella visual para todos los módulos. */
.app-shell,.phone-shell,.app,.panel,.home-app{
  position:relative;
  isolation:isolate;
}
@media (min-width:900px) and (orientation:landscape){
  .app-shell,.phone-shell,.app,.home-app{
    width:min(760px,calc((100dvh - 24px) * .5625)) !important;
    max-width:none !important;
    margin-inline:auto !important;
    box-shadow:0 0 48px rgba(0,0,0,.72);
  }
}
@media (max-width:899px){
  .app-shell,.phone-shell,.app,.home-app{width:min(100%,760px) !important;margin-inline:auto !important}
}

/* Reloj/fecha/clima único y estable. */
.rignac-status{
  border-radius:16px !important;
  border:1px solid rgba(217,165,44,.76) !important;
  background:linear-gradient(145deg,rgba(5,7,6,.97),rgba(22,16,8,.95)) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.04) !important;
}
.rignac-status__time{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.rignac-status__date{letter-spacing:.01em}

/* Botón volver: misma escala táctil, sin alterar posición del módulo. */
.back-button,.round-button.back-button,.back-btn,.round.back{
  min-width:var(--rignac-touch) !important;
  min-height:var(--rignac-touch) !important;
  border-color:rgba(217,165,44,.88) !important;
  background:linear-gradient(145deg,rgba(20,19,14,.94),rgba(4,5,4,.96)) !important;
  box-shadow:0 7px 18px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05) !important;
}
.back-button img,.round-button.back-button img,.back-btn img{object-fit:contain}

/* Iconografía 3D: proporción común. */
.r3d-icon,.r3d-nav-icon,.r3d-control-icon{object-fit:contain;filter:drop-shadow(0 4px 7px rgba(0,0,0,.44))}
.r3d-icon-frame{display:grid;place-items:center}

/* Navegación inferior común. Se conserva el HTML original. */
.bottom-nav,.bottom-navigation{
  position:relative;
  z-index:30;
  border-top:1px solid rgba(217,165,44,.32);
}
.bottom-nav a,.bottom-navigation button{
  min-height:64px !important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.bottom-nav a:active,.bottom-navigation button:active{transform:scale(.975)}
.bottom-nav a.active,.bottom-navigation button.active,.bottom-nav a[aria-current="page"]{
  border-color:rgba(241,199,91,.95) !important;
  box-shadow:inset 0 0 0 1px rgba(241,199,91,.18),0 0 16px rgba(217,165,44,.08);
}
.bottom-nav .r3d-nav-icon,.bottom-navigation .r3d-nav-icon{width:28px;height:28px}

/* Tipografía: evitar cortes de titulares sin cambiar la identidad serif. */
h1,h2,.hero-title,.module-title,.brand-name{overflow-wrap:normal;word-break:normal}

/* PANEL DE SONIDOS: conservar v5.2 y filtro Todas; solo normalización. */
body.rignac-module-sound .clock-widget__period{display:none !important}
body.rignac-module-sound .hero{overflow:hidden}
body.rignac-module-sound .category-chips{align-items:center}
body.rignac-module-sound .category-chips button{min-height:40px}
body.rignac-module-sound .bottom-navigation{padding-bottom:max(12px,env(safe-area-inset-bottom))}

/* ORÁCULO: asegurar que el emblema y CTA respiren bien. */
body.rignac-module-oracle .draw{min-height:50px}
body.rignac-module-oracle .bottom-nav{padding-bottom:max(10px,env(safe-area-inset-bottom))}

/* TARJETAS: grid y márgenes consistentes. */
body.rignac-module-cards .bottom-nav{padding-bottom:max(10px,env(safe-area-inset-bottom))}

/* MEDITACIÓN / I-CHING / RECORRIDO: evitar títulos cortados en huella 9:16. */
body.rignac-module-meditation .hero-title,
body.rignac-module-iching .hero-title,
body.rignac-module-tour .hero-title-wrap{max-width:72%}
body.rignac-module-meditation .bottom-nav,
body.rignac-module-iching .bottom-nav,
body.rignac-module-tour .bottom-nav{padding-bottom:max(10px,env(safe-area-inset-bottom))}

/* Pantallas pequeñas: status y navegación sin choque. */
@media (max-width:520px){
  .rignac-status{min-width:108px !important;max-width:132px !important;padding:10px 11px !important}
  .rignac-status__time{font-size:20px !important}
  .rignac-status__date{font-size:9px !important}
  .rignac-status__weather{font-size:11px !important}
  .bottom-nav a,.bottom-navigation button{min-height:58px !important}
}

/* Accesibilidad discreta. */
:focus-visible{outline:2px solid var(--rignac-gold-soft);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
