/* Camada AERON: revisão funcional e responsiva Kinder Haus. */
:root { --color-primary-green:#267b30; --color-primary-blue:#0878ac; --color-primary-red:#ca3026; }
[hidden], .splash-screen[hidden] { display:none !important; }
button:focus-visible, a:focus-visible { outline:3px solid #0878ac; outline-offset:4px; }
.stats-pill { display:none; }
.top-bar { padding:16px 20px; }
.logo { height:48px; }
.bottom-dock { padding:16px; padding-bottom:calc(16px + env(safe-area-inset-bottom)); }
.dock-container { gap:10px; padding:10px 14px; border-radius:24px; }
.dock-btn { min-width:0; padding:10px 14px; flex-direction:row; font-size:0.85rem; }
.dock-btn svg { margin:0; flex-shrink:0; }
.kh-utilities { position:absolute; right:20px; top:94px; display:flex; gap:8px; }
.kh-utilities button { background:#fff; color:var(--color-text-dark); padding:8px 12px; min-height:44px; font-size:0.75rem; }
.scene-label { bottom:94px; left:20px; max-width:calc(100% - 40px); }
.scene-label span { padding:8px 14px; font-size:0.8rem; }
.kh-status { position:absolute; top:150px; right:20px; max-width:300px; }
.kh-status:not(:empty) { background:white; padding:12px; border-radius:12px; }
.kh-immersive .top-bar, .kh-immersive .bottom-dock, .kh-immersive .scene-label, .kh-immersive #kh-sound, .kh-immersive #kh-help { display:none !important; }
.panel-backdrop { background:transparent; backdrop-filter:none; }
.panel { background:#fdf5e6; }
.panel-header { padding-right:84px; }
.panel-title { font-size:clamp(1.4rem,3vw,2rem); }
.panel-subtitle { font-size:0.75rem; color:#aa211b; }
.panel-content { min-height:0; }
.kh-scenes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.pano-card { background:white; padding:0; border-radius:16px; flex-direction:column; text-align:left; overflow:hidden; min-width:0; }
.pano-card img { width:100%; height:110px; object-fit:cover; }
.pano-card > span { display:flex; flex-direction:column; gap:4px; padding:12px; width:100%; }
.pano-card small { color:#555; font-weight:700; }
.pano-card[aria-current="true"] { outline:3px solid #267b30; outline-offset:2px; }
.card { text-align:left; border-radius:16px; }
.card-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card-info { min-width:0; }
.card-badge { color:var(--color-text-dark); }
.kh-card-link { font-size:0.8rem; margin-top:8px; color:#126520; }
.kh-panel-intro { margin:0 0 18px; color:#555; line-height:1.5; }
.kh-package-title { margin:20px 0 6px; font-size:1.7rem; }
#btn-back-packages { padding:10px 16px; background:white; }
.kh-package-details { background:white; padding:20px; border:2px solid var(--border-color); border-radius:16px; margin:20px 0; line-height:1.6; }
.kh-cta { display:inline-flex; background:#267b30; color:white; padding:12px 18px; border:2px solid var(--border-color); border-radius:16px; font-weight:900; text-decoration:none; min-height:44px; }
.kh-facts { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.kh-facts strong { background:white; border:2px solid var(--border-color); padding:8px 12px; border-radius:12px; }
.kh-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.kh-gallery button { background:white; border-radius:16px; flex-direction:column; overflow:hidden; text-align:left; padding:0; }
.kh-gallery img { width:100%; height:130px; object-fit:cover; }
.kh-gallery span { padding:0 10px; font-size:0.8rem; }
.kh-photo-view { text-align:center; }
.kh-photo-view img { display:block; max-width:100%; width:100%; height: min(48vh,420px); object-fit:contain; background:#fff; border-radius:12px; }
.kh-photo-view figcaption { margin:10px 0; font-weight:700; }
.kh-photo-controls { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.kh-photo-controls button { padding:10px 14px; background:white; }
.panel-content > p { line-height:1.6; margin-bottom:16px; }
.desktop-only { display:inline-flex; }
.mobile-only { display:none; }
.splash-screen { height:100dvh; overflow-y:auto; }
.splash-content-area { padding:28px; min-width:0; }
.splash-header-desktop { margin-bottom:28px; }
.splash-title { font-size:clamp(2rem,4vw,3.3rem); }
.splash-desc { margin-bottom:24px; }
.splash-actions { margin-bottom:24px; gap:12px; }
.splash-progress-section { margin:0; }
.splash-progress-bar, .label-right { display:none; }
.splash-progress-labels { letter-spacing:0; }
.title-rays { right:0; width:55px; height:55px; }
@media (max-width:900px) {
  .desktop-only { display:none !important; }
  .mobile-only { display:inline-flex; }
  .bottom-dock { display:none; }
  .top-bar { flex-wrap:nowrap; padding:12px; gap:8px; }
  .logo { height:36px; }
  .logo-container { padding:4px 8px; }
  #btn-contact { width:44px; height:44px; padding:0; border-radius:50%; }
  #btn-menu-mobile { min-height:44px; padding:10px 14px; }
  .kh-utilities { top:auto; bottom:calc(12px + env(safe-area-inset-bottom)); right:12px; left:12px; justify-content:center; flex-wrap:wrap; }
  .kh-utilities button { font-size:0.7rem; padding:8px 10px; }
  .scene-label { bottom:calc(76px + env(safe-area-inset-bottom)); left:12px; max-width:calc(100% - 24px); }
  .kh-status { top:80px; right:12px; }
  .panel { width:calc(100% - 16px); max-height:88dvh; align-self:center; border:3px solid var(--border-color); border-radius:24px; }
  .panel-header { padding:20px 64px 10px 20px; }
  .panel-content { padding:12px 20px 24px; }
  .btn-close { top:16px; right:16px; width:44px; height:44px; }
  #mobile-dock-container { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  #mobile-dock-container button { min-height:68px; flex-direction:column; padding:12px; }
  .kh-scenes, .card-list, .kh-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .card-list { grid-template-columns:1fr; }
  .card { padding:16px; }
  .splash-screen { flex-direction:column; }
  .splash-photo-area { flex:0 0 26%; min-height:150px; }
  .splash-kinder-badge { bottom:-36px; gap:6px; }
  .splash-kinder-card { padding:8px 12px; }
  .splash-kinder-card img { width:104px; }
  .splash-tour-badge { font-size:0.6rem; padding:5px 10px; }
  .splash-content-area { margin-top:-16px; padding:58px 24px 20px; justify-content:center; flex:1; border-radius:24px 24px 0 0; }
  .splash-kicker { font-size:0.6rem; margin-bottom:10px; }
  .splash-title { font-size:2.3rem; margin-bottom:12px; }
  .splash-desc { font-size:0.9rem; margin-bottom:18px; }
  .splash-actions { flex-direction:column; margin-bottom:18px; gap:10px; }
  .btn-splash-outline, .btn-splash-solid { min-height:44px; padding:12px; font-size:0.8rem; }
  .splash-aeron-footer { margin-top:16px; }
  .splash-progress-note { font-size:0.7rem; }
}
@media (max-width:900px) and (max-height:700px) and (orientation:portrait) {
  .splash-photo-area { flex-basis:18%; min-height:85px; }
  .splash-kinder-card img { width:80px; }
  .splash-tour-badge { display:none; }
  .splash-kinder-badge { bottom:-22px; }
  .splash-content-area { padding:40px 20px 14px; }
  .splash-title { font-size:1.85rem; }
  .splash-desc { margin-bottom:12px; font-size:0.8rem; }
  .splash-actions { margin-bottom:12px; }
  .splash-aeron-footer { margin-top:10px; }
}
@media (orientation:landscape) and (max-height:500px) {
  .splash-screen { flex-direction:row; }
  .splash-photo-area { flex:0 0 36%; min-height:0; border:none; }
  .splash-kinder-badge { top:20px; bottom:auto; width:100%; }
  .splash-content-area { margin:0; border-radius:0; border-top:none; border-left:3px solid var(--border-color); padding:16px 22px; justify-content:center; }
  .splash-kicker { margin-bottom:6px; }
  .splash-title { font-size:1.8rem; margin-bottom:8px; }
  .splash-title br { display:none; }
  .splash-desc { font-size:0.8rem; margin-bottom:12px; }
  .splash-desc br { display:none; }
  .splash-actions { flex-direction:row; margin-bottom:12px; }
  .splash-aeron-footer { display:none; }
  .splash-progress-note { margin:0; }
  .title-rays { display:none; }
  .kh-utilities { left:auto; right:12px; }
  .scene-label { bottom:20px; }
  .panel { max-height:92dvh; }
}
.splash-photo-area { background:#fdfaf6; overflow:visible; }
.kh-splash-picture { position:absolute; inset:0; overflow:hidden; }
.kh-splash-picture img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.splash-content-inner { text-align:center; }
.splash-header-desktop { justify-content:center; }
.splash-progress-labels { justify-content:center; }
.splash-title, .splash-desc { text-align:center; }
.splash-desc br { display:none; }
.splash-aeron-badge { z-index:1; }
.kh-info-hero { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:center; background:#fff; border:2px solid var(--border-color); border-radius:18px; padding:14px; }
.kh-info-hero img { width:100%; height:180px; object-fit:cover; border-radius:10px; }
.kh-info-kicker { color:#126520; font-weight:900; font-size:0.65rem; letter-spacing:1px; }
.kh-info-hero h3 { font-size:1.6rem; line-height:1.2; margin:8px 0 12px; }
.kh-info-hero p { color:#555; line-height:1.5; font-size:0.9rem; }
.kh-info-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0; }
.kh-info-stats div { padding:16px 10px; border:2px solid var(--border-color); box-shadow:var(--shadow-solid-sm); border-radius:16px; text-align:center; background:#fff3c0; }
.kh-info-stats div:nth-child(2) { background:#dcedfa; }
.kh-info-stats div:nth-child(3) { background:#e1efda; }
.kh-info-stats strong { display:block; font-size:2rem; }
.kh-info-stats span { font-size:0.8rem; font-weight:800; }
.kh-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.kh-info-card { background:white; padding:20px; border:2px solid var(--border-color); border-radius:16px; position:relative; }
.kh-info-number { font-size:0.7rem; color:#126520; font-weight:900; }
.kh-info-card h3 { font-size:1.1rem; margin:6px 0 10px; }
.kh-info-card p { font-size:0.9rem; line-height:1.6; color:#555; }
.kh-info-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin:24px 0 4px; }
.kh-info-actions button { background:white; padding:12px 18px; border-radius:16px; }
.kh-info-credit { margin-top:24px; padding:20px 12px 4px; border-top:2px solid #e2d6c5; text-align:center; font-size:0.8rem; line-height:1.7; color:#555; }
.kh-info-credit a { color:#3e2723; font-weight:900; text-underline-offset:3px; display:inline-block; padding:8px 4px; }
.kh-aeron-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; }
.kh-aeron-link img { display:block; }
@media (max-width:600px) {
  .kh-info-hero, .kh-info-grid { grid-template-columns:1fr; }
  .kh-info-hero img { height:140px; }
  .kh-info-hero > div { padding:6px; }
  .kh-info-stats { gap:8px; }
  .kh-info-stats div { padding:12px 4px; }
  .kh-info-stats strong { font-size:1.65rem; }
  .kh-info-stats span { font-size:0.65rem; }
  .kh-info-actions > * { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation:none !important; transition:none !important; } }
