/* DONBONG final safe overlay — additive, no source layout rewrite */

:root {
  --db-orange: #ff5a00;
  --db-orange-hi: #ff7a30;
  --db-violet: #9b4dff;
  --db-black: #050307;
  --db-glass-dark: rgba(5, 3, 7, .76);
  --db-line-soft: rgba(255,255,255,.14);
}

/* Shared contrast fixes */
.btn,
.btn-primary,
.btn-secondary,
.topbar-btn,
.theme-btn,
.nav-pill,
.lang-btn,
button {
  text-shadow: none;
}

.btn-primary,
.btn.btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, var(--db-orange), var(--db-orange-hi)) !important;
  border-color: rgba(255, 122, 48, .95) !important;
  box-shadow: 0 14px 40px rgba(255, 90, 0, .28), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.btn-secondary,
.btn.btn-secondary {
  color: #fff !important;
  background: rgba(8, 5, 14, .52) !important;
  border-color: rgba(255, 90, 0, .55) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.btn-secondary:hover,
.btn.btn-secondary:hover {
  background: rgba(255, 90, 0, .16) !important;
  border-color: rgba(255, 122, 48, .92) !important;
}

/* HOME polish */
.db-home-polish .nav,
.db-home-polish .topbar {
  background: rgba(5,3,7,.58) !important;
  border-bottom-color: rgba(255,255,255,.12) !important;
  backdrop-filter: blur(22px) saturate(170%) !important;
}

.db-home-polish #glbg {
  background:
    radial-gradient(ellipse at 36% 40%, rgba(255, 90, 0, .20) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 65%, rgba(100, 40, 255, .10) 0%, transparent 55%),
    #050307 !important;
}

.db-home-polish .hero {
  isolation: isolate;
  overflow: hidden;
}

.db-home-polish .hero-copy {
  z-index: 14 !important;
}

.db-home-polish .hero-h1,
.db-home-polish .hero-name,
.db-home-polish .hero-tagline {
  text-shadow: 0 14px 44px rgba(0,0,0,.62), 0 0 20px rgba(0,0,0,.45);
}

.db-home-polish .hero-sub {
  max-width: 640px;
  color: rgba(255,255,255,.86) !important;
  text-shadow: 0 8px 24px rgba(0,0,0,.72);
}

.db-home-polish .hero-visual {
  z-index: 8 !important;
}

.db-home-polish .hero-visual > .hero-image {
  opacity: .18 !important;
  transform: scale(1.16) rotate(-2deg);
  filter: blur(3px) saturate(1.15) contrast(1.03);
  mix-blend-mode: screen;
}

.db-hero-logo-bg {
  position: absolute;
  right: -12vw;
  top: 9vh;
  width: min(78vw, 1080px);
  height: min(70vw, 900px);
  z-index: 2;
  opacity: .18;
  pointer-events: none;
  filter: blur(4px) drop-shadow(0 0 44px rgba(255,90,0,.20));
  transform: rotate(-4deg);
}

.db-hero-logo-bg img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.db-hero-girl-wrap {
  position: absolute;
  right: clamp(18px, 8vw, 140px);
  bottom: -3vh;
  width: min(40vw, 590px);
  min-width: 380px;
  z-index: 12;
  pointer-events: none;
  animation: dbHeroIn .7s cubic-bezier(.22,1,0,1) both;
}

.db-hero-girl-wrap::before {
  content: "";
  position: absolute;
  left: -10%;
  top: 18%;
  width: 70%;
  height: 38%;
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(230,240,255,.20), rgba(155,155,180,.08) 48%, transparent 70%);
  filter: blur(18px);
  mix-blend-mode: screen;
  opacity: .74;
  animation: dbSmokeDrift 8s ease-in-out infinite alternate;
}

.db-hero-girl {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 34px 70px rgba(0,0,0,.72)) saturate(1.05) contrast(1.04);
}

@keyframes dbHeroIn {
  from { opacity: 0; transform: translate3d(26px,18px,0) scale(.98); }
  to { opacity: 1; transform: none; }
}

@keyframes dbSmokeDrift {
  from { transform: translate3d(-2%, 1%, 0) scale(.96); opacity: .48; }
  to { transform: translate3d(8%, -6%, 0) scale(1.18); opacity: .86; }
}

.db-home-polish .hero-chip {
  z-index: 16;
  background: rgba(5,3,7,.68) !important;
  border-color: rgba(255,90,0,.36) !important;
  color: rgba(255,255,255,.88) !important;
}

.db-home-polish .hero-stats,
.db-home-polish .stats-grid {
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(14px);
}

/* SHOP safety layer */
.db-shop-polish .topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 500 !important;
  background: rgba(3,3,7,.92) !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}

.db-shop-polish .cat-strip {
  z-index: 490 !important;
  background: rgba(3,3,7,.88) !important;
}

.db-shop-polish .search-wrap input {
  color: #fff !important;
}

.db-live-catalog-panel {
  margin: 18px 20px 44px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  background:
    radial-gradient(circle at 70% 8%, rgba(255, 90, 0, .12), transparent 32%),
    rgba(255,255,255,.035);
  backdrop-filter: blur(22px) saturate(150%);
  padding: clamp(18px, 2.4vw, 32px);
  box-shadow: 0 24px 80px rgba(0,0,0,.38);
}

.db-live-catalog-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.db-live-catalog-kicker {
  color: var(--db-orange);
  font: 800 11px/1.2 var(--mono, monospace);
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.db-live-catalog-title {
  font: 900 clamp(30px, 4vw, 58px)/.9 var(--display, 'Syne', sans-serif);
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.db-live-catalog-note {
  color: rgba(255,255,255,.56);
  font-size: 13px;
}

.db-live-products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(235px, 1fr));
  gap: 16px;
}

.db-live-product-card {
  position: relative;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,90,0,.10), transparent 35%),
    rgba(9,9,16,.78);
  box-shadow: 0 18px 55px rgba(0,0,0,.34);
}

.db-live-img {
  height: 205px;
  background: rgba(255,255,255,.045);
  overflow: hidden;
}

.db-live-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .36s cubic-bezier(.22,1,0,1);
}

.db-live-product-card:hover .db-live-img img {
  transform: scale(1.055);
}

.db-live-info {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.db-live-tags {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}

.db-live-tag,
.db-live-stock {
  border: 1px solid rgba(255,90,0,.34);
  color: var(--db-orange);
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.db-live-stock.in {
  color: #49e98b;
  border-color: rgba(73,233,139,.34);
}

.db-live-stock.pre {
  color: #ffbd59;
  border-color: rgba(255,189,89,.40);
}

.db-live-name {
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.14;
}

.db-live-desc {
  color: rgba(255,255,255,.58);
  font-size: 13px;
  line-height: 1.45;
  min-height: 38px;
}

.db-live-bottom {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.db-live-price {
  color: #fff;
  font-weight: 900;
  font-size: 16px;
}

.db-live-order {
  border: 1px solid rgba(255,90,0,.72);
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(255,90,0,.10);
  color: var(--db-orange);
  font-weight: 900;
  cursor: pointer;
}

.db-live-order.pre {
  color: #ffbd59;
  border-color: rgba(255,189,89,.72);
  background: rgba(255,189,89,.10);
}

.db-order-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(0,0,0,.64);
  backdrop-filter: blur(14px);
}

.db-order-modal.open {
  display: flex;
}

.db-order-box {
  width: min(560px, 100%);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 24px;
  background: rgba(8,8,16,.96);
  color: #fff;
  box-shadow: 0 40px 120px rgba(0,0,0,.6);
  padding: 24px;
}

.db-order-box h3 {
  font-size: 24px;
  margin: 0 0 8px;
}

.db-order-box p {
  color: rgba(255,255,255,.64);
  margin: 0 0 18px;
}

.db-order-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.db-order-grid input,
.db-order-grid textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  color: #fff;
  padding: 12px;
  outline: none;
}

.db-order-grid textarea {
  grid-column: 1 / -1;
  min-height: 90px;
  resize: vertical;
}

.db-order-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
}

.db-order-actions button {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  padding: 11px 17px;
  font-weight: 900;
}

.db-order-cancel {
  background: rgba(255,255,255,.06);
  color: #fff;
}

.db-order-submit {
  background: linear-gradient(135deg, var(--db-orange), var(--db-orange-hi));
  color: #fff;
  border-color: rgba(255,90,0,.7) !important;
}

/* LIBRARY polish */
.db-library-polish .lib-hero {
  padding-top: calc(var(--nav-h, 72px) + 64px) !important;
}

.db-library-polish .art-card {
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
}

.db-library-polish .art-card:hover {
  box-shadow: 0 30px 90px rgba(0,0,0,.28), 0 0 0 1px rgba(255,90,0,.14);
}

@media (max-width: 980px) {
  .db-hero-girl-wrap,
  .db-hero-logo-bg {
    opacity: .22;
    right: -18vw;
    min-width: 310px;
    width: 76vw;
  }

  .db-home-polish .hero-visual > .hero-image {
    opacity: .12 !important;
  }

  .db-live-catalog-head {
    display: block;
  }

  .db-order-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .db-hero-girl-wrap,
  .db-hero-logo-bg {
    display: none;
  }

  .db-live-catalog-panel {
    margin: 12px;
    border-radius: 20px;
  }
}


/* === DONBONG POLISH 2: HERO SOURCE VISUAL HIERARCHY === */

/* Header: make brand readable, not only icon */
.db-home-polish .nav-logo,
.db-home-polish .logo {
  position: relative;
  min-width: 150px;
}

.db-home-polish .nav-logo::after {
  content: "DONBONG";
  position: absolute;
  left: 54px;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Plus Jakarta Sans', 'DM Sans', sans-serif;
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.04em;
  color: #fff;
  text-shadow: 0 8px 26px rgba(0,0,0,.55);
}

.db-home-polish .nav-logo::after {
  background: linear-gradient(90deg, #fff 0 46%, #ff5a00 46% 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Reduce abstract object dominance; keep it as atmosphere */
.db-home-polish .hero-visual,
.db-home-polish .hero-art,
.db-home-polish .hero-media {
  opacity: .48 !important;
  transform: translateX(7%) scale(.98);
  filter: saturate(1.06) contrast(.96) brightness(.86);
  pointer-events: none;
}

/* Protect text readability */
.db-home-polish .hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: min(58vw, 850px);
  z-index: 5;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(5,3,7,.92), rgba(5,3,7,.68) 48%, transparent),
    radial-gradient(circle at 20% 42%, rgba(0,0,0,.52), transparent 56%);
}

.db-home-polish .hero-copy,
.db-home-polish .hero-content,
.db-home-polish .hero-left {
  position: relative;
  z-index: 30 !important;
}

.db-home-polish .hero-title,
.db-home-polish .hero h1,
.db-home-polish .hero-tagline {
  text-shadow:
    0 16px 44px rgba(0,0,0,.74),
    0 4px 18px rgba(0,0,0,.62);
}

.db-home-polish .hero-sub,
.db-home-polish .hero p {
  text-shadow: 0 10px 32px rgba(0,0,0,.76);
}

/* New forced source hero figure layer */
.db-hero-source-logo {
  position: absolute;
  right: -13vw;
  top: 6vh;
  width: min(76vw, 1040px);
  height: min(66vw, 860px);
  z-index: 3;
  opacity: .20;
  pointer-events: none;
  filter: blur(3.5px) drop-shadow(0 0 50px rgba(255,90,0,.18));
  transform: rotate(-4deg);
}

.db-hero-source-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.db-hero-source-girl {
  position: absolute;
  right: clamp(24px, 8vw, 130px);
  bottom: -4vh;
  width: min(39vw, 585px);
  min-width: 390px;
  z-index: 24;
  pointer-events: none;
  opacity: 1 !important;
  animation: dbHeroGirlIn .72s cubic-bezier(.22,1,0,1) both;
}

.db-hero-source-girl::before,
.db-hero-source-girl::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 999px;
  mix-blend-mode: screen;
}

.db-hero-source-girl::before {
  left: -14%;
  top: 21%;
  width: 78%;
  height: 34%;
  background: radial-gradient(circle, rgba(230,240,255,.26), rgba(160,170,185,.11) 48%, transparent 72%);
  filter: blur(20px);
  opacity: .82;
  animation: dbSmokeLong 9s ease-in-out infinite alternate;
}

.db-hero-source-girl::after {
  left: 8%;
  top: 34%;
  width: 44%;
  height: 18%;
  background: radial-gradient(circle, rgba(255,255,255,.22), rgba(120,130,150,.12) 42%, transparent 70%);
  filter: blur(15px);
  opacity: .68;
  animation: dbSmokeLong 7s ease-in-out infinite alternate-reverse;
}

.db-hero-source-girl img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter:
    drop-shadow(0 34px 70px rgba(0,0,0,.78))
    saturate(1.04)
    contrast(1.04);
}

@keyframes dbHeroGirlIn {
  from { opacity: 0; transform: translate3d(34px,18px,0) scale(.975); }
  to { opacity: 1; transform: none; }
}

@keyframes dbSmokeLong {
  from { transform: translate3d(-4%, 2%, 0) scale(.96); opacity: .44; }
  to { transform: translate3d(10%, -8%, 0) scale(1.18); opacity: .88; }
}

/* Button contrast fix */
.db-home-polish .btn-primary,
.db-home-polish .hero-cta .btn-primary,
.db-home-polish a.btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, #ff3d00, #ff7a18) !important;
  border-color: rgba(255,122,48,.95) !important;
}

.db-home-polish .btn-secondary,
.db-home-polish .hero-cta .btn-secondary,
.db-home-polish a.btn-secondary {
  color: #fff !important;
  background: rgba(18,8,18,.62) !important;
  border-color: rgba(255,90,0,.72) !important;
}

/* Shop header refinement, without replacing loaded catalog */
.db-shop-polish .topbar {
  min-height: 64px !important;
  padding-left: clamp(12px, 2vw, 24px) !important;
  padding-right: clamp(12px, 2vw, 24px) !important;
}

.db-shop-polish .cat-strip,
.db-shop-polish .filter-bar {
  backdrop-filter: blur(22px) saturate(160%) !important;
}

.db-shop-polish .product-card img,
.db-shop-polish .prod-card img,
.db-shop-polish .card-product img {
  object-fit: cover;
}

/* Library readability */
.db-library-polish .lib-hero h1,
.db-library-polish .article-h1 {
  text-shadow: 0 14px 44px rgba(0,0,0,.45);
}

@media (max-width: 1120px) {
  .db-hero-source-girl {
    width: 46vw;
    min-width: 330px;
    right: -2vw;
    opacity: .72 !important;
  }

  .db-hero-source-logo {
    opacity: .13;
  }
}

@media (max-width: 780px) {
  .db-home-polish .hero::before {
    width: 100%;
    background: linear-gradient(180deg, rgba(5,3,7,.88), rgba(5,3,7,.55), rgba(5,3,7,.86));
  }

  .db-hero-source-girl,
  .db-hero-source-logo {
    display: none;
  }

  .db-home-polish .nav-logo::after {
    font-size: 18px;
    left: 46px;
  }
}

/* === /DONBONG POLISH 2 === */
