/* ==========================================================================
   🟣 LANDMARK — DELIVERY MAP LOCATION UI
   ========================================================================== */

#bp-root .bp-delivery-map-box{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(245,168,0,.16);
  background:
    radial-gradient(circle at 10% 0%, rgba(245,168,0,.08), transparent 36%),
    rgba(255,255,255,.035);
}

#bp-root .bp-delivery-map-box__title{
  font-family:'Oswald',sans-serif;
  font-size:15px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#f4ead7;
}

#bp-root .bp-delivery-map-box__sub{
  margin-top:3px;
  font-family:'Nunito',sans-serif;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  color:rgba(244,234,215,.62);
}

#bp-root .bp-delivery-map-btn{
  min-height:46px;
  border:1px solid rgba(245,168,0,.28);
  border-radius:16px;
  background:
    linear-gradient(180deg, rgba(245,168,0,.14), rgba(245,168,0,.08)),
    rgba(0,0,0,.20);
  color:#ffd98a;
  font-family:'Nunito',sans-serif;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}

#bp-root .bp-delivery-map-btn:hover{
  filter:brightness(1.08);
  border-color:rgba(245,168,0,.46);
}

#bp-root .bp-delivery-map-status{
  font-family:'Nunito',sans-serif;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  color:rgba(244,234,215,.62);
}

#bp-root .bp-delivery-map-status.is-marked{
  color:#8ff0b5;
}

#bp-root .bp-delivery-map-status a{
  color:#ffd98a;
  text-decoration:none;
  margin-left:6px;
}

#bp-root .bp-delivery-map-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
}

#bp-root .bp-delivery-map-modal.is-open{
  display:block;
}

#bp-root .bp-delivery-map-modal__ov{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(10px);
}

#bp-root .bp-delivery-map-modal__card{
  position:absolute;
  left:50%;
  top:50%;
  width:min(920px, calc(100vw - 28px));
  max-height:calc(100vh - 28px);
  transform:translate(-50%, -50%);
  display:grid;
  gap:14px;
  padding:18px;
  border-radius:28px;
  border:1px solid rgba(245,168,0,.22);
  background:
    radial-gradient(circle at 10% 0%, rgba(245,168,0,.12), transparent 34%),
    linear-gradient(145deg, rgba(25,19,12,.98), rgba(10,10,10,.98));
  box-shadow:
    0 30px 90px rgba(0,0,0,.70),
    inset 0 1px 0 rgba(255,255,255,.06);
}

#bp-root .bp-delivery-map-modal__top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}

#bp-root .bp-delivery-map-modal__title{
  font-family:'Oswald',sans-serif;
  font-size:26px;
  font-weight:900;
  text-transform:uppercase;
  color:#f4ead7;
}

#bp-root .bp-delivery-map-modal__sub,
#bp-root .bp-delivery-map-modal__hint{
  font-family:'Nunito',sans-serif;
  font-size:13px;
  font-weight:800;
  line-height:1.4;
  color:rgba(244,234,215,.68);
}

#bp-root .bp-delivery-map-modal__x{
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:#fff;
  cursor:pointer;
  font-weight:900;
}

#bp-root .bp-delivery-map-canvas{
  width:100%;
  height:min(56vh, 520px);
  min-height:360px;
  border-radius:22px;
  overflow:hidden;
  background:#151515;
  border:1px solid rgba(255,255,255,.10);
}

#bp-root .bp-delivery-map-modal__actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

@media (max-width:767px){
  #bp-root .bp-delivery-map-modal__card{
    width:calc(100vw - 18px);
    padding:14px;
    border-radius:22px;
  }

  #bp-root .bp-delivery-map-modal__title{
    font-size:22px;
  }

  #bp-root .bp-delivery-map-canvas{
    height:54vh;
    min-height:320px;
  }

  #bp-root .bp-delivery-map-modal__actions .btn{
    width:100%;
  }
}
/* ==========================================================================
   🟣 LANDMARK — DELIVERY LAUNCH COUNTDOWN BUTTON
   ========================================================================== */

#bp-root .bp-handoff-btn.is-disabled,
#bp-root .bp-handoff-btn:disabled{
  cursor:not-allowed !important;
  opacity:.72 !important;
  filter:saturate(.75) brightness(.92) !important;
}

#bp-root .bp-handoff-btn--delivery.is-countdown{
  position:relative;
  border-color:rgba(245,168,0,.24) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(245,168,0,.14), transparent 38%),
    linear-gradient(145deg, rgba(34,25,14,.72), rgba(16,16,16,.92)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 10px 24px rgba(0,0,0,.24),
    0 0 0 1px rgba(245,168,0,.08) !important;
}

#bp-root .bp-handoff-btn--delivery.is-countdown b{
  color:#ffd98a !important;
  font-size:13px !important;
  line-height:1.2 !important;
}

#bp-root .bp-handoff-btn--delivery.is-countdown small{
  display:block;
  margin-top:4px;
  font-family:'Nunito',sans-serif;
  font-size:11px;
  font-weight:900;
  line-height:1.15;
  color:rgba(244,234,215,.62);
}
/* ==========================================================================
   🟣 LANDMARK — DESKTOP CART DRAWER WIDTH / PREMIUM COMPACT
   ========================================================================== */

/* Desktop: количката да е нормална, стегната и четима */
@media (min-width: 1025px){
  #bp-root .bp-dw__panel{
    width: min(520px, 92vw) !important;
    max-width: 520px !important;
    min-width: 420px !important;
    right: 24px !important;
    left: auto !important;
    top: 24px !important;
    bottom: 24px !important;
    height: auto !important;
    max-height: calc(100vh - 48px) !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    box-shadow:
      0 28px 90px rgba(0,0,0,.62),
      0 0 0 1px rgba(245,168,0,.16),
      inset 0 1px 0 rgba(255,255,255,.06) !important;
  }

  #bp-root .bp-dw__b{
    padding: 18px 18px 12px !important;
    max-height: calc(100vh - 260px) !important;
    overflow-y: auto !important;
  }

  #bp-root .bp-dw__f{
    padding: 16px 18px 24px !important;
  }

  #bp-root .bp-dw__h{
    padding: 18px 20px !important;
  }

  #bp-root .bp-line{
    grid-template-columns: 76px 1fr auto !important;
    gap: 14px !important;
    padding: 14px !important;
    border-radius: 20px !important;
  }

  #bp-root .bp-line img{
    width: 76px !important;
    height: 76px !important;
    border-radius: 16px !important;
  }

  #bp-root .bp-ln{
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  #bp-root .bp-lu,
  #bp-root .bp-sum{
    font-size: 15px !important;
  }

  #bp-root .bp-qr{
    min-width: 104px !important;
  }

  #bp-root .bp-qty{
    transform: scale(.92) !important;
    transform-origin: right center !important;
  }

  #bp-root .bp-note textarea{
    min-height: 86px !important;
  }
}

/* Wide desktop: да не лепи до самия край */
@media (min-width: 1440px){
  #bp-root .bp-dw__panel{
    right: 38px !important;
    width: 540px !important;
    max-width: 540px !important;
  }
}

/* Mobile/tablet: оставяме drawer-а да си е full width както досега */
@media (max-width: 1024px){
  #bp-root .bp-dw__panel{
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    right: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    border-radius: 28px 28px 0 0 !important;
  }
}
/* ==========================================================================
   🟣 LANDMARK — HERO HEADLINE LINE SPACING FIX
   ========================================================================== */

#bp-root .bp-h1.bp-h1--bro{
  gap:.10em !important;
  line-height:1.02 !important;
}

#bp-root .bp-h1--bro .bp-h1-line{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

#bp-root .bp-h1--bro .bp-h1-line--soft{
  line-height:1.04 !important;
  margin-top:.02em !important;
}

/* Desktop по-елегантен ритъм */
@media (min-width: 1025px){
  #bp-root .bp-h1.bp-h1--bro{
    gap:.085em !important;
    line-height:.98 !important;
  }
}

/* Mobile/tablet — повече въздух, за да не се слепва */
@media (max-width: 767px){
  #bp-root .bp-h1.bp-h1--bro{
    gap:.12em !important;
    line-height:1.04 !important;
  }

  #bp-root .bp-h1--bro .bp-h1-line--soft{
    line-height:1.08 !important;
  }
}

/* ==========================================================================
   🟣 LANDMARK — BROPIZZA HERO HEADLINE WARM PREMIUM STYLE
   ========================================================================== */

#bp-root .bp-h1.bp-h1--bro{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.035em;
  max-width:920px;
  margin:0;
  font-family:'Oswald', sans-serif;
  font-size:clamp(44px, 7vw, 104px);
  line-height:.93;
  font-weight:800;
  letter-spacing:-.022em;
  text-transform:uppercase;

  /* не чисто бяло, а топло BroPizza кремаво */
  color:#f4ead7;

  text-shadow:
    0 2px 0 rgba(0,0,0,.24),
    0 16px 38px rgba(0,0,0,.42),
    0 0 26px rgba(245,168,0,.045);
}

#bp-root .bp-h1--bro .bp-h1-line{
  display:block;
  max-width:100%;
  white-space:nowrap;
}

#bp-root .bp-h1--bro .bp-h1-gold{
  color:#f5a800;
  background:linear-gradient(180deg, #ffe0a3 0%, #f5a800 48%, #b86b00 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:none;
  filter:
    drop-shadow(0 0 14px rgba(245,168,0,.18))
    drop-shadow(0 10px 22px rgba(0,0,0,.18));
}

/* последният ред да е по-елегантен и да не изглежда като отделен огромен блок */
#bp-root .bp-h1--bro .bp-h1-line--soft{
  font-size:.72em;
  line-height:.98;
  letter-spacing:-.012em;
  color:#e7d8bd;
  max-width:none;
}

/* Subheadline — по-топъл и четим */
#bp-root .bp-lead{
  color:rgba(244,234,215,.78) !important;
  font-weight:700;
  line-height:1.62;
  max-width:760px;
}

/* Tablet */
@media (max-width: 1024px){
  #bp-root .bp-h1.bp-h1--bro{
    font-size:clamp(42px, 8.2vw, 84px);
    line-height:.94;
  }
}

/* Mobile — ръчно контролираме да няма самотна буква */
@media (max-width: 767px){
  #bp-root .bp-h1.bp-h1--bro{
    font-size:clamp(40px, 11vw, 62px);
    line-height:.96;
    gap:.045em;
    letter-spacing:-.016em;
  }

  #bp-root .bp-h1--bro .bp-h1-line{
    white-space:nowrap;
  }

  #bp-root .bp-h1--bro .bp-h1-line--soft{
    font-size:.78em;
    max-width:none;
  }
}

@media (max-width: 430px){
  #bp-root .bp-h1.bp-h1--bro{
    font-size:clamp(35px, 10.3vw, 48px);
  }

  #bp-root .bp-h1--bro .bp-h1-line--soft{
    font-size:.76em;
  }
}

/* ==========================================================================
   🟣 LANDMARK — BROPIZZA HERO HEADLINE PREMIUM COLOR STYLE
   ========================================================================== */

#bp-root .bp-h1.bp-h1--bro{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.04em;
  max-width:980px;
  margin:0;
  font-family:'Oswald', sans-serif;
  font-size:clamp(46px, 7.4vw, 112px);
  line-height:.92;
  font-weight:800;
  letter-spacing:-.025em;
  text-transform:uppercase;
  color:#f8f5ed;
  text-shadow:
    0 2px 0 rgba(0,0,0,.22),
    0 18px 42px rgba(0,0,0,.38);
}

#bp-root .bp-h1--bro .bp-h1-line{
  display:block;
  max-width:100%;
  white-space:nowrap;
}

#bp-root .bp-h1--bro .bp-h1-line--soft{
  font-size:.74em;
  line-height:.96;
  letter-spacing:-.018em;
  color:rgba(255,255,255,.88);
}

#bp-root .bp-h1--bro .bp-h1-gold{
  color:#f5a800;
  background:linear-gradient(180deg, #ffd766 0%, #f5a800 48%, #c87600 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 0 18px rgba(245,168,0,.18));
}

/* по-фин баланс на малки екрани */
@media (max-width: 767px){
  #bp-root .bp-h1.bp-h1--bro{
    font-size:clamp(38px, 11vw, 62px);
    line-height:.94;
    gap:.05em;
    letter-spacing:-.018em;
  }

  #bp-root .bp-h1--bro .bp-h1-line{
    white-space:normal;
  }

  #bp-root .bp-h1--bro .bp-h1-line--soft{
    font-size:.82em;
    max-width:7.8em;
  }
}

@media (max-width: 420px){
  #bp-root .bp-h1.bp-h1--bro{
    font-size:clamp(34px, 10.6vw, 50px);
  }

  #bp-root .bp-h1--bro .bp-h1-line--soft{
    max-width:7.2em;
  }
}
/* ==========================================================================
   🟣 LANDMARK — HERO HEADLINE ELEGANT / CONTROLLED LINE BREAKS
   ========================================================================== */

#bp-root .bp-h1.bp-h1--elegant{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0.02em;
  margin:0;
  max-width:100%;
  font-family:'Oswald', sans-serif;
  font-weight:800;
  font-size:clamp(48px, 8vw, 124px);
  line-height:0.92;
  letter-spacing:-0.02em;
  text-transform:uppercase;
  color:#f3f3f3;
  text-wrap:balance;
}

#bp-root .bp-h1--elegant .bp-h1-line{
  display:block;
  margin:0;
  padding:0;
}

#bp-root .bp-h1--elegant .bp-h1-line--gold{
  color:#f5ab00;
  text-shadow:
    0 0 18px rgba(245,171,0,.12),
    0 0 40px rgba(245,171,0,.08);
}

#bp-root .bp-h1--elegant .bp-h1-line--nowrap{
  white-space:nowrap;
}

@media (max-width: 1024px){
  #bp-root .bp-h1.bp-h1--elegant{
    font-size:clamp(44px, 9vw, 88px);
    line-height:0.94;
  }
}

@media (max-width: 767px){
  #bp-root .bp-h1.bp-h1--elegant{
    font-size:clamp(42px, 12vw, 68px);
    line-height:0.95;
    letter-spacing:-0.015em;
  }

  #bp-root .bp-h1--elegant .bp-h1-line--nowrap{
    white-space:normal;
  }
}

@media (max-width: 520px){
  #bp-root .bp-h1.bp-h1--elegant{
    font-size:clamp(38px, 12.5vw, 56px);
  }
}
/* ==========================================================================
   BROPIZZA — MENU / HERO / CART / MODALS / DECOR
   Refactor goals:
   - full copy-paste ready
   - duplicate sections removed
   - consistent naming / spacing / ordering
   - amethyst visually aligned with ruby system
   ========================================================================== */

/* ==========================================================================
   1) RESET
   ========================================================================== */
#bp-root *,
#bp-root *::before,
#bp-root *::after {
  box-sizing: border-box;
}

#bp-root img {
  display: block;
  max-width: 100%;
}

#bp-root a {
  color: inherit;
  text-decoration: none;
}

#bp-root button {
  font-family: "Oswald", "Nunito", system-ui;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
}

/* ==========================================================================
   2) ROOT TOKENS
   ========================================================================== */
#bp-root {
  --bro-black: #080808;
  --bro-black-2: #0d0d0e;
  --bro-dark: #141415;
  --bro-dark-2: #1a1a1b;
  --bro-dark-3: #202022;

  --bro-orange: #f5a800;
  --bro-orange2: #ffcc33;
  --bro-gold-d: #c98600;
  --bro-gold-soft: #ffd36a;

  --bro-red: #b51d1d;
  --bro-red-deep: #7f0e0e;

  --bro-white: #ffffff;
  --bro-muted: #a7a7aa;

  --bro-text: #ece8df;
  --bro-text-soft: rgba(255, 255, 255, 0.72);
  --bro-text-dim: rgba(255, 255, 255, 0.54);

  --card:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015)),
    linear-gradient(145deg, #171718, #0f0f10 56%, #191717 100%);
  --card-2:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
    linear-gradient(145deg, #1c1c1d, #111112 60%, #1a1717 100%);

  --card-border: rgba(245, 168, 0, 0.15);
  --card-border-strong: rgba(245, 168, 0, 0.24);
  --glass-stroke: rgba(255, 255, 255, 0.08);

  --shadow-soft: 0 18px 50px rgba(0, 0, 0, 0.68);
  --shadow-float: 0 28px 70px rgba(0, 0, 0, 0.82);
  --shadow-lux: 0 30px 90px rgba(0, 0, 0, 0.78);
  --shadow-gold: 0 12px 34px rgba(245, 168, 0, 0.16);

  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 12px;
  --radius-xs: 10px;

  --max: 1180px;

  --bp-logo-heat-glow: 0;
  --bp-logo-heat-scan: 0;
  --bp-logo-heat-speed: 8s;

  --bp-strip-parallax-x: 0px;
  --bp-strip-parallax-y: 0px;
  --bp-strip-parallax-rotate: 0deg;
  --bp-strip-opacity: 1;
  --bp-strip-speed: 40s;

  font-family: "Nunito", system-ui, -apple-system, sans-serif;
  color: var(--bro-text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  position: relative;
  width: 100%;
  overflow-x: clip;
  padding-bottom: 40px;

  background:
    radial-gradient(circle at 16% 18%, rgba(245, 168, 0, 0.07), transparent 18%),
    radial-gradient(circle at 84% 76%, rgba(181, 29, 29, 0.09), transparent 20%),
    linear-gradient(180deg, #070707 0%, #0c0c0d 48%, #090909 100%);
}

#bp-root::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.045;
  mix-blend-mode: soft-light;
  background-image: radial-gradient(rgba(255, 255, 255, 0.18) 0.55px, transparent 0.7px);
  background-size: 8px 8px;
}

/* ==========================================================================
   3) LAYOUT WRAPPERS
   ========================================================================== */
.bp-wrap {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--max);
  margin: 0 auto;
  padding: 24px 14px 0;
}

.bp-section {
  margin-top: 28px;
}

/* ==========================================================================
   4) HERO
   ========================================================================== */
.bp-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lux);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015)),
    linear-gradient(145deg, #171718 0%, #0d0d0e 56%, #161313 100%);
}

.bp-hero::before {
  content: "";
  position: absolute;
  top: -80px;
  left: -80px;
  z-index: 0;
  width: 360px;
  height: 360px;
  pointer-events: none;
  filter: blur(2px);
  background: radial-gradient(circle, rgba(245, 168, 0, 0.16) 0%, transparent 70%);
}

.bp-hero::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -90px;
  z-index: 0;
  width: 340px;
  height: 340px;
  pointer-events: none;
  filter: blur(2px);
  background: radial-gradient(circle, rgba(181, 29, 29, 0.16) 0%, transparent 72%);
}

.bp-hero__in {
  position: relative;
  z-index: 1;
  padding: 0;
}

.bp-hero__in::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.75;
  mix-blend-mode: screen;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.06), transparent 24%, transparent 70%, rgba(255, 255, 255, 0.03)),
    linear-gradient(180deg, rgba(255, 204, 51, 0.08), transparent 14%);
}

.bp-hero__in::after {
  content: "";
  position: absolute;
  inset: 1px;
  pointer-events: none;
  border: 1px solid rgba(245, 168, 0, 0.08);
  border-radius: calc(var(--radius-xl) - 1px);
}

.bp-hero__lux {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(320px, 0.84fr);
  gap: 26px;
  min-height: 620px;
  padding: 30px;
}

.bp-hero__left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.bp-hero__right {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 10px 4px 10px 10px;
}

.bp-hero__right::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 24px;
  background:
    radial-gradient(circle at 30% 30%, rgba(245, 168, 0, 0.1), transparent 28%),
    radial-gradient(circle at 75% 75%, rgba(160, 20, 20, 0.12), transparent 26%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.01));
}

.bp-hero__top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  margin-bottom: 22px;
}

.bp-logo-area {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.bp-logo-slot {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  padding: 12px 15px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 14px 34px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(8px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02)),
    rgba(255, 255, 255, 0.02);
}

.bp-logo-slot img {
  width: auto;
  height: 44px;
  object-fit: contain;
}

.bp-logo-text {
  font-family: "Oswald", sans-serif;
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-shadow: 0 0 26px rgba(245, 168, 0, 0.12);
  background: linear-gradient(135deg, #b97700 0%, #f5a800 42%, #ffe19a 70%, #c98600 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.bp-logo-sub {
  margin-top: 4px;
  color: rgba(255, 215, 135, 0.56);
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.bp-hero-badge {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  align-self: flex-start;
  gap: 8px;
  max-width: 100%;
  padding: 11px 14px;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.84);
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 14px 24px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(8px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
}

.bp-hero-badge__label {
  color: rgba(255, 255, 255, 0.76);
}

.bp-hero-badge__status {
  color: #ffffff;
  transition: color 0.18s ease;
}

.bp-hero-badge__lamp {
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--bro-orange);
  box-shadow:
    0 0 0 4px rgba(245, 168, 0, 0.14),
    0 0 14px rgba(245, 168, 0, 0.38);
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.bp-hero-badge.is-open .bp-hero-badge__status {
  color: #7dffb1;
}

.bp-hero-badge.is-open .bp-hero-badge__lamp {
  background: #35d07f;
  box-shadow:
    0 0 0 4px rgba(53, 208, 127, 0.14),
    0 0 14px rgba(53, 208, 127, 0.4);
}

.bp-hero-badge.is-closed .bp-hero-badge__status {
  color: #ff8e8e;
}

.bp-hero-badge.is-closed .bp-hero-badge__lamp {
  background: #ff4d4d;
  box-shadow:
    0 0 0 4px rgba(255, 77, 77, 0.14),
    0 0 14px rgba(255, 77, 77, 0.42);
}

.bp-pill {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  padding: 10px 18px;
  color: var(--bro-orange2);
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: 1px solid rgba(245, 168, 0, 0.26);
  border-radius: 999px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 10px 24px rgba(0, 0, 0, 0.18);
  background: linear-gradient(180deg, rgba(245, 168, 0, 0.16), rgba(245, 168, 0, 0.08));
}

.bp-dot {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--bro-orange);
  box-shadow:
    0 0 0 5px rgba(245, 168, 0, 0.16),
    0 0 20px rgba(245, 168, 0, 0.22);
}

.bp-h1 {
  position: relative;
  z-index: 2;
  max-width: 8.6ch;
  margin: 18px 0 14px;
  overflow-wrap: break-word;
  color: #ffffff;
  font-family: "Oswald", sans-serif;
  font-size: clamp(40px, 4.9vw, 72px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.bp-gold {
  color: var(--bro-orange);
  text-shadow: 0 0 30px rgba(245, 168, 0, 0.22);
}

.bp-lead {
  position: relative;
  z-index: 2;
  max-width: 60ch;
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.74);
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.75;
}

.bp-cta {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.bp-hero-glass {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 620px;
  margin-top: 26px;
  padding: 18px 18px 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 20px 40px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(10px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
}

.bp-hero-glass__label {
  margin-bottom: 8px;
  color: #ffc95d;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.bp-hero-glass__text {
  color: rgba(255, 255, 255, 0.76);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.65;
}

.bp-hero-showcase {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
  width: min(430px, 100%);
  aspect-ratio: 1 / 1.07;
  overflow: visible;
  border-radius: 30px;
}

.bp-hero-showcase::before,
.bp-hero-showcase::after {
  content: none !important;
  display: none !important;
}

.bp-hero-showcase__ring {
  position: absolute;
  pointer-events: none;
  border: 1px solid rgba(245, 168, 0, 0.14);
  border-radius: 50%;
}

.bp-hero-showcase__ring--1 {
  inset: 18px;
  box-shadow: 0 0 28px rgba(245, 168, 0, 0.05);
}

.bp-hero-showcase__ring--2 {
  inset: 42px;
  border-color: rgba(255, 255, 255, 0.08);
}

.bp-hero-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 28px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    inset 0 -1px 0 rgba(255, 255, 255, 0.02),
    0 30px 70px rgba(0, 0, 0, 0.48);
  backdrop-filter: blur(14px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03)),
    linear-gradient(145deg, #232325 0%, #121214 52%, #0c0c0d 100%);
}

.bp-hero-card--main {
  position: relative;
  z-index: 3;
  width: 72%;
  min-height: 310px;
  padding: 28px 24px 24px;
  transform: rotate(-4deg) translateY(4px);
}

.bp-hero-card__shine {
  position: absolute;
  inset: 0;
  pointer-events: none;
  transform: translateX(-120%);
  background: linear-gradient(120deg, transparent 16%, rgba(255, 255, 255, 0.12) 32%, transparent 48%);
  animation: bpLuxShine 5.5s linear infinite;
}

.bp-hero-card__kicker {
  color: #ffc75a;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 0.95;
}

.bp-hero-card__title {
  max-width: 6ch;
  margin-top: 18px;
  color: #faf6ef;
  font-family: "Oswald", sans-serif;
  font-size: 42px;
  font-weight: 800;
  line-height: 0.96;
  text-transform: uppercase;
}

.bp-hero-card__text {
  max-width: 28ch;
  margin-top: 16px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}

.bp-hero-mini {
  position: absolute;
  z-index: 5;
  min-width: 150px;
  padding: 14px 16px 13px;
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(12px);
}

.bp-hero-mini--gold {
  top: 100px;
  right: 0;
  border: 1px solid rgba(245, 168, 0, 0.24);
  background: linear-gradient(180deg, rgba(245, 168, 0, 0.16), rgba(245, 168, 0, 0.05));
}

.bp-hero-mini--dark {
  bottom: 2px;
  left: -2px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.025)),
    linear-gradient(145deg, #232325, #111214);
}

.bp-hero-mini__label {
  color: rgba(255, 255, 255, 0.62);
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.bp-hero-mini__value {
  margin-top: 8px;
  color: #fff6de;
  font-family: "Oswald", sans-serif;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

/* ==========================================================================
   5) LOGO HEAT
   ========================================================================== */
.bp-heat-logo {
  position: relative;
  display: inline-block;
  isolation: isolate;
  will-change: transform, filter, text-shadow;
  transition: filter 0.35s ease, text-shadow 0.35s ease;
}

.bp-heat-logo::before,
.bp-heat-logo::after {
  content: "";
  position: absolute;
  inset: -10% -6%;
  pointer-events: none;
  border-radius: 14px;
  opacity: 0;
}

.bp-heat-logo::before {
  z-index: -1;
  opacity: calc(0.1 + var(--bp-logo-heat-glow) * 0.3);
  filter: blur(calc(8px + var(--bp-logo-heat-glow) * 7px));
  background: radial-gradient(
    circle at 50% 50%,
    rgba(245, 168, 0, calc(0.06 + var(--bp-logo-heat-glow) * 0.12)) 0%,
    rgba(245, 168, 0, calc(0.03 + var(--bp-logo-heat-glow) * 0.08)) 34%,
    rgba(245, 168, 0, 0) 74%
  );
}

.bp-heat-logo::after {
  opacity: calc(var(--bp-logo-heat-scan) * 0.95);
  filter: blur(calc(3px + var(--bp-logo-heat-glow) * 2px));
  mix-blend-mode: screen;
  background: linear-gradient(
    110deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 215, 140, calc(var(--bp-logo-heat-scan) * 0.32)) 28%,
    rgba(255, 245, 215, calc(var(--bp-logo-heat-scan) * 0.72)) 50%,
    rgba(255, 215, 140, calc(var(--bp-logo-heat-scan) * 0.32)) 72%,
    rgba(255, 255, 255, 0) 100%
  );
  animation: bpLogoHeatSweep var(--bp-logo-heat-speed) linear infinite;
}

.bp-heat-logo[data-heat="0"] {
  animation: none;
  filter: none;
  text-shadow: none;
}

.bp-heat-logo[data-heat="1"] {
  animation: bpLogoHeatWobble1 5.8s ease-in-out infinite;
  filter: drop-shadow(0 0 6px rgba(245, 168, 0, 0.12)) saturate(1.03);
  text-shadow:
    0 0 10px rgba(245, 168, 0, 0.1),
    0 0 16px rgba(245, 168, 0, 0.05);
}

.bp-heat-logo[data-heat="2"] {
  animation: bpLogoHeatWobble2 3.9s ease-in-out infinite;
  filter:
    drop-shadow(0 0 8px rgba(245, 168, 0, 0.18))
    drop-shadow(0 0 18px rgba(245, 168, 0, 0.08))
    saturate(1.06);
  text-shadow:
    0 0 12px rgba(245, 168, 0, 0.16),
    0 0 20px rgba(245, 168, 0, 0.1),
    0 0 30px rgba(245, 168, 0, 0.06);
}

.bp-heat-logo[data-heat="3"] {
  animation: bpLogoHeatWobble3 2.45s ease-in-out infinite;
  filter:
    drop-shadow(0 0 10px rgba(245, 168, 0, 0.24))
    drop-shadow(0 0 22px rgba(245, 168, 0, 0.14))
    saturate(1.11);
  text-shadow:
    0 0 14px rgba(245, 168, 0, 0.22),
    0 0 24px rgba(245, 168, 0, 0.16),
    0 0 36px rgba(245, 168, 0, 0.1);
}

.bp-heat-logo[data-heat="4"] {
  animation:
    bpLogoHeatWobble4 1.55s ease-in-out infinite,
    bpLogoHeatBreath 2.2s ease-in-out infinite;
  filter:
    drop-shadow(0 0 12px rgba(245, 168, 0, 0.3))
    drop-shadow(0 0 24px rgba(245, 168, 0, 0.2))
    drop-shadow(0 0 42px rgba(245, 168, 0, 0.12))
    saturate(1.18)
    contrast(1.03);
  text-shadow:
    0 0 16px rgba(245, 168, 0, 0.28),
    0 0 28px rgba(245, 168, 0, 0.2),
    0 0 44px rgba(245, 168, 0, 0.12);
}

/* ==========================================================================
   6) BUTTONS
   ========================================================================== */
#bp-root .btn,
#bp-root .bp-check {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 136px;
  max-width: 100%;
  height: 46px;
  padding: 11px 22px;
  overflow: hidden;
  border: none;
  border-radius: 999px;
  outline: none;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease,
    background 0.18s ease;
}

#bp-root .ivh-btn-primary {
  color: #1a0e00 !important;
  border: none !important;
  background: linear-gradient(135deg, #b97800 0%, #f5a800 42%, #ffe093 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.26),
    0 10px 28px rgba(245, 168, 0, 0.26),
    0 0 0 1px rgba(245, 168, 0, 0.22) !important;
}

#bp-root .ivh-btn-primary:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.05) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.3),
    0 14px 34px rgba(245, 168, 0, 0.34),
    0 0 0 1px rgba(245, 168, 0, 0.3) !important;
}

#bp-root .ivh-btn-primary::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  border-radius: inherit;
  background: radial-gradient(58px 58px at var(--mx, 50%) var(--my, 50%), rgba(255, 255, 255, 0.36), transparent 62%);
  transition: opacity 0.12s ease;
}

#bp-root .ivh-btn-primary:hover::before {
  opacity: 1;
}

#bp-root .ivh-btn-secondary {
  color: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 12px 24px rgba(0, 0, 0, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02)),
    rgba(255, 255, 255, 0.03) !important;
}

#bp-root .ivh-btn-secondary:hover {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03)),
    rgba(255, 255, 255, 0.04) !important;
}

#bp-root .is-off {
  color: rgba(255, 255, 255, 0.68) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02)),
    rgba(255, 255, 255, 0.02) !important;
}

.bp-count {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 20px;
  padding: 0 5px;
  color: #1a0e00;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 800;
  border-radius: 999px;
  background: var(--bro-orange);
  box-shadow: 0 0 0 4px rgba(245, 168, 0, 0.14);
}

/* ==========================================================================
   7) SECTION HEADS / CATEGORY TABS
   ========================================================================== */
.bp-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.bp-h2 {
  margin: 0;
  color: #ffffff;
  font-family: "Oswald", sans-serif;
  font-size: 30px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.bp-slabel {
  margin-bottom: 6px;
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.bp-sub {
  margin: 4px 0 0;
  color: rgba(255, 255, 255, 0.56);
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
}

.bp-cats {
  display: flex;
  gap: 8px;
  overflow: auto;
  padding: 14px;
  scrollbar-width: none;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 20px;
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(10px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015)),
    rgba(0, 0, 0, 0.34);
}

.bp-cats::-webkit-scrollbar {
  display: none;
}

.bp-cat {
  flex: 0 0 auto;
  padding: 9px 16px;
  color: rgba(255, 255, 255, 0.82);
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
  cursor: pointer;
  transition:
    transform 0.15s ease,
    background 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}

.bp-cat:hover {
  transform: translateY(-1px);
  border-color: rgba(245, 168, 0, 0.18);
  background: rgba(245, 168, 0, 0.08);
}

#bp-root .bp-cat.is-active {
  color: #1a0e00 !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, #b97800 0%, #f5a800 42%, #ffe093 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.26),
    0 10px 28px rgba(245, 168, 0, 0.26),
    0 0 0 1px rgba(245, 168, 0, 0.22) !important;
}

#bp-root .bp-cat.is-active:hover,
#bp-root .bp-cat.is-active:focus-visible {
  filter: brightness(1.05) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.3),
    0 14px 34px rgba(245, 168, 0, 0.34),
    0 0 0 1px rgba(245, 168, 0, 0.3) !important;
}

/* ==========================================================================
   8) PRODUCT GRID
   ========================================================================== */
.bp-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.bp-p {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 24px;
  box-shadow: var(--shadow-soft);
  background: var(--card);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.bp-p::before {
  content: "";
  position: absolute;
  top: -36px;
  right: -36px;
  z-index: 0;
  width: 150px;
  height: 150px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(245, 168, 0, 0.1) 0%, transparent 70%);
}

.bp-p::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  mix-blend-mode: screen;
  background: linear-gradient(130deg, rgba(255, 255, 255, 0.05), transparent 22%, transparent 72%, rgba(255, 255, 255, 0.025));
}

.bp-p:hover {
  transform: translateY(-5px);
  border-color: rgba(245, 168, 0, 0.16);
  box-shadow:
    var(--shadow-float),
    0 0 0 1px rgba(245, 168, 0, 0.16);
}

.bp-p img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center;
  background: #0f0f10;
  filter: saturate(1.05) contrast(1.02);
  transition: transform 0.5s ease;
  padding: 0;
}

.bp-p:hover img {
  transform: scale(1.035);
}

.bp-p .b {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 16px 16px 18px;
}

.bp-p h4 {
  margin: 0;
  color: var(--bro-orange2);
  font-family: "Oswald", sans-serif;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  overflow-wrap: break-word;
}

.bp-p p {
  flex: 1;
  min-height: 34px;
  margin: 8px 0 12px;
  color: rgba(232, 232, 232, 0.82);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}

.bp-p__notice {
  margin: 0 0 12px;
  padding: 11px 13px;
  color: rgba(255, 245, 220, 0.92);
  font-family: "Nunito", sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
  border: 1px solid rgba(245, 168, 0, 0.16);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(245, 168, 0, 0.08), rgba(245, 168, 0, 0.04));
}

.bp-p__notice b {
  color: var(--bro-orange2);
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.bp-ph {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  aspect-ratio: 16 / 10;
  color: rgba(255, 255, 255, 0.82);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background:
    radial-gradient(circle at 50% 30%, rgba(245, 168, 0, 0.1), transparent 45%),
    linear-gradient(145deg, #141415, #1d1b1b);
}

.bp-ph__brand {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bp-ph__soon {
  color: rgba(255, 255, 255, 0.58);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 800;
}

.bp-flavor {
  margin: 0 0 12px;
  color: rgba(245, 168, 0, 0.74);
  font-family: "Nunito", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.3px;
  font-style: italic;
}

.bp-row2 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 10px;
  width: 100%;
  margin-top: auto;
}

/* ==========================================================================
   9) DRINK CARDS
   ========================================================================== */
.bp-p.bp-p--drink img {
  padding: 10px;
  object-fit: contain !important;
  background:
    radial-gradient(circle at center, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 70%),
    linear-gradient(145deg, #141414, #1d1b1b);
}

.bp-p.bp-p--drink:hover img {
  transform: scale(1.02);
}

.bp-p.bp-p--drink .b {
  padding-top: 12px;
}

.bp-p.bp-p--drink h4 {
  font-size: 15px;
  line-height: 1.16;
}

.bp-p.bp-p--drink p {
  min-height: 0;
  margin: 6px 0 10px;
}

.bp-p.bp-p--drink .bp-flavor {
  display: none;
}

.bp-drink-qty {
  margin: 0 0 12px;
  color: rgba(140, 210, 255, 0.88);
  font-family: "Nunito", sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.02em;
}

.bp-drink-qty::before {
  content: "🥤 ";
}

/* ==========================================================================
   10) ADD BUTTONS
   ========================================================================== */
.bp-adds {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
}

.bp-adds--burger {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  width: 100%;
}

.bp-add2 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-width: 132px;
  min-height: 62px;
  padding: 10px 12px 10px 14px;
  overflow: hidden;
  text-align: left;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  font-family: "Oswald", sans-serif;
  transition:
    transform 0.15s ease,
    filter 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.bp-add2:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}

.bp-add2__left {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  padding-right: 4px;
}

.bp-add2__right {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  min-width: 60px;
  text-align: right;
}

.bp-add2__tag {
  font-size: 12px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.bp-add2__size-note {
  margin-top: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0.03em;
  opacity: 0.8;
}

.bp-add2__eur {
  margin-top: 0;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.bp-add2__bgn {
  margin-top: 4px;
  font-family: "Nunito", sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.bp-add2__ok {
  position: absolute;
  top: 7px;
  left: 7px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transform: scale(0.72);
  border-radius: 999px;
  box-shadow:
    0 6px 18px rgba(32, 180, 90, 0.4),
    inset 0 0 0 1px rgba(255, 255, 255, 0.22);
  background: linear-gradient(135deg, #20b45a, #41d97b);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.bp-add2.is-added .bp-add2__ok {
  opacity: 1;
  transform: scale(1);
}

.bp-add2.is-classic,
.bp-add2.is-drink {
  color: var(--bro-orange2);
  border: 1px solid rgba(245, 168, 0, 0.3);
  box-shadow: 0 10px 22px rgba(245, 168, 0, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015)),
    linear-gradient(135deg, rgba(212, 140, 0, 0.42), rgba(245, 168, 0, 0.22));
}

.bp-add2.is-classic .bp-add2__bgn,
.bp-add2.is-drink .bp-add2__bgn {
  color: rgba(255, 204, 51, 0.88);
}

.bp-add2.is-classic .bp-add2__size-note,
.bp-add2.is-drink .bp-add2__size-note {
  color: rgba(255, 240, 190, 0.82);
}

.bp-add2.is-family {
  color: rgba(255, 210, 210, 1);
  border: 1px solid rgba(255, 95, 95, 0.24);
  box-shadow: 0 10px 22px rgba(204, 27, 27, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015)),
    linear-gradient(135deg, rgba(204, 27, 27, 0.34), rgba(245, 100, 0, 0.18));
}

.bp-add2.is-family .bp-add2__bgn {
  color: rgba(255, 210, 210, 0.92);
}

.bp-add2.is-family .bp-add2__size-note {
  color: rgba(255, 228, 228, 0.78);
}

.bp-add2::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  transform: translateX(-120%) skewX(-20deg);
  background: linear-gradient(
    105deg,
    transparent 20%,
    rgba(255, 255, 255, 0) 35%,
    rgba(255, 255, 255, 0.75) 50%,
    rgba(255, 255, 255, 0) 65%,
    transparent 80%
  );
}

.bp-add2:active::after,
.bp-add2.is-added::after {
  animation: bpBlitz 0.38s ease forwards;
}

.bp-add2.is-added {
  animation: bpPulse 0.35s ease;
}
/* 🟣 LANDMARK: FAVORITE PIZZA SPLIT BUTTONS */

.bp-fav-split{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  overflow:hidden;
  border:none;
  border-radius:18px;
  cursor:pointer;
  text-align:left;
  box-shadow:
    0 16px 34px rgba(0,0,0,.28),
    inset 0 0 0 1px rgba(255,255,255,.08);
  background:
    linear-gradient(135deg, rgba(24,122,222,.96), rgba(31,112,216,.96) 55%, rgba(46,138,255,.94) 100%);
  transition:transform .16s ease, filter .18s ease, box-shadow .18s ease;
}

.bp-fav-split:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
}

.bp-fav-split.is-disabled{
  cursor:not-allowed;
  opacity:.62;
  filter:grayscale(.08);
}

.bp-fav-split--family{
  background:
    linear-gradient(135deg, rgba(158,172,26,.96), rgba(209,154,0,.94) 55%, rgba(238,171,18,.94) 100%);
}

.bp-fav-split__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.bp-fav-split__title{
  color:#fff;
  font-family:"Oswald",sans-serif;
  font-size:17px;
  font-weight:800;
  line-height:1.05;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.bp-fav-split__price{
  flex:0 0 auto;
  color:#fff7d6;
  font-family:"Oswald",sans-serif;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.bp-fav-split__body{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-width:0;
}

.bp-fav-split__zone{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height:88px;
  padding:14px 16px;
  min-width:0;
}

.bp-fav-split__zone + .bp-fav-split__zone{
  border-left:1px solid rgba(255,255,255,.12);
}

.bp-fav-split__zone--left{
  background:rgba(255,255,255,.05);
}

.bp-fav-split__zone--right{
  background:rgba(255,255,255,.09);
}

.bp-fav-split__label{
  color:#ffffff;
  font-family:"Oswald",sans-serif;
  font-size:15px;
  font-weight:800;
  line-height:1.05;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.bp-fav-split__sub{
  margin-top:6px;
  color:rgba(255,255,255,.86);
  font-family:"Nunito",sans-serif;
  font-size:12px;
  font-weight:800;
  line-height:1.3;
}

.bp-fav-split__zone::after{
  content:"+";
  position:absolute;
  top:50%;
  right:14px;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  color:#ffffff;
  font-family:"Oswald",sans-serif;
  font-size:20px;
  font-weight:800;
  line-height:1;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}

.bp-fav-split__zone--right::after{
  content:"◐";
  font-size:18px;
}

@media (max-width: 680px){
  .bp-fav-split__head{
    padding:12px 14px 10px;
  }

  .bp-fav-split__title{
    font-size:15px;
  }

  .bp-fav-split__price{
    font-size:16px;
  }

  .bp-fav-split__zone{
    min-height:78px;
    padding:12px 14px;
  }

  .bp-fav-split__label{
    font-size:14px;
  }

  .bp-fav-split__sub{
    font-size:11px;
  }

  .bp-fav-split__zone::after{
    width:30px;
    height:30px;
    right:10px;
    font-size:18px;
  }
}
.bp-order-eta--scheduled{
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    rgba(255,205,80,.08);
  border: 1px solid rgba(255,205,80,.24);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 12px 26px rgba(0,0,0,.18);
}

.bp-order-eta--scheduled .bp-order-eta__label{
  color: rgba(255,205,80,.96);
}

.bp-order-eta--scheduled .bp-order-eta__time{
  color: #fff3cf;
}

.bp-order-eta--scheduled .bp-order-eta__sub{
  color: rgba(255,255,255,.58);
}

.bp-order-eta--scheduled .bp-order-eta__remain{
  color: var(--bro-orange2);
  text-shadow: 0 0 12px rgba(245,168,0,.14);
}

.bp-order-eta--scheduled .bp-order-eta__hint{
  color: rgba(255,255,255,.50);
}

@media (max-width: 480px){
  .bp-fav-split__body{
    grid-template-columns:1fr;
  }

  .bp-fav-split__zone + .bp-fav-split__zone{
    border-left:none;
    border-top:1px solid rgba(255,255,255,.12);
  }
}
/* ==========================================================================
   11) PLUS BUTTONS + PLUS MODAL
   ========================================================================== */
.bp-plus-row {
  width: 100%;
  margin-top: 10px;
}

.bp-plus-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.28),
    inset 0 0 0 1px rgba(255, 255, 255, 0.02);
  background: rgba(255, 255, 255, 0.02);
}

.bp-plus-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 56px;
  padding: 12px 14px;
  overflow: hidden;
  appearance: none;
  color: #fff;
  text-align: left;
  border: none;
  cursor: pointer;
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition:
    transform 0.16s ease,
    filter 0.18s ease,
    box-shadow 0.18s ease;
}

.bp-plus-btn:hover {
  filter: brightness(1.05);
}

.bp-plus-btn:active {
  transform: translateY(1px) scale(0.995);
}

.bp-plus-btn + .bp-plus-btn {
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.bp-plus-btn.is-classic-plus {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  background: linear-gradient(135deg, rgba(26, 120, 58, 0.95), rgba(33, 168, 92, 0.95) 55%, rgba(108, 221, 148, 0.92) 100%);
}

.bp-plus-btn.is-family-plus {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  background: linear-gradient(135deg, rgba(22, 124, 70, 0.96), rgba(214, 143, 0, 0.92) 55%, rgba(255, 195, 67, 0.92) 100%);
}

.bp-plus-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  transform: translateX(-125%) skewX(-18deg);
  background: linear-gradient(
    110deg,
    transparent 15%,
    rgba(255, 255, 255, 0) 36%,
    rgba(255, 255, 255, 0.32) 50%,
    rgba(255, 255, 255, 0) 64%,
    transparent 85%
  );
}

.bp-plus-btn:hover::before {
  animation: bpPlusSweep 0.55s ease forwards;
}

.bp-plus-btn__left {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
}

.bp-plus-btn__tag {
  font-size: 13px;
  line-height: 1;
}

.bp-plus-btn__sub {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.82);
  font-family: "Nunito", sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: none;
  white-space: nowrap;
}

.bp-plus-btn__plus {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  background: rgba(255, 255, 255, 0.14);
}

.bp-plus-modal {
  position: fixed;
  inset: 0;
  z-index: 1000002;
  display: none;
}

.bp-plus-modal.is-open {
  display: block;
}

.bp-plus-modal__ov {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.76);
  backdrop-filter: blur(10px);
}

.bp-plus-modal__card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(560px, 94vw);
  max-height: min(88vh, 900px);
  padding: 22px;
  overflow: auto;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.78);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015)),
    linear-gradient(145deg, #171718, #0f0f10 58%, #181515);
}

.bp-plus-modal__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.bp-plus-modal__title {
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.bp-plus-modal__meta {
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.62);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
}

.bp-plus-modal__x {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: var(--bro-orange);
  font-size: 19px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
}

.bp-plus-modal__body {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.bp-plus-modal__hero {
  display: grid;
  grid-template-columns: 108px 1fr;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.03);
}

.bp-plus-modal__hero img {
  width: 108px;
  height: 82px;
  object-fit: cover;
  border-radius: 12px;
}

.bp-plus-modal__hero-name {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.05;
  text-transform: uppercase;
}

.bp-plus-modal__hero-desc {
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.72);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

.bp-plus-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  color: var(--bro-orange2);
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border: 1px solid rgba(245, 168, 0, 0.2);
  border-radius: 999px;
  background: rgba(245, 168, 0, 0.08);
}

.bp-plus-block {
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.03);
}

.bp-plus-block__title {
  margin-bottom: 10px;
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.bp-plus-mods {
  display: grid;
  gap: 8px;
}

.bp-plus-mod {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.03);
  transition:
    border-color 0.16s ease,
    background 0.16s ease,
    transform 0.16s ease;
}

.bp-plus-mod:hover {
  transform: translateY(-1px);
  border-color: rgba(245, 168, 0, 0.18);
  background: rgba(255, 255, 255, 0.045);
}

.bp-plus-mod.is-on {
  border-color: rgba(245, 168, 0, 0.32);
  background: rgba(245, 168, 0, 0.09);
}

.bp-plus-mod__left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.bp-plus-check {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: transparent;
  font-size: 12px;
  font-weight: 900;
  border: 1.5px solid rgba(255, 255, 255, 0.24);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.35);
}

.bp-plus-mod.is-on .bp-plus-check {
  color: #1a0e00;
  border-color: transparent;
  background: linear-gradient(135deg, #d48c00, #f5a800);
}

.bp-plus-mod__name {
  color: #fff;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 800;
}

.bp-plus-group{
  display:grid;
  gap:8px;
}

.bp-plus-group + .bp-plus-group{
  margin-top:12px;
}

.bp-plus-group__title{
  padding:0 2px;
  color:var(--bro-orange2);
  font-family:"Oswald",sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.bp-plus-group__list{
  display:grid;
  gap:8px;
}

.bp-plus-mod{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  background:rgba(255,255,255,.03);
}

.bp-plus-mod__left{
  min-width:0;
  flex:1 1 auto;
  display:grid;
  gap:5px;
}

.bp-plus-mod__name{
  color:#fff;
  font-family:"Nunito",sans-serif;
  font-size:14px;
  font-weight:800;
  line-height:1.25;
}

.bp-plus-mod__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
  font-family:"Nunito",sans-serif;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
}

.bp-plus-mod__eur-strong{
  color:var(--bro-orange2);
  font-family:"Oswald",sans-serif;
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
}

.bp-plus-mod__bgn-soft{
  color:rgba(255,255,255,.58);
  font-size:11px;
  font-weight:800;
}

.bp-plus-qtypick{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}

.bp-plus-qtybtn{
  min-width:48px;
  height:38px;
  padding:0 12px;
  border:none;
  border-radius:10px;
  cursor:pointer;
  font-family:"Oswald",sans-serif;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  transition:transform .14s ease, background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.bp-plus-qtybtn:hover{
  transform:translateY(-1px);
  border-color:rgba(245,168,0,.20);
}

.bp-plus-qtybtn.is-active,
.bp-plus-qtybtn.is-on{
  color:#ffffff;
  border-color:rgba(37,99,235,.42);
  background:linear-gradient(135deg,#1d4ed8,#2563eb,#60a5fa);
  box-shadow:0 8px 20px rgba(37,99,235,.28);
}

.bp-plus-mod__price-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
}

.bp-plus-mod__price {
  color: var(--bro-orange2);
  font-family: "Oswald", sans-serif;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.bp-plus-mod__price-bgn {
  color: rgba(255, 255, 255, 0.62);
  font-family: "Nunito", sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.bp-plus-empty {
  padding: 12px 0 2px;
  color: rgba(255, 255, 255, 0.52);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
}

.bp-plus-summary {
  display: grid;
  gap: 8px;
}

.bp-plus-summary__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: rgba(255, 255, 255, 0.78);
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 800;
}

.bp-plus-summary__prices {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.bp-plus-summary__eur {
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}

.bp-plus-summary__bgn {
  color: rgba(255, 255, 255, 0.62);
  font-family: "Nunito", sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

.bp-plus-summary__row.is-total {
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.bp-plus-summary__eur.is-total {
  color: var(--bro-orange2);
  font-size: 22px;
}

.bp-plus-summary__bgn.is-total {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
}

.bp-plus-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.bp-plus-btn-secondary {
  min-width: 132px;
}

.bp-line__mods {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.bp-line__mods span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  color: rgba(255, 220, 150, 0.88);
  font-family: "Nunito", sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  border: 1px solid rgba(245, 168, 0, 0.14);
  border-radius: 999px;
  background: rgba(245, 168, 0, 0.08);
}

.bp-plus-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.bp-plus-tab{
  padding:8px 12px;
  border:none;
  border-radius:999px;
  cursor:pointer;
  font-family:"Oswald",sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}

.bp-plus-tab.is-active{
  color:#1a0e00;
  background:linear-gradient(135deg,#d48c00,#f5a800);
  border-color:transparent;
}

.bp-plus-mods-list{
  display:grid;
  gap:8px;
}

.bp-plus-mod__meta{
  margin-top:4px;
  color:rgba(255,255,255,.60);
  font-family:"Nunito",sans-serif;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
}

/* ==========================================================================
   12) RUBY / JACKPOT DECOR
   ========================================================================== */
.bp-ruby-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 136px;
  margin: 28px 0 8px;
}

.bp-rubywrap {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 0;
  isolation: isolate;
}

.bp-ruby-orbit,
.bp-ruby-orbit2 {
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
}

.bp-ruby-orbit {
  inset: -14px;
  border: 1px solid rgba(245, 168, 0, 0.18);
  animation: bpOrbit 8s linear infinite;
}

.bp-ruby-orbit::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 50%;
  width: 6px;
  height: 6px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: var(--bro-orange);
  box-shadow:
    0 0 8px rgba(245, 168, 0, 0.8),
    0 0 20px rgba(245, 168, 0, 0.4);
}

.bp-ruby-orbit2 {
  inset: -22px;
  border: 1px solid rgba(245, 168, 0, 0.08);
  animation: bpOrbit 14s linear infinite reverse;
}

.bp-ruby-orbit2::before {
  content: "";
  position: absolute;
  right: 20%;
  bottom: -2px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 70, 120, 0.85);
  box-shadow: 0 0 6px rgba(255, 70, 120, 0.7);
}

.bp-ruby {
  --rubyHeat: 0;
  --rubySize: 78px;
  --rubyRadius: 24px;

  position: relative;
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: var(--rubySize);
  height: var(--rubySize);
  overflow: visible;
  border: 1.5px solid rgba(245, 168, 0, 0.2);
  border-radius: var(--rubyRadius);
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.45),
    0 0 calc(8px + var(--rubyHeat) * 40px) rgba(255, 35, 85, calc(0.12 + var(--rubyHeat) * 0.5));
  background: rgba(245, 168, 0, 0.06);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.bp-ruby::before {
  content: "";
  position: absolute;
  inset: -45%;
  pointer-events: none;
  opacity: calc(0.08 + var(--rubyHeat) * 0.8);
  filter: blur(12px);
  border-radius: inherit;
  background:
    radial-gradient(38% 38% at 28% 28%, rgba(255, 255, 255, 0.5), transparent 62%),
    radial-gradient(44% 44% at 74% 78%, rgba(255, 110, 150, 0.35), transparent 65%),
    radial-gradient(60% 60% at 50% 60%, rgba(255, 40, 90, 0.25), transparent 70%);
}

.bp-ruby__ring {
  position: absolute;
  inset: 10px;
  pointer-events: none;
  opacity: calc(0.4 + var(--rubyHeat) * 0.35);
  border: 1px solid rgba(245, 168, 0, calc(0.15 + var(--rubyHeat) * 0.25));
  border-radius: calc(var(--rubyRadius) - 10px);
}

.bp-ruby__gem {
  position: relative;
  z-index: 1;
  width: 52px;
  height: 52px;
  border-radius: 0;
  box-shadow:
    0 8px 18px rgba(0, 0, 0, 0.38),
    0 0 calc(8px + var(--rubyHeat) * 18px) rgba(245, 168, 0, calc(0.08 + var(--rubyHeat) * 0.2));
  filter: saturate(1.03) contrast(1.02);
  transform: none;
  clip-path: none;
  background: url("https://bropizza.bg/wp-content/uploads/2026/03/d45e2fb2-846d-4574-bb70-d38277fb999c.png") center/contain no-repeat;
}

.bp-ruby__spark {
  position: absolute;
  top: -25%;
  left: -25%;
  width: 150%;
  height: 150%;
  pointer-events: none;
  opacity: calc(0.05 + var(--rubyHeat) * 0.18);
  mix-blend-mode: screen;
  animation: bpRubySpin 10s linear infinite;
  background: conic-gradient(from 0deg, transparent 0 300deg, rgba(245, 168, 0, 0.3) 320deg 340deg, transparent 360deg);
}

.bp-ruby.is-jackpot {
  animation: bpRubyJackpot 1.02s ease-in-out infinite;
  border-color: rgba(245, 168, 0, 0.4);
}

.bp-rubyburst {
  position: fixed;
  inset: 0;
  z-index: 1000001;
  display: none;
  pointer-events: none;
}

.bp-rubyburst.is-on {
  display: block;
}

.bp-rubyburst__toast {
  position: absolute;
  top: 18px;
  left: 50%;
  padding: 10px 16px;
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transform: translateX(-50%);
  border: 1.5px solid rgba(245, 168, 0, 0.35);
  border-radius: 999px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8);
  background: #111;
}

.bp-rubyburst__toast b {
  color: var(--bro-orange2);
}

.bp-rubyburst__spark {
  position: absolute;
  top: 72px;
  left: 50%;
  width: 12px;
  height: 12px;
  transform: translateX(-50%);
  border-radius: 999px;
  box-shadow:
    0 0 0 8px rgba(255, 70, 120, 0.14),
    0 0 38px rgba(255, 70, 120, 0.6);
  background: rgba(255, 70, 120, 0.95);
}

.bp-rubyburst__spark::before,
.bp-rubyburst__spark::after {
  content: "";
  position: absolute;
  opacity: 0;
  animation: bpBurst 1.05s ease forwards;
  background:
    radial-gradient(circle at 22% 30%, rgba(255, 255, 255, 0.26), transparent 28%),
    radial-gradient(circle at 70% 22%, rgba(245, 168, 0, 0.22), transparent 26%),
    radial-gradient(circle at 65% 75%, rgba(255, 90, 140, 0.2), transparent 30%),
    radial-gradient(circle at 30% 80%, rgba(255, 204, 51, 0.14), transparent 28%);
}

.bp-rubyburst__spark::before {
  inset: -140px;
  filter: blur(1px);
}

.bp-rubyburst__spark::after {
  inset: -190px;
  filter: blur(2px);
  animation-delay: 0.05s;
}

/* ==========================================================================
   13) AMETHYST DECOR — VISUALLY MATCHED TO RUBY
   ========================================================================== */
.bp-amethyst-sec {
  max-width: var(--max);
  margin: 24px auto 0;
  padding: 0 14px;
  background: transparent;
  box-shadow: none;
}

.bp-amethyst-shell {
  position: relative;
  overflow: visible;
  border: none;
  border-radius: 0;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
  background: transparent;
}

.bp-amethyst-shell::before,
.bp-amethyst-shell::after {
  content: none !important;
  display: none !important;
}

.bp-amethyst-stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 146px;
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.bp-amethyst-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  isolation: isolate;
  flex-shrink: 0;
}

.bp-amethyst-orbit,
.bp-amethyst-orbit2 {
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
}

.bp-amethyst-orbit {
  inset: -14px;
  z-index: 1;
  border: 1px solid rgba(195, 155, 211, 0.2);
  animation: bpOrbit 8s linear infinite;
}

.bp-amethyst-orbit::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 50%;
  width: 6px;
  height: 6px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #cfa8ff;
  box-shadow:
    0 0 8px rgba(207, 168, 255, 0.9),
    0 0 20px rgba(207, 168, 255, 0.45);
}

.bp-amethyst-orbit2 {
  inset: -22px;
  z-index: 1;
  border: 1px solid rgba(195, 155, 211, 0.1);
  animation: bpOrbit 14s linear infinite reverse;
}

.bp-amethyst-orbit2::before {
  content: "";
  position: absolute;
  right: 20%;
  bottom: -2px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(226, 170, 255, 0.92);
  box-shadow: 0 0 6px rgba(226, 170, 255, 0.75);
}

.bp-amethyst {
  --amethystHeat: 0;
  --amethystSize: 78px;
  --amethystRadius: 24px;

  position: relative;
  display: grid;
  z-index: 3;
  flex-shrink: 0;
  place-items: center;
  width: var(--amethystSize);
  height: var(--amethystSize);
  overflow: visible;
  border: 1.5px solid rgba(195, 155, 211, 0.2);
  border-radius: var(--amethystRadius);
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.45),
    0 0 calc(8px + var(--amethystHeat) * 40px) rgba(178, 122, 255, calc(0.12 + var(--amethystHeat) * 0.5));
  background: rgba(195, 155, 211, 0.06);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.bp-amethyst::before {
  content: "";
  position: absolute;
  inset: -45%;
  pointer-events: none;
  opacity: calc(0.08 + var(--amethystHeat) * 0.8);
  filter: blur(12px);
  border-radius: inherit;
  background:
    radial-gradient(38% 38% at 28% 28%, rgba(255, 255, 255, 0.5), transparent 62%),
    radial-gradient(44% 44% at 74% 78%, rgba(216, 183, 255, 0.35), transparent 65%),
    radial-gradient(60% 60% at 50% 60%, rgba(178, 122, 255, 0.25), transparent 70%);
}

.bp-amethyst__ring {
  position: absolute;
  inset: 10px;
  pointer-events: none;
  opacity: calc(0.4 + var(--amethystHeat) * 0.35);
  border: 1px solid rgba(216, 183, 255, calc(0.15 + var(--amethystHeat) * 0.25));
  border-radius: calc(var(--amethystRadius) - 10px);
}

.bp-amethyst__gem {
  position: relative;
  z-index: 3;
  width: 52px;
  height: 52px;
  border-radius: 0;
  box-shadow:
    0 8px 18px rgba(0, 0, 0, 0.38),
    0 0 calc(8px + var(--amethystHeat) * 18px) rgba(178, 122, 255, calc(0.08 + var(--amethystHeat) * 0.2));
  filter: saturate(1.03) contrast(1.02);
  transform: none;
  clip-path: none;
  background: url("https://bropizza.bg/wp-content/uploads/2026/03/f7cd521b-91c6-400c-bd87-3f6b50984d8c.png") center/contain no-repeat;
}

.bp-amethyst__spark {
  position: absolute;
  top: -25%;
  left: -25%;
  width: 150%;
  height: 150%;
  pointer-events: none;
  opacity: calc(0.05 + var(--amethystHeat) * 0.18);
  mix-blend-mode: screen;
  animation: bpRubySpin 10s linear infinite;
  background: conic-gradient(from 0deg, transparent 0 300deg, rgba(216, 183, 255, 0.3) 320deg 340deg, transparent 360deg);
}

.bp-amethyst.is-jackpot {
  animation: bpRubyJackpot 1.02s ease-in-out infinite;
  border-color: rgba(95, 255, 155, 0.52);
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.45),
    0 0 26px rgba(60, 255, 140, 0.42),
    0 0 62px rgba(60, 255, 140, 0.24);
}

.bp-amethyst.is-pulsing {
  animation: bpRubyJackpot 1.02s ease-in-out infinite !important;
}

.bp-amethyst-orbit-line {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  pointer-events: none;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(195, 155, 211, 0.18);
  border-radius: 50%;
  box-shadow: 0 0 18px rgba(178, 122, 255, 0.06);
}

.bp-amethyst-orbit-line::before {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, 0.03);
  border-radius: 50%;
}

.bp-amethyst-particle {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  pointer-events: none;
  opacity: 0.98;
  will-change: transform;
  border-radius: 999px;
  background: var(--c, #d8b7ff);
  box-shadow:
    0 0 calc(6px + var(--glow, 0) * 18px) color-mix(in srgb, var(--c, #d8b7ff) 75%, white 25%),
    0 0 calc(12px + var(--glow, 0) * 28px) color-mix(in srgb, var(--c, #d8b7ff) 45%, transparent 55%);
  animation-name: bpAmethystParticleOrbit;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* ==========================================================================
   14) MARQUEE STRIP
   ========================================================================== */
.bp-strip {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 42px 0 0;
  padding: 22px 0;
  border-top: 1px solid rgba(245, 168, 0, 0.22);
  border-bottom: 1px solid rgba(245, 168, 0, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 -1px 0 rgba(255, 255, 255, 0.04),
    0 10px 26px rgba(0, 0, 0, 0.18);
  will-change: transform;
  background:
    radial-gradient(circle at 20% 50%, rgba(245, 168, 0, 0.08), transparent 24%),
    radial-gradient(circle at 80% 50%, rgba(181, 29, 29, 0.07), transparent 26%),
    linear-gradient(180deg, rgba(245, 168, 0, 0.07), rgba(245, 168, 0, 0.025));
}

.bp-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg, #090909 0%, rgba(9, 9, 9, 0) 9%, rgba(9, 9, 9, 0) 91%, #090909 100%);
}

.bp-strip::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  mix-blend-mode: screen;
  background: linear-gradient(180deg, rgba(255, 220, 140, 0.03), transparent 22%, transparent 78%, rgba(255, 80, 80, 0.03));
}

.bp-strip-inner {
  position: relative;
  z-index: 0;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  opacity: var(--bp-strip-opacity);
  color: rgba(245, 168, 0, 0.28);
  font-family: "Oswald", sans-serif;
  font-size: clamp(32px, 7vw, 80px);
  font-weight: 800;
  letter-spacing: 0.45em;
  text-transform: uppercase;
  text-shadow:
    0 0 1px rgba(255, 204, 51, 0.2),
    0 0 10px rgba(245, 168, 0, 0.08),
    0 0 28px rgba(245, 168, 0, 0.05);
  will-change: transform;
  filter: saturate(1.04) contrast(1.04);
  transform: translate3d(var(--bp-strip-parallax-x), var(--bp-strip-parallax-y), 0) rotate(var(--bp-strip-parallax-rotate));
  animation: bpStrip var(--bp-strip-speed) linear infinite;
}

.bp-strip-inner span {
  position: relative;
  margin-right: 4rem;
}

.bp-strip-inner span::after {
  content: "";
  position: absolute;
  inset: 18% 0 16% 0;
  pointer-events: none;
  mix-blend-mode: screen;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 220, 150, 0.03) 50%, transparent 100%);
}

/* ==========================================================================
   15) MAP
   ========================================================================== */
.bp-map-sec {
  max-width: var(--max);
  margin: 0 auto;
  padding: 14px 14px 0;
}

.bp-map-head {
  margin-bottom: 16px;
  text-align: center;
}

.bp-map-title {
  margin: 4px 0 8px;
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.bp-map-sub {
  max-width: 580px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.6);
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
}

.bp-map-card {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 24px;
  box-shadow: var(--shadow-soft);
  background: var(--card-2);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.bp-map-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-float);
}

.bp-map-iframe {
  display: block;
  width: 100%;
  height: 300px;
  border: 0;
  filter: grayscale(0.05) contrast(0.94) brightness(0.88) sepia(0.08) hue-rotate(5deg);
}

/* ==========================================================================
   16) REVIEWS
   ========================================================================== */
.bp-rev-sec {
  max-width: var(--max);
  margin: 34px auto 0;
  padding: 0 14px;
}

.bp-rev-head {
  margin-bottom: 20px;
  text-align: center;
}

.bp-rev-title {
  margin: 4px 0 8px;
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.bp-rev-sub {
  max-width: 580px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.6);
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}

.bp-rev-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.bp-rev-card {
  position: relative;
  overflow: hidden;
  padding: 18px 18px 16px;
  color: rgba(232, 232, 232, 0.95);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  line-height: 1.7;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 22px;
  box-shadow: var(--shadow-soft);
  background: var(--card);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.bp-rev-card::before {
  content: "";
  position: absolute;
  top: -20px;
  right: -20px;
  width: 80px;
  height: 80px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(245, 168, 0, 0.08) 0%, transparent 70%);
}

.bp-rev-card:hover {
  transform: translateY(-4px);
  border-color: rgba(245, 168, 0, 0.14);
  box-shadow: var(--shadow-float);
}

.bp-rev-stars {
  margin-bottom: 6px;
  color: var(--bro-orange);
  font-size: 17px;
}

.bp-rev-meta {
  margin-bottom: 6px;
  color: rgba(245, 168, 0, 0.8);
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.bp-rev-text {
  color: rgba(232, 232, 232, 0.86);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.68;
}

.bp-rev-live {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 24px;
  box-shadow: var(--shadow-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015)),
    rgba(245, 168, 0, 0.03);
}

.bp-rev-live__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.bp-rev-live__title {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.bp-rev-live__sub {
  max-width: 72ch;
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.6);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
}

.bp-rev-form {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.bp-rev-stars-pick {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bp-star-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 40px;
  color: var(--bro-orange);
  font-size: 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  cursor: pointer;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}

.bp-star-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(245, 168, 0, 0.22);
  background: rgba(245, 168, 0, 0.14);
}

.bp-star-btn.is-on {
  border-color: rgba(245, 168, 0, 0.34);
  background: rgba(245, 168, 0, 0.18);
}

.bp-rev-inp,
.bp-rev-txt {
  width: 100%;
  padding: 12px 14px;
  color: #fff;
  outline: none;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.36);
}

.bp-rev-txt {
  min-height: 110px;
  resize: vertical;
  line-height: 1.55;
}

.bp-rev-inp:focus,
.bp-rev-txt:focus {
  border-color: rgba(245, 168, 0, 0.34);
  box-shadow: 0 0 0 4px rgba(245, 168, 0, 0.08);
}

.bp-rev-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.bp-rev-hint {
  color: rgba(255, 255, 255, 0.55);
  font-family: "Nunito", sans-serif;
  font-size: 12px;
}

.bp-rev-err,
.bp-auth__err,
.bp-otp__err,
.bp-forgot__err {
  display: none;
  margin-top: 10px;
  padding: 10px 12px;
  color: rgba(255, 210, 210, 0.98);
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  border: 1px solid rgba(204, 27, 27, 0.3);
  border-radius: 12px;
  background: rgba(204, 27, 27, 0.14);
}

.bp-rev-err.is-on,
.bp-auth__err.is-on,
.bp-otp__err.is-on,
.bp-forgot__err.is-on {
  display: block;
}

.bp-rev-ok,
#bp-forgot-ok {
  display: none;
  padding: 10px 12px;
  color: rgba(255, 220, 120, 0.98);
  font-family: "Oswald", sans-serif;
  font-weight: 800;
  letter-spacing: 0.3px;
  border: 1px solid rgba(245, 168, 0, 0.28);
  border-radius: 12px;
  background: rgba(245, 168, 0, 0.12);
}

.bp-rev-ok.is-on,
#bp-forgot-ok.is-on {
  display: block;
}

.bp-rev-dyn {
  margin-top: 16px;
}

/* ==========================================================================
   17) FOOTER
   ========================================================================== */
.bp-ft {
  max-width: 1280px;
  margin: 44px auto 0;
  padding: 0 16px 32px;
  color: var(--bro-text);
  font-family: "Nunito", sans-serif;
}

.bp-ft-shell {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 28px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.72);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015)),
    linear-gradient(145deg, #171718, #111112 60%, #191616);
}

.bp-ft-shell::before {
  content: "";
  position: absolute;
  top: -60px;
  left: -60px;
  width: 300px;
  height: 300px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(245, 168, 0, 0.1) 0%, transparent 65%);
}

.bp-ft-shell::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #f5a800, #ffcc33, #f5a800, transparent);
}

.bp-ft-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr);
  gap: 32px;
  align-items: flex-start;
  padding: 34px 36px 24px;
  border-radius: 22px 22px 0 0;
}

.bp-ft-col-title {
  margin-bottom: 18px;
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.bp-ft-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.bp-ft-item {
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.26);
  background: rgba(255, 255, 255, 0.03);
}

.bp-ft-item-name {
  margin-bottom: 4px;
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.bp-ft-item-addr {
  margin-bottom: 4px;
  color: var(--bro-muted);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
}

.bp-ft-item-meta {
  color: #cccccc;
  font-family: "Nunito", sans-serif;
  font-size: 12px;
  font-weight: 700;
}

.bp-ft-item-meta::before {
  content: "● ";
  color: var(--bro-orange);
  font-weight: 700;
}

.bp-ft-contacts {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}

.bp-ft-clabel {
  margin-bottom: 4px;
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.bp-ft-ctitle {
  margin-bottom: 6px;
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.bp-ft-ctext {
  margin-bottom: 10px;
  color: #cccccc;
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.65;
}

.bp-ft-clink {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.3px;
  overflow-wrap: anywhere;
}

.bp-ft a[href^="tel:"],
.bp-ft-clink[href^="tel:"] {
  display: none !important;
}

.bp-ft-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  margin-top: 10px;
  padding: 8px 14px;
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  border: 1px solid rgba(245, 168, 0, 0.2);
  border-radius: 999px;
  background: rgba(245, 168, 0, 0.08);
}

.bp-ft-pill-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  box-shadow: 0 0 10px rgba(245, 168, 0, 0.8);
  background: var(--bro-orange);
}

.bp-ft-bottom {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 26px 16px;
  color: var(--bro-muted);
  font-size: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 0 0 22px 22px;
  background: rgba(0, 0, 0, 0.4);
}

.bp-ft-bottom-l{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 18px;
  font-family:"Nunito",sans-serif;
  font-weight:700;
}

.bp-ft-bottom-r{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.bp-footer-policy-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:9px 14px;
  border-radius:999px;
  text-decoration:none;
  font-family:'Nunito',sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:.03em;
  line-height:1;
  color:#fff8e8;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04)),
    linear-gradient(135deg, rgba(245,168,0,.22), rgba(255,211,106,.10) 52%, rgba(255,255,255,.03) 100%);
  border:1px solid rgba(245,168,0,.34);
  box-shadow:
    0 10px 28px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.10);
  transition:.18s ease;
}

.bp-footer-policy-badge:hover{
  transform:translateY(-1px);
  color:#ffffff;
  border-color:rgba(255,211,106,.58);
  background:
    linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.05)),
    linear-gradient(135deg, rgba(245,168,0,.30), rgba(255,211,106,.16) 52%, rgba(255,255,255,.04) 100%);
  box-shadow:
    0 14px 30px rgba(0,0,0,.22),
    0 0 18px rgba(245,168,0,.14),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.bp-footer-policy-badge__icon{
  color:#f5a800;
  font-size:11px;
  line-height:1;
  text-shadow:0 0 12px rgba(245,168,0,.50);
}

.bp-footer-policy-badge__text{
  line-height:1;
}

.bp-ft-epill--lux{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:999px;
  text-decoration:none;
  font-family:'Nunito',sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  color:#fffdf8;
  background:
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.05)),
    linear-gradient(135deg, rgba(255,219,130,.18), rgba(215,221,230,.16) 48%, rgba(255,255,255,.05) 100%);
  border:1px solid rgba(255,230,170,.26);
  box-shadow:
    0 12px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.16);
  transition:.18s ease;
}

.bp-ft-epill--lux:hover{
  transform:translateY(-1px);
  color:#ffffff;
  border-color:rgba(255,226,150,.44);
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06)),
    linear-gradient(135deg, rgba(255,219,130,.24), rgba(224,230,238,.20) 48%, rgba(255,255,255,.06) 100%);
  box-shadow:
    0 16px 34px rgba(0,0,0,.22),
    0 0 18px rgba(255,211,106,.10),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.bp-ft-accent {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-weight: 800;
}

.bp-ft-bottom-r {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.bp-ft-epill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 6px 18px;
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid rgba(245, 168, 0, 0.2);
  border-radius: 999px;
  background: rgba(245, 168, 0, 0.1);
  transition: transform 0.18s ease;
}

.bp-ft-epill:hover {
  transform: translateY(-2px);
  background: rgba(245, 168, 0, 0.18);
}

/* ==========================================================================
   18) DRAWER / CART
   ========================================================================== */
.bp-dw {
  position: fixed;
  inset: 0;
  z-index: 999999;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.16s ease;
}

.bp-dw.is-open {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
}

.bp-dw__ov {
  position: absolute;
  inset: 0;
  opacity: 0;
  backdrop-filter: blur(10px);
  background: rgba(0, 0, 0, 0.7);
  transition: opacity 0.18s ease;
}

.bp-dw.is-open .bp-dw__ov {
  opacity: 1;
}

.bp-dw__panel {
  position: absolute;
  top: 0;
  right: 0;
  display: flex !important;
  flex-direction: column !important;
  width: min(430px, 92vw);
  max-width: 100%;
  height: 100%;
  transform: translateX(110%) !important;
  will-change: transform;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: -20px 0 60px rgba(0, 0, 0, 0.64);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015)),
    linear-gradient(170deg, #171718 0%, #101011 100%);
  transition: transform 0.22s ease;
}

.bp-dw.is-open .bp-dw__panel {
  transform: translateX(0) !important;
}

.bp-dw__h {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 20px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.bp-dw__h b {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.bp-dw__x {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--bro-orange);
  font-size: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
}

.bp-dw__b {
  flex: 1 1 auto !important;
  min-height: 0;
  padding: 14px 16px;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
}

.bp-dw__pickup {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding: 10px 14px;
  color: rgba(255, 255, 255, 0.75);
  font-family: "Nunito", sans-serif;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid rgba(245, 168, 0, 0.18);
  border-radius: 14px;
  background: rgba(245, 168, 0, 0.07);
}

.bp-dw__pickup strong {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.bp-dw__pickup--burger {
  margin: -2px 0 12px;
  padding: 10px 14px;
  color: rgba(255, 235, 220, 0.86);
  font-family: "Nunito", sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
  border: 1px solid rgba(255, 120, 40, 0.22);
  border-radius: 14px;
  background: rgba(255, 120, 40, 0.08);
}

.bp-dw__pickup--burger strong {
  color: #ffcc99;
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* ==========================================================================
   🟣 LANDMARK: CART HANDOFF / DELIVERY UI — BROPIZZA LUX REFINED
   ========================================================================== */

#bp-root .bp-cart-handoff{
  margin: 10px 0 14px;
  padding: 14px;
  border-radius: 22px;
  border: 1px solid rgba(245,168,0,.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 16px 34px rgba(0,0,0,.22);
  background:
    radial-gradient(circle at 12% 0%, rgba(245,168,0,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)),
    linear-gradient(145deg, #171718, #101012 58%, #171414 100%);
}

#bp-root .bp-cart-handoff__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

#bp-root .bp-cart-handoff__kicker{
  color:rgba(245,168,0,.76);
  font:900 10px/1 "Oswald", sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}

#bp-root .bp-cart-handoff__title{
  margin-top:5px;
  color:#fff7ea;
  font:800 16px/1.08 "Oswald", sans-serif;
  letter-spacing:.01em;
  text-transform:uppercase;
}

#bp-root .bp-cart-handoff__fee{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid rgba(245,168,0,.18);
  background:
    linear-gradient(180deg, rgba(245,168,0,.10), rgba(245,168,0,.05)),
    rgba(255,255,255,.02);
  color:#ffd88a;
  font:800 11px/1 "Oswald", sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}

#bp-root .bp-cart-handoff__fee.is-free{
  border-color:rgba(80,220,130,.32);
  background:
    radial-gradient(circle at 12% 0%, rgba(80,220,130,.16), transparent 42%),
    linear-gradient(180deg, rgba(80,220,130,.10), rgba(80,220,130,.04)),
    rgba(255,255,255,.02);
  color:#9df5bd;
}

#bp-root .bp-cart-handoff__tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

#bp-root .bp-cart-handoff__tab{
  position:relative;
  min-height:68px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    rgba(255,255,255,.02) !important;
  color:rgba(255,255,255,.78) !important;
  text-align:left;
  cursor:pointer;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.03),
    0 10px 22px rgba(0,0,0,.16);
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease,
    filter .16s ease;
}

#bp-root .bp-cart-handoff__tab:hover{
  transform:translateY(-1px);
  border-color:rgba(245,168,0,.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 14px 26px rgba(0,0,0,.20);
}

#bp-root .bp-cart-handoff__tab strong{
  display:block;
  margin-bottom:5px;
  color:#fff7ea !important;
  font:800 14px/1.1 "Oswald", sans-serif;
  letter-spacing:.02em;
  text-transform:uppercase;
}

#bp-root .bp-cart-handoff__tab span{
  display:block;
  color:rgba(255,255,255,.56) !important;
  font:800 11px/1.3 "Nunito", sans-serif;
  text-transform:none;
}

#bp-root .bp-cart-handoff__tab.is-active{
  border-color:rgba(245,168,0,.34) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    linear-gradient(135deg, rgba(136,72,7,.34), rgba(245,168,0,.12) 56%, rgba(255,211,106,.06) 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 16px 30px rgba(0,0,0,.22),
    0 0 0 1px rgba(245,168,0,.10);
}

#bp-root .bp-cart-handoff__tab.is-active strong{
  color:#ffd36a !important;
}

#bp-root .bp-cart-handoff__tab.is-active span{
  color:rgba(255,245,220,.72) !important;
}

/* ==========================================================================
   🟣 LANDMARK — CART DELIVERY BUTTON GOLD/BLACK FIX
   Fix: маха синия цвят от "Доставка до адрес" в количката.
   ========================================================================== */

#bp-root .bp-cart-handoff__tabs .bp-handoff-btn,
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery{
  width:100% !important;
  min-height:72px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:14px 15px !important;
  border-radius:16px !important;
  border:1px solid rgba(245,168,0,.16) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(245,168,0,.10), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    linear-gradient(145deg, rgba(24,24,25,.96), rgba(13,13,14,.98)) !important;
  color:#f4ead7 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 12px 26px rgba(0,0,0,.22) !important;
  cursor:pointer !important;
  text-align:left !important;
  transition:
    transform .16s ease,
    filter .16s ease,
    border-color .16s ease,
    box-shadow .16s ease !important;
}

#bp-root .bp-cart-handoff__tabs .bp-handoff-btn:hover,
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.04) !important;
  border-color:rgba(245,168,0,.28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 16px 32px rgba(0,0,0,.28),
    0 0 0 1px rgba(245,168,0,.10) !important;
}

#bp-root .bp-cart-handoff__tabs .bp-handoff-btn span,
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery span{
  flex:0 0 auto !important;
  width:36px !important;
  height:36px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:13px !important;
  background:
    linear-gradient(135deg, rgba(245,168,0,.18), rgba(255,204,51,.08)) !important;
  border:1px solid rgba(245,168,0,.18) !important;
  color:#ffd88a !important;
  font-size:18px !important;
  box-shadow:0 8px 18px rgba(0,0,0,.18) !important;
}

#bp-root .bp-cart-handoff__tabs .bp-handoff-btn b,
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery b{
  display:block !important;
  color:#fff7ea !important;
  font-family:"Oswald", sans-serif !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1.08 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

#bp-root .bp-cart-handoff__tabs .bp-handoff-btn small,
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery small{
  display:block !important;
  margin-top:4px !important;
  color:rgba(244,234,215,.62) !important;
  font-family:"Nunito", sans-serif !important;
  font-size:11px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}

/* Active delivery state — premium gold, not blue. */
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn.is-active,
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery.is-active{
  border-color:rgba(245,168,0,.42) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,204,51,.20), transparent 42%),
    linear-gradient(180deg, rgba(245,168,0,.15), rgba(245,168,0,.055)),
    linear-gradient(145deg, rgba(48,32,9,.96), rgba(14,14,15,.98)) !important;
  color:#fff7ea !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 14px 34px rgba(245,168,0,.16),
    0 0 0 1px rgba(245,168,0,.12) !important;
}

#bp-root .bp-cart-handoff__tabs .bp-handoff-btn.is-active span,
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery.is-active span{
  background:linear-gradient(135deg, #b97800 0%, #f5a800 48%, #ffe093 100%) !important;
  color:#1a0e00 !important;
  border-color:rgba(255,224,147,.40) !important;
}

/* Disabled / closed delivery state — muted gold, not blue. */
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn.is-disabled,
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn:disabled,
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery.is-disabled,
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery:disabled{
  cursor:not-allowed !important;
  opacity:.72 !important;
  filter:saturate(.8) brightness(.9) !important;
  border-color:rgba(245,168,0,.18) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(245,168,0,.10), transparent 38%),
    linear-gradient(145deg, rgba(34,25,14,.72), rgba(16,16,16,.92)) !important;
}

#bp-root .bp-cart-delivery-fields{
  display:grid;
  gap:10px;
  margin-top:12px;
}

/* ==========================================================================
   🟣 LANDMARK — BROPIZZA DELIVERY ZONES IN CART
   ========================================================================== */

#bp-root .bp-zone{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(245,168,0,.16);
  background:
    radial-gradient(circle at 10% 0%, rgba(245,168,0,.10), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    rgba(0,0,0,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 12px 26px rgba(0,0,0,.18);
}

#bp-root .bp-zone__label{
  font-family:"Oswald", "Nunito", system-ui, sans-serif;
  font-size:12px;
  font-weight:900;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,217,138,.88);
}

#bp-root .bp-zone__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

#bp-root .bp-zone-btn{
  position:relative;
  min-height:92px;
  display:grid;
  grid-template-rows:auto auto auto;
  align-items:center;
  justify-items:center;
  gap:6px;
  padding:10px 8px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.09);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    rgba(255,255,255,.026);
  color:rgba(244,234,215,.76);
  cursor:pointer;
  text-align:center;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 10px 20px rgba(0,0,0,.18);
  transition:
    transform .16s ease,
    filter .16s ease,
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease;
}

#bp-root .bp-zone-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.06);
  border-color:rgba(245,168,0,.24);
}

#bp-root .bp-zone-btn.is-active{
  color:#1a0e00;
  border-color:rgba(255,224,147,.55);
  background:
    radial-gradient(circle at 35% 12%, rgba(255,255,255,.28), transparent 42%),
    linear-gradient(135deg, #b97800 0%, #f5a800 46%, #ffe093 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    0 16px 34px rgba(245,168,0,.26),
    0 0 0 1px rgba(245,168,0,.18);
}

#bp-root .bp-zone-btn__mark{
  position:absolute;
  top:8px;
  right:8px;
  width:20px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(0,0,0,.24);
  color:#fff7d8;
  font-family:"Nunito", system-ui, sans-serif;
  font-size:12px;
  font-weight:950;
}

#bp-root .bp-zone-btn.is-active .bp-zone-btn__mark{
  background:rgba(20,10,0,.18);
  color:#1a0e00;
}

#bp-root .bp-zone-btn__icon{
  width:30px;
  height:30px;
  color:currentColor;
  opacity:.92;
}

#bp-root .bp-zone-btn__name{
  font-family:"Oswald", "Nunito", system-ui, sans-serif;
  font-size:13px;
  font-weight:900;
  line-height:1.05;
  letter-spacing:.04em;
  text-transform:uppercase;
}

#bp-root .bp-zone-btn__fee{
  font-family:Georgia, "Times New Roman", serif;
  font-size:16px;
  font-weight:700;
  font-style:italic;
  line-height:1;
}

#bp-root .bp-zone__promo{
  margin-top:10px;
  padding:11px 13px;
  border-radius:14px;
  border:1px solid rgba(80,220,130,.24);
  background:
    radial-gradient(circle at 8% 0%, rgba(80,220,130,.16), transparent 36%),
    rgba(80,220,130,.07);
  color:#9df5bd;
  font-family:'Nunito',sans-serif;
  font-size:12px;
  font-weight:900;
  line-height:1.35;
}

#bp-root .bp-menu-promo-banner{
  display:none;
  flex-direction:column;
  gap:8px;
  margin:0 0 18px;
  padding:16px 18px;
  border-radius:22px;
  border:1px solid rgba(255,214,102,.26);
  background:
    radial-gradient(circle at 10% 0%, rgba(80,220,130,.18), transparent 32%),
    radial-gradient(circle at 90% 0%, rgba(245,168,0,.16), transparent 30%),
    linear-gradient(145deg, rgba(14,16,13,.98), rgba(24,18,11,.98));
  box-shadow:
    0 18px 40px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.06);
  min-height:0;
  overflow:visible;
}

#bp-root .bp-menu-promo-banner.is-visible{
  display:flex;
}

#bp-root .bp-menu-promo-banner__eyebrow{
  color:#ffd88a;
  font:900 11px/1 "Oswald", sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}

#bp-root .bp-menu-promo-banner__text{
  color:#f6f0e4;
  font:900 15px/1.4 "Nunito", sans-serif;
  overflow-wrap:anywhere;
}

#bp-root .bp-menu-promo-banner__text strong,
#bp-root .bp-menu-promo-banner__text b{
  color:#9df5bd;
}

@media (max-width:480px){
  #bp-root .bp-zone__grid{
    grid-template-columns:1fr;
  }

  #bp-root .bp-zone-btn{
    min-height:58px;
    grid-template-columns:30px minmax(0, 1fr) auto;
    grid-template-rows:1fr;
    justify-items:start;
    text-align:left;
    padding:12px 14px;
  }

  #bp-root .bp-zone-btn__mark{
    position:static;
    order:4;
    justify-self:end;
  }

  #bp-root .bp-zone-btn__fee{
    justify-self:end;
  }

  #bp-root .bp-menu-promo-banner{
    margin-bottom:14px;
    padding:14px 14px 15px;
    border-radius:18px;
  }

  #bp-root .bp-menu-promo-banner__text{
    font-size:13px;
    line-height:1.45;
  }
}

#bp-root .bp-cart-field{
  display:grid;
  gap:6px;
}

#bp-root .bp-cart-field span{
  color:rgba(255,255,255,.68);
  font:800 11px/1 "Oswald", sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}

#bp-root .bp-cart-field input{
  width:100%;
  min-height:46px;
  padding:0 13px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)),
    rgba(0,0,0,.22);
  color:#fff7ea;
  outline:none;
  font:800 13px/1 "Nunito", sans-serif;
  box-sizing:border-box;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

#bp-root .bp-cart-field input::placeholder{
  color:rgba(255,255,255,.34);
}

#bp-root .bp-cart-field input:focus{
  border-color:rgba(245,168,0,.34);
  box-shadow:0 0 0 3px rgba(245,168,0,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
    rgba(0,0,0,.26);
}

#bp-root .bp-cart-delivery-note{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(245,168,0,.16);
  background:
    linear-gradient(180deg, rgba(245,168,0,.08), rgba(245,168,0,.03)),
    rgba(255,255,255,.015);
  color:rgba(255,245,220,.86);
  font:800 12px/1.4 "Nunito", sans-serif;
}

#bp-root .bp-saved-addresses{
  display:grid;
  gap:9px;
}

#bp-root .bp-saved-addresses__title{
  color:rgba(255,255,255,.62);
  font:800 10px/1 "Oswald", sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}

#bp-root .bp-saved-addresses__list{
  display:grid;
  gap:8px;
}

#bp-root .bp-saved-address{
  position:relative;
  width:100%;
  min-height:62px;
  display:grid;
  gap:4px;
  padding:12px 14px;
  padding-right:82px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.016)),
    rgba(255,255,255,.015);
  color:#fff7ea;
  text-align:left;
  cursor:pointer;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

#bp-root .bp-saved-address:hover{
  transform:translateY(-1px);
  border-color:rgba(245,168,0,.16);
}

#bp-root .bp-saved-address.is-active,
#bp-root .bp-saved-address--selected{
  border-color:rgba(245,168,0,.28);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
    linear-gradient(135deg, rgba(136,72,7,.24), rgba(245,168,0,.08) 60%, rgba(255,211,106,.03));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 10px 24px rgba(0,0,0,.16);
}

#bp-root .bp-saved-address__main{
  color:#fff7ea;
  font:800 13px/1.25 "Nunito", sans-serif;
}

#bp-root .bp-saved-address__note{
  color:rgba(255,255,255,.52);
  font:800 11px/1.25 "Nunito", sans-serif;
}

#bp-root .bp-saved-address__badge{
  position:absolute;
  top:10px;
  right:10px;
  padding:6px 8px;
  border-radius:999px;
  border:1px solid rgba(245,168,0,.18);
  background:rgba(245,168,0,.08);
  color:#ffd88a;
  font:800 10px/1 "Oswald", sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
}

#bp-root .bp-delivery-new-address-btn{
  width:100%;
  min-height:42px;
  border-radius:13px;
  border:1px solid rgba(245,168,0,.16);
  background:
    linear-gradient(180deg, rgba(245,168,0,.08), rgba(245,168,0,.03)),
    rgba(255,255,255,.015);
  color:#ffd88a;
  font:800 11px/1 "Oswald", sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .15s ease, filter .15s ease, border-color .15s ease;
}

#bp-root .bp-delivery-new-address-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
  border-color:rgba(245,168,0,.24);
}

#bp-root .bp-delivery-new-address-btn.is-muted{
  border-color:rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)),
    rgba(255,255,255,.015);
  color:rgba(255,255,255,.72);
}

@media (max-width: 640px){
  #bp-root .bp-cart-handoff{
    padding:12px;
    border-radius:18px;
  }

  #bp-root .bp-cart-handoff__head{
    gap:8px;
  }

  #bp-root .bp-cart-handoff__title{
    font-size:15px;
  }

  #bp-root .bp-cart-handoff__tabs{
    grid-template-columns:1fr;
  }

  #bp-root .bp-cart-handoff__tab{
    min-height:62px;
  }

  #bp-root .bp-cart-handoff__fee{
    min-height:28px;
    padding:0 9px;
    font-size:10px;
  }
}

.bp-line {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) auto;
  gap: 10px;
  min-width: 0;
  margin-bottom: 10px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
}

.bp-line img {
  width: 62px;
  height: 52px;
  object-fit: cover;
  border-radius: 12px;
}

.bp-ln {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  overflow-wrap: break-word;
}

.bp-lu {
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.55);
  font-family: "Nunito", sans-serif;
  font-size: 12px;
  font-weight: 700;
}

.bp-qr {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}

.bp-qty {
  display: flex;
  align-items: center;
  gap: 8px;
}

.bp-qb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: var(--bro-orange);
  font-size: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
}

.bp-qv {
  min-width: 18px;
  color: #ffffff;
  font-family: "Oswald", sans-serif;
  font-size: 15px;
  font-weight: 800;
  text-align: center;
}

.bp-sum {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 15px;
  font-weight: 800;
}

.bp-rm {
  color: rgba(255, 255, 255, 0.45);
  font-family: "Nunito", sans-serif;
  font-size: 12px;
  text-decoration: underline;
  border: none;
  background: transparent;
  cursor: pointer;
}

.bp-dw__f {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 2 !important;
  padding: 14px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  background: #101011 !important;
}

.bp-note {
  margin: 4px 0 10px;
}

.bp-note label {
  display: block;
  margin: 0 0 6px;
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.bp-note textarea {
  width: 100%;
  min-height: 74px;
  padding: 12px 12px;
  resize: vertical;
  color: #fff;
  outline: none;
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.42);
}

.bp-note textarea:focus {
  border-color: rgba(245, 168, 0, 0.28);
  box-shadow: 0 0 0 4px rgba(245, 168, 0, 0.08);
}

.bp-note-hint {
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.5);
  font-family: "Nunito", sans-serif;
  font-size: 12px;
  line-height: 1.35;
}

.bp-t {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 0;
  color: rgba(255, 255, 255, 0.82);
  font-family: "Nunito", sans-serif;
  font-weight: 700;
}

.bp-t b {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 16px;
  font-weight: 800;
  white-space: nowrap;
}

.bp-t.m {
  color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
}

.bp-t.m b {
  color: rgba(245, 168, 0, 0.75);
  font-size: 14px;
}

.bp-check {
  width: 100% !important;
  margin-top: 12px;
  color: #1a0e00 !important;
  font-family: "Oswald", sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 999px !important;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(245, 168, 0, 0.28) !important;
  background: linear-gradient(135deg, #b97800, #f5a800, #ffcc33) !important;
}

.bp-check:hover {
  transform: translateY(-1px) !important;
  filter: brightness(1.05);
}

/* ==========================================================================
   🟣 LANDMARK: CHECKOUT SUBMIT LOCK UI
   ========================================================================== */

#bp-root .bp-check:disabled,
#bp-root .bp-check.is-loading{
  pointer-events:none;
  opacity:.72;
  filter:saturate(.8) brightness(.92);
  cursor:not-allowed;
}

#bp-root .bp-check.is-loading::after{
  content:"";
  width:14px;
  height:14px;
  margin-left:8px;
  border-radius:999px;
  border:2px solid rgba(26,14,0,.28);
  border-top-color:rgba(26,14,0,.9);
  animation:bpCheckoutSpin .72s linear infinite;
}

@keyframes bpCheckoutSpin{
  to{ transform:rotate(360deg); }
}

.bp-jackpot-banner {
  margin: 12px 0 0;
  padding: 12px 14px;
  border: 1px solid rgba(245, 168, 0, 0.2);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2);
  background: linear-gradient(135deg, rgba(255, 70, 120, 0.12), rgba(245, 168, 0, 0.1));
}

.bp-jackpot-banner[hidden] {
  display: none !important;
}

.bp-jackpot-banner__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  color: var(--bro-orange2);
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid rgba(245, 168, 0, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
}

.bp-jackpot-banner__title {
  margin-top: 8px;
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.bp-jackpot-banner__sub {
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.8);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

.bp-jackpot-banner__prices {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.bp-jackpot-banner__box {
  flex: 1 1 120px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.22);
}

.bp-jackpot-banner__k {
  color: rgba(255, 255, 255, 0.6);
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bp-jackpot-banner__v {
  margin-top: 4px;
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
}

.bp-jackpot-banner__v.is-old {
  color: rgba(255, 255, 255, 0.55);
  text-decoration: line-through;
}

.bp-jackpot-banner__v.is-new {
  color: var(--bro-orange2);
  text-shadow: 0 0 18px rgba(245, 168, 0, 0.18);
}

/* ==========================================================================
   19) FLOATING CART
   ========================================================================== */
.bp-floating-cart {
  position: fixed;
  right: 18px;
  bottom: calc(74px + env(safe-area-inset-bottom, 0px));
  z-index: 999998;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  isolation: isolate;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  color: #1a0e00;
  outline: none;
  cursor: pointer;
  border: none;
  border-radius: 999px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 18px 40px rgba(0, 0, 0, 0.44),
    0 12px 28px rgba(245, 168, 0, 0.24),
    0 0 0 1px rgba(245, 168, 0, 0.24);
  background: linear-gradient(135deg, #b97800 0%, #f5a800 42%, #ffe093 100%);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease,
    opacity 0.18s ease;
}

.bp-floating-cart:hover {
  transform: translateY(-2px) scale(1.03);
  filter: brightness(1.04);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.3),
    0 24px 50px rgba(0, 0, 0, 0.52),
    0 14px 34px rgba(245, 168, 0, 0.32),
    0 0 0 1px rgba(245, 168, 0, 0.3);
}

.bp-floating-cart:active {
  transform: translateY(0) scale(0.99);
}

.bp-floating-cart::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(52px 52px at 30% 28%, rgba(255, 255, 255, 0.28), transparent 62%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
}

.bp-floating-cart::after {
  content: "";
  position: absolute;
  inset: -8px;
  z-index: -1;
  pointer-events: none;
  opacity: 0.55;
  filter: blur(12px);
  border-radius: inherit;
  background: radial-gradient(circle, rgba(245, 168, 0, 0.2) 0%, rgba(245, 168, 0, 0.1) 38%, transparent 72%);
}

.bp-floating-cart.is-empty {
  opacity: 0.86;
}

.bp-floating-cart__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
  transform: translateY(1px);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.18);
}

.bp-floating-cart__count {
  position: absolute;
  top: -3px;
  right: -2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  color: #111111;
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  border-radius: 999px;
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.28),
    0 0 0 4px rgba(255, 255, 255, 0.08);
  background: #ffffff;
}

/* ==========================================================================
   20) GLOBAL MODALS / AUTH / OTP / FORGOT
   ========================================================================== */
.bp-modal,
.bp-auth,
.bp-otp,
.bp-forgot {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: none;
}

.bp-modal.is-open,
.bp-auth.is-open,
.bp-otp.is-open,
.bp-forgot.is-open {
  display: block;
}

.bp-modal__ov,
.bp-auth__ov,
.bp-otp__ov,
.bp-forgot__ov {
  position: absolute;
  inset: 0;
  backdrop-filter: blur(10px);
  background: rgba(0, 0, 0, 0.76);
}

.bp-modal__card,
.bp-auth__card,
.bp-otp__card,
.bp-forgot__card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(520px, 92vw);
  max-width: calc(100vw - 20px);
  max-height: calc(100dvh - 20px);
  padding: 24px;
  overflow: auto;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  box-shadow:
    var(--shadow-soft),
    0 0 0 1px rgba(245, 168, 0, 0.06);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015)),
    linear-gradient(145deg, #171718, #111112 62%, #191515);
}

.bp-auth__card {
  width: min(540px, 92vw);
}

.bp-modal__top {
  display: flex;
  align-items: center;
  gap: 14px;
}

.bp-ok {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  color: var(--bro-orange);
  font-size: 22px;
  font-weight: 800;
  border: 1px solid rgba(245, 168, 0, 0.28);
  border-radius: 14px;
  background: rgba(245, 168, 0, 0.18);
}

.bp-modal__t {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.bp-modal__s {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.65);
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
}

.bp-modal__id {
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.5);
  font-family: "Nunito", sans-serif;
  font-size: 12px;
}

.bp-modal__btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
}

.bp-modal__pickup {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding: 10px 14px;
  color: rgba(255, 255, 255, 0.8);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
  border: 1px solid rgba(245, 168, 0, 0.2);
  border-radius: 14px;
  background: rgba(245, 168, 0, 0.08);
}

.bp-modal__pickup strong {
  color: var(--bro-orange);
}

.bp-modal__burger {
  margin-top: 10px;
  padding: 10px 14px;
  color: rgba(255, 235, 220, 0.9);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
  border: 1px solid rgba(255, 120, 40, 0.22);
  border-radius: 14px;
  background: rgba(255, 120, 40, 0.08);
}

.bp-modal__burger strong {
  color: #ffcc99;
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.bp-auth__top,
.bp-otp__top,
.bp-forgot__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.bp-auth__top b,
.bp-otp__top b,
.bp-forgot__top b {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.bp-auth__x,
.bp-otp__x,
.bp-forgot__x {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--bro-orange);
  font-size: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
}

.bp-auth__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.bp-auth__tab {
  padding: 8px 16px;
  color: rgba(255, 255, 255, 0.75);
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  cursor: pointer;
}

.bp-auth__tab.is-active {
  color: #1a0e00;
  border-color: transparent;
  background: linear-gradient(135deg, #d48c00, #f5a800);
}

.bp-auth__form {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.bp-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.bp-field label {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.bp-field input {
  width: 100%;
  padding: 12px 14px;
  color: #ffffff;
  outline: none;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.42);
}

.bp-field select {
  width: 100%;
  padding: 12px 14px;
  color: #ffffff;
  outline: none;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.42);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.bp-field select:focus {
  border-color: rgba(245, 168, 0, 0.3);
  box-shadow: 0 0 0 4px rgba(245, 168, 0, 0.08);
}

.bp-field input:focus {
  border-color: rgba(245, 168, 0, 0.3);
  box-shadow: 0 0 0 4px rgba(245, 168, 0, 0.08);
}

.bp-auth__hint,
.bp-otp__hint,
.bp-forgot__hint {
  color: rgba(255, 255, 255, 0.6);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

.bp-auth__actions,
.bp-otp__actions,
.bp-forgot__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 12px;
}

.bp-auth__subactions {
  display: flex;
  justify-content: flex-end;
  margin-top: -2px;
}

.bp-auth__link {
  padding: 0;
  color: var(--bro-orange2);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 800;
  text-decoration: underline;
  border: none;
  background: transparent;
  cursor: pointer;
}

/* ==========================================================================
   21) PICKUP GUIDE
   ========================================================================== */
.pickup-guide {
  color: #fff;
}

.pickup-title {
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.pickup-title span {
  color: #f5a623;
}

.pickup-title small {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  opacity: 0.6;
}

.pickup-steps {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.step-number {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  color: #000;
  font-size: 13px;
  font-weight: 700;
  border-radius: 50%;
  background: #f5a623;
}

.step-icon {
  font-size: 16px;
  line-height: 26px;
}

.step-title {
  font-size: 14px;
  font-weight: 600;
}

.step-desc {
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.45;
  opacity: 0.7;
}

.pickup-footer {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 18px;
  font-size: 12px;
  opacity: 0.75;
}
.pickup-guide--scheduled{
  margin-top:18px;
}

.pickup-guide--scheduled .pickup-title span{
  color: var(--bro-orange2);
}

.pickup-guide--scheduled .step-number{
  background: linear-gradient(135deg, #b97800, #f5a800, #ffd36a);
  box-shadow:
    0 8px 18px rgba(245,168,0,.22),
    0 0 0 4px rgba(245,168,0,.10);
}

.pickup-guide--scheduled .step{
  padding: 12px 12px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)),
    rgba(255,255,255,.02);
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
}

.pickup-guide--scheduled .step-title{
  color:#fff;
  font-family:"Oswald",sans-serif;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.pickup-guide--scheduled .step-desc{
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:700;
  line-height:1.5;
}

.pickup-guide--scheduled .pickup-footer{
  margin-top:16px;
  padding:14px 16px;
  border:1px solid rgba(245,168,0,.16);
  border-radius:16px;
  background:rgba(245,168,0,.06);
  color:rgba(255,245,220,.84);
  font-size:12px;
  font-weight:700;
  line-height:1.5;
}
/* ==========================================================================
   22) KEYFRAMES
   ========================================================================== */
@keyframes bpLuxShine {
  0% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(160%);
  }
}

@keyframes bpLogoHeatSweep {
  0% {
    transform: translateX(-28%) skewX(-10deg);
  }
  100% {
    transform: translateX(28%) skewX(-10deg);
  }
}

@keyframes bpLogoHeatWobble1 {
  0%,
  100% {
    transform: translate3d(0, 0, 0) skewX(0deg);
  }
  22% {
    transform: translate3d(0.18px, -0.08px, 0) skewX(0.2deg);
  }
  50% {
    transform: translate3d(-0.24px, 0.12px, 0) skewX(-0.22deg);
  }
  78% {
    transform: translate3d(0.12px, 0.04px, 0) skewX(0.12deg);
  }
}

@keyframes bpLogoHeatWobble2 {
  0%,
  100% {
    transform: translate3d(0, 0, 0) skewX(0deg) scaleY(1);
  }
  18% {
    transform: translate3d(0.45px, -0.18px, 0) skewX(0.42deg) scaleY(1.002);
  }
  48% {
    transform: translate3d(-0.52px, 0.22px, 0) skewX(-0.46deg) scaleY(0.998);
  }
  80% {
    transform: translate3d(0.24px, 0.06px, 0) skewX(0.18deg) scaleY(1.001);
  }
}

@keyframes bpLogoHeatWobble3 {
  0%,
  100% {
    transform: translate3d(0, 0, 0) skewX(0deg) scaleY(1);
  }
  15% {
    transform: translate3d(0.72px, -0.28px, 0) skewX(0.66deg) scaleY(1.004);
  }
  34% {
    transform: translate3d(-0.95px, 0.34px, 0) skewX(-0.78deg) scaleY(0.996);
  }
  56% {
    transform: translate3d(0.74px, 0.12px, 0) skewX(0.44deg) scaleY(1.003);
  }
  82% {
    transform: translate3d(-0.56px, -0.18px, 0) skewX(-0.32deg) scaleY(0.998);
  }
}

@keyframes bpLogoHeatWobble4 {
  0%,
  100% {
    transform: translate3d(0, 0, 0) skewX(0deg) scaleY(1);
  }
  14% {
    transform: translate3d(1px, -0.42px, 0) skewX(0.82deg) scaleY(1.007);
  }
  33% {
    transform: translate3d(-1.18px, 0.4px, 0) skewX(-0.92deg) scaleY(0.993);
  }
  52% {
    transform: translate3d(0.82px, 0.16px, 0) skewX(0.58deg) scaleY(1.005);
  }
  78% {
    transform: translate3d(-0.92px, -0.28px, 0) skewX(-0.54deg) scaleY(0.996);
  }
}

@keyframes bpLogoHeatBreath {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.985;
  }
}

@keyframes bpBlitz {
  0% {
    opacity: 1;
    transform: translateX(-120%) skewX(-20deg);
  }
  60% {
    opacity: 1;
    transform: translateX(20%) skewX(-20deg);
  }
  100% {
    opacity: 0;
    transform: translateX(140%) skewX(-20deg);
  }
}

@keyframes bpPulse {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }
  45% {
    transform: translateY(-1px) scale(1.02);
  }
}

@keyframes bpPlusSweep {
  0% {
    opacity: 1;
    transform: translateX(-125%) skewX(-18deg);
  }
  100% {
    opacity: 0;
    transform: translateX(140%) skewX(-18deg);
  }
}

@keyframes bpOrbit {
  to {
    transform: rotate(360deg);
  }
}

@keyframes bpRubySpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes bpRubyJackpot {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-2px) scale(1.02);
  }
}

@keyframes bpBurst {
  0% {
    opacity: 0;
    transform: scale(0.72);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(1.15);
  }
}

@keyframes bpAmethystParticleOrbit {
  from {
    transform: translate(-50%, -50%) rotate(var(--start-angle, 0deg)) translateX(var(--orbit-radius, 40px));
  }
  to {
    transform: translate(-50%, -50%) rotate(calc(var(--start-angle, 0deg) + var(--turn, 360deg))) translateX(var(--orbit-radius, 40px));
  }
}

@keyframes bpStrip {
  0% {
    transform: translate3d(calc(0% + var(--bp-strip-parallax-x)), var(--bp-strip-parallax-y), 0)
      rotate(var(--bp-strip-parallax-rotate));
  }
  100% {
    transform: translate3d(calc(-50% + var(--bp-strip-parallax-x)), var(--bp-strip-parallax-y), 0)
      rotate(var(--bp-strip-parallax-rotate));
  }
}

/* ==========================================================================
   23) RESPONSIVE
   ========================================================================== */
@media (min-width: 1081px) {
  .bp-hero {
    border-radius: 34px !important;
  }

  .bp-hero__in,
  .bp-hero__in::after {
    border-radius: 34px !important;
  }

  .bp-hero__lux {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(480px, 0.92fr) !important;
    grid-template-areas: "left right" !important;
    align-items: center !important;
    gap: 34px !important;
    min-height: 590px !important;
    padding: 34px !important;
  }

  .bp-hero__left {
    grid-area: left !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 4px 0 !important;
  }

  .bp-hero__right {
    grid-area: right !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 100% !important;
    padding: 12px !important;
    overflow: visible !important;
  }

  .bp-hero__right::before {
    inset: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    border-radius: 30px !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.05),
      0 20px 40px rgba(0, 0, 0, 0.2) !important;
    background:
      radial-gradient(circle at 24% 22%, rgba(245, 168, 0, 0.12), transparent 30%),
      radial-gradient(circle at 78% 78%, rgba(181, 29, 29, 0.14), transparent 28%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.012)) !important;
  }

  .bp-hero__top {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: 100% !important;
    margin-bottom: 22px !important;
  }

  .bp-logo-slot {
    padding: 14px 18px !important;
    border-radius: 20px !important;
  }

  .bp-hero-badge {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    white-space: nowrap !important;
  }

  .bp-pill {
    margin-bottom: 16px !important;
  }

  .bp-h1 {
    max-width: 9.3ch !important;
    margin: 8px 0 20px !important;
    font-size: clamp(56px, 5.8vw, 92px) !important;
    line-height: 1.04 !important;
  }

  .bp-lead {
    max-width: 58ch !important;
    margin: 0 0 22px !important;
    font-size: 17px !important;
    line-height: 1.72 !important;
  }

  .bp-hero-glass {
    width: 100% !important;
    max-width: 640px !important;
    margin-top: 24px !important;
    padding: 18px 20px 18px !important;
    border-radius: 24px !important;
  }

  .bp-hero-showcase {
    width: 100% !important;
    max-width: 640px !important;
    min-height: 560px !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
    border-radius: 32px !important;
    isolation: isolate !important;
  }

  .bp-hero-showcase__ring--1 {
    inset: 26px !important;
  }

  .bp-hero-showcase__ring--2 {
    inset: 58px !important;
  }

  .bp-hero-card--main {
    width: 68% !important;
    min-height: 340px !important;
    padding: 30px 26px 26px !important;
    transform: rotate(-4deg) translateY(8px) !important;
  }

  .bp-hero-card__title {
    max-width: 6.1ch !important;
    font-size: 56px !important;
    line-height: 0.94 !important;
  }

  .bp-hero-card__text {
    max-width: 24ch !important;
    margin-top: 18px !important;
    font-size: 15px !important;
    line-height: 1.72 !important;
  }

  .bp-hero-mini {
    min-width: 172px !important;
    padding: 16px 18px 15px !important;
    border-radius: 20px !important;
  }

  .bp-hero-mini--gold {
    top: 64px !important;
    right: -18px !important;
  }

  .bp-hero-mini--dark {
    bottom: 42px !important;
    left: -22px !important;
  }

  .bp-hero-mini__value {
    font-size: 30px !important;
  }
}

@media (max-width: 1080px) {
  .bp-hero__lux {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .bp-hero__right {
    min-height: 420px;
    padding: 6px 0 10px;
  }

  .bp-h1 {
    max-width: none;
  }

  .bp-hero-card--main {
    width: 76%;
    min-height: 300px;
  }

  .bp-hero-mini {
    min-width: 154px;
  }

  .bp-hero-mini--gold {
    top: 118px;
    right: -2px;
  }

  .bp-hero-mini--dark {
    bottom: 8px;
    left: -4px;
  }
}

@media (max-width: 980px) {
  .bp-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .bp-rev-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .bp-wrap {
    padding: max(12px, env(safe-area-inset-top, 0px)) 10px 0;
  }

  .bp-grid {
    grid-template-columns: 1fr;
  }

  .bp-grid.bp-grid--drinks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .bp-grid.bp-grid--drinks .bp-p .b {
    padding: 10px 10px 12px;
  }

  .bp-grid.bp-grid--drinks .bp-p h4 {
    font-size: 13px;
    line-height: 1.14;
  }

  .bp-grid.bp-grid--drinks .bp-p p {
    margin: 5px 0 8px;
    font-size: 11px;
    line-height: 1.3;
  }

  .bp-grid.bp-grid--drinks .bp-p img {
  padding: 0;
  aspect-ratio: 1 / 1;
  object-fit: cover !important;
}

  .bp-grid.bp-grid--drinks .bp-row2 {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .bp-add2 {
    flex: 1 1 0;
    min-width: 0;
    min-height: 58px;
    padding: 10px 12px;
  }

  .bp-add2__tag {
    font-size: 11px;
  }

  .bp-add2__eur {
    font-size: 17px;
  }

  .bp-adds {
    width: 100%;
  }

  .bp-adds--burger {
    grid-template-columns: 1fr;
  }

  .bp-row2 {
    flex-direction: column;
    align-items: stretch;
  }

  .bp-rev-grid {
    grid-template-columns: 1fr;
  }

  .bp-ft-inner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 26px 22px 20px;
  }

  .bp-ft-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .bp-hero__lux {
    gap: 16px;
    padding: 16px;
  }

  .bp-hero__top {
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: 18px;
  }

  .bp-logo-slot {
    padding: 9px 12px;
    border-radius: 16px;
  }

  .bp-logo-text {
    font-size: 22px;
  }

  .bp-hero-badge {
    flex-wrap: wrap;
    max-width: 100%;
    row-gap: 4px;
  }

  .bp-pill {
    max-width: 100%;
    line-height: 1.35;
    white-space: normal;
  }

  .bp-hero__right {
    min-height: 360px;
  }

  .bp-hero-card--main {
    width: 82%;
    min-height: 250px;
    padding: 22px 18px 20px;
    transform: rotate(-4deg) translateY(0);
  }

  .bp-hero-card__title {
    font-size: 34px;
  }

  .bp-hero-mini {
    min-width: 128px;
    padding: 12px 13px;
    border-radius: 16px;
  }

  .bp-hero-mini__label {
    font-size: 9px;
    letter-spacing: 0.16em;
  }

  .bp-hero-mini__value {
    font-size: 20px;
  }

  .bp-hero-mini--gold {
    top: 78px;
    right: -2px;
  }

  .bp-hero-mini--dark {
    bottom: 12px;
    left: -2px;
  }

  .bp-ruby {
    --rubySize: 62px;
    --rubyRadius: 18px;
  }

  .bp-h1 {
    max-width: none;
    font-size: clamp(32px, 10vw, 48px);
    line-height: 1.02;
    word-break: break-word;
  }

  .bp-lead {
    font-size: 14px;
  }

  .bp-cta {
    gap: 8px;
  }

  .bp-cta .btn {
    flex: 1 1 calc(50% - 4px);
    min-width: 0;
    height: 42px;
    padding: 10px 12px;
    font-size: 12px;
  }

  .bp-h2 {
    font-size: 24px;
  }

  .bp-cats {
    gap: 6px;
    padding: 10px 10px;
    border-radius: 16px;
  }

  .bp-cat {
    padding: 7px 12px;
    font-size: 12px;
  }

  .bp-ruby-stage {
    min-height: 118px;
    margin: 20px 0 2px;
  }

  .bp-amethyst-sec {
    margin: 18px auto 0;
    padding: 0 10px;
  }

  .bp-amethyst-stage {
    min-height: 126px;
  }

  .bp-amethyst {
    --amethystSize: 60px;
    --amethystRadius: 18px;
  }

  .bp-jackpot-banner__prices {
    flex-direction: column;
  }

  .bp-dw__panel {
    width: 100vw !important;
  }

  .bp-plus-modal__card {
    width: min(560px, calc(100vw - 12px));
    max-height: calc(100dvh - 12px);
    padding: 18px;
  }

  .bp-plus-modal__hero {
    grid-template-columns: 1fr;
  }

  .bp-plus-modal__hero img {
    width: 100%;
    height: 180px;
  }

  .bp-strip {
    padding: 18px 0;
  }

  .bp-strip-inner {
    color: rgba(245, 168, 0, 0.24);
    font-size: clamp(24px, 8vw, 46px);
    letter-spacing: 0.24em;
  }

  .bp-strip-inner span {
    margin-right: 2.4rem;
  }

  .bp-floating-cart {
    right: 14px;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    width: 60px;
    height: 60px;
  }

  .bp-floating-cart__icon {
    font-size: 24px;
  }

  .bp-floating-cart__count {
    top: -2px;
    right: -1px;
    min-width: 22px;
    height: 22px;
    font-size: 11px;
  }

  .bp-modal__card,
  .bp-auth__card,
  .bp-otp__card,
  .bp-forgot__card {
    width: min(540px, calc(100vw - 16px));
    max-height: calc(100dvh - 16px);
    padding: 18px;
  }

  .bp-line {
    grid-template-columns: 56px minmax(0, 1fr) auto;
  }

  .bp-line img {
    width: 56px;
    height: 48px;
  }
}

@media (max-width: 480px) {
  .bp-hero {
    border-radius: 22px;
  }

  .bp-hero__in::after {
    border-radius: 21px;
  }

  .bp-hero__lux {
    padding: 14px;
  }

  .bp-hero__top {
    gap: 12px;
  }

  .bp-logo-text {
    font-size: 20px;
    letter-spacing: 1px;
  }

  .bp-logo-sub {
    font-size: 9px;
    letter-spacing: 2.2px;
  }

  .bp-hero-badge {
    padding: 10px 12px;
    font-size: 11px;
    letter-spacing: 0.06em;
  }

  .bp-pill {
    padding: 9px 14px;
    font-size: 11px;
    letter-spacing: 0.1em;
  }

  .bp-h1 {
    margin: 14px 0 12px;
    font-size: clamp(30px, 9.2vw, 42px);
    line-height: 1.03;
  }

  .bp-lead {
    font-size: 13px;
    line-height: 1.62;
  }

  .bp-hero-glass {
    padding: 15px 14px 14px;
    border-radius: 18px;
  }

  .bp-cta .btn {
    flex: 1 1 100%;
  }

  .bp-hero-card--main {
    width: 86%;
  }

  .bp-hero-mini {
    min-width: 118px;
    padding: 10px 11px;
  }

  .bp-hero-mini__value {
    font-size: 18px;
  }

  .bp-hero-mini--gold {
    top: 72px;
    right: 0;
  }

  .bp-hero-mini--dark {
    bottom: 10px;
    left: 0;
  }

  .bp-plus-actions,
  .bp-modal__btns,
  .bp-auth__actions,
  .bp-otp__actions,
  .bp-forgot__actions,
  .bp-rev-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .bp-plus-actions .btn,
  .bp-modal__btns .btn,
  .bp-auth__actions .btn,
  .bp-otp__actions .btn,
  .bp-forgot__actions .btn,
  .bp-rev-actions .btn {
    width: 100%;
  }

  .bp-ft {
    padding: 0 10px 24px;
  }

  .bp-ft-inner {
    padding: 22px 16px 18px;
  }

  .bp-ft-bottom {
    padding: 12px 16px 14px;
  }
}

@media (max-width: 400px) {
  .bp-logo-text {
    font-size: 19px;
    letter-spacing: 1px;
  }

  .bp-ruby {
    --rubySize: 54px;
    --rubyRadius: 16px;
  }

  .bp-ruby__gem {
    width: 32px;
    height: 32px;
  }

  .bp-ruby-stage {
    min-height: 106px;
  }

  .bp-amethyst-stage {
    min-height: 112px;
  }

  .bp-amethyst {
    --amethystSize: 54px;
    --amethystRadius: 16px;
  }

  .bp-amethyst__gem {
    width: 32px;
    height: 32px;
  }

  .bp-grid.bp-grid--drinks {
    gap: 8px;
  }

  .bp-grid.bp-grid--drinks .bp-p h4 {
    font-size: 12px;
  }

  .bp-grid.bp-grid--drinks .bp-p p {
    font-size: 10px;
  }

  .bp-grid.bp-grid--drinks .bp-add2__eur {
    font-size: 14px;
  }

  .bp-strip {
    padding: 16px 0;
  }

  .bp-strip-inner {
    color: rgba(245, 168, 0, 0.22);
    font-size: clamp(22px, 8.4vw, 36px);
    letter-spacing: 0.18em;
  }

  .bp-strip-inner span {
    margin-right: 1.8rem;
  }

  .bp-floating-cart {
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    width: 56px;
    height: 56px;
  }

  .bp-floating-cart__icon {
    font-size: 22px;
  }

  .bp-line {
    grid-template-columns: 1fr;
  }

  .bp-qr {
    align-items: stretch;
  }

  .bp-qty {
    justify-content: flex-start;
  }

  .bp-sum {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bp-strip-inner,
  .bp-heat-logo::after,
  .bp-hero-card__shine,
  .bp-ruby__spark,
  .bp-ruby-orbit,
  .bp-ruby-orbit2,
  .bp-amethyst__spark,
  .bp-amethyst-orbit,
  .bp-amethyst-orbit2,
  .bp-amethyst-particle,
  .bp-add2::after,
  .bp-plus-btn::before {
    animation: none !important;
  }

  .bp-p,
  .bp-add2,
  .bp-plus-btn,
  .bp-floating-cart,
  .bp-map-card,
  .bp-rev-card,
  .bp-ft-epill,
  .bp-hero-card,
  .bp-heat-logo {
    transition: none !important;
  }
}

html, body {
  background: #000 !important;
}

body.elementor-page,
.elementor,
.elementor-section,
.elementor-container,
.elementor-widget,
.elementor-widget-container {
  background: transparent !important;
}

#bp-root {
  display: block;
  background-color: #000 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.bp-ft {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
html, body {
  margin: 0 !important;
  padding: 0 !important;
  background: #000 !important;
}

#bp-root {
  margin: 0 !important;
  padding-bottom: 12px !important;
}

.bp-ft {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.bp-ft-shell {
  margin-bottom: 0 !important;
}

.elementor-widget-html,
.elementor-widget-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.elementor-section,
.elementor-container,
.elementor-column,
.elementor-element {
  margin-bottom: 0 !important;
}
/* 🟣 LANDMARK: FOOTER FINAL FIX */

.bp-ft-bottom-l{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px 18px !important;
  font-family:"Nunito",sans-serif !important;
  font-weight:700 !important;
}

.bp-ft-bottom-r{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}

.bp-footer-policy-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:9px 14px !important;
  border-radius:999px !important;
  text-decoration:none !important;
  font-family:"Nunito",sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.03em !important;
  line-height:1 !important;
  color:#fff8e8 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04)),
    linear-gradient(135deg, rgba(245,168,0,.22), rgba(255,211,106,.10) 52%, rgba(255,255,255,.03) 100%) !important;
  border:1px solid rgba(245,168,0,.34) !important;
  box-shadow:
    0 10px 28px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
  transition:.18s ease !important;
}

.bp-footer-policy-badge:hover{
  transform:translateY(-1px) !important;
  color:#ffffff !important;
  border-color:rgba(255,211,106,.58) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.05)),
    linear-gradient(135deg, rgba(245,168,0,.30), rgba(255,211,106,.16) 52%, rgba(255,255,255,.04) 100%) !important;
  box-shadow:
    0 14px 30px rgba(0,0,0,.22),
    0 0 18px rgba(245,168,0,.14),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.bp-footer-policy-badge__icon{
  color:#f5a800 !important;
  font-size:11px !important;
  line-height:1 !important;
  text-shadow:0 0 12px rgba(245,168,0,.50) !important;
}

.bp-footer-policy-badge__text{
  line-height:1 !important;
}

.bp-ft-epill.bp-ft-epill--lux{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  text-decoration:none !important;
  font-family:"Nunito",sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
  color:#fffdf8 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.05)),
    linear-gradient(135deg, rgba(255,219,130,.18), rgba(215,221,230,.16) 48%, rgba(255,255,255,.05) 100%) !important;
  border:1px solid rgba(255,230,170,.26) !important;
  box-shadow:
    0 12px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.16) !important;
  transition:.18s ease !important;
}

.bp-ft-epill.bp-ft-epill--lux:hover{
  transform:translateY(-1px) !important;
  color:#ffffff !important;
  border-color:rgba(255,226,150,.44) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06)),
    linear-gradient(135deg, rgba(255,219,130,.24), rgba(224,230,238,.20) 48%, rgba(255,255,255,.06) 100%) !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.22),
    0 0 18px rgba(255,211,106,.10),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}
@media (max-width: 680px) {
  .bp-floating-cart {
    bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width: 400px) {
  .bp-floating-cart {
    bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* 🟣 LANDMARK — repeat reward card */

.bp-repeat-card{
  margin:18px 0;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
    radial-gradient(circle at top right, rgba(245,168,0,.14), transparent 32%);
  box-shadow:0 14px 40px rgba(0,0,0,.18);
}

.bp-repeat-card__in{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:0;
}

.bp-repeat-card__media{
  min-height:220px;
  background:rgba(255,255,255,.02);
  border-right:1px solid rgba(255,255,255,.06);
}

.bp-repeat-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.bp-repeat-card__content{
  padding:20px;
}

.bp-repeat-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-top:6px;
}

.bp-repeat-card__title{
  font-weight:900;
  font-size:24px;
  line-height:1.1;
}

.bp-repeat-card__sub{
  margin-top:8px;
  font-size:14px;
  line-height:1.5;
  opacity:.84;
  max-width:760px;
}

.bp-repeat-card__badge{
  flex-shrink:0;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  font-weight:900;
  font-size:13px;
  line-height:1;
}

.bp-repeat-card__badge.is-mid{
  background:rgba(245,168,0,.10);
  border-color:rgba(245,168,0,.24);
}

.bp-repeat-card__badge.is-ready{
  background:rgba(80,180,120,.12);
  border-color:rgba(80,180,120,.28);
}

.bp-repeat-card__badge.is-done{
  background:rgba(120,160,255,.12);
  border-color:rgba(120,160,255,.26);
}

.bp-repeat-progress{
  margin-top:18px;
}

.bp-repeat-progress__track{
  width:100%;
  height:14px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.07);
}

.bp-repeat-progress__fill{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #f5a800 0%, #ffcf4a 100%);
  box-shadow:0 0 18px rgba(245,168,0,.32);
}

.bp-repeat-progress__labels{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:8px;
  font-size:12px;
  opacity:.84;
}

.bp-repeat-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}

.bp-repeat-chip{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  font-size:12px;
  font-weight:800;
  opacity:.72;
}

.bp-repeat-chip.is-on{
  background:rgba(245,168,0,.12);
  border-color:rgba(245,168,0,.28);
  opacity:1;
}

.bp-repeat-card__note{
  margin-top:14px;
  font-size:12px;
  line-height:1.55;
  opacity:.78;
}

@media (max-width: 900px){
  .bp-repeat-card__in{
    grid-template-columns:1fr;
  }

  .bp-repeat-card__media{
    min-height:180px;
    border-right:none;
    border-bottom:1px solid rgba(255,255,255,.06);
  }

  .bp-repeat-card__top{
    flex-direction:column;
    align-items:flex-start;
  }

  .bp-repeat-card__title{
    font-size:21px;
  }
}

/* ==========================================================================
   24) SCHEDULED ORDER MODAL
   ========================================================================== */
/* ==========================================================================
   24) SCHEDULED ORDER MODAL — iPhone Safari tap fix
   ========================================================================== */

.bp-scheduled {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: none;
}

.bp-scheduled.is-open {
  display: block;
}

.bp-scheduled__ov {
  position: absolute;
  inset: 0;
  backdrop-filter: blur(10px);
  background: rgba(0, 0, 0, 0.76);
}

.bp-scheduled__card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(560px, 92vw);
  max-width: calc(100vw - 20px);
  max-height: calc(100dvh - 20px);
  padding: 24px 24px calc(24px + env(safe-area-inset-bottom, 0px));
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  box-shadow:
    var(--shadow-soft),
    0 0 0 1px rgba(245, 168, 0, 0.06);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015)),
    linear-gradient(145deg, #171718, #111112 62%, #191515);
}

.bp-scheduled__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.bp-scheduled__top b {
  color: var(--bro-orange);
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.bp-scheduled__x {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--bro-orange);
  font-size: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
}

.bp-scheduled__form {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.bp-scheduled__hint {
  color: rgba(255, 255, 255, 0.6);
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

.bp-scheduled__actions {
  position: static !important;
  z-index: 5 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-top: 16px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-top: 0 !important;
  backdrop-filter: none !important;
}

.bp-scheduled__actions .btn,
.bp-scheduled__actions button {
  position: relative;
  z-index: 6;
  pointer-events: auto;
  touch-action: manipulation;
}

.bp-scheduled__err {
  display: none;
  margin-top: 10px;
  padding: 10px 12px;
  color: rgba(255, 210, 210, 0.98);
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  border: 1px solid rgba(204, 27, 27, 0.3);
  border-radius: 12px;
  background: rgba(204, 27, 27, 0.14);
}

.bp-scheduled__err.is-on {
  display: block;
}

@media (max-width: 680px) {
  .bp-scheduled__card {
    width: min(560px, calc(100vw - 16px));
    max-height: calc(100svh - 16px);
    padding: 18px;
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  }

  .bp-scheduled__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 16px 0 0 0 !important;
    padding: 0 !important;
  }

  .bp-scheduled__actions .btn,
  .bp-scheduled__actions button {
    width: 100% !important;
    min-height: 48px !important;
  }
}

@media (max-width: 480px) {
  .bp-scheduled__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .bp-scheduled__actions .btn {
    width: 100%;
    min-height: 48px;
  }
}

/* 🟣 LANDMARK: FAVORITE PIZZA — 2 SMART BUTTONS */

.bp-fav-split{
  width:100%;
  padding:0;
  border:none;
  border-radius:18px;
  overflow:hidden;
  cursor:default;
  text-align:left;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)),
    linear-gradient(135deg, rgba(24,140,74,.92), rgba(41,184,102,.90) 55%, rgba(108,221,148,.88) 100%);
  box-shadow:
    0 16px 34px rgba(0,0,0,.28),
    inset 0 0 0 1px rgba(255,255,255,.08);
}

.bp-fav-split--family{
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)),
    linear-gradient(135deg, rgba(145,118,0,.94), rgba(214,143,0,.92) 55%, rgba(255,195,67,.90) 100%);
}

.bp-fav-split.is-disabled{
  opacity:.58;
  filter:grayscale(.08);
  pointer-events:none;
}

.bp-fav-split__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px 10px;
}

.bp-fav-split__title{
  color:#fff;
  font-family:"Oswald",sans-serif;
  font-size:18px;
  font-weight:800;
  line-height:1;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.bp-fav-split__price{
  color:#fffef6;
  font-family:"Oswald",sans-serif;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.bp-fav-split__body{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(255,255,255,.10);
}

.bp-fav-split__zone{
  min-width:0;
  padding:13px 14px 14px;
  cursor:pointer;
  transition:background .16s ease, transform .16s ease;
}

.bp-fav-split__zone:hover{
  background:rgba(255,255,255,.08);
}

.bp-fav-split__zone:active{
  transform:scale(.995);
}

.bp-fav-split__zone + .bp-fav-split__zone{
  border-left:1px solid rgba(255,255,255,.10);
}

.bp-fav-split__label{
  color:#ffffff;
  font-family:"Oswald",sans-serif;
  font-size:14px;
  font-weight:800;
  line-height:1;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.bp-fav-split__sub{
  margin-top:6px;
  color:rgba(255,255,255,.88);
  font-family:"Nunito",sans-serif;
  font-size:11px;
  font-weight:800;
  line-height:1.3;
}

@media (max-width: 680px){
  .bp-fav-split__title{
    font-size:16px;
  }

  .bp-fav-split__price{
    font-size:16px;
  }

  .bp-fav-split__label{
    font-size:13px;
  }

  .bp-fav-split__sub{
    font-size:10px;
  }
}
/* 🟣 LANDMARK: FAVORITE PIZZA — DESKTOP LIKE MOBILE */

.bp-fav-split,
.bp-fav-split:visited,
.bp-fav-split:hover,
.bp-fav-split:active{
  width:100% !important;
  display:block !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(245,168,0,.16) !important;
  border-radius:18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
    linear-gradient(145deg, #171718, #111112 60%, #191616) !important;
  box-shadow:0 16px 36px rgba(0,0,0,.28) !important;
  color:#fff !important;
  text-align:left !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}

.bp-fav-split.is-disabled{
  opacity:.58 !important;
  cursor:not-allowed !important;
}

.bp-fav-split--family{
  border-color:rgba(255,190,80,.20) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
    linear-gradient(145deg, #1a1711, #131110 60%, #1c1712) !important;
}

.bp-fav-split__head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:12px 16px !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
  background:rgba(255,255,255,.03) !important;
}

.bp-fav-split__title{
  color:#fff !important;
  font-family:"Oswald",sans-serif !important;
  font-size:22px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}

.bp-fav-split__price{
  flex:0 0 auto !important;
  color:var(--bro-orange2) !important;
  font-family:"Oswald",sans-serif !important;
  font-size:24px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.bp-fav-split__body{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:0 !important;
  width:100% !important;
}

.bp-fav-split__zone{
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:14px 16px !important;
  min-height:116px !important;
  transition:filter .18s ease, transform .18s ease !important;
}

.bp-fav-split__zone + .bp-fav-split__zone{
  border-left:1px solid rgba(255,255,255,.08) !important;
}

.bp-fav-split__zone--left{
  background:linear-gradient(135deg, rgba(22,150,78,.96), rgba(44,177,100,.90)) !important;
}

.bp-fav-split__zone--right{
  background:linear-gradient(135deg, rgba(185,125,0,.96), rgba(245,168,0,.90)) !important;
}

.bp-fav-split__zone:hover{
  filter:brightness(1.04) !important;
}

.bp-fav-split__zone > div:first-child{
  min-width:0 !important;
  flex:1 1 auto !important;
}

.bp-fav-split__label{
  color:#fff !important;
  font-family:"Oswald",sans-serif !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}

.bp-fav-split__sub{
  margin-top:6px !important;
  color:rgba(255,255,255,.94) !important;
  font-family:"Nunito",sans-serif !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.34 !important;
}

.bp-fav-split .bp-plus-btn__plus,
.bp-fav-split .bp-plus-btn__combo,
.bp-fav-split__zone::after{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  font-family:"Oswald",sans-serif !important;
  font-size:22px !important;
  font-weight:800 !important;
  line-height:1 !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
}

.bp-fav-split__zone--left::after{
  content:"+" !important;
}

.bp-fav-split__zone--right::after{
  content:"◐" !important;
}

@media (min-width: 1025px){
  .bp-fav-split{
    max-width:100% !important;
  }

  .bp-fav-split__title{
    font-size:20px !important;
  }

  .bp-fav-split__price{
    font-size:22px !important;
  }

  .bp-fav-split__zone{
    min-height:104px !important;
    padding:12px 14px !important;
  }

  .bp-fav-split__label{
    font-size:16px !important;
  }

  .bp-fav-split__sub{
    font-size:12px !important;
    line-height:1.28 !important;
  }
}

@media (max-width: 680px){
  .bp-fav-split__title{
    font-size:18px !important;
  }

  .bp-fav-split__price{
    font-size:20px !important;
  }

  .bp-fav-split__zone{
    min-height:92px !important;
    padding:12px !important;
  }

  .bp-fav-split__label{
    font-size:15px !important;
  }

  .bp-fav-split__sub{
    font-size:11px !important;
    line-height:1.22 !important;
  }
}
/* 🟣 LANDMARK: FAVORITE PIZZA — SMALLER VERSION */

.bp-fav-split{
  border-radius:16px !important;
}

.bp-fav-split__head{
  padding:10px 12px !important;
}

.bp-fav-split__title{
  font-size:16px !important;
}

.bp-fav-split__price{
  font-size:18px !important;
}

.bp-fav-split__zone{
  min-height:64px !important;
  padding:10px 12px !important;
  gap:10px !important;
}

.bp-fav-split__label{
  font-size:14px !important;
}

.bp-fav-split__sub{
  margin-top:4px !important;
  font-size:11px !important;
  line-height:1.18 !important;
  max-width:26ch !important;
}

.bp-fav-split__zone::after{
  width:32px !important;
  height:32px !important;
  font-size:16px !important;
}

.bp-fav-split__zone--right::after{
  font-size:15px !important;
}

@media (min-width: 1025px){
  .bp-fav-split__title{
    font-size:15px !important;
  }

  .bp-fav-split__price{
    font-size:17px !important;
  }

  .bp-fav-split__zone{
    min-height:58px !important;
    padding:9px 11px !important;
  }

  .bp-fav-split__label{
    font-size:13px !important;
  }

  .bp-fav-split__sub{
    font-size:10px !important;
    line-height:1.14 !important;
  }

  .bp-fav-split__zone::after{
    width:28px !important;
    height:28px !important;
    font-size:14px !important;
  }
}
/* 🟣 LANDMARK: SCHEDULED BUTTON ACTIVE STATE — BIGGER DATE / TIME */

#bp-open-scheduled-order{
  min-height: 52px !important;
  padding: 12px 18px !important;
  line-height: 1.15 !important;
}

#bp-open-scheduled-order.is-active{
  min-height: 64px !important;
  padding: 14px 20px !important;
  border-radius: 18px !important;
  color: #fff8e8 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04)),
    linear-gradient(135deg, rgba(185,125,0,.96), rgba(245,168,0,.92) 55%, rgba(255,210,110,.92) 100%) !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.26),
    0 10px 26px rgba(245,168,0,.24),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

#bp-open-scheduled-order.is-active:hover{
  transform: translateY(-1px) !important;
  filter: brightness(1.03) !important;
}

#bp-open-scheduled-order.is-active{
  font-family: "Oswald", sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}

@media (min-width: 1025px){
  #bp-open-scheduled-order.is-active{
    min-width: 300px !important;
    min-height: 72px !important;
    padding: 16px 22px !important;
    font-size: 22px !important;
    border-radius: 20px !important;
  }
}

@media (max-width: 680px){
  #bp-open-scheduled-order{
    width: 100% !important;
  }

  #bp-open-scheduled-order.is-active{
    min-height: 60px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }
}
/* 🟣 LANDMARK: IOS SAFARI CART / BUTTON WIDTH FIX */

html,
body {
  overflow-x: hidden !important;
}

#bp-root {
  overflow-x: hidden !important;
  padding-left: max(0px, env(safe-area-inset-left)) !important;
  padding-right: max(0px, env(safe-area-inset-right)) !important;
}

.bp-wrap,
.bp-dw__panel,
.bp-dw__b,
.bp-dw__f,
.bp-line,
.bp-line > div,
.bp-note,
.bp-note textarea,
.bp-t,
.bp-jackpot-banner,
.bp-jackpot-banner__prices,
.bp-jackpot-banner__box {
  min-width: 0 !important;
  max-width: 100% !important;
}

.bp-dw__panel {
  width: 100vw !important;
  max-width: 100vw !important;
  right: 0 !important;
  left: auto !important;
  padding-right: env(safe-area-inset-right) !important;
}

.bp-dw__b {
  overflow-x: hidden !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}

.bp-dw__f {
  padding-left: 14px !important;
  padding-right: calc(14px + env(safe-area-inset-right)) !important;
  padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
}

.bp-line {
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
}

.bp-ln,
.bp-lu,
.bp-line__mods,
.bp-line__mods span {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.bp-check,
#bp-root .btn,
#bp-root .bp-check {
  min-width: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 680px) {
  .bp-dw__panel {
    width: 100vw !important;
    max-width: 100vw !important;
  }
да моля
  .bp-dw__f {
    position: sticky !important;
    bottom: 0 !important;
  }

  .bp-dw__f .bp-check,
  .bp-dw__f .btn,
  .bp-note textarea {
    width: 100% !important;
    max-width: 100% !important;
  }

  .bp-t {
    align-items: flex-start !important;
    min-width: 0 !important;
  }

  .bp-t > * {
    min-width: 0 !important;
  }
}
 /* 🟣 LANDMARK: IOS SAFARI SCHEDULED MODAL TAP LAYER FIX */

.bp-scheduled{
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000003 !important;
}

.bp-scheduled__ov{
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: auto !important;
}

.bp-scheduled__card{
  position: absolute !important;
  z-index: 2 !important;
  pointer-events: auto !important;
}

.bp-scheduled__form,
.bp-scheduled__actions{
  position: relative !important;
  z-index: 3 !important;
  pointer-events: auto !important;
}

.bp-scheduled__actions .btn,
.bp-scheduled__actions button,
#bp-scheduled-confirm,
#bp-scheduled-cancel{
  position: relative !important;
  z-index: 4 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
/* 🟣 LANDMARK: IOS SAFARI SCHEDULED MODAL FINAL HEIGHT FIX */

.bp-scheduled__card{
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(560px, 92vw) !important;
  max-width: calc(100vw - 16px) !important;
  max-height: calc(100svh - 24px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  -webkit-overflow-scrolling: touch !important;
}

.bp-scheduled__form{
  padding-bottom: 6px !important;
}

.bp-scheduled__actions .btn,
.bp-scheduled__actions button{
  width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 680px){
  .bp-scheduled__card{
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    max-height: calc(100svh - 12px) !important;
    padding: 16px !important;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .bp-scheduled__actions{
    grid-template-columns: 1fr !important;
  }
}/* 🟣 LANDMARK: REAL SCHEDULED MODAL FIX — MATCHES ACTUAL HTML */

#bp-scheduled{
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000003 !important;
}

#bp-scheduled .bp-modal__ov{
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: auto !important;
}

#bp-scheduled .bp-modal__card{
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 2 !important;
  pointer-events: auto !important;
  width: min(560px, 92vw) !important;
  max-width: calc(100vw - 16px) !important;
  max-height: calc(100svh - 24px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}

#bp-scheduled .bp-auth__form,
#bp-scheduled .bp-auth__actions,
#bp-scheduled .bp-auth__actions .btn,
#bp-scheduled .bp-auth__actions button,
#bp-scheduled #bp-scheduled-confirm,
#bp-scheduled #bp-scheduled-cancel,
#bp-scheduled #bp-scheduled-x,
#bp-scheduled input,
#bp-scheduled select,
#bp-scheduled button{
  pointer-events: auto !important;
  position: relative !important;
}

#bp-scheduled .bp-auth__actions{
  z-index: 20 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

#bp-scheduled .bp-auth__actions .btn,
#bp-scheduled .bp-auth__actions button{
  z-index: 21 !important;
  width: 100% !important;
  min-height: 48px !important;
  touch-action: manipulation !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

@media (max-width: 680px){
  #bp-scheduled .bp-modal__card{
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    max-height: calc(100svh - 12px) !important;
  }

  #bp-scheduled .bp-auth__actions{
    grid-template-columns: 1fr !important;
  }
}
/* 🟣 LANDMARK: ORDER SUCCESS MODAL BUTTONS POSITION FIX */

#bp-modal .bp-modal__card{
  position: absolute !important;
}

#bp-modal .bp-modal__btns{
  position: static !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin-top: 16px !important;
}

#bp-modal .bp-modal__btns .btn,
#bp-modal .bp-modal__btns a{
  position: static !important;
}

@media (max-width: 480px){
  #bp-modal .bp-modal__btns{
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #bp-modal .bp-modal__btns .btn,
  #bp-modal .bp-modal__btns a{
    width: 100% !important;
  }
}
/* 🟣 LANDMARK: QUICK OFFER SELECT TEXT VERTICAL FIX */

#bp-quick-offer-modal select[data-qo-whole-select],
#bp-quick-offer-modal select[data-qo-combo-a],
#bp-quick-offer-modal select[data-qo-combo-b]{
  min-height: 54px !important;
  height: 54px !important;
  padding: 14px 44px 14px 14px !important;
  line-height: 1.25 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  display: block !important;
  box-sizing: border-box !important;
}

#bp-quick-offer-modal select[data-qo-whole-select] option,
#bp-quick-offer-modal select[data-qo-combo-a] option,
#bp-quick-offer-modal select[data-qo-combo-b] option{
  font-size: 15px !important;
}
/* 🟣 SAFARI SAFE AREA FIX — QUICK OFFER ACTIONS */
#bp-quick-offer-modal .bp-plus-modal__card{
  max-height: min(92vh, calc(100dvh - 16px)) !important;
  display: flex !important;
  flex-direction: column !important;
}

#bp-quick-offer-modal .bp-plus-modal__body{
  overflow: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
}

#bp-quick-offer-modal .bp-plus-actions{
  position: sticky !important;
  bottom: 0 !important;
  z-index: 60 !important;
  background: linear-gradient(180deg, rgba(10,10,10,.10), rgba(10,10,10,.92)) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  padding:
    12px
    0
    calc(12px + env(safe-area-inset-bottom, 0px))
    0 !important;
  margin-top: 12px !important;
}

#bp-quick-offer-confirm,
#bp-quick-offer-cancel{
  min-height: 56px !important;
}
#bp-quick-offer-modal{
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
}

.bp-p img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center;
}

.bp-img-burger-full {
  object-fit: contain !important;
  object-position: center !important;
  background: #0f0f10;
}

/* ==========================================================================
   🟣 LANDMARK — TEMP FIX: DELIVERY BUTTON VISIBLE + HIDE MAP LOCATION
   Временно: показваме ясно "Доставка до адрес" и скриваме картата.
   ========================================================================== */

/* 1) Скриваме временно "Отбележи локация на карта". */
#bp-root .bp-delivery-map-box,
#bp-root .bp-delivery-map-modal{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* 2) Гарантираме, че бутонът "Доставка до адрес" се вижда. */
#bp-root .bp-cart-handoff__tabs{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}

#bp-root .bp-cart-handoff__tabs .bp-handoff-btn,
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery{
  display:flex !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  min-height:72px !important;
  width:100% !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:14px 15px !important;
  border-radius:16px !important;
  border:1px solid rgba(245,168,0,.22) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(245,168,0,.14), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    linear-gradient(145deg, rgba(24,24,25,.96), rgba(13,13,14,.98)) !important;
  color:#f4ead7 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 12px 26px rgba(0,0,0,.22) !important;
  text-align:left !important;
}

/* 3) Активната доставка да е златно-черна, не синя. */
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery.is-active{
  border-color:rgba(245,168,0,.48) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,204,51,.22), transparent 42%),
    linear-gradient(180deg, rgba(245,168,0,.16), rgba(245,168,0,.06)),
    linear-gradient(145deg, rgba(48,32,9,.96), rgba(14,14,15,.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 14px 34px rgba(245,168,0,.16),
    0 0 0 1px rgba(245,168,0,.12) !important;
}

/* 4) Иконата вътре в бутона. */
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery span{
  flex:0 0 auto !important;
  width:38px !important;
  height:38px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:13px !important;
  background:
    linear-gradient(135deg, rgba(245,168,0,.20), rgba(255,204,51,.09)) !important;
  border:1px solid rgba(245,168,0,.22) !important;
  color:#ffd88a !important;
  font-size:18px !important;
}

/* 5) Текстът вътре в бутона. */
#bp-root .bp-cart-handoff__tabs .bp-handoff-btn--delivery b{
  display:block !important;
  color:#fff7ea !important;
  font-family:"Oswald", sans-serif !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1.08 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

/* 6) Мобилно — бутоните един под друг. */
@media (max-width:520px){
  #bp-root .bp-cart-handoff__tabs{
    grid-template-columns:1fr !important;
  }
}

/* ==========================================================================
   BROPIZZA — APPETITE REFRESH v1
   Цел: по-апетитно, по-свежо, без пипане на логика
   ========================================================================== */

/* 1) По-топъл общ фон — по-малко студено черно, повече “пещ / вкус” */
#bp-root{
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 190, 72, .115), transparent 24%),
    radial-gradient(circle at 88% 20%, rgba(196, 38, 20, .13), transparent 26%),
    radial-gradient(circle at 50% 88%, rgba(255, 132, 30, .075), transparent 28%),
    linear-gradient(180deg, #090807 0%, #12100d 42%, #0b0908 100%) !important;
}

#bp-root::before{
  opacity:.055 !important;
}

/* 2) Hero — по-топъл, по-вкусен, но запазва премиум стила */
#bp-root .bp-hero{
  border-color:rgba(255, 196, 92, .16) !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(255, 185, 60, .16), transparent 30%),
    radial-gradient(circle at 92% 78%, rgba(183, 29, 18, .18), transparent 32%),
    linear-gradient(145deg, #1b1712 0%, #0d0c0b 52%, #18110e 100%) !important;
  box-shadow:
    0 34px 96px rgba(0,0,0,.78),
    0 0 0 1px rgba(245,168,0,.08),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

#bp-root .bp-hero::before{
  width:420px !important;
  height:420px !important;
  background:radial-gradient(circle, rgba(255, 181, 58, .20) 0%, transparent 68%) !important;
}

#bp-root .bp-hero::after{
  width:390px !important;
  height:390px !important;
  background:radial-gradient(circle, rgba(210, 48, 25, .19) 0%, transparent 70%) !important;
}

/* 3) Hero headline — малко по-кремаво и апетитно */
#bp-root .bp-h1.bp-h1--bro{
  color:#fff2dd !important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.22),
    0 18px 44px rgba(0,0,0,.46),
    0 0 34px rgba(245,168,0,.07) !important;
}

#bp-root .bp-h1--bro .bp-h1-gold{
  background:linear-gradient(180deg, #fff0b8 0%, #ffc13d 38%, #f5a800 62%, #b96b00 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  filter:
    drop-shadow(0 0 16px rgba(245,168,0,.22))
    drop-shadow(0 10px 20px rgba(0,0,0,.20)) !important;
}

#bp-root .bp-lead{
  color:rgba(255, 239, 214, .82) !important;
  font-size:16px !important;
  line-height:1.68 !important;
}

/* 4) Hero glass / как работи — по-ясна и по-свежа карта */
#bp-root .bp-hero-glass{
  border-color:rgba(255, 199, 92, .16) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(245,168,0,.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)),
    rgba(255,255,255,.025) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 22px 48px rgba(0,0,0,.32) !important;
}

#bp-root .pickup-guide{
  border-radius:18px;
}

#bp-root .step{
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

#bp-root .step:hover{
  transform:translateY(-2px);
}

/* 5) Категории — по-ясни, по-живи, по-лесни за сканиране */
#bp-root .bp-cats{
  border-color:rgba(255, 196, 92, .12) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(245,168,0,.09), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(0,0,0,.34) !important;
}

#bp-root .bp-cat{
  min-height:42px;
  padding:10px 18px !important;
  color:rgba(255, 244, 225, .86) !important;
  border-color:rgba(255,255,255,.10) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.022)),
    rgba(255,255,255,.025) !important;
}

#bp-root .bp-cat:hover{
  border-color:rgba(245,168,0,.30) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(245,168,0,.18), transparent 64%),
    rgba(245,168,0,.075) !important;
}

#bp-root .bp-cat.is-active{
  color:#1d0f00 !important;
  background:linear-gradient(135deg, #d88500 0%, #ffbd2e 46%, #ffe39a 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    0 12px 30px rgba(245,168,0,.30),
    0 0 0 1px rgba(245,168,0,.28) !important;
}

/* 6) Продуктови карти — по-апетитни и premium */
#bp-root .bp-p{
  border-color:rgba(255, 196, 92, .105) !important;
  background:
    radial-gradient(circle at 50% -8%, rgba(255, 190, 70, .13), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(185, 32, 18, .105), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    linear-gradient(145deg, #1b1713 0%, #11100f 55%, #191210 100%) !important;
  box-shadow:
    0 20px 54px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

#bp-root .bp-p:hover{
  transform:translateY(-6px) !important;
  border-color:rgba(255, 197, 82, .25) !important;
  box-shadow:
    0 30px 78px rgba(0,0,0,.72),
    0 0 0 1px rgba(245,168,0,.14),
    0 0 44px rgba(245,168,0,.09) !important;
}

#bp-root .bp-p::before{
  background:radial-gradient(circle, rgba(255, 186, 60, .16) 0%, transparent 70%) !important;
}

#bp-root .bp-p::after{
  background:
    linear-gradient(130deg, rgba(255,255,255,.065), transparent 24%, transparent 70%, rgba(255,198,94,.035)) !important;
}

/* 7) Снимките — по-живи, без да ги правим изкуствени */
#bp-root .bp-p img{
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 194, 90, .10), transparent 45%),
    linear-gradient(145deg, #181410, #231611) !important;
  filter:saturate(1.13) contrast(1.045) brightness(1.035) !important;
  transition:transform .55s ease, filter .25s ease !important;
}

#bp-root .bp-p:hover img{
  transform:scale(1.045) !important;
  filter:saturate(1.19) contrast(1.06) brightness(1.055) !important;
}

/* Напитките да не стават прекалено “пицарски” */
#bp-root .bp-p.bp-p--drink img{
  filter:saturate(1.08) contrast(1.02) brightness(1.04) !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(120, 200, 255, .10), transparent 44%),
    linear-gradient(145deg, #141719, #1d1b1b) !important;
}

/* 8) Имена и описания — по-четими и продаващи */
#bp-root .bp-p h4{
  color:#ffd36a !important;
  font-size:18px !important;
  letter-spacing:.035em !important;
  text-shadow:0 0 18px rgba(245,168,0,.10) !important;
}

#bp-root .bp-p p{
  color:rgba(255, 243, 224, .80) !important;
  font-size:13.5px !important;
  line-height:1.55 !important;
}

#bp-root .bp-flavor{
  color:rgba(255, 190, 84, .88) !important;
}

/* 9) Бутоните за добавяне — по-ясни, по-вкусни, по-натискаеми */
#bp-root .bp-add2{
  border-radius:16px !important;
  min-height:66px !important;
  box-shadow:
    0 14px 30px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.07) !important;
}

#bp-root .bp-add2.is-classic,
#bp-root .bp-add2.is-drink{
  color:#fff2bb !important;
  border-color:rgba(255, 196, 72, .40) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.12), transparent 36%),
    linear-gradient(135deg, rgba(214,132,0,.58), rgba(245,168,0,.30) 62%, rgba(105,62,0,.36)) !important;
}

#bp-root .bp-add2.is-family{
  color:#ffe0d6 !important;
  border-color:rgba(255, 108, 86, .36) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.11), transparent 36%),
    linear-gradient(135deg, rgba(191,36,22,.50), rgba(245,100,0,.26) 62%, rgba(82,18,12,.42)) !important;
}

#bp-root .bp-add2__tag{
  font-size:12.5px !important;
}

#bp-root .bp-add2__eur{
  font-size:19px !important;
}

#bp-root .bp-add2__bgn{
  opacity:.86 !important;
}

/* 10) Основните CTA бутони — малко повече “искам да натисна” */
#bp-root .ivh-btn-primary{
  background:linear-gradient(135deg, #c87500 0%, #ffb422 44%, #ffe39a 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    0 12px 32px rgba(245,168,0,.32),
    0 0 0 1px rgba(245,168,0,.28) !important;
}

#bp-root .ivh-btn-secondary{
  color:rgba(255, 242, 220, .90) !important;
  border-color:rgba(255,255,255,.12) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
    rgba(255,255,255,.025) !important;
}

/* 11) Секция “Нашето меню” — по-силно начало */
#bp-root .bp-head{
  padding:4px 2px 0;
}

#bp-root .bp-slabel{
  color:#ffbd3a !important;
}

#bp-root .bp-h2{
  color:#fff1da !important;
  text-shadow:0 14px 34px rgba(0,0,0,.36) !important;
}

#bp-root .bp-sub{
  color:rgba(255, 237, 210, .62) !important;
}

/* 12) Mobile — повече въздух, по-малко натъпкано */
@media (max-width: 680px){
  #bp-root .bp-wrap{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  #bp-root .bp-hero__lux{
    padding:16px !important;
  }

  #bp-root .bp-cta{
    gap:9px !important;
  }

  #bp-root .bp-cta .btn{
    min-width:0 !important;
    flex:1 1 calc(50% - 9px);
    padding-left:12px !important;
    padding-right:12px !important;
  }

  #bp-root .bp-grid{
    gap:18px !important;
  }

  #bp-root .bp-p{
    border-radius:24px !important;
  }

  #bp-root .bp-p .b{
    padding:15px 15px 17px !important;
  }

  #bp-root .bp-p h4{
    font-size:17px !important;
  }

  #bp-root .bp-p p{
    font-size:13px !important;
  }

  #bp-root .bp-add2{
    min-height:62px !important;
  }

  #bp-root .bp-cats{
    padding:12px !important;
    border-radius:18px !important;
  }

  #bp-root .bp-cat{
    min-height:40px !important;
    padding:9px 15px !important;
  }
}

/* 13) Много малки екрани — CTA бутоните да не се смачкват */
@media (max-width: 420px){
  #bp-root .bp-cta .btn{
    flex:1 1 100%;
  }

  #bp-root .bp-h1.bp-h1--bro{
    font-size:clamp(34px, 10.7vw, 49px) !important;
  }
}

/* ========================================================================== 
   🟣 LANDMARK — FINAL BROPIZZA FOOD HERO UPGRADE
   Safe override. Keep business/cart/order logic untouched.
   ========================================================================== */
#bp-root .bp-hero{position:relative!important;isolation:isolate!important;overflow:hidden!important;border-radius:34px!important;background:#050505!important}
#bp-root .bp-hero::before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;width:auto!important;height:auto!important;filter:none!important;opacity:1!important;background-image:url("/bropizza-menu/assets/bro-hero-desktop.jpg")!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;transform:scale(1.01)!important}
#bp-root .bp-hero::after{content:""!important;position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;width:auto!important;height:auto!important;filter:none!important;opacity:1!important;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.72) 45%,rgba(0,0,0,.34) 100%),linear-gradient(180deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,.78) 100%)!important}
#bp-root .bp-hero__in,#bp-root .bp-hero__lux,#bp-root .bp-hero__left,#bp-root .bp-hero__right{position:relative!important;z-index:2!important}
#bp-root .bp-hero__in::before,#bp-root .bp-hero__in::after{display:none!important;content:none!important}

/* Desktop layout */
#bp-root .bp-hero__lux{min-height:720px!important;padding:34px!important}
#bp-root .bp-hero__right{opacity:.86!important}

/* Final headline control */
#bp-root .bp-h1.bp-h1--bro{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:.035em!important;max-width:900px!important;margin:34px 0 18px!important;font-family:"Oswald",sans-serif!important;font-size:clamp(54px,7vw,104px)!important;line-height:.92!important;font-weight:900!important;letter-spacing:-.026em!important;text-transform:uppercase!important;color:#f8f1e5!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;text-shadow:0 2px 0 rgba(0,0,0,.30),0 20px 48px rgba(0,0,0,.62)!important}
#bp-root .bp-h1--bro .bp-h1-line{display:block!important;max-width:100%!important;white-space:nowrap!important;margin:0!important;padding:0!important}
#bp-root .bp-h1--bro .bp-h1-line--soft{font-size:.72em!important;line-height:.98!important;color:#eadcc5!important;white-space:nowrap!important}
#bp-root .bp-h1--bro .bp-h1-gold{color:#f5a800!important;background:linear-gradient(180deg,#ffe0a3 0%,#f5a800 48%,#b86b00 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;filter:drop-shadow(0 0 14px rgba(245,168,0,.18))!important}
#bp-root .bp-lead{max-width:680px!important;color:rgba(248,241,229,.84)!important;font-size:17px!important;font-weight:850!important;line-height:1.58!important;text-shadow:0 10px 28px rgba(0,0,0,.55)!important}

/* CTA premium balance */
#bp-root .bp-cta{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-width:660px!important;margin-top:24px!important}
#bp-root .bp-cta .btn{width:100%!important;min-height:58px!important;border-radius:20px!important}

/* Floating cart must not cover copy */
#bp-root .bp-floating-cart{z-index:50!important}

/* Mobile food hero */
@media (max-width:767px){
  #bp-root .bp-wrap{padding:20px 10px 0!important}
  #bp-root .bp-hero{border-radius:28px!important}
  #bp-root .bp-hero::before{background-image:url("/bropizza-menu/assets/bro-hero-mobile.jpg")!important;background-size:cover!important;background-position:62% top!important;transform:scale(1.015)!important}
  #bp-root .bp-hero::after{background:linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.78) 48%,rgba(0,0,0,.42) 100%),linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.70) 52%,rgba(0,0,0,.94) 100%)!important}
  #bp-root .bp-hero__lux{display:block!important;min-height:760px!important;padding:28px 22px 34px!important}
  #bp-root .bp-hero__left{width:100%!important;min-width:0!important}
  #bp-root .bp-hero__right{display:none!important}
  #bp-root .bp-hero__top{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin-bottom:18px!important}
  #bp-root .bp-logo-slot{max-width:100%!important;padding:14px 16px!important;border-radius:20px!important}
  #bp-root .bp-logo-text{font-size:30px!important}
  #bp-root .bp-hero-badge{width:max-content!important;max-width:100%!important;padding:11px 16px!important}
  #bp-root .bp-pill{margin-bottom:26px!important}
  #bp-root .bp-h1.bp-h1--bro{max-width:100%!important;margin:36px 0 16px!important;font-size:clamp(39px,10.7vw,54px)!important;line-height:.96!important;gap:.075em!important;letter-spacing:-.018em!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
  #bp-root .bp-h1--bro .bp-h1-line{white-space:nowrap!important}
  #bp-root .bp-h1--bro .bp-h1-line--soft{font-size:.78em!important;white-space:nowrap!important}
  #bp-root .bp-lead{max-width:100%!important;font-size:16px!important;line-height:1.48!important;margin-bottom:0!important}
  #bp-root .bp-cta{grid-template-columns:1fr 1fr!important;gap:12px!important;max-width:100%!important;margin-top:30px!important}
  #bp-root .bp-cta .btn{min-width:0!important;min-height:56px!important;padding:10px 12px!important;font-size:12px!important;border-radius:18px!important;letter-spacing:.075em!important}
  #bp-root .bp-hero-glass{margin-top:28px!important}
  #bp-root .bp-floating-cart{right:18px!important;bottom:96px!important;transform:none!important}
}

@media (max-width:420px){
  #bp-root .bp-hero__lux{padding:26px 18px 32px!important}
  #bp-root .bp-h1.bp-h1--bro{font-size:clamp(36px,10.2vw,46px)!important;line-height:.98!important}
  #bp-root .bp-h1--bro .bp-h1-line--soft{font-size:.76em!important}
  #bp-root .bp-lead{font-size:15px!important}
  #bp-root .bp-cta{gap:10px!important}
  #bp-root .bp-cta .btn{min-height:54px!important;font-size:11px!important}
}

/* Mobile food background micro-fix: slightly more breathing room behind hero copy. */
@media (max-width:740px){
  #bp-root .bp-hero::before{
    background-size:92% auto!important;
    background-position:115% 0%!important;
    background-repeat:no-repeat!important;
  }
}

/* Desktop only: hide the decorative Ricchezza Experience card, keep its panel and badges. */
@media (min-width:900px){
  #bp-root .bp-hero-card--main{
    display:none!important;
  }
}

/* Desktop only: remove remaining non-functional overlays from the right hero showcase. */
@media (min-width:900px){
  #bp-root .bp-hero-showcase__ring,
  #bp-root .bp-hero-mini{
    display:none!important;
  }
}

/* Desktop only: retain the right column's layout space while making its decorative UI invisible. */
@media (min-width:900px){
  #bp-root .bp-hero__right{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
