:root{
  --rihaus-cookie-bg:#171914;
  --rihaus-cookie-paper:#f4f0e8;
  --rihaus-cookie-gold:#c99a43;
  --rihaus-cookie-line:rgba(255,255,255,.14);
  --rihaus-cookie-text:#f6f3ec;
  --rihaus-cookie-muted:#c6c1b7;
}

#rihaus-cookie-banner,
#rihaus-cookie-modal{
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;
}

#rihaus-cookie-banner{
  position:fixed;
  z-index:99999;

  left:18px;
  right:18px;
  bottom:18px;

  max-width:920px;

  margin-inline:auto;

  padding:22px;

  display:grid;
  grid-template-columns:1fr auto;

  gap:24px;

  align-items:center;

  border:1px solid var(--rihaus-cookie-line);
  border-radius:24px;

  background:
    rgba(23,25,20,.97);

  color:var(--rihaus-cookie-text);

  box-shadow:
    0 24px 70px rgba(0,0,0,.28);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

#rihaus-cookie-banner[hidden]{
  display:none!important;
}

.rihaus-cookie-copy strong{
  display:block;

  margin-bottom:7px;

  font-size:1rem;
  line-height:1.2;
}

.rihaus-cookie-copy p{
  margin:0;

  max-width:650px;

  color:var(--rihaus-cookie-muted);

  font-size:.78rem;
  line-height:1.5;
}

.rihaus-cookie-copy a{
  color:#e1c47d;

  text-decoration:underline;
  text-underline-offset:3px;
}

.rihaus-cookie-actions{
  display:flex;
  flex-wrap:wrap;

  gap:8px;

  justify-content:flex-end;
}

.rihaus-cookie-button{
  min-height:43px;

  padding:0 16px;

  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;

  background:transparent;

  color:white;

  font-size:.72rem;
  font-weight:800;

  cursor:pointer;
}

.rihaus-cookie-button:hover{
  background:rgba(255,255,255,.07);
}

.rihaus-cookie-button--reject{
  background:#fff;

  color:#171914;
}

.rihaus-cookie-button--accept{
  border-color:var(--rihaus-cookie-gold);

  background:var(--rihaus-cookie-gold);

  color:#171914;
}

/* MODAL */

#rihaus-cookie-modal{
  position:fixed;

  z-index:100000;

  inset:0;

  display:grid;
  place-items:center;

  padding:20px;

  background:
    rgba(10,10,8,.62);

  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

#rihaus-cookie-modal[hidden]{
  display:none!important;
}

.rihaus-cookie-modal-card{
  width:min(100%,580px);

  max-height:calc(100vh - 40px);

  overflow:auto;

  padding:28px;

  border-radius:26px;

  background:var(--rihaus-cookie-paper);

  color:#171914;

  box-shadow:
    0 30px 100px rgba(0,0,0,.32);
}

.rihaus-cookie-modal-top{
  display:flex;
  justify-content:space-between;
  align-items:start;

  gap:20px;
}

.rihaus-cookie-modal-top small{
  display:block;

  margin-bottom:7px;

  color:#96702d;

  font-size:.58rem;
  font-weight:850;

  letter-spacing:.15em;
  text-transform:uppercase;
}

.rihaus-cookie-modal-top h2{
  margin:0;

  font-family:Georgia,serif;

  font-size:2.15rem;
  font-weight:400;

  line-height:1;
  letter-spacing:-.05em;
}

.rihaus-cookie-close{
  width:38px;
  height:38px;

  flex:none;

  border:1px solid rgba(23,25,20,.14);
  border-radius:50%;

  background:white;

  cursor:pointer;
}

.rihaus-cookie-description{
  margin:18px 0 22px;

  color:#625f57;

  font-size:.82rem;
  line-height:1.55;
}

.rihaus-cookie-option{
  padding:18px 0;

  display:grid;
  grid-template-columns:1fr auto;

  gap:20px;

  align-items:start;

  border-top:1px solid rgba(23,25,20,.11);
}

.rihaus-cookie-option strong{
  display:block;

  font-size:.9rem;
}

.rihaus-cookie-option p{
  margin:5px 0 0;

  max-width:410px;

  color:#6d685f;

  font-size:.74rem;
  line-height:1.45;
}

.rihaus-cookie-status{
  color:#8a692d;

  font-size:.65rem;
  font-weight:800;

  white-space:nowrap;
}

.rihaus-cookie-toggle{
  position:relative;

  width:44px;
  height:24px;

  border:0;
  border-radius:999px;

  background:#bbb5aa;

  cursor:pointer;
}

.rihaus-cookie-toggle::after{
  content:"";

  position:absolute;

  top:3px;
  left:3px;

  width:18px;
  height:18px;

  border-radius:50%;

  background:white;

  transition:.2s;
}

.rihaus-cookie-toggle.is-active{
  background:var(--rihaus-cookie-gold);
}

.rihaus-cookie-toggle.is-active::after{
  left:23px;
}

.rihaus-cookie-modal-actions{
  margin-top:24px;

  display:flex;
  justify-content:flex-end;

  gap:8px;
}

.rihaus-cookie-modal-actions button{
  min-height:44px;

  padding:0 18px;

  border-radius:999px;

  font-size:.72rem;
  font-weight:800;

  cursor:pointer;
}

.rihaus-cookie-save{
  border:1px solid #171914;

  background:#171914;

  color:white;
}

.rihaus-cookie-accept-all{
  border:1px solid var(--rihaus-cookie-gold);

  background:var(--rihaus-cookie-gold);

  color:#171914;
}

@media(max-width:680px){

  #rihaus-cookie-banner{
    left:10px;
    right:10px;
    bottom:10px;

    padding:18px;

    grid-template-columns:1fr;

    gap:16px;

    border-radius:20px;
  }

  .rihaus-cookie-actions{
    display:grid;
    grid-template-columns:1fr 1fr;

    width:100%;
  }

  .rihaus-cookie-button:first-child{
    grid-column:1 / -1;
  }

  .rihaus-cookie-modal-card{
    padding:22px 18px;
  }

  .rihaus-cookie-modal-top h2{
    font-size:1.8rem;
  }

  .rihaus-cookie-modal-actions{
    display:grid;
  }

}