/* =========================================================
   LINCS LOOTCAVE OS v1.0.1
   Unified Store Refresh
   Purpose: make cart / checkout / product support panels feel
   visually consistent with the premium dark glass Lootcave style,
   while repairing desktop checkout layouts for both Woo classic
   checkout and WooCommerce Blocks.
   ========================================================= */

body:not(.wp-admin).single-product .site-main,
body:not(.wp-admin).single-product .woocommerce,
body:not(.wp-admin) .wc-block-cart,
body:not(.wp-admin) .wc-block-checkout {
  color: var(--llr-text);
}

/* ---------- Shared premium panel language ---------- */
body:not(.wp-admin) .ll-free-shipping-bar,
body:not(.wp-admin) .wc-block-cart__main,
body:not(.wp-admin) .wc-block-cart__sidebar,
body:not(.wp-admin) .wc-block-checkout__main,
body:not(.wp-admin) .wc-block-checkout__sidebar,
body:not(.wp-admin) .wc-block-components-sidebar,
body:not(.wp-admin) .wc-block-components-order-summary,
body:not(.wp-admin) .wc-block-components-totals-wrapper,
body:not(.wp-admin) .wc-block-components-checkout-step,
body:not(.wp-admin) .wc-block-components-order-summary__content,
body:not(.wp-admin) .wc-block-components-address-card,
body:not(.wp-admin) .wc-block-components-panel,
body:not(.wp-admin) .woocommerce-order,
body:not(.wp-admin) .woocommerce-tabs,
body:not(.wp-admin) .related.products,
body:not(.wp-admin) .upsells.products,
body:not(.wp-admin) .cross-sells,
body:not(.wp-admin) .lbc-progress-box,
body:not(.wp-admin) .lbc-account-panel,
body:not(.wp-admin) .lbc-vault,
body:not(.wp-admin) .lbc-discovery-feed,
body:not(.wp-admin) .lbc-thankyou-sequence {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--llr-border) !important;
  border-radius: 28px !important;
  background: var(--llr-card-bg) !important;
  box-shadow: var(--llr-shadow) !important;
  color: var(--llr-text);
}

body:not(.wp-admin) .ll-free-shipping-bar::before,
body:not(.wp-admin) .wc-block-checkout__main::before,
body:not(.wp-admin) .wc-block-checkout__sidebar::before,
body:not(.wp-admin) .wc-block-components-sidebar::before,
body:not(.wp-admin) .wc-block-components-order-summary::before,
body:not(.wp-admin) .wc-block-components-totals-wrapper::before,
body:not(.wp-admin) .wc-block-components-checkout-step::before,
body:not(.wp-admin) .wc-block-components-order-summary__content::before,
body:not(.wp-admin) .woocommerce-order::before,
body:not(.wp-admin) .woocommerce-tabs::before,
body:not(.wp-admin) .related.products::before,
body:not(.wp-admin) .upsells.products::before,
body:not(.wp-admin) .cross-sells::before,
body:not(.wp-admin) .ll-free-shipping-bar::after,
body:not(.wp-admin) .wc-block-cart__main::after,
body:not(.wp-admin) .wc-block-cart__sidebar::after,
body:not(.wp-admin) .wc-block-checkout__main::after,
body:not(.wp-admin) .wc-block-checkout__sidebar::after,
body:not(.wp-admin) .wc-block-components-sidebar::after,
body:not(.wp-admin) .wc-block-components-order-summary::after,
body:not(.wp-admin) .wc-block-components-totals-wrapper::after,
body:not(.wp-admin) .wc-block-components-checkout-step::after,
body:not(.wp-admin) .wc-block-components-order-summary__content::after,
body:not(.wp-admin) .woocommerce-order::after,
body:not(.wp-admin) .woocommerce-tabs::after,
body:not(.wp-admin) .related.products::after,
body:not(.wp-admin) .upsells.products::after,
body:not(.wp-admin) .cross-sells::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

body:not(.wp-admin) .ll-free-shipping-bar::before,
body:not(.wp-admin) .wc-block-cart__main::before,
body:not(.wp-admin) .wc-block-cart__sidebar::before,
body:not(.wp-admin) .wc-block-checkout__main::before,
body:not(.wp-admin) .wc-block-checkout__sidebar::before,
body:not(.wp-admin) .wc-block-components-sidebar::before,
body:not(.wp-admin) .wc-block-components-order-summary::before,
body:not(.wp-admin) .wc-block-components-totals-wrapper::before,
body:not(.wp-admin) .wc-block-components-checkout-step::before,
body:not(.wp-admin) .wc-block-components-order-summary__content::before,
body:not(.wp-admin) .woocommerce-order::before,
body:not(.wp-admin) .woocommerce-tabs::before,
body:not(.wp-admin) .related.products::before,
body:not(.wp-admin) .upsells.products::before,
body:not(.wp-admin) .cross-sells::before {
  inset: 8px;
  border: 1px solid rgba(138, 255, 0, .11);
  border-radius: 22px;
  box-shadow: 0 0 24px rgba(124, 44, 255, .10) inset;
}

body:not(.wp-admin) .ll-free-shipping-bar::after,
body:not(.wp-admin) .wc-block-cart__main::after,
body:not(.wp-admin) .wc-block-cart__sidebar::after,
body:not(.wp-admin) .wc-block-checkout__main::after,
body:not(.wp-admin) .wc-block-checkout__sidebar::after,
body:not(.wp-admin) .wc-block-components-sidebar::after,
body:not(.wp-admin) .wc-block-components-order-summary::after,
body:not(.wp-admin) .wc-block-components-totals-wrapper::after,
body:not(.wp-admin) .wc-block-components-checkout-step::after,
body:not(.wp-admin) .wc-block-components-order-summary__content::after,
body:not(.wp-admin) .woocommerce-order::after,
body:not(.wp-admin) .woocommerce-tabs::after,
body:not(.wp-admin) .related.products::after,
body:not(.wp-admin) .upsells.products::after,
body:not(.wp-admin) .cross-sells::after {
  top: 0;
  left: 10%;
  right: 10%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--llr-purple), var(--llr-green), var(--llr-gold), transparent);
  opacity: .88;
}

/* ---------- Free shipping bar refresh ---------- */
body:not(.wp-admin) .ll-free-shipping-bar {
  margin: 18px 0 22px;
  padding: 22px 24px;
}

body:not(.wp-admin) .ll-free-shipping-bar>* {
  position: relative;
  z-index: 1;
}

body:not(.wp-admin) .ll-free-shipping-bar p {
  margin: 0;
  color: var(--llr-text);
  font-size: clamp(18px, 2vw, 21px);
  line-height: 1.45;
  font-weight: 800;
}

body:not(.wp-admin) .ll-free-shipping-bar>p:first-of-type strong {
  color: var(--llr-gold-soft);
}

body:not(.wp-admin):not(.single-product) .ll-free-shipping-bar .ll-suggested-product {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(212, 175, 55, .16);
}

body:not(.wp-admin):not(.single-product) .ll-free-shipping-bar .ll-suggested-product p {
  margin: 0 0 8px;
  color: var(--llr-muted);
  font-size: 14px;
  font-weight: 700;
}

body:not(.wp-admin):not(.single-product) .ll-free-shipping-bar .ll-suggested-product a {
  color: var(--llr-gold-soft) !important;
  text-decoration: none;
  font-weight: 850;
  line-height: 1.45;
}

body:not(.wp-admin):not(.single-product) .ll-free-shipping-bar .ll-suggested-product a:hover {
  color: #fff1ba !important;
}

body:not(.wp-admin):not(.single-product) .ll-free-shipping-bar .ll-progress {
  margin-top: 18px;
  height: 14px;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, .16);
  background: rgba(255, 255, 255, .06);
}

body:not(.wp-admin):not(.single-product) .ll-free-shipping-bar .ll-progress-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--llr-purple), var(--llr-green), var(--llr-gold));
  box-shadow: 0 0 20px rgba(138, 255, 0, .22);
}

/* ---------- Global buttons ---------- */
body:not(.wp-admin) .woocommerce a.button,
body:not(.wp-admin) .woocommerce button.button,
body:not(.wp-admin) .woocommerce input.button,
body:not(.wp-admin) .woocommerce #respond input#submit,
body:not(.wp-admin) .button,
body:not(.wp-admin) .wc-block-components-button,
body:not(.wp-admin) .wp-element-button,
body:not(.wp-admin) .lbc-copy,
body:not(.wp-admin) .lbc-copy-small {
  min-height: 50px;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #eed46f, #d4af37) !important;
  color: #080b11 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .24), 0 0 24px rgba(212, 175, 55, .15);
}

body:not(.wp-admin) .woocommerce a.button:hover,
body:not(.wp-admin) .woocommerce button.button:hover,
body:not(.wp-admin) .woocommerce input.button:hover,
body:not(.wp-admin) .button:hover,
body:not(.wp-admin) .wc-block-components-button:hover,
body:not(.wp-admin) .wp-element-button:hover,
body:not(.wp-admin) .lbc-copy:hover,
body:not(.wp-admin) .lbc-copy-small:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

/* ---------- Form fields ---------- */
body:not(.wp-admin) .woocommerce form .form-row input.input-text,
body:not(.wp-admin) .woocommerce form .form-row textarea,
body:not(.wp-admin) .woocommerce form .form-row select,
body:not(.wp-admin) .select2-container--default .select2-selection--single,
body:not(.wp-admin) .select2-container--default .select2-selection--multiple,
body:not(.wp-admin) .wc-block-components-text-input input,
body:not(.wp-admin) .wc-block-components-text-input select,
body:not(.wp-admin) .wc-block-components-text-input textarea,
body:not(.wp-admin) .wc-block-components-combobox-control .components-combobox-control__input,
body:not(.wp-admin) .wc-block-components-select select {
  min-height: 52px;
  border-radius: 16px !important;
  border: 1px solid rgba(212, 175, 55, .18) !important;
  background: rgba(255, 255, 255, .05) !important;
  color: var(--llr-text) !important;
  box-shadow: none !important;
}

body:not(.wp-admin) .woocommerce form .form-row textarea,
body:not(.wp-admin) .wc-block-components-text-input textarea {
  min-height: 120px;
}

body:not(.wp-admin) .select2-container--default .select2-selection--single {
  display: flex;
  align-items: center;
}

body:not(.wp-admin) .select2-dropdown {
  background: #121722 !important;
  border: 1px solid rgba(212, 175, 55, .18) !important;
  color: var(--llr-text);
}

body:not(.wp-admin) .select2-results__option {
  color: var(--llr-text);
}

body:not(.wp-admin) .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: rgba(124, 44, 255, .35) !important;
}

/* ---------- Product tabs + related wrappers ---------- */
body:not(.wp-admin) .woocommerce-tabs,
body:not(.wp-admin) .related.products,
body:not(.wp-admin) .upsells.products,
body:not(.wp-admin) .cross-sells {
  padding: 22px !important;
  margin-top: 22px !important;
}

body:not(.wp-admin) .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 16px !important;
  padding: 0 !important;
}

body:not(.wp-admin) .woocommerce-tabs ul.tabs::before,
body:not(.wp-admin) .woocommerce-tabs ul.tabs li::before,
body:not(.wp-admin) .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

body:not(.wp-admin) .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}

body:not(.wp-admin) .woocommerce-tabs ul.tabs li a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 16px !important;
  border-radius: 999px;
  border: 1px solid rgba(212, 175, 55, .18);
  background: rgba(255, 255, 255, .04);
  color: var(--llr-text) !important;
  font-weight: 850;
}

body:not(.wp-admin) .woocommerce-tabs ul.tabs li.active a,
body:not(.wp-admin) .woocommerce-tabs ul.tabs li a:hover {
  color: #080b11 !important;
  background: linear-gradient(180deg, #eed46f, #d4af37) !important;
}

body:not(.wp-admin) .woocommerce-tabs .panel {
  color: var(--llr-text);
  line-height: 1.7;
}

body:not(.wp-admin) .woocommerce-tabs h2,
body:not(.wp-admin) .related.products>h2,
body:not(.wp-admin) .upsells.products>h2,
body:not(.wp-admin) .cross-sells>h2 {
  color: var(--llr-gold-soft);
}

/* ---------- Desktop checkout fix: WooCommerce Blocks ---------- */
body:not(.wp-admin) .wc-block-checkout,
body:not(.wp-admin) .wc-block-cart {
  max-width: 1240px;
  margin-inline: auto;
  gap: 24px;
}

body:not(.wp-admin) .wc-block-checkout .wc-block-components-main,
body:not(.wp-admin) .wc-block-cart .wc-block-components-main,
body:not(.wp-admin) .wc-block-checkout__main,
body:not(.wp-admin) .wc-block-cart__main,
body:not(.wp-admin) .wc-block-checkout__sidebar,
body:not(.wp-admin) .wc-block-cart__sidebar {
  width: 100% !important;
  max-width: none !important;
}

@media (min-width: 981px) {
  body:not(.wp-admin) .wc-block-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(350px, .82fr);
    align-items: start;
  }

  body:not(.wp-admin) .wc-block-checkout__main,
  body:not(.wp-admin) .wc-block-checkout .wc-block-components-main {
    grid-column: 1;
  }

  body:not(.wp-admin) .wc-block-checkout__sidebar,
  body:not(.wp-admin) .wc-block-checkout .wc-block-components-sidebar {
    grid-column: 2;
    position: sticky;
    top: 18px;
    align-self: start;
  }

  body:not(.wp-admin) .wc-block-cart {
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr);
    align-items: start;
  }

  body:not(.wp-admin) .wc-block-cart__main {
    grid-column: 1;
  }

  body:not(.wp-admin) .wc-block-cart__sidebar {
    grid-column: 2;
    position: sticky;
    top: 18px;
    align-self: start;
  }
}

body:not(.wp-admin) .wc-block-checkout__main,
body:not(.wp-admin) .wc-block-cart__main,
body:not(.wp-admin) .wc-block-checkout__sidebar,
body:not(.wp-admin) .wc-block-cart__sidebar,
body:not(.wp-admin) .wc-block-components-sidebar,
body:not(.wp-admin) .wc-block-components-checkout-step,
body:not(.wp-admin) .wc-block-components-order-summary,
body:not(.wp-admin) .wc-block-components-totals-wrapper {
  padding: 22px;
}

body:not(.wp-admin) .wc-block-components-title,
body:not(.wp-admin) .wc-block-components-checkout-step__heading h2,
body:not(.wp-admin) .wc-block-components-sidebar .wc-block-components-panel__button,
body:not(.wp-admin) .wc-block-components-order-summary__title,
body:not(.wp-admin) .wc-block-components-totals-item__label {
  color: var(--llr-gold-soft) !important;
}

body:not(.wp-admin) .wc-block-components-checkout-step__description,
body:not(.wp-admin) .wc-block-components-product-name,
body:not(.wp-admin) .wc-block-formatted-money-amount,
body:not(.wp-admin) .wc-block-components-order-summary-item__description,
body:not(.wp-admin) .wc-block-components-totals-item__value,
body:not(.wp-admin) .wc-block-components-radio-control__option-layout,
body:not(.wp-admin) .wc-block-components-checkout-return-to-cart-button,
body:not(.wp-admin) .wc-block-components-address-card__address-section {
  color: var(--llr-text) !important;
}

body:not(.wp-admin) .wc-block-components-order-summary-item,
body:not(.wp-admin) .wc-block-components-totals-item,
body:not(.wp-admin) .wc-block-components-radio-control__option,
body:not(.wp-admin) .wc-block-components-address-card,
body:not(.wp-admin) .wc-block-components-order-summary-list-item {
  border-color: rgba(255, 255, 255, .08) !important;
}

body:not(.wp-admin) .wc-block-components-notice-banner,
body:not(.wp-admin) .wc-block-store-notice,
body:not(.wp-admin) .woocommerce-error,
body:not(.wp-admin) .woocommerce-info,
body:not(.wp-admin) .woocommerce-message {
  border-radius: 18px;
  background: rgba(18, 23, 34, .92) !important;
  border: 1px solid rgba(212, 175, 55, .18) !important;
  color: var(--llr-text) !important;
}

body:not(.wp-admin) .wc-block-components-checkbox .wc-block-components-checkbox__mark,
body:not(.wp-admin) .wc-block-components-radio-control__input:checked,
body:not(.wp-admin) input[type="checkbox"]:checked,
body:not(.wp-admin) input[type="radio"]:checked {
  accent-color: var(--llr-gold);
}

/* ---------- Minor refinements for existing bonus chest blocks ---------- */
body:not(.wp-admin) .lbc-progress-box {
  padding: 22px 24px;
}

body:not(.wp-admin) .lbc-progress-head strong,
body:not(.wp-admin) .lbc-reward-card h3,
body:not(.wp-admin) .lbc-vault-card b {
  color: var(--llr-text);
}

body:not(.wp-admin) .lbc-progress-box p,
body:not(.wp-admin) .lbc-reward-card p,
body:not(.wp-admin) .lbc-vault-card p,
body:not(.wp-admin) .lbc-empty,
body:not(.wp-admin) .lbc-terms,
body:not(.wp-admin) .wc-block-components-validation-error,
body:not(.wp-admin) .woocommerce form .form-row label,
body:not(.wp-admin) .wc-block-components-text-input label,
body:not(.wp-admin) .wc-block-components-checkbox label {
  color: var(--llr-muted) !important;
}

/* ---------- Mobile safety ---------- */
@media (max-width:980px) {

  body:not(.wp-admin) .wc-block-checkout__main,
  body:not(.wp-admin) .wc-block-checkout__sidebar,
  body:not(.wp-admin) .wc-block-cart__main,
  body:not(.wp-admin) .wc-block-cart__sidebar,
  body:not(.wp-admin) .wc-block-components-sidebar,
  body:not(.wp-admin) .wc-block-components-order-summary,
  body:not(.wp-admin) .wc-block-components-totals-wrapper,
  body:not(.wp-admin) .wc-block-components-checkout-step,
  body:not(.wp-admin) .ll-free-shipping-bar {
    padding: 18px;
  }
}

@media (max-width:782px) {
  body:not(.wp-admin) .ll-free-shipping-bar {
    margin-inline: 0;
  }
}
