/* Integração dos dados do Tebex com o layout original da DsCraft. */
[hidden] { display: none !important; }
html { scroll-padding-top: 100px; }
body { overflow-x: clip; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #8ee8d0; outline-offset: 4px; }
button:disabled { cursor: not-allowed; opacity: .55; }
.skip-link { position: fixed; top: 8px; left: 12px; z-index: 10000; padding: 12px; color: #101820; background: #8ee8d0; transform: translateY(-200%); }
.skip-link:focus { transform: none; }
.top-nav { z-index: 100; }
.top-nav nav { min-width: 0; }
.mobile-menu-button { display: none; }
.nav-brand img { object-fit: contain; }
.language-select { display: block !important; }
.store-home-grid.without-modules { grid-template-columns: 1fr; }

/* Categoria e cards: mesma estrutura das páginas locais. */
.catalog-page { width: 100%; margin: 0; }
.catalog-category-description { max-width: 430px; color: var(--muted); font-size: .78rem; line-height: 1.5; text-align: right; }
.catalog-category-description p { margin: 0; }
.catalog-category-description img, .cms-content img, .cms-content iframe { max-width: 100%; }
.catalog-product-card .product-media { text-decoration: none; }
.catalog-product-card .product-media img { max-width: 100%; }
.catalog-product-card h2 a { color: inherit; text-decoration: none; }
.product-old-price { display: block; margin: 0 0 6px; color: var(--muted); font-size: .76rem; }
.catalog-product-actions .purchase-actions { display: contents; margin: 0; }
.catalog-product-actions .catalog-buy-button {
  align-items: center;
  background: var(--green-dark);
  border: 0;
  border-radius: 8px;
  color: white;
  cursor: pointer;
  display: inline-flex;
  font-weight: 900;
  gap: 7px;
  justify-content: center;
  min-height: 40px;
  min-width: 0;
  padding: 0 12px;
  text-decoration: none;
  width: 100%;
}
.catalog-product-actions .catalog-buy-button:hover { background: #3aa596; transform: translateY(-1px); }
.catalog-unavailable { align-items: center; display: flex; min-height: 40px; color: #ffd0d5; font-size: .75rem; font-weight: 800; line-height: 1.25; }
.catalog-product-grid > .empty-state { grid-column: 1 / -1; padding: 28px; border: 1px dashed rgba(246,232,214,.14); border-radius: 14px; }

/* Modal de informações usado nos cards e na página individual do pacote. */
.product-detail-modal[data-product-modal] { visibility: hidden; }
.product-detail-modal[data-product-modal].is-open { visibility: visible; }
.product-detail-head h1 { margin: 0; color: #fff9f0; font-size: 1.08rem; }
.product-detail-head .product-detail-close { text-decoration: none; }
.product-detail-panel [data-product-detail-description] { color: #c4c9d2; font-size: .8rem; line-height: 1.65; }
.product-detail-panel [data-product-detail-description] p { margin: 0 0 8px; }
.product-detail-panel [data-product-detail-description] p:last-child { margin-bottom: 0; }
.product-detail-footer-actions .product-detail-cancel,
.product-detail-footer-actions .checkout-button {
  align-items: center;
  border: 0;
  border-radius: 8px;
  display: inline-flex;
  font-weight: 900;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  text-decoration: none;
}
.product-detail-footer-actions .product-detail-cancel { color: #fff9f0; background: transparent; }
.product-detail-footer-actions .checkout-button { gap: 8px; margin: 0; width: auto; color: white; background: var(--green-dark); }
.package-detail-page { min-height: 620px; }
.product-detail-page-shell {
  inset: auto;
  min-height: 440px;
  padding: 24px 18px 70px;
  pointer-events: auto;
  position: relative;
}
.product-detail-page-shell .product-detail-dialog { margin: auto; }

/* Carrinho Tebex com o mesmo diálogo central do ambiente local. */
.checkout-cart-page { z-index: 1000; inset: 0; width: auto; min-height: 100svh; margin: 0; opacity: 1; pointer-events: auto; position: fixed; }
.checkout-cart-page .cart-panel { display: block; }
.checkout-cart-page .cart-head { align-items: center; display: flex; justify-content: space-between; }
.checkout-cart-page .cart-head h1 { margin: 0; color: white; font-size: 1.18rem; line-height: 1; }
.checkout-cart-page .icon-button { align-items: center; display: inline-flex; justify-content: center; text-decoration: none; }
.checkout-cart-page form { margin: 0; }
.checkout-cart-page .cart-row > div > a { color: inherit; text-decoration: none; }
.checkout-cart-page .cart-row > div > a:hover { color: var(--green); }
.checkout-cart-page .cart-quantity input {
  width: 34px;
  height: 32px;
  padding: 0;
  border: 1px solid rgba(246,232,214,.13);
  border-radius: 6px;
  color: white;
  background: #171c27;
  font: inherit;
  font-weight: 950;
  text-align: center;
  appearance: textfield;
}
.checkout-cart-page .cart-quantity input::-webkit-inner-spin-button,
.checkout-cart-page .cart-quantity input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.checkout-cart-page .cart-remove { align-items: center; display: inline-flex; justify-content: center; }
.checkout-cart-page .cart-remove svg { width: 18px; height: 18px; }
.cart-update-button { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.checkout-cart-page [data-basket-dirty] { margin: 0 22px; color: #ffd27e; font-size: .7rem; }
.cart-suggestion-empty { margin: 0; padding: 14px; border: 1px dashed rgba(246,232,214,.14); border-radius: 8px; color: #b9bfcb; font-size: .72rem; font-weight: 800; }
.checkout-cart-page [data-checkout-error] { margin: 10px 24px 0; color: #ffb4bd; font-size: .75rem; }
.checkout-cart-page .cart-back-button { text-decoration: none; }

/* Demais formulários nativos do Tebex. */
.checkout-page:not(.checkout-cart-page), .options-form { width: min(820px, calc(100% - 32px)); margin: 120px auto 70px; }
.options-form { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: #142430; }
.section-heading { margin-bottom: 24px; }
.section-heading h1 { font-size: clamp(1.8rem,5vw,2.8rem); }
.field { display: grid; gap: 8px; margin-bottom: 22px; }
.field > span { font-weight: 600; }
.field input, .field select { width: 100%; padding: 12px; border: 1px solid #587482; border-radius: 8px; color: #fff; background: #09151d; font: inherit; }
.primary-button, .secondary-button { align-items: center; justify-content: center; min-height: 44px; padding: 12px 18px; border: 1px solid transparent; border-radius: 9px; font: inherit; font-weight: 700; text-align: center; cursor: pointer; }
.primary-button { color: #102326; background: #8ee8d0; }
.secondary-button { color: #fff; border-color: #50717a; background: #213642; }
.form-note, .empty-state { line-height: 1.6; }
.cms-content { overflow-wrap: anywhere; line-height: 1.75; }
.cms-content table { display: block; overflow: auto; max-width: 100%; }

/* Módulos da página da loja. */
.store-featured-card .catalog-product-card { width: 100%; border: 0; background: transparent; box-shadow: none; }
.store-home-rail { display: flex; flex-direction: column; gap: 0; }
.tebex-featured-module { order: 1; margin-bottom: 18px; }
.tebex-top-donator-module { order: 2; padding-bottom: 8px; border-bottom: 0; border-radius: 14px 14px 0 0; }
.tebex-recent-payments-module { order: 3; padding-top: 0; border-top: 0; border-radius: 0 0 14px 14px; }
.tebex-featured-module .featured-product-copy h2 a { color: inherit; text-decoration: none; }
.tebex-featured-module .purchase-actions { width: 100%; margin-top: 0; }
.tebex-featured-module .purchase-actions .primary-button { width: 100%; min-height: 38px; padding: 0 14px; border: 0; color: #fff; background: var(--green-dark); font-size: .72rem; font-weight: 900; }
.tebex-top-donator-module header h2 { text-transform: uppercase; }
.community-empty-state { margin: 18px 0 8px; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.tebex-recent-payments-module .recent-buyers { margin-top: 0; }
.tebex-recent-payments-module .recent-buyers ul { grid-template-columns: repeat(5,minmax(0,1fr)); }
.tebex-recent-payments-module .recent-buyers li:nth-child(n+6) { display: none; }
.tebex-recent-payments-module .recent-buyers img { aspect-ratio: 1; object-fit: contain; }

/* Footer local: sem altura artificial nos links. */
.site-footer, .footer-inner, .footer-bottom { opacity: 1; visibility: visible; }
.progression-section, .discover-worlds, .faq-section, .final-cta, .site-footer { content-visibility: visible; contain-intrinsic-size: none; }

@media (max-width: 820px) {
  .top-nav { display: flex; justify-content: space-between; gap: 6px; }
  .mobile-menu-button { display: flex; align-items: center; justify-content: center; min-width: 40px; min-height: 42px; border: 0; border-radius: 8px; color: white; background: #213642; }
  .top-nav nav { position: absolute; top: calc(100% + 10px); right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 4px; padding: 16px; border: 1px solid #44515b; border-radius: 12px; background: #101820; }
  .top-nav nav.is-open { display: flex; }
  .top-nav nav a { min-height: 44px; padding: 12px; }
}

@media (max-width: 620px) {
  .catalog-category-description { max-width: none; text-align: left; }
  .product-detail-footer-actions .checkout-button { padding: 0 10px; font-size: .76rem; }
  .checkout-cart-page { padding: 10px; }
  .checkout-cart-page .cart-row { grid-template-columns: 56px minmax(0,1fr) auto; }
  .checkout-cart-page .cart-quantity { grid-column: 2 / 4; }
  .options-form { padding: 18px; }
}
