/* Production audit fixes: category layout, cart overflow and required fields. */
.admin .category-admin{width:min(1120px,100%)!important;margin-inline:auto!important;grid-template-columns:1fr!important}
.admin .category-admin>.product-form{position:static!important;grid-row:1!important;width:100%!important;max-width:none!important}
.cart-line-copy{min-width:0!important}
.cart-line-copy>a{display:-webkit-box!important;max-width:100%!important;overflow:hidden!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere;line-height:1.3}
.wholesale-page .required-field-label{display:flex;align-items:center;gap:7px}
.wholesale-page .required-field-label b{color:var(--primary);font-size:.72em;font-weight:800;letter-spacing:.04em}

/* Blog uses the same Quill dimensions and controls as institutional pages. */
.blog-editor .standard-blog-editor .ql-toolbar{border:1px solid #cbdbe7!important;border-radius:0!important;background:#fff!important}
.blog-editor .standard-blog-editor .ql-container{min-height:310px!important;border:1px solid #cbdbe7!important;border-top:0!important;border-radius:0!important;background:#fff!important}
.blog-editor .standard-blog-editor .ql-editor{min-height:310px!important}
.admin .preview .preview-store .navbar.navbar-sticky{position:relative!important;top:auto!important;z-index:auto!important}
.admin .preview .preview-bar{position:sticky!important;top:0!important;z-index:200!important}
.hero-video-media iframe[src*="youtube"]{transform:translate(-50%,-50%) scale(1.16)!important;pointer-events:none!important}

/* QA mobile admin coherence v1: sticky header, catalog cards and promotions. */
@media (max-width: 640px) {
  .admin .workspace { min-width: 0 !important; max-width: 100% !important; overflow: visible !important; }

  .admin .workspace > header {
    position: sticky !important;
    top: 0 !important;
    z-index: 120 !important;
    width: 100% !important;
    min-height: 72px;
    padding-left: 68px !important;
    padding-right: 14px !important;
    background: rgba(255,255,255,.97) !important;
    border-bottom: 1px solid #d9e4ec !important;
    box-shadow: 0 5px 16px rgba(15,35,58,.07);
    backdrop-filter: blur(10px);
  }
  .admin .admin-menu-toggle { position: fixed !important; top: 14px !important; left: 14px !important; z-index: 130 !important; }

  .admin .product-catalog-admin,
  .admin .product-list.product-table,
  .admin .product-list.product-table .product-row,
  .admin .product-catalog-admin > * {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .admin .product-list.product-table {
    display: grid !important;
    gap: 12px !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }
  .admin .product-list.product-table .product-table-head { display: none !important; }
  .admin .product-list.product-table .product-row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-areas:
      "select product product"
      "stock price promo"
      "status actions actions" !important;
    gap: 14px 12px !important;
    padding: 14px !important;
    margin: 0 !important;
    border: 1px solid #d8e3ec !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(16,43,70,.04);
    align-items: center !important;
  }
  .admin .product-row > .qa-product-select-cell { grid-area: select !important; align-self: start; width: auto !important; }
  .admin .product-row > .product-main-cell {
    grid-area: product !important;
    display: grid !important;
    grid-template-columns: 58px minmax(0,1fr) !important;
    gap: 12px !important;
    min-width: 0 !important;
    align-items: center !important;
  }
  .admin .product-main-cell .product-image { width: 58px !important; height: 58px !important; border-radius: 10px !important; }
  .admin .product-main-cell b,
  .admin .product-main-cell small { display: block; min-width: 0; overflow-wrap: anywhere; }
  .admin .product-main-cell b { line-height: 1.25; }
  .admin .product-row > strong { grid-area: stock !important; }
  .admin .product-row > span:nth-of-type(2) { grid-area: price !important; }
  .admin .product-row > span:nth-of-type(3) { grid-area: promo !important; }
  .admin .product-row > .product-status { grid-area: status !important; justify-self: start; }
  .admin .product-row > strong,
  .admin .product-row > span:nth-of-type(2),
  .admin .product-row > span:nth-of-type(3) {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    min-width: 0 !important;
    font-size: 13px !important;
    overflow-wrap: anywhere;
  }
  .admin .product-row > strong::before,
  .admin .product-row > span:nth-of-type(2)::before,
  .admin .product-row > span:nth-of-type(3)::before {
    color: #64768c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
  }
  .admin .product-row > strong::before { content: "STOCK"; }
  .admin .product-row > span:nth-of-type(2)::before { content: "PRECIO"; }
  .admin .product-row > span:nth-of-type(3)::before { content: "PROMOCIONAL"; }
  .admin .product-row > .product-row-actions {
    grid-area: actions !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    min-width: 0 !important;
  }
  .admin .product-row-actions button { min-width: 72px !important; min-height: 38px !important; border-radius: 9px !important; }

  .admin .inventory-shell,
  .admin .inventory-panel,
  .admin .inventory-product,
  .admin .inventory-product-row {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .admin .inventory-summary { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
  .admin .inventory-toolbar { grid-template-columns: 1fr !important; gap: 10px !important; }
  .admin .inventory-table-head { display: none !important; }
  .admin .inventory-panel { background: transparent !important; border: 0 !important; overflow: visible !important; }
  .admin .inventory-product { margin-bottom: 12px !important; border: 1px solid #d8e3ec !important; border-radius: 14px !important; background: #fff; overflow: hidden; }
  .admin .inventory-product-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-areas:
      "identity identity"
      "stock variants"
      "badge badge"
      "actions actions" !important;
    gap: 13px 12px !important;
    padding: 14px !important;
    align-items: end !important;
  }
  .admin .inventory-identity { grid-area: identity !important; min-width: 0 !important; }
  .admin .inventory-identity > div:last-child { min-width: 0 !important; }
  .admin .inventory-identity b,
  .admin .inventory-identity small { display: block; overflow-wrap: anywhere; }
  .admin .inventory-stock-value { grid-area: stock !important; min-width: 0 !important; }
  .admin .inventory-stock-value::before,
  .admin .inventory-product-row > span:not(.inventory-badge)::before {
    display: block;
    margin-bottom: 5px;
    color: #64768c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
  }
  .admin .inventory-stock-value::before { content: "STOCK GENERAL"; }
  .admin .inventory-product-row > span:not(.inventory-badge) { grid-area: variants !important; min-width: 0 !important; }
  .admin .inventory-product-row > span:not(.inventory-badge)::before { content: "VARIANTES"; }
  .admin .inventory-stock-value input { width: 100% !important; min-width: 0 !important; }
  .admin .inventory-badge { grid-area: badge !important; justify-self: start !important; }
  .admin .inventory-actions { grid-area: actions !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .admin .inventory-actions > * { width: 100% !important; min-width: 0 !important; text-align: center !important; }
  .admin .inventory-variants { padding: 14px !important; }
  .admin .inventory-variants header { align-items: flex-start !important; gap: 6px !important; }

  .admin .promo-layout,
  .admin .promo-layout > *,
  .admin .promo-layout .product-form,
  .admin .promo-layout .form-row,
  .admin .promo-layout label,
  .admin .promo-layout input,
  .admin .promo-layout select,
  .admin .promo-layout button {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .admin .promo-layout {
    width: 100% !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 16px !important;
    overflow: visible !important;
  }
  .admin .promo-layout .product-form { width: 100% !important; padding: 16px 14px !important; overflow: hidden !important; }
  .admin .promo-layout .promo-form-heading,
  .admin .promo-layout .promo-form-intro,
  .admin .promo-layout label,
  .admin .promo-layout input,
  .admin .promo-layout select,
  .admin .promo-layout button { width: 100% !important; overflow-wrap: anywhere; }
  .admin .promo-layout .form-row { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 12px !important; width: 100% !important; }
  .admin .promo-layout .product-form { order: 1 !important; }
  .admin .promo-layout .promo-list { order: 2 !important; width: 100% !important; }
}

/* QA mobile admin coherence v2: compact sticky bar and card gutters. */
@media (max-width: 640px) {
  .admin .workspace > header > div > p { display: none !important; }
  .admin .workspace > header { min-height: 72px !important; }

  .admin .product-list.product-table {
    width: calc(100% - 16px) !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
  }

  .admin .promo-layout {
    width: calc(100% - 16px) !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
  }
}

/* QA mobile admin coherence v3: checks, product lead, payments and editor layers. */
@media (max-width: 640px) {
  .admin .promo-layout label.check {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    width: fit-content !important;
    max-width: 100% !important;
   }
  .admin .promo-layout label.check input[type="checkbox"] {
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 0 !important;
  }

  .admin .product-list.product-table .product-row {
    grid-template-columns: 24px repeat(3,minmax(0,1fr)) !important;
    grid-template-areas:
      "select product product product"
      "stock price promo promo"
      "status status actions actions" !important;
  }
  .admin .product-row > .qa-product-select-cell {
    align-self: center !important;
    justify-self: start !important;
  }

  .admin .payment-settings-admin,
  .admin .payment-settings-admin *,
  .admin .payment-activation,
  .admin .admin-payment-grid,
  .admin .payment-config-list,
  .admin .payment-config-item,
  .admin .qa-commerce-benefits,
  .admin .qa-payment-visuals {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .admin .payment-settings-admin {
    width: calc(100% - 16px) !important;
    margin: 16px 8px 36px !important;
    padding: 18px 14px !important;
    overflow: hidden !important;
  }
  .admin .payment-activation {
    width: 100% !important;
    padding: 14px !important;
    overflow: hidden !important;
  }
  .admin .admin-payment-grid {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 9px !important;
    width: 100% !important;
  }
  .admin .admin-payment-grid > label {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
    overflow: hidden !important;
  }
  .admin .admin-payment-grid > label > input {
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
  }
  .admin .admin-payment-grid .payment-mark {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 34px) !important;
  }
  .admin .admin-payment-grid .payment-mark img {
    display: block;
    max-width: 100% !important;
    height: auto !important;
  }
  .admin .admin-payment-grid em {
    position: static !important;
    flex: 0 1 auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    white-space: normal !important;
  }
  .admin .qa-benefits-grid {
    grid-template-columns: minmax(0,1fr) !important;
  }
  .admin .payment-config-list,
  .admin .qa-payment-visuals {
    width: 100% !important;
    overflow: hidden !important;
  }
  .admin .payment-config-head {
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) auto !important;
    gap: 10px !important;
    width: 100% !important;
    text-align: left !important;
  }
  .admin .payment-config-head > span {
    min-width: 0 !important;
    overflow-wrap: anywhere;
  }
  .admin .qa-payment-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    width: 100% !important;
  }
  .admin .qa-payment-option {
    min-width: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
  }
  .admin .qa-payment-option > span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .mtt-admin-route .ql-toolbar,
  .mtt-admin-route .ql-container,
  .mtt-admin-route .ql-picker,
  .mtt-admin-route .ql-picker-options {
    z-index: 1 !important;
  }
  .mtt-admin-route .admin-sidebar {
    z-index: 110 !important;
  }
}
@media (max-width: 350px) {
  .admin .qa-payment-grid { grid-template-columns: minmax(0,1fr) !important; }
}

/* QA mobile admin coherence v4: open drawer owns the complete top layer. */
@media (max-width: 640px) {
  .mtt-admin-route .admin-menu-backdrop {
    z-index: 290 !important;
  }
  .mtt-admin-route .admin-sidebar.open {
    z-index: 300 !important;
  }
  .mtt-admin-route .admin-menu-toggle {
    z-index: 310 !important;
  }
}

/* QA mobile admin coherence v5: balanced catalog facts and payment methods. */
@media (max-width: 640px) {
  .admin .product-list.product-table .product-row {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    grid-template-areas:
      "select product product product product product"
      "stock stock price price promo promo"
      "status status status actions actions actions" !important;
  }
  .admin .product-row > strong,
  .admin .product-row > span:nth-of-type(2),
  .admin .product-row > span:nth-of-type(3) {
    width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .admin .admin-payment-grid > label.disabled-method:has(.uala-bis-mark)::after {
    content: none !important;
    display: none !important;
  }
  .admin .admin-payment-grid > label.disabled-method:has(.uala-bis-mark) > em {
    margin-left: auto !important;
    white-space: nowrap !important;
  }

  .admin .payment-config-head > .payment-mark.transfer-mark {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    border-radius: 12px !important;
    background: #eef7fd !important;
  }
  .admin .payment-config-head > .payment-mark.transfer-mark img {
    width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    max-height: 30px !important;
    object-fit: contain !important;
  }

  .admin .qa-payment-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
  }
  .admin .qa-payment-option {
    display: grid !important;
    grid-template-columns: 18px minmax(72px, 88px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 58px !important;
    height: auto !important;
    padding: 10px 12px !important;
  }
  .admin .qa-payment-option > input {
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
  }
  .admin .qa-payment-option > .qa-payment-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 34px !important;
  }
  .admin .qa-payment-option > .qa-payment-logo img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 30px !important;
    object-fit: contain !important;
  }
  .admin .qa-payment-option > span:last-child {
    min-width: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }
}