
/* Pedido TikTok para WooCommerce - estilos publicos y administrativos */
.ptw-wrap, .ptw-public { max-width: 1200px; margin: 0 auto; }
.ptw-grid { display:grid; grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr); gap:24px; margin-top:20px; }
.ptw-panel { background:#fff; border:1px solid #dcdcde; border-radius:10px; padding:20px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.ptw-panel h2 { margin-top:0; }
.ptw-search-row { display:flex; gap:8px; }
.ptw-search-row input { flex:1; min-width:0; }
.ptw-results { margin-top:16px; display:grid; gap:10px; }
.ptw-search-card, .ptw-live-item { display:flex; align-items:center; gap:12px; border:1px solid #e2e2e2; border-radius:8px; padding:10px; background:#fff; }
.ptw-search-card img, .ptw-live-item img { width:64px; height:64px; object-fit:cover; border-radius:6px; background:#f3f3f3; }
.ptw-search-info, .ptw-live-info { flex:1; display:flex; flex-direction:column; gap:3px; }
.ptw-search-info strong, .ptw-live-info strong { font-size:14px; }
.ptw-panel-heading { display:flex; justify-content:space-between; align-items:flex-start; }
.ptw-count { display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:32px; border-radius:999px; background:#2271b1; color:#fff; font-weight:700; }
.ptw-live-list { display:grid; gap:10px; }
.ptw-drag { cursor:grab; font-size:20px; color:#777; }
.ptw-item-actions { display:flex; gap:6px; align-items:center; }
.ptw-item-actions button { text-decoration:none; }
.ptw-empty { padding:24px; text-align:center; color:#666; background:#f8f8f8; border-radius:8px; }
.ptw-public-head { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:24px; }
.ptw-public-head h2 { margin:0 0 5px; }
.ptw-live-badge { background:#1d2327; color:#fff; border-radius:999px; padding:8px 12px; font-weight:700; white-space:nowrap; }

/* Catalogo: 3 columnas en PC, 2 en celular */
.ptw-public-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:start; }
.ptw-product-card { background:#fff; border:1px solid #e5e7eb; border-radius:14px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.05); min-width:0; }
.ptw-card-image { background:#f7f7f7; }
.ptw-card-image img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.ptw-card-body { padding:14px; }
.ptw-ref { font-size:11px; color:#666; margin-bottom:4px; }
.ptw-card-body h3 { margin:0 0 5px; font-size:17px; line-height:1.25; }
.ptw-price { font-size:18px; font-weight:800; margin-bottom:10px; }
.ptw-sizes { font-size:14px; margin-bottom:7px; }
.ptw-size-buttons { display:flex; flex-wrap:wrap; gap:7px; margin-top:7px; }
.ptw-size-btn { min-width:46px; min-height:38px; padding:7px 11px; border-radius:9px; border:1.5px solid #b8bcc2; background:#fff; color:#222; cursor:pointer; font-weight:700; transition:all .15s ease; }
.ptw-size-btn:hover:not(:disabled) { border-color:#111; transform:translateY(-1px); }
.ptw-size-btn.is-selected { border-color:#111; background:#111; color:#fff; box-shadow:0 0 0 2px rgba(0,0,0,.12); }
.ptw-size-btn.is-out { background:#f3f3f3; color:#999; border-color:#ddd; text-decoration:line-through; cursor:not-allowed; opacity:.75; }
.ptw-selected-size { min-height:20px; margin:8px 0 8px; font-size:13px; color:#444; font-weight:600; }
.ptw-stock-ok { display:inline-block; margin-bottom:12px; color:#176b35; font-weight:700; font-size:13px; }
.ptw-stock-out { display:inline-block; color:#b32d2e; margin-bottom:12px; font-weight:700; }
.ptw-order-message { margin-top:9px; min-height:22px; font-size:13px; }
.ptw-success { color:#167c2f; }
.ptw-error { color:#b32d2e; }

.ptw-quantity-row { margin:10px 0 12px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ptw-quantity-row label { font-weight:700; font-size:14px; }
.ptw-qty-control { display:inline-flex; align-items:center; border:1px solid #b8bcc2; border-radius:9px; overflow:hidden; background:#fff; }
.ptw-qty-btn { width:38px; height:38px; border:0; background:#f2f2f2; color:#111; cursor:pointer; font-size:22px; line-height:1; font-weight:700; }
.ptw-qty-btn:hover { background:#e7e7e7; }
.ptw-qty-input { width:50px; height:38px; border:0; border-left:1px solid #ddd; border-right:1px solid #ddd; text-align:center; background:#fff; -moz-appearance:textfield; font-weight:700; }
.ptw-qty-input::-webkit-outer-spin-button, .ptw-qty-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.ptw-order-area { margin-top:8px; }
.ptw-public-order-btn { width:100%; min-height:42px; border-radius:9px; font-weight:800; }
.ptw-public-order-btn:disabled { opacity:.5; cursor:not-allowed; }
.ptw-public-order-btn.is-loading { opacity:.7; cursor:wait; }

@media (max-width: 900px) {
  .ptw-grid { grid-template-columns:1fr; }
  .ptw-public-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .ptw-card-body { padding:11px; }
  .ptw-card-body h3 { font-size:15px; }
  .ptw-price { font-size:16px; }
  .ptw-size-btn { min-width:42px; min-height:36px; padding:6px 9px; }
  .ptw-qty-btn { width:34px; height:36px; }
  .ptw-qty-input { width:44px; height:36px; }
}
@media (max-width:520px) {
  .ptw-public-head { align-items:flex-start; flex-direction:column; gap:10px; }
  .ptw-public-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .ptw-card-body { padding:9px; }
  .ptw-card-body h3 { font-size:14px; }
  .ptw-ref { font-size:10px; }
  .ptw-price { font-size:15px; margin-bottom:8px; }
  .ptw-size-buttons { gap:5px; }
  .ptw-size-btn { min-width:38px; min-height:34px; padding:5px 7px; font-size:13px; }
  .ptw-quantity-row { display:block; }
  .ptw-quantity-row label { display:block; margin-bottom:5px; }
  .ptw-qty-control { width:100%; justify-content:center; }
  .ptw-qty-btn { width:42px; }
  .ptw-qty-input { flex:0 0 50px; }
}




/* Página de Pedido TikTok: controles cómodos para celular. */
.ptw-tiktok-page .ptw-public-order-btn,
.ptw-tiktok-page .ptw-size-btn,
.ptw-tiktok-page .ptw-qty-btn {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Astra: mini-carrito original con scroll interno de la lista. */
.ptw-tiktok-page #ast-site-header-cart .ast-site-header-cart-data {
  max-height: 82vh !important;
  height: 82vh !important;
  overflow: hidden !important;
}
.ptw-tiktok-page #ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart,
.ptw-tiktok-page #ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content {
  height: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.ptw-tiktok-page #ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content {
  display: flex !important;
  flex-direction: column !important;
}
.ptw-tiktok-page #ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  padding-right: 4px;
}
.ptw-tiktok-page #ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__total,
.ptw-tiktok-page #ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons {
  flex: 0 0 auto !important;
}
@media (max-width: 767px) {
  .ptw-tiktok-page #ast-site-header-cart .ast-site-header-cart-data {
    height: 78vh !important;
    max-height: 78vh !important;
  }
}


/* Astra mobile cart drawer: keep the original Astra drawer, but make the
   product list independently scrollable and keep the close button/header and
   totals/actions visible. */
@media (max-width: 767px) {
  .ptw-tiktok-page #astra-mobile-cart-drawer {
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    z-index: 999999 !important;
  }

  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-header {
    flex: 0 0 auto !important;
    position: relative !important;
    z-index: 3 !important;
  }

  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 4 !important;
  }

  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-content .widget_shopping_cart,
  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-content .widget_shopping_cart_content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-content .widget_shopping_cart_content .woocommerce-mini-cart {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding-right: 6px !important;
    margin-bottom: 0 !important;
  }

  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-content .widget_shopping_cart_content .woocommerce-mini-cart__total,
  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-content .widget_shopping_cart_content .woocommerce-mini-cart__buttons {
    flex: 0 0 auto !important;
  }
}
/* TikTok mobile cart: replace Astra's close icon with a centered,
   shopper-friendly action that returns to the TikTok catalog. */
@media (max-width: 767px) {
  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-close {
    width: calc(100% - 24px) !important;
    min-width: 0 !important;
    min-height: 46px !important;
    margin: 8px 12px !important;
    padding: 12px 16px !important;
    border: 1px solid #111 !important;
    border-radius: 6px !important;
    background: #111 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }
  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-close:hover,
  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-close:focus {
    background: #111 !important;
    color: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(0,0,0,.12) !important;
  }
  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-close {
    font-family: inherit !important;
    font-size: 0 !important;
  }
  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-close > * {
    display: none !important;
  }
  .ptw-tiktok-page #astra-mobile-cart-drawer .astra-cart-drawer-close::before {
    content: '← Seguir comprando en TikTok' !important;
    display: block !important;
    width: 100% !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
}


/* TikTok checkout */
.ptw-checkout-page{max-width:1100px;margin:0 auto;padding:20px 16px 50px}
.ptw-checkout-header{margin-bottom:24px}
.ptw-checkout-header h1{margin:0 0 6px;font-size:clamp(26px,4vw,38px)}
.ptw-checkout-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);gap:24px;align-items:start}
.ptw-checkout-form-wrap,.ptw-checkout-summary{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.ptw-checkout-form h2,.ptw-checkout-summary h2{margin:0 0 18px;font-size:20px}
.ptw-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ptw-form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600}
.ptw-form-grid input,.ptw-form-grid select,.ptw-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #d9d9d9;border-radius:8px;padding:11px 12px;font:inherit;background:#fff}
.ptw-form-grid .ptw-form-full{grid-column:1/-1}
.ptw-payment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px}
.ptw-payment-option{display:flex;align-items:center;gap:10px;border:2px solid #e6e6e6;border-radius:10px;padding:12px;cursor:pointer;font-weight:600}
.ptw-payment-option:has(input:checked){border-color:#2271b1;background:#f5faff}
.ptw-payment-option.is-disabled{opacity:.5;cursor:not-allowed}
.ptw-confirm-order{width:100%;padding:13px 18px;font-size:16px;font-weight:700}
.ptw-summary-items{display:flex;flex-direction:column;gap:12px;max-height:420px;overflow:auto;padding-right:4px}
.ptw-summary-item{display:flex;gap:10px;padding-bottom:12px;border-bottom:1px solid #eee}
.ptw-summary-image img{width:60px;height:60px;object-fit:cover;border-radius:8px}
.ptw-summary-info{display:flex;flex-direction:column;gap:3px;font-size:14px}
.ptw-summary-total{font-size:20px;font-weight:800;margin-top:16px}
.ptw-reservation-note{font-size:13px;line-height:1.45;color:#666;margin-bottom:0}
.ptw-checkout-error{background:#fff1f1;border:1px solid #e4aaaa;border-radius:8px;padding:12px;margin-bottom:18px}
.ptw-checkout-success{text-align:center;max-width:650px;margin:40px auto;padding:30px 20px;background:#fff;border:1px solid #e8e8e8;border-radius:14px}
.ptw-success-icon{width:58px;height:58px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#1d7f3f;color:#fff;font-size:30px;font-weight:800;margin-bottom:10px}
.ptw-success-actions{margin-top:20px}
@media (max-width: 760px){
  .ptw-checkout-page{padding:12px 12px 36px}
  .ptw-checkout-layout{grid-template-columns:1fr;gap:16px}
  .ptw-checkout-form-wrap,.ptw-checkout-summary{padding:16px}
  .ptw-form-grid{grid-template-columns:1fr}
  .ptw-form-grid .ptw-form-full{grid-column:auto}
  .ptw-payment-options{grid-template-columns:1fr}
}


/* TikTok checkout 0.2.4: clean, mobile-first form layout */
.ptw-checkout-page{font-family:inherit}
.ptw-checkout-form-wrap{background:#fff}
.ptw-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.ptw-form-grid label{font-size:15px;line-height:1.25}
.ptw-form-grid input,.ptw-form-grid select,.ptw-form-grid textarea{min-height:46px;font-size:16px}
.ptw-form-grid textarea{min-height:96px;resize:vertical}
.ptw-payment-help{margin:-8px 0 14px;color:#5f6368;font-size:14px;line-height:1.5}
.ptw-checkout-note{display:flex;flex-direction:column;gap:4px;margin:0 0 18px;padding:12px 14px;border-radius:10px;background:#f7f7f7;border:1px solid #e5e5e5}
.ptw-checkout-note span{font-size:13px;color:#666}
.ptw-tiktok-checkout-button{display:block!important;text-align:center!important;width:100%!important;box-sizing:border-box!important}
@media (max-width:760px){
  .ptw-checkout-page{padding:12px 10px 36px}
  .ptw-checkout-header{margin-bottom:16px}
  .ptw-checkout-header h1{font-size:26px}
  .ptw-checkout-layout{grid-template-columns:1fr;gap:14px}
  .ptw-checkout-form-wrap,.ptw-checkout-summary{padding:15px;border-radius:10px}
  .ptw-form-grid{grid-template-columns:1fr;gap:14px}
  .ptw-form-grid .ptw-form-full{grid-column:auto}
  .ptw-payment-options{grid-template-columns:1fr;gap:9px}
  .ptw-payment-option{padding:13px 12px;min-height:48px;box-sizing:border-box}
}


/* TikTok checkout 0.2.5: clearer single-column form and summary before confirmation. */
.ptw-checkout-layout{display:block;max-width:820px;margin:0 auto;}
.ptw-checkout-form-wrap{width:100%;box-sizing:border-box;}
.ptw-form-grid{grid-template-columns:1fr !important;gap:14px !important;}
.ptw-form-grid .ptw-form-full{grid-column:auto !important;}
.ptw-payment-options{grid-template-columns:1fr !important;gap:10px !important;}
.ptw-payment-option{width:100%;box-sizing:border-box;}
.ptw-checkout-summary-inline{margin:22px 0 18px;padding:16px;border:1px solid #e2e2e2;border-radius:12px;background:#fafafa;}
.ptw-checkout-summary-inline h2{margin-bottom:14px;}
.ptw-checkout-summary-inline .ptw-summary-items{max-height:360px;}
.ptw-confirm-order{margin-top:6px;}
@media (max-width:760px){
  .ptw-checkout-layout{max-width:none;}
  .ptw-checkout-form-wrap{padding:14px;}
  .ptw-checkout-summary-inline{padding:14px;margin-top:18px;}
}


/* 0.2.6 - Checkout TikTok: formulario claro y una caja por línea */
.ptw-checkout-page {
  max-width: 920px;
  margin: 0 auto;
  padding: 24px 16px 50px;
}
.ptw-checkout-header h1 {
  margin: 0 0 8px;
}
.ptw-checkout-header p {
  margin: 0 0 24px;
}
.ptw-checkout-form-wrap {
  width: 100%;
}
.ptw-checkout-form h2 {
  margin: 26px 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e5e7eb;
}
.ptw-form-grid {
  display: block !important;
}
.ptw-form-grid > label,
.ptw-form-full {
  display: block !important;
  width: 100% !important;
  margin: 0 0 16px !important;
}
.ptw-form-grid input,
.ptw-form-grid select,
.ptw-form-grid textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-top: 7px;
  min-height: 46px;
}
.ptw-form-grid textarea {
  min-height: 96px;
  resize: vertical;
}
.ptw-payment-mode-options,
.ptw-payment-options {
  display: block !important;
  margin: 0;
}
.ptw-payment-option {
  display: flex !important;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  padding: 10px 12px;
  margin: 0 0 10px !important;
  border: 1px solid #d7dce2;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}
.ptw-payment-option input[type="radio"] {
  flex: 0 0 auto;
  margin: 0;
}
.ptw-payment-option:has(input:checked) {
  border-width: 2px;
  border-color: currentColor;
}
.ptw-payment-help {
  margin: 6px 0 14px;
  font-size: 0.93em;
}
.ptw-checkout-summary-inline {
  margin-top: 28px;
}
.ptw-confirm-order {
  display: block;
  width: 100%;
  min-height: 50px;
  margin-top: 24px;
  font-size: 1.05rem;
}
@media (min-width: 768px) {
  .ptw-checkout-page { padding-left: 24px; padding-right: 24px; }
  .ptw-checkout-form { max-width: 760px; margin: 0 auto; }
}


/* =========================================================
   TikTok checkout 0.2.7 - ajuste final de formulario
   - Una caja por fila con separación visible.
   - Medios de pago en filas independientes.
   - Evita encabezado duplicado del checkout; el título lo aporta la página de WordPress/Astra.
   ========================================================= */
.ptw-checkout-page {
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 24px 16px 50px !important;
}

/* Ocultamos cualquier encabezado generado por el shortcode para evitar duplicarlo
   con el título de la página de WordPress/Astra. */
.ptw-checkout-header {
  display: none !important;
}

.ptw-checkout-layout {
  display: block !important;
  max-width: 820px !important;
  margin: 0 auto !important;
}

.ptw-checkout-form-wrap {
  width: 100% !important;
  box-sizing: border-box !important;
}

.ptw-checkout-form h2 {
  margin: 28px 0 20px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid #e5e7eb !important;
  font-size: 21px !important;
  line-height: 1.3 !important;
}

.ptw-checkout-form h2:first-of-type {
  margin-top: 0 !important;
}

/* Datos del destinatario: cada campo ocupa una fila completa. */
.ptw-form-grid {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  gap: 20px !important;
  margin: 0 !important;
}

.ptw-form-grid > label,
.ptw-form-grid > label.ptw-form-full {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 7px !important;
  box-sizing: border-box !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

.ptw-form-grid input,
.ptw-form-grid select,
.ptw-form-grid textarea {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  border: 1px solid #d5d9df !important;
  border-radius: 8px !important;
  background: #fff !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

.ptw-form-grid textarea {
  min-height: 100px !important;
  resize: vertical !important;
}

/* Pago: cada opción en una fila independiente con espacio claro. */
.ptw-payment-mode-options,
.ptw-payment-options {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  gap: 14px !important;
  margin: 0 !important;
}

.ptw-payment-option {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 50px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  gap: 10px !important;
  border: 1px solid #d5d9df !important;
  border-radius: 9px !important;
  background: #fff !important;
  cursor: pointer !important;
  font-weight: 600 !important;
}

.ptw-payment-option input[type="radio"] {
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
}

.ptw-payment-option span {
  display: block !important;
  flex: 1 1 auto !important;
}

.ptw-payment-option:has(input:checked) {
  border-width: 2px !important;
  border-color: #2271b1 !important;
  background: #f5faff !important;
}

.ptw-payment-help {
  margin: 10px 0 18px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #5f6368 !important;
}

/* Resumen antes del botón final. */
.ptw-checkout-summary-inline {
  margin: 30px 0 18px !important;
  padding: 16px !important;
  border: 1px solid #e2e2e2 !important;
  border-radius: 12px !important;
  background: #fafafa !important;
}

.ptw-checkout-summary-inline h2 {
  margin-top: 0 !important;
}

.ptw-confirm-order {
  display: block !important;
  width: 100% !important;
  min-height: 52px !important;
  margin-top: 18px !important;
  padding: 13px 18px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

@media (max-width: 760px) {
  .ptw-checkout-page {
    max-width: none !important;
    padding: 14px 10px 36px !important;
  }

  .ptw-checkout-form-wrap {
    padding: 14px !important;
  }

  .ptw-form-grid {
    gap: 18px !important;
  }

  .ptw-payment-mode-options,
  .ptw-payment-options {
    gap: 12px !important;
  }

  .ptw-checkout-summary-inline {
    margin-top: 24px !important;
    padding: 14px !important;
  }
}


/* 0.2.8 - Fuerza layout del checkout TikTok y separacion real entre campos/opciones. */
.ptw-checkout-page .ptw-form-grid {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 22px !important;
  width: 100% !important;
}
.ptw-checkout-page .ptw-form-grid > label,
.ptw-checkout-page .ptw-form-grid > label.ptw-form-full {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 8px !important;
}
.ptw-checkout-page .ptw-form-grid > label + label {
  margin-top: 0 !important;
}
.ptw-checkout-page .ptw-form-grid input,
.ptw-checkout-page .ptw-form-grid select,
.ptw-checkout-page .ptw-form-grid textarea {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.ptw-checkout-page .ptw-payment-mode-options,
.ptw-checkout-page .ptw-payment-options {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
}
.ptw-checkout-page .ptw-payment-option {
  display: flex !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  align-items: center !important;
}
.ptw-checkout-page .ptw-checkout-header { display: none !important; }
@media (max-width: 760px) {
  .ptw-checkout-page { padding: 16px 12px 40px !important; }
  .ptw-checkout-form-wrap { padding: 16px !important; }
  .ptw-checkout-page .ptw-form-grid { gap: 20px !important; }
  .ptw-checkout-page .ptw-payment-mode-options,
  .ptw-checkout-page .ptw-payment-options { gap: 14px !important; }
}


/* 0.2.9 - Estructura robusta del formulario: cada campo en su propia fila. */
.ptw-checkout-page .ptw-form-grid {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ptw-checkout-page .ptw-form-grid .ptw-field {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  position: static !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.ptw-checkout-page .ptw-form-grid .ptw-field-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  box-sizing: border-box !important;
}

.ptw-checkout-page .ptw-form-grid .ptw-field > input,
.ptw-checkout-page .ptw-form-grid .ptw-field > select,
.ptw-checkout-page .ptw-form-grid .ptw-field > textarea {
  display: block !important;
  position: static !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  border: 1px solid #d5d9df !important;
  border-radius: 8px !important;
  background: #fff !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

.ptw-checkout-page .ptw-form-grid .ptw-field > textarea {
  min-height: 110px !important;
  resize: vertical !important;
}

/* Medio de pago y porcentaje: una opción por fila y con separación visible. */
.ptw-checkout-page .ptw-payment-mode-options,
.ptw-checkout-page .ptw-payment-options {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ptw-checkout-page .ptw-payment-option {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: both !important;
  border: 1px solid #d5d9df !important;
  border-radius: 9px !important;
  background: #fff !important;
}

.ptw-checkout-page .ptw-payment-option input[type="radio"] {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  margin: 0 10px 0 0 !important;
}

.ptw-checkout-page .ptw-payment-option span {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  margin: 0 !important;
}

@media (max-width: 760px) {
  .ptw-checkout-page .ptw-form-grid { gap: 22px !important; }
  .ptw-checkout-page .ptw-payment-mode-options,
  .ptw-checkout-page .ptw-payment-options { gap: 14px !important; }
}

/* 0.2.10 final checkout overrides */
#ptw-tiktok-checkout .ptw-form-grid{display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;gap:22px!important;margin:0!important}
#ptw-tiktok-checkout .ptw-form-grid>.ptw-field{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;max-width:100%!important;min-width:100%!important;float:none!important;clear:both!important;margin:0!important;padding:0!important;box-sizing:border-box!important}
#ptw-tiktok-checkout .ptw-form-grid>.ptw-field .ptw-field-label{display:block!important;width:100%!important;margin:0 0 7px 0!important;padding:0!important;box-sizing:border-box!important}
#ptw-tiktok-checkout .ptw-form-grid>.ptw-field input,#ptw-tiktok-checkout .ptw-form-grid>.ptw-field select,#ptw-tiktok-checkout .ptw-form-grid>.ptw-field textarea{display:block!important;width:100%!important;max-width:100%!important;min-width:100%!important;float:none!important;clear:both!important;margin:0!important;box-sizing:border-box!important;min-height:48px!important}
#ptw-tiktok-checkout .ptw-payment-mode-options,#ptw-tiktok-checkout .ptw-payment-options{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;gap:14px!important;margin:0 0 22px 0!important}
#ptw-tiktok-checkout .ptw-payment-mode-options>.ptw-payment-option,#ptw-tiktok-checkout .ptw-payment-options>.ptw-payment-option{display:flex!important;flex-direction:row!important;align-items:center!important;width:100%!important;max-width:100%!important;min-width:100%!important;float:none!important;clear:both!important;margin:0!important;padding:12px 14px!important;box-sizing:border-box!important}
#ptw-tiktok-checkout .ptw-payment-option input[type=radio]{width:auto!important;min-width:18px!important;max-width:none!important;margin:0 10px 0 0!important;flex:0 0 auto!important}

/* 0.2.11 - TikTok checkout: isolated structure to prevent Astra/WooCommerce form-row rules */
#ptw-tiktok-checkout .ptw-form-grid {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  gap: 20px !important;
}
#ptw-tiktok-checkout .ptw-form-grid > .ptw-field {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  position: static !important;
  box-sizing: border-box !important;
}
#ptw-tiktok-checkout .ptw-form-grid > .ptw-field .ptw-field-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  float: none !important;
  position: static !important;
}
#ptw-tiktok-checkout .ptw-form-grid > .ptw-field input,
#ptw-tiktok-checkout .ptw-form-grid > .ptw-field select,
#ptw-tiktok-checkout .ptw-form-grid > .ptw-field textarea {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: both !important;
  position: static !important;
}
#ptw-tiktok-checkout .ptw-payment-mode-options,
#ptw-tiktok-checkout .ptw-payment-options {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  gap: 14px !important;
}
#ptw-tiktok-checkout .ptw-payment-mode-options > .ptw-payment-option,
#ptw-tiktok-checkout .ptw-payment-options > .ptw-payment-option {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: both !important;
  position: static !important;
}
#ptw-tiktok-checkout .ptw-payment-option input[type="radio"] {
  flex: 0 0 auto !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  margin: 0 10px 0 0 !important;
}


/* Version 0.2.12 - payment details and success summary */
#ptw-tiktok-checkout .ptw-payment-details {
    display: none;
    margin: 12px 0 22px;
    padding: 14px 16px;
    border: 1px solid #dedede;
    border-radius: 8px;
    background: #fafafa;
}
#ptw-tiktok-checkout .ptw-payment-details.is-visible { display: block; }
#ptw-tiktok-checkout .ptw-payment-details-title {
    margin: 0 0 6px;
    font-weight: 700;
}
#ptw-tiktok-checkout .ptw-payment-details-text { margin: 0; }
#ptw-tiktok-checkout .ptw-order-summary-success {
    margin: 18px 0;
    padding: 16px;
    border: 1px solid #dedede;
    border-radius: 8px;
    background: #fafafa;
}
#ptw-tiktok-checkout .ptw-order-summary-success h2 { margin-top: 0; }
#ptw-tiktok-checkout .ptw-order-summary-success ul { margin: 0 0 12px 20px; }
#ptw-tiktok-checkout .ptw-payment-detail-success {
    font-weight: 600;
    margin-bottom: 0;
}
#ptw-tiktok-checkout .ptw-success-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 18px;
}


/* Version 0.2.13 - WhatsApp CTA */
#ptw-tiktok-checkout .ptw-whatsapp-summary,
.ptw-checkout-success .ptw-whatsapp-summary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 18px !important;
    box-sizing: border-box !important;
    background: #25D366 !important;
    border: 1px solid #25D366 !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-align: center !important;
    box-shadow: none !important;
}
#ptw-tiktok-checkout .ptw-whatsapp-summary:hover,
#ptw-tiktok-checkout .ptw-whatsapp-summary:focus,
.ptw-checkout-success .ptw-whatsapp-summary:hover,
.ptw-checkout-success .ptw-whatsapp-summary:focus {
    background: #20bd5a !important;
    border-color: #20bd5a !important;
    color: #fff !important;
    text-decoration: none !important;
}


/* Version 0.2.14 - Checkout validation and WhatsApp CTA */
#ptw-tiktok-checkout .ptw-whatsapp-summary,
.ptw-checkout-success .ptw-whatsapp-summary {
    background-color: #25D366 !important;
    background-image: none !important;
    color: #ffffff !important;
    border-color: #25D366 !important;
    text-decoration: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#ptw-tiktok-checkout .ptw-whatsapp-summary:hover,
#ptw-tiktok-checkout .ptw-whatsapp-summary:focus,
.ptw-checkout-success .ptw-whatsapp-summary:hover,
.ptw-checkout-success .ptw-whatsapp-summary:focus {
    background-color: #1ebe5d !important;
    color: #ffffff !important;
    border-color: #1ebe5d !important;
}
#ptw-tiktok-checkout .ptw-field-help {
    display: block !important;
    margin-top: 6px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #6b7280 !important;
}
#ptw-tiktok-checkout select:disabled {
    opacity: .75 !important;
    cursor: wait !important;
}

/* 0.2.15: ciudad manual, sin carga automática */
#ptw-tiktok-checkout .ptw-form-grid input[name="city"] {
    width: 100% !important;
    max-width: 100% !important;
}


/* Version 0.2.16 - WhatsApp button: white background, black bold text, green border */
#ptw-tiktok-checkout .ptw-whatsapp-summary,
.ptw-checkout-success .ptw-whatsapp-summary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 12px 18px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color: #111111 !important;
    border: 2px solid #25D366 !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-align: center !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

#ptw-tiktok-checkout .ptw-whatsapp-summary:hover,
#ptw-tiktok-checkout .ptw-whatsapp-summary:focus,
#ptw-tiktok-checkout .ptw-whatsapp-summary:active,
.ptw-checkout-success .ptw-whatsapp-summary:hover,
.ptw-checkout-success .ptw-whatsapp-summary:focus,
.ptw-checkout-success .ptw-whatsapp-summary:active {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #111111 !important;
    border-color: #128C7E !important;
    text-decoration: none !important;
}


/* Version 0.2.17 - Force WhatsApp CTA styling inline-compatible with Astra/WooCommerce */
#ptw-tiktok-checkout a.ptw-whatsapp-summary.button.button-primary,
#ptw-tiktok-checkout a.ptw-whatsapp-summary,
.ptw-checkout-success a.ptw-whatsapp-summary.button.button-primary,
.ptw-checkout-success a.ptw-whatsapp-summary {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    border: 2px solid #25D366 !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

#ptw-tiktok-checkout a.ptw-whatsapp-summary.button.button-primary:hover,
#ptw-tiktok-checkout a.ptw-whatsapp-summary.button.button-primary:focus,
#ptw-tiktok-checkout a.ptw-whatsapp-summary.button.button-primary:active,
.ptw-checkout-success a.ptw-whatsapp-summary.button.button-primary:hover,
.ptw-checkout-success a.ptw-whatsapp-summary.button.button-primary:focus,
.ptw-checkout-success a.ptw-whatsapp-summary.button.button-primary:active {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    border-color: #25D366 !important;
}

#ptw-tiktok-checkout a.ptw-whatsapp-summary::before,
#ptw-tiktok-checkout a.ptw-whatsapp-summary::after,
.ptw-checkout-success a.ptw-whatsapp-summary::before,
.ptw-checkout-success a.ptw-whatsapp-summary::after {
    color: #111111 !important;
    background: transparent !important;
    box-shadow: none !important;
}


/* Version 0.2.20 - Keep the proven 0.2.17 WhatsApp styling and add breathing room */
#ptw-tiktok-checkout .ptw-success-actions,
.ptw-checkout-success .ptw-success-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 32px 0 36px !important;
    padding: 0 !important;
}

#ptw-tiktok-checkout .ptw-checkout-success,
.ptw-checkout-success {
    padding-top: 8px !important;
    padding-bottom: 24px !important;
}

#ptw-tiktok-checkout a.ptw-whatsapp-summary,
.ptw-checkout-success a.ptw-whatsapp-summary {
    min-height: 52px !important;
    margin: 0 !important;
}

#ptw-tiktok-checkout .ptw-success-actions a.button:not(.ptw-whatsapp-summary),
.ptw-checkout-success .ptw-success-actions a.button:not(.ptw-whatsapp-summary) {
    min-height: 50px !important;
    margin: 0 !important;
}

@media (max-width: 640px) {
    #ptw-tiktok-checkout .ptw-success-actions,
    .ptw-checkout-success .ptw-success-actions {
        gap: 20px !important;
        margin: 34px 0 42px !important;
    }
}

/* El envio por WhatsApp es ahora la accion final del formulario TikTok. */
.ptw-confirm-order.ptw-whatsapp-submit,
.ptw-checkout-form .ptw-confirm-order {
    display:block !important;
    width:100% !important;
    margin:28px 0 12px !important;
    padding:15px 18px !important;
    background:#ffffff !important;
    color:#111111 !important;
    -webkit-text-fill-color:#111111 !important;
    border:2px solid #25D366 !important;
    border-radius:12px !important;
    font-weight:800 !important;
    font-size:16px !important;
    line-height:1.25 !important;
    text-align:center !important;
    box-shadow:0 3px 10px rgba(37,211,102,.16) !important;
}
.ptw-confirm-order.ptw-whatsapp-submit:hover,
.ptw-confirm-order.ptw-whatsapp-submit:focus,
.ptw-checkout-form .ptw-confirm-order:hover,
.ptw-checkout-form .ptw-confirm-order:focus {
    background:#f7fff9 !important;
    color:#111111 !important;
    -webkit-text-fill-color:#111111 !important;
    border-color:#20b957 !important;
}
.ptw-submit-note {
    margin:0 0 24px !important;
    padding:0 !important;
    text-align:center !important;
    font-size:13px !important;
    line-height:1.45 !important;
}
\n\n/* Version 0.2.21 - TikTok cart: a single Continue action */\n.ptw-tiktok-page .woocommerce-cart-form + .cart-collaterals .wc-proceed-to-checkout .checkout-button:not(.ptw-tiktok-checkout-button),\nbody.woocommerce-cart .ptw-tiktok-cart .wc-proceed-to-checkout .checkout-button:not(.ptw-tiktok-checkout-button),\n.ptw-tiktok-page .woocommerce .wc-proceed-to-checkout .checkout-button:not(.ptw-tiktok-checkout-button) {\n  display:none !important;\n}\n\n/* Mini-cart: keep only the custom Continue button */\nbody.woocommerce-cart .ptw-tiktok-page #ast-site-header-cart .woocommerce-mini-cart__buttons a:not(.ptw-tiktok-checkout-button),\n.ptw-tiktok-page #ast-site-header-cart .woocommerce-mini-cart__buttons a:not(.ptw-tiktok-checkout-button),\n.ptw-tiktok-page #astra-mobile-cart-drawer .woocommerce-mini-cart__buttons a:not(.ptw-tiktok-checkout-button) {\n  display:none !important;\n}\n\n/* Ensure the custom Continue action is the only visible primary action */\n.ptw-tiktok-page .ptw-tiktok-checkout-button {\n  display:block !important;\n  width:100% !important;\n  text-align:center !important;\n  box-sizing:border-box !important;\n}\n\n/* On the dedicated TikTok checkout page, the single final action is the WhatsApp button. */\n#ptw-tiktok-checkout .ptw-checkout-form .ptw-confirm-order {\n  display:block !important;\n}\n
/* v0.2.22: correo obligatorio */
#ptw-tiktok-checkout input[type="email"] { width:100% !important; box-sizing:border-box !important; }


/* 0.2.23 - En carrito TikTok dejar una sola acción: CONTINUAR. */
body.ptw-tiktok-cart .wc-proceed-to-checkout a.checkout-button:not(.ptw-tiktok-checkout-button),
body.ptw-tiktok-cart .cart_totals a.checkout-button:not(.ptw-tiktok-checkout-button) {
    display: none !important;
}

/* Mini-carrito de Astra/WooCommerce: ocultar el botón estándar duplicado. */
body.ptw-tiktok-cart .widget_shopping_cart .woocommerce-mini-cart__buttons a.checkout:not(.ptw-tiktok-checkout-button),
body.ptw-tiktok-cart .widget_shopping_cart .woocommerce-mini-cart__buttons a.wc-forward.checkout:not(.ptw-tiktok-checkout-button) {
    display: none !important;
}

/* El botón TikTok permanece como única acción visible. */
body.ptw-tiktok-cart .ptw-tiktok-checkout-button {
    display: block !important;
}


/* 0.2.24 - En carrito TikTok dejar únicamente CONTINUAR. */
body.ptw-tiktok-cart .ptw-buy-now,
body.ptw-tiktok-cart .buy-now,
body.ptw-tiktok-cart .quick-buy,
body.ptw-tiktok-cart .quick-buy-button,
body.ptw-tiktok-cart .wc-buy-now-button {
    display:none !important;
}
/* v0.3.0 - Panel de pedidos TikTok */
.ptw-orders-dashboard .ptw-status-cards{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.ptw-orders-dashboard .ptw-status-card{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:12px 16px;text-decoration:none;color:#1d2327;min-width:150px}
.ptw-orders-dashboard .ptw-status-card strong{display:block;font-size:20px;margin-top:4px}
.ptw-orders-dashboard .ptw-order-detail{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:18px;margin-top:20px}
.ptw-orders-dashboard .ptw-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

/* Pedidos TikTok: tarjetas de estado clicables y legibles */
.ptw-status-card{padding:14px!important;border:1px solid #dcdcde!important;border-radius:10px!important;background:#fff!important;display:flex!important;align-items:center!important;gap:12px!important;justify-content:space-between!important;}
.ptw-status-filter-link{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important;flex:1!important;text-decoration:none!important;color:#1d2327!important;min-height:54px!important;justify-content:center!important;}
.ptw-status-filter-link span{font-weight:600!important;}
.ptw-status-filter-link strong{font-size:24px!important;line-height:1!important;color:#2271b1!important;}
.ptw-status-filter-link:hover span{text-decoration:underline!important;}

/* Carrito del Live: ligero, sin polling ni lógica adicional. */
.ptw-live-cart-bar{
    position:sticky;
    bottom:12px;
    z-index:20;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:22px 0 8px;
    padding:12px 14px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    box-shadow:0 5px 18px rgba(0,0,0,.10);
}
.ptw-live-cart-info{
    display:flex;
    flex-direction:column;
    gap:3px;
}
.ptw-live-cart-info span{
    font-size:13px;
    opacity:.75;
}
.ptw-live-cart-actions{
    display:flex;
    align-items:center;
    gap:8px;
}
@media (max-width:640px){
    .ptw-live-cart-bar{
        flex-direction:column;
        align-items:stretch;
    }
    .ptw-live-cart-actions{
        display:grid;
        grid-template-columns:1fr 1.5fr;
    }
    .ptw-live-cart-actions .button{
        text-align:center;
        white-space:nowrap;
    }
}

/* 0.4.2 - Botones del Live centrados y separados */
.ptw-product-card .ptw-add-to-cart,
.ptw-product-card .ptw-pedir,
.ptw-public-card .ptw-add-to-cart {
    display: block;
    margin: 12px auto 8px !important;
    text-align: center;
}

.ptw-product-card .ptw-card-actions,
.ptw-public-card .ptw-card-actions,
.ptw-product-card .ptw-actions,
.ptw-public-card .ptw-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

.ptw-live-cart-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px !important;
    flex-wrap: wrap;
}

.ptw-live-cart-actions .button {
    margin: 0 !important;
    min-width: 150px;
    text-align: center;
}

@media (max-width: 640px) {
    .ptw-live-cart-actions {
        display: flex !important;
        flex-direction: column;
        gap: 10px !important;
        width: 100%;
    }

    .ptw-live-cart-actions .button {
        width: 100%;
        min-width: 0;
    }
}

/* 0.4.3 - separación definitiva de acciones */
.ptw-live-cart-actions{display:flex!important;justify-content:center!important;align-items:center!important;gap:16px!important;flex-wrap:wrap!important}
.ptw-live-cart-actions .button{margin:0!important}
.ptw-product-card .ptw-public-order-btn{display:block!important;width:max-content;min-width:150px;margin:14px auto 8px!important;text-align:center!important}

/* 0.4.4: the Live cart bar reflects the WooCommerce cart immediately after AJAX add. */
.ptw-live-cart-bar { transition: opacity .15s ease; }

/* 0.4.5: el encabezado lo actualiza WooCommerce; no se modifica su HTML. */

/* 0.4.6
 * En el Live TikTok se oculta únicamente el carrito del menú/header de la plantilla.
 * No afecta el carrito real de WooCommerce, el checkout ni otras páginas.
 */
body.ptw-live-page .site-header .cart,
body.ptw-live-page .site-header .header-cart,
body.ptw-live-page .site-header .mini-cart,
body.ptw-live-page .site-header .widget_shopping_cart,
body.ptw-live-page .site-header .woocommerce-mini-cart,
body.ptw-live-page .main-navigation .cart,
body.ptw-live-page .main-navigation .mini-cart,
body.ptw-live-page .main-navigation .header-cart,
body.ptw-live-page .main-navigation .woocommerce-mini-cart,
body.ptw-live-page .menu-item.woocommerce-cart,
body.ptw-live-page .menu-item-type-woocommerce-cart,
body.ptw-live-page a.cart-contents,
body.ptw-live-page a.header-cart-contents,
body.ptw-live-page .woocommerce-mini-cart-item {
    display: none !important;
}

body.ptw-live-page a[href*="/cart/"],
body.ptw-live-page a[href*="/carrito/"] {
    display: none !important;
}
