/* ================================================================
   riva-styles.css  -  "Das Riva" Sektion
   ================================================================
   VERSION: 1
   ABLAGEORT: /site/templates/styles/riva-styles.css
   ================================================================ */

.riva{padding:84px 0;}
.riva-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}

.riva-visual{position:relative;height:400px;border-radius:2px;overflow:hidden;}
.riva-visual-img{
  position:absolute;inset:0;
  opacity:0;transition:opacity .5s var(--ease);
}
.riva-visual-img.active{opacity:1;}
.riva-visual-img img{width:100%;height:100%;object-fit:cover;display:block;}
.riva-visual-img .ph-flat{position:absolute;inset:0;border:none;}

.riva-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin:20px 0 26px;flex-wrap:wrap;}
.rtab{
  font-size:18px;letter-spacing:.01em;font-weight:600;color:var(--muted);
  padding:12px 16px 12px 0;margin-right:16px;cursor:pointer;position:relative;transition:color .3s var(--ease);
}
.rtab::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--accent);transition:width .35s var(--ease);}
.rtab:hover{color:var(--navy);}
.rtab.active{color:var(--navy);}
.rtab.active::after{width:calc(100% - 16px);}
html.dark .rtab:hover{color:var(--accent-deep);}
html.dark .rtab.active{color:var(--accent-deep);}

.rpanel-wrap{position:relative;min-height:170px;overflow:hidden;}
.rpanel{position:absolute;inset:0;opacity:0;pointer-events:none;transition:transform .5s var(--ease),opacity .5s var(--ease);}
.rpanel.active{opacity:1;pointer-events:auto;position:relative;}
.rpanel.enter-right{transform:translateX(60px);}
.rpanel.enter-left{transform:translateX(-60px);}
.rpanel.active{transform:translateX(0);}
.rpanel p{font-size:15.5px;line-height:1.75;color:var(--text-muted);font-weight:300;margin:0 0 20px;}

.riva-text .script{font-size:32px;}
.riva-text h2{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:36px;margin-top:2px;}

@media(max-width:980px){
  .riva-grid{grid-template-columns:1fr;gap:30px;}
}

/* ================================================================
   KONTAKT & ANFAHRT (Startseiten-Abschnitt, _kontakt.php)
   ================================================================ */
.kb-wrap{padding:70px 0 80px;}
/* Der Abschnitt bringt seine Einblendung selbst mit - es gibt auf
   der Startseite keinen globalen .reveal-Ausloeser, ohne das hier
   waere der Bereich unsichtbar geblieben. */
.kb-wrap .reveal{opacity:1;transform:none;}
.kb-head{margin-bottom:30px;}
.kb-head h2{
  font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;
  font-size:32px;margin-top:4px;
}
.kb-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:start;}

.kb-map{border-radius:4px;overflow:hidden;box-shadow:var(--shadow-1);}
.kb-map iframe{width:100%;height:330px;border:none;display:block;}
.kb-weg{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;
}
.kb-weg svg{width:16px;height:16px;}

.kb-info-col h3{
  font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;
  font-size:22px;margin-bottom:14px;
}
.kb-adresse{font-size:16px;line-height:1.7;color:var(--text-muted);font-weight:300;margin:0 0 14px;}
.kb-zeile{font-size:15.5px;line-height:1.9;color:var(--text-muted);font-weight:300;margin:0 0 20px;}
.kb-zeile a{color:var(--text);border-bottom:1px solid var(--line);}
.kb-zeile a:hover{color:var(--accent-deep);border-color:var(--accent-deep);}

.kb-wa{
  display:inline-flex;align-items:center;gap:10px;
  background:#25D366;color:#fff;border-radius:3px;
  padding:13px 22px;font-size:15px;font-weight:500;letter-spacing:.02em;
  transition:all .3s var(--ease);
}
.kb-wa:hover{background:#1DB955;transform:translateY(-2px);box-shadow:var(--shadow-2);color:#fff;}
.kb-wa svg{width:19px;height:19px;flex:0 0 auto;}

.kb-social{display:flex;gap:10px;margin-top:20px;}
.kb-social a{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--text-muted);
  transition:all .25s var(--ease);
}
.kb-social a svg{width:18px;height:18px;}
.kb-social a:hover{background:var(--navy);color:var(--accent);border-color:var(--navy);transform:translateY(-2px);}

.kb-mehr{
  display:inline-block;margin-top:20px;font-size:14.5px;
  color:var(--accent-deep);border-bottom:1px solid var(--accent-deep);
}
.kb-mehr:hover{color:var(--text);border-color:var(--text);}

@media(max-width:980px){
  .kb-grid{grid-template-columns:1fr;gap:30px;}
  .kb-map iframe{height:260px;}
}
@media(max-width:760px){
  .riva-text{padding:0 30px;}
  .wrap.kb-wrap{padding:50px 30px;}
}