/* =========================================================
   BKROYAL.COM — FINAL COMPLETE CSS (FIXED FOOTER LINKS)
========================================================= */

/* RESET */
*{ margin:0; padding:0; box-sizing:border-box; }
html, body{ height:100%; }

:root{
  --vh: 1vh;
  --footer-h: 70px;

  /* COLORS */
  --dark:#28293C;
  --gold1:#B8963A;
  --gold2:#E0C27A;
  --emerald:#1F5B4B;

  --footer:#1C1D2B;
  --platinum:#E5E5E5;
  --footerText:#BFC2D3;
}

body{
  overflow:hidden;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:#fff;
}

a{ text-decoration:none; color:inherit; }

/* =========================
   VIEWPORT FIT
========================= */
.home_all_wrap{
  height: calc(var(--vh) * 100 - var(--footer-h));
  display:flex;
  flex-direction:column;
}

.home_tile_link{
  flex:1;
  display:block;
}

/* =========================
   PANELS
========================= */
.home_page_sec_one,
.home_page_sec_two,
.home_page_sec_three{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}

/* COLORS */
.home_page_sec_one{ background:var(--dark); }
.home_page_sec_two{ background:linear-gradient(135deg,var(--gold1),var(--gold2)); }
.home_page_sec_three{ background:var(--emerald); }

/* =========================
   TEXT
========================= */
.home_main_wrap{
  position:relative;
  z-index:5;
  width:100%;
  text-align:center;
}

.home_main_wrap h1,
.home_main_wrap h2,
.home_main_wrap h3{
  color:#fff;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:clamp(28px,7vw,130px);
  white-space:nowrap;
  text-shadow:0 10px 30px rgba(0,0,0,.25);

  transform:scale(1);
  transition:transform .35s ease, text-shadow .35s ease;
}

/* ZOOM TITLE */
.home_tile_link:hover h1,
.home_tile_link:hover h2,
.home_tile_link:hover h3{
  transform:scale(1.08);
  text-shadow:0 18px 40px rgba(0,0,0,.35);
}

/* =========================
   GLASS OVERLAY
========================= */
.home_page_sec_one::before,
.home_page_sec_two::before,
.home_page_sec_three::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,
    rgba(255,255,255,.10) 0%,
    rgba(255,255,255,0) 40%,
    rgba(0,0,0,.18) 100%
  );
}

/* =========================
   NOISE (subtle)
========================= */
.home_page_sec_one::after,
.home_page_sec_two::after,
.home_page_sec_three::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.05;
  mix-blend-mode:overlay;
  background:repeating-linear-gradient(
    45deg,
    rgba(255,255,255,.08) 0px,
    rgba(255,255,255,.08) 2px,
    rgba(0,0,0,.08) 3px,
    rgba(0,0,0,.08) 4px
  );
}

/* =========================
   HOVER SHINE (FULL PANEL)
========================= */
.home_page_sec_one::after,
.home_page_sec_two::after,
.home_page_sec_three::after{
  background:
    linear-gradient(
      120deg,
      rgba(255,255,255,0) 40%,
      rgba(255,255,255,.22) 50%,
      rgba(255,255,255,0) 60%
    ),
    repeating-linear-gradient(
      45deg,
      rgba(255,255,255,.06) 0px,
      rgba(255,255,255,.06) 2px,
      rgba(0,0,0,.06) 3px,
      rgba(0,0,0,.06) 4px
    );
  background-size:220% 100%, auto;
  background-position:-140% 0, 0 0;
  opacity:0;
}

.home_tile_link:hover section::after{
  opacity:1;
  animation:hoverShine 1.6s ease forwards;
}

@keyframes hoverShine{
  from{ background-position:-140% 0, 0 0; }
  to{ background-position:180% 0, 0 0; }
}

/* Gold glow */
.home_tile_link:hover .home_page_sec_two{
  box-shadow:
    inset 0 0 80px rgba(255,215,120,.22),
    inset 0 0 160px rgba(255,215,120,.12);
}

/* =========================
   FOOTER (1 LINE, CLEAN, ALWAYS READABLE)
========================= */
.ec_footer{
  height:var(--footer-h);
  background:var(--footer);
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:center;
}

.ec_footer_inner{
  max-width:1200px;
  width:100%;
  margin:0 auto;
  padding:0 40px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  flex-wrap:nowrap;                 /* 1 line */
  gap:clamp(12px, 3vw, 28px);       /* responsive gap */
}

/* Left side stays in one line */
.ec_footer_left{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:nowrap;
  white-space:nowrap;
  min-width:0;
}

/* Brand + copy in SAME color as requested */
.ec_footer_brand{
  font-weight:800;
  font-size:18px;
  color:var(--footerText);
}

.ec_footer_copy{
  font-size:14px;
  color:var(--footerText);
  white-space:nowrap;
}

/* Right side links spaced, but never broken */
.ec_footer_right{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  white-space:nowrap;
  gap:clamp(14px, 4vw, 44px);      /* more apart on big screens, tighter on small */
}

.ec_footer_right a{
  font-size:14px;
  color:var(--footerText);          /* same as © */
  font-weight:600;
}

.ec_footer_right a:hover{
  text-decoration:underline;
}

/* Responsive footer: reduce font/gap before anything gets ugly */
@media (max-width: 900px){
  .ec_footer_inner{ padding:0 20px; }
}

@media (max-width: 680px){
  :root{ --footer-h:60px; }
  .ec_footer_inner{ padding:0 16px; }
  .ec_footer_brand{ font-size:16px; }
  .ec_footer_copy, .ec_footer_right a{ font-size:13px; }
  .ec_footer_right{ gap:clamp(10px, 3vw, 18px); }
}

@media (max-width: 420px){
  /* keep one line: hide brand if space is too tight */
  .ec_footer_brand{ display:none; }
}

/* =========================
   RESPONSIVE TITLES
========================= */
@media(max-width:768px){
  .home_main_wrap h1,
  .home_main_wrap h2,
  .home_main_wrap h3{
    font-size:clamp(26px,10vw,92px);
    letter-spacing:.12em;
  }
}
@media(max-width:360px){
  .home_main_wrap h1,
  .home_main_wrap h2,
  .home_main_wrap h3{
    letter-spacing:.08em;
  }
}

/* =========================
   SUBPAGES (Contact / Impressum / Datenschutz)
========================= */
.sub_body{
  overflow:auto;
  background:var(--platinum);
  color:#111;
}

.sub_page{
  min-height:100vh;
  padding:28px 16px 40px;
}

.sub_header{
  max-width:920px;
  margin:0 auto 18px;
}

.sub_back{
  display:inline-block;
  margin-bottom:10px;
  font-weight:800;
  color:var(--dark);
}
.sub_back:hover{ text-decoration:underline; }

.sub_header h1{
  font-size:clamp(28px,4vw,44px);
  margin:0 0 8px;
  letter-spacing:-0.02em;
  color:#111;
}

.sub_header p{
  color:#333;
  font-size:16px;
  line-height:1.5;
}

.sub_card{
  max-width:920px;
  margin:14px auto;
  background:#fff;
  border-radius:16px;
  padding:18px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}

.sub_card h2{ font-size:18px; margin:0 0 10px; color:#111; }
.sub_card p{ color:#222; line-height:1.65; font-size:15px; }
.sub_card a{ color:var(--emerald); }
.sub_card a:hover{ text-decoration:underline; }

.sub_list{
  margin:8px 0 0 18px;
  color:#222;
  line-height:1.65;
  font-size:15px;
}
.sub_list li{ margin:6px 0; }

.actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:#111;
  font-weight:800;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{
  transform: translateY(-1px);
  box-shadow:0 10px 22px rgba(0,0,0,.10);
}
.btn.primary{
  background:var(--dark);
  color:#fff;
  border-color:var(--dark);
}
.btn.primary:hover{
  box-shadow:0 14px 28px rgba(40,41,60,.25);
}

.sub_footer{
  max-width:920px;
  margin:22px auto 0;
  color:#444;
  font-size:14px;
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.sub_footer_links{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}

.sub_footer_links a{
  color:var(--dark);
  font-weight:700;
}
.sub_footer_links a:hover{ text-decoration:underline; }
