/* =========================================================
   UNDERHOST BTCPAY THEME
   FULL CHECKOUT-FOCUSED / ADMIN-SAFE VERSION
   ========================================================= */

:root {
  --uh-bg-0: #06111f;
  --uh-bg-1: #0b1f3a;
  --uh-bg-2: #102947;
  --uh-panel: rgba(8, 24, 46, 0.88);
  --uh-panel-2: rgba(11, 31, 58, 0.92);
  --uh-border: rgba(96, 165, 250, 0.18);
  --uh-border-strong: rgba(34, 211, 238, 0.30);
  --uh-text: #f8fbff;
  --uh-text-soft: #dbeafe;
  --uh-text-muted: #9fb3c8;
  --uh-primary: #60a5fa;
  --uh-secondary: #22d3ee;
  --uh-shadow: 0 18px 42px rgba(0,0,0,.28);
  --uh-radius: 20px;

  /* BTCPay variables */
  --btcpay-primary-100: #eaf4ff;
  --btcpay-primary-200: #cfe7ff;
  --btcpay-primary-300: #abd2ff;
  --btcpay-primary-400: #7cb8ff;
  --btcpay-primary-500: #60a5fa;
  --btcpay-primary-600: #3b82f6;
  --btcpay-primary-700: #2563eb;
  --btcpay-primary-800: #1d4ed8;
  --btcpay-primary-900: #1e3a8a;
  --btcpay-primary-rgb: 96, 165, 250;
  --btcpay-primary-accent-rgb: 34, 211, 238;

  --btcpay-body-bg: linear-gradient(180deg, #06111f 0%, #0b1f3a 55%, #081627 100%);
  --btcpay-body-text: #f8fbff;
  --btcpay-bg-tile: rgba(10, 27, 50, 0.84);
  --btcpay-bg-header: transparent;
  --btcpay-bg-footer: transparent;
  --btcpay-border-color: rgba(96, 165, 250, 0.18);
  --btcpay-link-color: #7dd3fc;
  --btcpay-link-hover-color: #a5f3fc;
  --btcpay-font-family-base: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --btcpay-font-family-heading: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* =========================================================
   GLOBAL BASE
   ========================================================= */
html,
body {
  background: var(--btcpay-body-bg) !important;
  color: var(--uh-text) !important;
  font-family: var(--btcpay-font-family-base) !important;
}

body {
  position: relative;
  min-height: 100vh;
}

/* subtle UnderHost branded ambient background */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(6,17,31,.68) 0%, rgba(6,17,31,.80) 100%),
    url("https://cdn.underhost.com/images/team/emy.webp") center right / cover no-repeat;
  opacity: .24;
  pointer-events: none;
  z-index: 0;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  background:
    radial-gradient(circle at top center, rgba(6,17,31,.18) 0%, rgba(6,17,31,.42) 28%, transparent 52%),
    radial-gradient(circle at top right, rgba(34,211,238,.10), transparent 24%),
    radial-gradient(circle at top left, rgba(96,165,250,.10), transparent 26%);
  pointer-events: none;
  z-index: 0;
}



#app,
main,
.wrap,
.content,
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  position: relative;
  z-index: 1;
}

/* HEADER / TOP AREA */
/* =========================================================
   UNDERHOST LOGO / HEADER REFINEMENT
   ========================================================= */

header,
.top-header,
.navbar,
.layout-navbar,
.sticky-top,
.top-header > div,
.header,
.header__icon {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.top-header {
  padding-top: 16px !important;
  padding-bottom: 10px !important;
  position: relative;
  text-align: center !important;
}

/* cleaner dedicated halo behind logo area */
.top-header::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -6px;
  transform: translateX(-50%);
  width: min(460px, 94%);
  height: 132px;
  border-radius: 999px;
  background:
    radial-gradient(circle,
      rgba(6,17,31,.82) 0%,
      rgba(6,17,31,.68) 36%,
      rgba(6,17,31,.42) 62%,
      rgba(6,17,31,0) 100%);
  filter: blur(10px);
  pointer-events: none;
  z-index: 0;
}

/* optional subtle glass plate behind brand */
.top-header::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 6px;
  transform: translateX(-50%);
  width: min(320px, 82%);
  height: 78px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
  border: 1px solid rgba(255,255,255,.06);
  box-shadow:
    0 10px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  pointer-events: none;
  z-index: 0;
}

.header {
  margin-bottom: 12px !important;
  position: relative;
  z-index: 2;
}

.header__icon {
  margin: 0 auto 8px !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative;
  z-index: 2;
}

/* logo image */
.header__icon img,
.top-header img,
.top-header svg,
.brand-logo,
.store-logo {
  display: block !important;
  max-height: 54px !important;
  width: auto !important;
  max-width: min(260px, 78vw) !important;
  margin: 0 auto !important;
  position: relative;
  z-index: 2;
  filter:
    drop-shadow(0 4px 14px rgba(0,0,0,.22))
    drop-shadow(0 1px 2px rgba(6,17,31,.38));
}

/* if logo is white, this helps it stay crisp */
.header__icon img,
.top-header img {
  image-rendering: auto;
}

/* brand/store title */
.top-header h1,
.top-header h2,
.top-header .store-name,
.top-header .header-brand,
.top-header .header-title,
header h1,
header h2 {
  font-size: 1.9rem !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  text-align: center !important;
  color: #ffffff !important;
  margin: 10px 0 12px !important;
  position: relative;
  z-index: 2;
  text-shadow:
    0 2px 10px rgba(6,17,31,.46),
    0 1px 1px rgba(6,17,31,.36);
}

/* subtitle / helper text under header */
.top-header p,
.top-header small,
.top-header .text-muted,
.header-subtitle {
  position: relative;
  z-index: 2;
  color: #bfd4e8 !important;
  text-shadow: 0 1px 8px rgba(6,17,31,.42);
}

/* mobile */
@media (max-width: 575.98px) {
  .top-header {
    padding-top: 12px !important;
    padding-bottom: 8px !important;
  }

  .top-header::before {
    width: min(360px, 98%);
    height: 112px;
  }

  .top-header::after {
    width: min(280px, 88%);
    height: 70px;
    top: 4px;
    border-radius: 18px;
  }

  .header__icon img,
  .top-header img,
  .top-header svg,
  .brand-logo,
  .store-logo {
    max-height: 46px !important;
    max-width: min(220px, 82vw) !important;
  }

  .top-header h1,
  .top-header h2,
  .top-header .store-name,
  .top-header .header-brand,
  .top-header .header-title,
  header h1,
  header h2 {
    font-size: 1.55rem !important;
    margin-top: 8px !important;
    margin-bottom: 10px !important;
  }
}
/* =========================================================
   TYPOGRAPHY
   ========================================================= */
h1, h2, h3, h4, h5, h6,
.page-header,
.title {
  color: #ffffff !important;
  font-family: var(--btcpay-font-family-heading) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em;
}

a {
  color: var(--btcpay-link-color) !important;
  text-decoration: none;
}

a:hover,
a:focus {
  color: var(--btcpay-link-hover-color) !important;
}

.text-muted,
.text-secondary,
small,
.form-text {
  color: var(--uh-text-muted) !important;
}

/* =========================================================
   CHECKOUT / INVOICE ONLY
   ========================================================= */
.checkout,
.invoice,
.payment-box,
.payment-method,
.checkout-container,
.invoice-container,
.payment-page,
#checkout,
#invoice,
#PaymentDetails {
  background:
    radial-gradient(circle at top right, rgba(34,211,238,.07), transparent 25%),
    radial-gradient(circle at top left, rgba(96,165,250,.07), transparent 25%),
    linear-gradient(180deg, rgba(11,31,58,.90) 0%, rgba(8,20,38,.95) 100%) !important;
  border: 1px solid var(--uh-border) !important;
  border-radius: 22px !important;
  box-shadow: var(--uh-shadow) !important;
  color: var(--uh-text) !important;
  padding: 24px 26px !important;
}

/* inner invoice panel look */
.checkout .card,
.invoice .card,
.payment-box .card,
.checkout .list-group-item,
.invoice .list-group-item,
.payment-box .list-group-item,
.checkout .bg-tile,
.invoice .bg-tile,
.payment-box .bg-tile {
  background: linear-gradient(180deg, rgba(9, 26, 49, 0.95) 0%, rgba(7, 18, 34, 0.96) 100%) !important;
  border: 1px solid rgba(96, 165, 250, 0.14) !important;
  border-radius: 18px !important;
  color: var(--uh-text) !important;
  box-shadow: none !important;
}

.checkout::before,
.invoice::before,
.payment-box::before {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(90deg, rgba(34,211,238,0), rgba(34,211,238,.70), rgba(96,165,250,.75), rgba(34,211,238,0));
  opacity: .95;
}

/* =========================================================
   PRICE / AMOUNTS / DETAILS
   ========================================================= */
.invoice .amount,
.amount,
.price,
.total,
.checkout-amount,
.payment-box .h1,
.payment-box .display-4,
.payment-box .display-5,
.payment-box h1 {
  font-size: clamp(2rem, 4vw, 2.65rem) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  text-align: center !important;
  margin-top: 4px !important;
  margin-bottom: 18px !important;
  color: #ffffff !important;
  text-wrap: balance;
}

.currency,
.exchange-rate,
.fiat-value,
.text-monospace {
  color: #cfe8ff !important;
}

.order-details,
.invoice-details,
.payment-details,
.buyerTotalLine,
.line-items {
  padding: 14px 16px !important;
  border-radius: 18px !important;
  line-height: 1.62 !important;
  font-size: 15.5px !important;
  color: var(--uh-text-soft) !important;
}

.order-details > div,
.invoice-details > div,
.payment-details > div,
.buyerTotalLine > div,
.line-items > div,
.order-details li,
.invoice-details li,
.payment-details li,
.line-items li,
.order-details tr,
.invoice-details tr,
.payment-details tr,
.line-items tr {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  line-height: 1.62 !important;
}

.order-details span,
.invoice-details span,
.payment-details span,
.buyerTotalLine span,
.line-items span,
.order-details td,
.invoice-details td,
.payment-details td,
.line-items td,
.order-details strong,
.invoice-details strong,
.payment-details strong,
.line-items strong {
  line-height: 1.62 !important;
}

.order-details strong,
.invoice-details strong,
.payment-details strong,
.line-items strong {
  font-weight: 700 !important;
  color: #ffffff !important;
}

.order-details .text-muted,
.invoice-details .text-muted,
.payment-details .text-muted,
.line-items .text-muted {
  color: #9fb3c8 !important;
}

/* =========================================================
   VIEW DETAILS / TOGGLE
   ========================================================= */
.payment-box .btn-link,
.payment-box .payment-details-toggle,
.payment-box .accordion-button,
.payment-box .collapse-header,
.payment-box [data-bs-toggle="collapse"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 2px !important;
  margin-bottom: 14px !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn,
.action-button,
button,
a.btn {
  border-radius: 14px !important;
  font-weight: 700 !important;
}

.btn-primary,
.action-button,
button.btn-primary,
a.btn-primary {
  color: #04111f !important;
  background: linear-gradient(135deg, #22d3ee 0%, #60a5fa 100%) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 10px 24px rgba(34,211,238,.16), 0 10px 28px rgba(59,130,246,.14) !important;
}

.btn-primary:hover,
.action-button:hover,
button.btn-primary:hover,
a.btn-primary:hover {
  color: #04111f !important;
  background: linear-gradient(135deg, #67e8f9 0%, #93c5fd 100%) !important;
}

.btn-secondary,
.btn-outline-secondary,
.btn-light,
.btn-outline-light {
  color: #eaf4ff !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(96,165,250,.18) !important;
}

.btn-secondary:hover,
.btn-outline-secondary:hover,
.btn-light:hover,
.btn-outline-light:hover {
  background: rgba(96,165,250,.10) !important;
  color: #fff !important;
}

/* =========================================================
   FORMS / INPUTS
   ========================================================= */
.checkout input,
.checkout select,
.checkout textarea,
.invoice input,
.invoice select,
.invoice textarea,
.payment-box input,
.payment-box select,
.payment-box textarea,
.form-control,
.form-select {
  background: rgba(255,255,255,.04) !important;
  color: #f8fbff !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  border-radius: 14px !important;
}

.checkout input:focus,
.checkout select:focus,
.checkout textarea:focus,
.invoice input:focus,
.invoice select:focus,
.invoice textarea:focus,
.payment-box input:focus,
.payment-box select:focus,
.payment-box textarea:focus,
.form-control:focus,
.form-select:focus {
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  border-color: rgba(34,211,238,.44) !important;
  box-shadow: 0 0 0 .22rem rgba(34,211,238,.14) !important;
}

.checkout input::placeholder,
.invoice input::placeholder,
.payment-box input::placeholder,
textarea::placeholder {
  color: rgba(207,224,245,.50) !important;
}

/* =========================================================
   PAYMENT METHODS / TABS
   ========================================================= */
.payment-method,
.payment__currencies,
.payment-tabs__tab,
.payment-tabs__slider {
  border-radius: 14px !important;
}

.payment-method.active,
.payment-method.selected,
.list-group-item.active {
  background: linear-gradient(180deg, rgba(20,52,90,.92) 0%, rgba(11,31,58,.96) 100%) !important;
  border-color: rgba(34,211,238,.34) !important;
  box-shadow: 0 0 0 1px rgba(34,211,238,.14), 0 14px 32px rgba(0,0,0,.22) !important;
}

.payment-method:hover,
.payment__currencies:hover {
  border-color: rgba(34,211,238,.24) !important;
}

/* =========================================================
   QR / COPY AREA
   ========================================================= */
.qr-code,
canvas,
img[alt*="QR"],
img[src*="qr"] {
  display: block !important;
  margin: 20px auto 8px !important;
  padding: 16px !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.24) !important;
}

.copyBox,
.manual__step-two__instructions,
.input-group-text,
.form-control[readonly],
input[readonly],
textarea[readonly],
pre,
code {
  margin-top: 12px !important;
  border-radius: 16px !important;
  padding: 12px 14px !important;
  line-height: 1.5 !important;
  font-size: 14.5px !important;
  background: rgba(255,255,255,.05) !important;
  color: #eaf4ff !important;
  border-color: rgba(255,255,255,.08) !important;
}

/* =========================================================
   STATUS PAGES
   ========================================================= */
.paid .payment-box,
.expired .payment-box {
  background:
    radial-gradient(circle at top right, rgba(34,211,238,.06), transparent 24%),
    radial-gradient(circle at top left, rgba(96,165,250,.06), transparent 24%),
    linear-gradient(180deg, rgba(11,31,58,.90) 0%, rgba(8,20,38,.95) 100%) !important;
  min-height: 270px;
  filter: none !important;
}

.success-message,
.expired__body {
  background: rgba(255,255,255,.06) !important;
  color: #ffffff !important;
  border: 1px solid rgba(96,165,250,.14) !important;
  border-radius: 16px !important;
}

/* =========================================================
   BREATHING ROOM / SEPARATORS
   ========================================================= */
.payment-box > *:last-child,
.invoice > *:last-child,
.checkout > *:last-child {
  margin-bottom: 0 !important;
}

.payment-box hr,
.invoice hr,
.checkout hr {
  margin-top: 14px !important;
  margin-bottom: 14px !important;
  opacity: 0.16 !important;
}

/* =========================================================
   ADMIN SAFETY OVERRIDES
   ========================================================= */
body:not(.invoice-page):not(.checkout-page) .card,
body:not(.invoice-page):not(.checkout-page) .modal-content,
body:not(.invoice-page):not(.checkout-page) .dropdown-menu,
body:not(.invoice-page):not(.checkout-page) .list-group-item,
body:not(.invoice-page):not(.checkout-page) section {
  border-radius: inherit !important;
  box-shadow: inherit !important;
}

.sidebar,
.sidebar-wrapper,
#sidebar,
aside,
.menu,
.navbar-nav,
.offcanvas,
.dropdown-menu {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 991.98px) {
  body::before {
    background-position: center center;
    opacity: .07;
  }

  .checkout,
  .invoice,
  .payment-box,
  .payment-method {
    border-radius: 16px !important;
  }
}

@media (max-width: 575.98px) {
  body {
    font-size: 15px;
  }

  .top-header {
    padding-top: 8px !important;
  }

  .top-header h1,
  .top-header h2,
  .top-header .store-name,
  .top-header .header-brand,
  .top-header .header-title,
  header h1,
  header h2 {
    font-size: 1.65rem !important;
    margin-bottom: 12px !important;
  }

  .checkout,
  .invoice,
  .payment-box,
  .checkout-container,
  .invoice-container,
  #PaymentDetails {
    padding: 18px 18px !important;
    border-radius: 18px !important;
  }

  .amount,
  .checkout-amount,
  .invoice .amount,
  .payment-box .display-4,
  .payment-box .display-5,
  .payment-box .h1,
  .payment-box h1 {
    font-size: 1.95rem !important;
    margin-bottom: 14px !important;
  }

  .order-details,
  .invoice-details,
  .payment-details,
  .buyerTotalLine,
  .line-items {
    padding: 12px 13px !important;
    font-size: 14.5px !important;
    line-height: 1.56 !important;
  }

  .order-details > div,
  .invoice-details > div,
  .payment-details > div,
  .buyerTotalLine > div,
  .line-items > div,
  .order-details li,
  .invoice-details li,
  .payment-details li,
  .line-items li,
  .order-details tr,
  .invoice-details tr,
  .payment-details tr,
  .line-items tr {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  .qr-code,
  canvas,
  img[alt*="QR"],
  img[src*="qr"] {
    margin-top: 16px !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }
}
/* =========================================================
   UNDERHOST FOOTER - FULL TRANSPARENT
   ========================================================= */
footer,
.footer,
.site-footer,
.layout-footer,
#footer,
footer.bg-dark,
footer.bg-light,
footer.bg-body,
footer[class*="bg-"],
.footer[class*="bg-"],
.powered__by__btcpayserver,
.powered__by__btcpayserver-container,
.payment-footer,
.checkout-footer {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* footer text */
footer *,
.footer *,
.site-footer *,
.layout-footer *,
#footer *,
.powered__by__btcpayserver,
.powered__by__btcpayserver * {
  background: transparent !important;
}

/* optional: softer footer text */
footer,
.footer,
.site-footer,
.layout-footer,
#footer,
.powered__by__btcpayserver,
.powered__by__btcpayserver a {
  color: #a9bfd3 !important;
}

.powered__by__btcpayserver a:hover,
footer a:hover,
.footer a:hover {
  color: #d9ecff !important;
}
/* =========================================================
   HIDE BTCPAY LOGO / BRANDING / LANGUAGE SWITCHER
   ========================================================= */

/* BTCPay branding / logo areas */
.powered__by__btcpayserver,
.powered__by__btcpayserver-container,
.btcpay-logo,
.navbar-brand img[src*="btcpay"],
img[alt*="BTCPay"],
img[src*="btcpay"] {
  display: none !important;
}

/* language switcher */
#prettydropdown-DefaultLang,
.prettydropdown,
.language-picker,
.language-selector,
select[name="DefaultLang"],
select[id*="Lang"],
select[id*="lang"] {
  display: none !important;
}

footer .navbar-brand,
footer .brand,
footer img,
.powered__by__btcpayserver a,
.powered__by__btcpayserver span {
  display: none !important;
}

/* Hide the Powered by BTCPay footer link */
a.store-powered-by,
.store-powered-by {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* also hide the svg inside just in case */
.store-powered-by svg,
.store-powered-by svg * {
  display: none !important;
}