/* Bling AI Shop Assistant v2.5.4 - CSS HARD ISOLATION
   IMPORTANT: This file intentionally styles ONLY .bling-ai-* and .bling-chat-* elements.
   It does NOT touch WooCommerce product images, catalog grids, product meta, tags, categories,
   body backgrounds, headers, menus, or theme layout. */

.bling-ai-widget,
.bling-ai-widget *,
.bling-ai-modal,
.bling-ai-modal *,
.bling-chat,
.bling-chat *{
  box-sizing:border-box!important;
}

.bling-ai-widget{
  margin:18px 0!important;
  text-align:center!important;
  max-width:100%!important;
  clear:both!important;
  isolation:isolate!important;
  color:#fff!important;
  background:transparent!important;
}

.bling-ai-widget img,
.bling-ai-modal img,
.bling-chat img{
  max-width:100%!important;
  height:auto!important;
  display:block!important;
}

.bling-ai-badge{
  display:inline-block!important;
  margin:4px 0 12px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#201500,#3a2a00)!important;
  color:#ffd966!important;
  border:1px solid rgba(255,215,0,.55)!important;
  font-weight:900!important;
  font-size:.88rem!important;
  box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}

.bling-ai-tools-intro{
  max-width:760px!important;
  margin:18px auto 16px!important;
  padding:18px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#111,#070707)!important;
  color:#fff!important;
  border:1px solid rgba(255,215,0,.42)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.24)!important;
  text-align:left!important;
}

.bling-ai-tools-intro *{
  background:transparent!important;
  box-shadow:none!important;
}

.bling-ai-tools-kicker{
  font-size:1.14rem!important;
  font-weight:900!important;
  color:#ffd966!important;
  margin-bottom:6px!important;
}

.bling-ai-tools-intro p{
  margin:0 0 12px!important;
  color:#f5f5f5!important;
  line-height:1.45!important;
}

.bling-ai-feature-main{
  padding:13px 14px!important;
  border-radius:16px!important;
  background:#181818!important;
  border:1px solid rgba(245,66,179,.45)!important;
  margin-bottom:12px!important;
}

.bling-ai-feature-main strong{
  display:block!important;
  color:#fff!important;
  font-size:1.02rem!important;
  margin-bottom:4px!important;
}

.bling-ai-feature-main span{
  display:block!important;
  color:#e9e9e9!important;
}

.bling-ai-mini-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}

.bling-ai-mini-grid>div{
  background:#0f0f0f!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:15px!important;
  padding:12px!important;
  color:#fff!important;
  line-height:1.35!important;
}

.bling-ai-mini-grid strong{color:#ffd966!important;}
.bling-ai-mini-grid span{display:block!important;font-size:.9rem!important;color:#e4e4e4!important;}

.bling-ai-cta-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  justify-content:center!important;
  align-items:center!important;
  margin:14px 0 8px!important;
  max-width:100%!important;
}

.bling-ai-open,
.bling-chat-open-inline,
.bling-ai-cta-row .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:220px!important;
  max-width:100%!important;
  border-radius:999px!important;
  padding:14px 28px!important;
  font-weight:900!important;
  background:#f542b3!important;
  color:#fff!important;
  border:0!important;
  text-transform:uppercase!important;
  letter-spacing:.02em!important;
  line-height:1.15!important;
  text-decoration:none!important;
  box-shadow:0 10px 28px rgba(255,65,180,.28)!important;
}

.bling-ai-open:hover,
.bling-chat-open-inline:hover,
.bling-ai-cta-row .button:hover{filter:brightness(1.08)!important;}

body.bling-ai-modal-open{overflow:hidden!important;}

/* Keep accelerated/express checkout widgets behind the AI preview overlay.
   Some payment plugins create their own very high stacking contexts. */
body.bling-ai-modal-open .wcpay-payment-request-wrapper,
body.bling-ai-modal-open #wcpay-payment-request-wrapper,
body.bling-ai-modal-open .woocommerce-payments-express-checkout-button,
body.bling-ai-modal-open .wc-block-components-express-payment,
body.bling-ai-modal-open .wc-block-components-express-payment-continue-rule,
body.bling-ai-modal-open #wc-stripe-payment-request-wrapper,
body.bling-ai-modal-open .wc-stripe-payment-request-wrapper,
body.bling-ai-modal-open .wc-stripe-payment-request-button-separator,
body.bling-ai-modal-open .ppc-button-wrapper,
body.bling-ai-modal-open .paypal-buttons,
body.bling-ai-modal-open .amazon-payments-pay-button,
body.bling-ai-modal-open .wc-amazon-payments-advanced-populated,
body.bling-ai-modal-open iframe[src*="paypal"],
body.bling-ai-modal-open iframe[src*="amazon"],
body.bling-ai-modal-open iframe[title*="Google Pay"],
body.bling-ai-modal-open iframe[title*="WooPay"]{
  visibility:hidden!important;
  pointer-events:none!important;
}

.bling-ai-modal > .bling-ai-backdrop{z-index:0!important;}
.bling-ai-modal > .bling-ai-card{z-index:1!important;}

.bling-ai-modal[hidden]{display:none!important;}
.bling-ai-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  color:#fff!important;
  isolation:isolate!important;
}

.bling-ai-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(0,0,0,.74)!important;
  backdrop-filter:blur(4px)!important;
}

.bling-ai-card{
  position:relative!important;
  width:min(560px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 34px)!important;
  overflow:auto!important;
  background:linear-gradient(180deg,#121212,#050505)!important;
  color:#fff!important;
  border-radius:24px!important;
  padding:26px!important;
  box-shadow:0 24px 90px rgba(0,0,0,.62)!important;
  border:1px solid rgba(255,215,0,.45)!important;
}

.bling-ai-x{
  position:absolute!important;
  top:12px!important;
  right:14px!important;
  width:38px!important;
  height:38px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  background:#202020!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1!important;
  cursor:pointer!important;
}

.bling-ai-title{font-size:1.45rem!important;font-weight:900!important;margin:0 42px 8px 0!important;color:#ffd966!important;}
.bling-ai-copy{margin:0 0 16px!important;font-size:.98rem!important;color:#fff!important;opacity:1!important;line-height:1.45!important;}

.bling-ai-upload-tile{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:140px!important;
  padding:20px!important;
  border:2px dashed rgba(255,215,0,.58)!important;
  border-radius:20px!important;
  background:#1b1b1b!important;
  cursor:pointer!important;
  text-align:center!important;
  transition:.2s ease!important;
  color:#fff!important;
}

.bling-ai-upload-tile:hover{background:#252525!important;border-color:#ffd966!important;}
.bling-ai-upload-tile input[type=file]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;}
.bling-ai-upload-icon{font-size:34px!important;}
.bling-ai-upload-tile strong{color:#fff!important;font-weight:900!important;}
.bling-ai-file-name{font-size:.86rem!important;color:#d7d7d7!important;opacity:1!important;font-style:normal!important;word-break:break-word!important;max-width:100%!important;}
.bling-ai-upload-tile.has-file{background:#102819!important;border-color:#36d980!important;}

.bling-ai-consent{display:flex!important;gap:10px!important;align-items:flex-start!important;font-size:.92rem!important;margin:14px 0!important;color:#fff!important;}
.bling-ai-consent span{color:#fff!important;}
.bling-ai-consent input{margin-top:3px!important;accent-color:#f542b3!important;}

.bling-ai-run{
  width:100%!important;
  border-radius:999px!important;
  padding:14px 18px!important;
  font-weight:900!important;
  background:#f542b3!important;
  color:#fff!important;
  border:0!important;
  text-transform:uppercase!important;
  letter-spacing:.02em!important;
}
.bling-ai-run:disabled{background:#555!important;color:#ddd!important;}
.bling-ai-run.is-loading{opacity:.75!important;cursor:wait!important;}
.bling-ai-status{font-weight:800!important;margin:14px 0!important;text-align:center!important;color:#ffd966!important;}

.bling-ai-result{
  max-width:100%!important;
  overflow:hidden!important;
}
.bling-ai-result img{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  border-radius:18px!important;
  display:block!important;
  margin:12px auto 0!important;
  box-shadow:0 10px 32px rgba(0,0,0,.35)!important;
}

.bling-ai-notice{font-size:.84rem!important;color:#e8e8e8!important;opacity:1!important;margin:14px 0 0!important;text-align:center!important;}
.bling-ai-debug{font-size:.78rem!important;color:#d7d7d7!important;opacity:1!important;margin-top:8px!important;text-align:center!important;}

.bling-ai-result-actions{margin:14px 0!important;padding:14px!important;border-radius:16px!important;background:#101010!important;border:1px solid rgba(255,215,0,.28)!important;color:#fff!important;text-align:center!important;}
.bling-ai-result-actions strong{display:block!important;margin-bottom:10px!important;color:#ffd966!important;}
.bling-ai-action-row{display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:center!important;}
.bling-ai-action-row .button{border-radius:999px!important;background:#f542b3!important;color:#fff!important;border:0!important;font-weight:900!important;padding:10px 14px!important;text-decoration:none!important;line-height:1.1!important;}
.bling-ai-action-row .bling-ai-save,.bling-ai-action-row .bling-ai-share{background:#222!important;border:1px solid rgba(255,255,255,.15)!important;}

.bling-chat{
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  z-index:2147483000!important;
  font-family:inherit!important;
  color:#fff!important;
  isolation:isolate!important;
}
.bling-chat-toggle{border:1px solid rgba(255,215,0,.55)!important;border-radius:999px!important;padding:14px 18px!important;background:#111!important;color:#fff!important;font-weight:900!important;box-shadow:0 8px 30px rgba(0,0,0,.35)!important;cursor:pointer!important;}
.bling-chat-toggle:hover{background:#222!important;}
.bling-chat-panel{position:absolute!important;right:0!important;bottom:62px!important;width:min(390px,calc(100vw - 36px))!important;background:#0b0b0b!important;color:#fff!important;border-radius:20px!important;box-shadow:0 18px 70px rgba(0,0,0,.55)!important;overflow:hidden!important;border:1px solid rgba(255,215,0,.35)!important;}
.bling-chat-panel[hidden]{display:none!important;}
.bling-chat-head{background:#111!important;color:#ffd966!important;padding:14px 16px!important;font-weight:900!important;display:flex!important;justify-content:space-between!important;align-items:center!important;border-bottom:1px solid rgba(255,215,0,.25)!important;}
.bling-chat-close{background:transparent!important;border:0!important;color:#fff!important;font-size:24px!important;line-height:1!important;cursor:pointer!important;}
.bling-chat-log{height:300px!important;overflow:auto!important;padding:14px!important;background:#050505!important;}
.bling-chat-msg{padding:11px 13px!important;border-radius:15px!important;margin:9px 0!important;line-height:1.4!important;font-size:.95rem!important;color:#fff!important;}
.bling-chat-msg.ai{background:#1c1c1c!important;border:1px solid rgba(255,215,0,.18)!important;color:#fff!important;}
.bling-chat-msg.user{background:#f542b3!important;color:#fff!important;margin-left:42px!important;}
.bling-chat-msg.pending{opacity:.8!important;}
.bling-chat-form{display:flex!important;gap:8px!important;padding:12px!important;border-top:1px solid rgba(255,255,255,.12)!important;background:#0f0f0f!important;}
.bling-chat-input{flex:1!important;resize:none!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:12px!important;padding:10px!important;background:#181818!important;color:#fff!important;}
.bling-chat-input::placeholder{color:#bdbdbd!important;}
.bling-chat-send{border:0!important;border-radius:12px!important;background:#f542b3!important;color:#fff!important;font-weight:900!important;padding:0 16px!important;cursor:pointer!important;}
.bling-chat-welcome strong,.bling-chat-welcome span{color:#ffd966!important;}
.bling-chat-image img{max-width:100%!important;border-radius:12px!important;margin-top:8px!important;}

@media(max-width:640px){
  .bling-ai-mini-grid{grid-template-columns:1fr!important;}
  .bling-ai-tools-intro{text-align:left!important;margin-left:0!important;margin-right:0!important;}
  .bling-ai-action-row{flex-direction:column!important;}
  .bling-ai-action-row .button{width:100%!important;text-align:center!important;}
  .bling-ai-cta-row{flex-direction:column!important;}
  .bling-ai-cta-row .button,.bling-chat-open-inline{width:100%!important;min-width:0!important;}
  .bling-chat{right:10px!important;bottom:10px!important;}
  .bling-chat-panel{width:calc(100vw - 20px)!important;right:0!important;}
  .bling-chat-log{height:260px!important;}
}
@media(max-width:480px){
  .bling-ai-modal{align-items:flex-end!important;padding:0!important;}
  .bling-ai-card{width:100%!important;max-height:92vh!important;border-radius:24px 24px 0 0!important;padding:22px 18px!important;}
}
