/* ALHAMBRA PHASE 50 - FINAL PUBLIC PREMIUM POLISH */

:root{
  --alh50-dark:#130d07;
  --alh50-dark2:#24180d;
  --alh50-gold:#d7b15a;
  --alh50-gold2:#8f6826;
  --alh50-red:#8b1e2d;
  --alh50-cream:#fff8ea;
  --alh50-line:#eadcc8;
  --alh50-muted:#74685e;
  --alh50-shadow:0 24px 80px rgba(32,20,8,.16);
}

html{
  overflow-x:hidden;
}

body{
  overflow-x:hidden !important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 8% 10%,rgba(215,177,90,.14),transparent 24%),
    radial-gradient(circle at 92% 18%,rgba(139,30,45,.075),transparent 25%),
    radial-gradient(circle at 50% 95%,rgba(215,177,90,.09),transparent 32%),
    linear-gradient(135deg,#fff,#fffaf2 55%,#fff);
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.34;
  background-image:
    linear-gradient(45deg,rgba(143,104,38,.045) 25%,transparent 25%),
    linear-gradient(-45deg,rgba(143,104,38,.045) 25%,transparent 25%);
  background-size:38px 38px;
}

.alh-public-top{
  box-shadow:0 8px 30px rgba(32,20,8,.08);
}

.alh-public-top-inner{
  min-height:76px;
}

.alh-logo-mark{
  box-shadow:0 14px 34px rgba(139,30,45,.24);
  position:relative;
  overflow:hidden;
}

.alh-logo-mark::after{
  content:"";
  position:absolute;
  inset:-30%;
  background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.28),transparent 65%);
  transform:translateX(-130%) rotate(18deg);
  animation:alh50Shine 4.8s ease-in-out infinite;
}

@keyframes alh50Shine{
  0%,70%{transform:translateX(-130%) rotate(18deg)}
  100%{transform:translateX(130%) rotate(18deg)}
}

.alh-btn,
.alh-tab,
.alh-add,
.alh-home-preise-live-btn,
.alh-track-form button{
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.alh-btn:hover,
.alh-tab:hover,
.alh-add:hover,
.alh-home-preise-live-btn:hover,
.alh-track-form button:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(32,20,8,.13);
}

.alh-card,
.alh-item,
.alh-home-preise-live-card,
.alh-track-box,
.alh-track-status-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.alh-card:hover,
.alh-item:hover,
.alh-home-preise-live-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--alh50-shadow);
  border-color:rgba(143,104,38,.46);
}

.alh-item,
.alh-home-preise-live-item{
  position:relative;
}

.alh-item::before,
.alh-home-preise-live-item::before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:16px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--alh50-gold),var(--alh50-gold2));
  opacity:.55;
}

.alh-category,
.alh-home-preise-live-card-head{
  position:relative;
  overflow:hidden;
}

.alh-category::after,
.alh-home-preise-live-card-head::after{
  content:"";
  position:absolute;
  width:160px;
  height:160px;
  border:1px solid rgba(215,177,90,.22);
  border-radius:38px;
  right:-60px;
  top:-72px;
  transform:rotate(26deg);
}

.alh-price,
.alh-home-preise-live-price,
.alh-track-total{
  text-shadow:0 8px 24px rgba(139,30,45,.08);
}

.alh-empty,
.alh-home-preise-live-empty{
  background:
    radial-gradient(circle at 10% 0%,rgba(215,177,90,.16),transparent 30%),
    #fffaf0 !important;
}

.alh50-reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .55s ease, transform .55s ease;
}

.alh50-reveal.alh50-show{
  opacity:1;
  transform:translateY(0);
}

.alh50-scrolltop{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:99999;
  width:54px;
  height:54px;
  border:0;
  border-radius:50%;
  background:linear-gradient(135deg,var(--alh50-dark2),#070504);
  color:#fff;
  font-size:22px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 16px 44px rgba(32,20,8,.24);
  border:2px solid rgba(215,177,90,.35);
  display:none;
}

.alh50-scrolltop.show{
  display:grid;
  place-items:center;
}

.alh50-loader{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 35%,rgba(215,177,90,.18),transparent 30%),
    rgba(255,250,240,.96);
  transition:opacity .35s ease, visibility .35s ease;
}

.alh50-loader.hide{
  opacity:0;
  visibility:hidden;
}

.alh50-loader-card{
  width:min(360px,calc(100vw - 40px));
  border-radius:34px;
  padding:30px;
  text-align:center;
  background:#fff;
  border:2px solid rgba(111,77,24,.24);
  box-shadow:var(--alh50-shadow);
}

.alh50-loader-mark{
  width:76px;
  height:76px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  border-radius:26px;
  background:linear-gradient(135deg,var(--alh50-red),#420915);
  color:#fff;
  font-family:Georgia,serif;
  font-size:42px;
  border:2px solid rgba(215,177,90,.48);
  animation:alh50Pulse 1.25s ease-in-out infinite;
}

@keyframes alh50Pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.04)}
}

.alh50-loader-card strong{
  display:block;
  font-family:Georgia,serif;
  font-size:28px;
  margin-bottom:6px;
}

.alh50-loader-card span{
  color:var(--alh50-muted);
  font-weight:850;
}

.alh-cart{
  backdrop-filter:blur(12px);
}

.alh-cart::before{
  content:"";
  display:block;
  height:6px;
  margin:-24px -24px 18px;
  background:linear-gradient(90deg,var(--alh50-red),var(--alh50-gold),var(--alh50-dark2));
  border-radius:30px 30px 0 0;
}

.alh-track-progress-fill{
  background:linear-gradient(90deg,var(--alh50-red),var(--alh50-gold)) !important;
}

.alh-track-step.active{
  box-shadow:0 12px 28px rgba(215,177,90,.15);
}

@media(max-width:780px){
  .alh-public-top{
    position:sticky;
  }

  .alh-public-top-inner{
    padding:12px 14px !important;
  }

  .alh-nav{
    width:100%;
    display:grid !important;
    grid-template-columns:1fr 1fr;
  }

  .alh-nav .alh-btn{
    width:100%;
    padding-left:10px;
    padding-right:10px;
    font-size:13px;
  }

  h1{
    font-size:clamp(44px,13vw,64px) !important;
  }

  .alh-card,
  .alh-track-box,
  .alh-home-preise-live-card{
    border-radius:24px !important;
  }

  .alh50-scrolltop{
    right:12px;
    bottom:12px;
    width:50px;
    height:50px;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }

  .alh50-reveal{
    opacity:1 !important;
    transform:none !important;
  }
}
