/* ============================================
   ASISTENTE DE COMPRA INTELIGENTE v2.3
   Mobile-First Premium
   ============================================ */

:root {
    --aci-p: #00AFD0;
    --aci-ph: #0099b5;
    --aci-pl: rgba(0,175,208,0.08);
    --aci-pg: linear-gradient(135deg,#00AFD0 0%,#3CC5E0 100%);
    --aci-bg: #f5f7fa;
    --aci-sf: #ffffff;
    --aci-hs: #0f1923;
    --aci-he: #1a2a3a;
    --aci-tx: #1a1a2e;
    --aci-ts: #6b7280;
    --aci-tm: #9CA3AF;
    --aci-ub: #00AFD0;
    --aci-ut: #ffffff;
    --ci-ab: #ffffff;
    --ci-at: #1a1a2e;
    --aci-bd: #e5e7eb;
    --aci-bl: #f3f4f6;
    --aci-s1: 0 1px 3px rgba(0,0,0,0.06);
    --aci-s2: 0 4px 16px rgba(0,0,0,0.08);
    --aci-s3: 0 12px 48px rgba(0,0,0,0.12);
    --aci-s4: 0 20px 60px rgba(0,0,0,0.15);
    --aci-cw: 420px;
    --aci-ch: 640px;
    --aci-ring: 0 0 0 3px rgba(0,175,208,0.18);
    --aci-r1: 6px;
    --aci-r2: 10px;
    --aci-r3: 14px;
    --aci-r4: 20px;
    --aci-r5: 999px;
    --aci-tf: 0.15s ease;
    --aci-tb: 0.25s ease;
    --aci-ts: 0.35s cubic-bezier(0.4,0,0.2,1);
}

/* ============================================
   WIDGET
   ============================================ */
.aci-chatbot-widget {
    position:fixed; z-index:999999;
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    line-height:1.5;
}
.aci-chatbot-widget.aci-position-bottom-right { bottom:24px; right:24px; }
.aci-chatbot-widget.aci-position-bottom-left  { bottom:24px; left:24px; }

/* ============================================
   TOGGLE
   ============================================ */
.aci-chatbot-toggle {
    height:54px; padding:0 24px; border-radius:var(--aci-r5);
    background:var(--aci-pg); border:none; cursor:pointer;
    display:inline-flex; align-items:center; gap:10px;
    box-shadow:0 4px 14px rgba(0,175,208,0.3);
    position:relative; z-index:2; color:white;
    font-family:inherit; line-height:1;
    transition:transform var(--aci-ts),box-shadow var(--aci-tb);
}
.aci-chatbot-toggle:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,175,208,0.4); }
.aci-chatbot-toggle:active { transform:translateY(0) scale(0.97); }
.aci-toggle-text { color:white; font-size:14px; font-weight:600; white-space:nowrap; }
.aci-toggle-icon { font-size:18px; width:20px; height:20px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; }

/* ============================================
   WINDOW
   ============================================ */
.aci-chatbot-window {
    width:var(--aci-cw); height:var(--aci-ch);
    background:var(--aci-sf); border-radius:var(--aci-r4);
    box-shadow:var(--aci-s4); display:none; flex-direction:column;
    overflow:hidden; position:relative;
    animation:aci-win-in var(--aci-ts) forwards;
}
.aci-chatbot-window {
    border: 1px solid rgba(15, 23, 42, 0.08);
}
.aci-chatbot-widget.aci-open .aci-chatbot-window { display:flex; }
@keyframes aci-win-in {
    from { opacity:0; transform:scale(0.92) translateY(16px); }
    to { opacity:1; transform:scale(1) translateY(0); }
}

/* ============================================
   HEADER
   ============================================ */
.aci-chatbot-header {
    padding:16px 18px 14px;
    background:linear-gradient(135deg,var(--aci-hs) 0%,var(--aci-he) 100%);
    flex-shrink:0; display:flex; align-items:center; gap:8px;
    position:relative;
}
.aci-chatbot-header::after {
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:var(--aci-pg);
}
.aci-header-info { display:flex; align-items:center; gap:10px; flex:1; min-width:0; }
.aci-avatar-ai {
    width:38px; height:38px; border-radius:50%;
    background:var(--aci-pg); display:flex; align-items:center;
    justify-content:center; font-size:13px; font-weight:700; color:white;
    flex-shrink:0;
}
.aci-header-text { display:flex; flex-direction:column; gap:1px; flex:1; min-width:0; }
.aci-header-title { font-size:13px; font-weight:700; color:white; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.aci-header-status { display:flex; align-items:center; gap:5px; font-size:11px; color:rgba(255,255,255,0.6); }
.aci-status-dot { width:6px; height:6px; border-radius:50%; background:#10B981; flex-shrink:0; }
.aci-header-actions { display:flex; gap:4px; flex-shrink:0; }
.aci-btn-header {
    width:30px; height:30px; border-radius:50%; border:none;
    background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.7);
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    font-size:13px; font-family:inherit; line-height:1;
    transition:background var(--aci-tf),color var(--aci-tf);
}
.aci-btn-header:hover { background:rgba(255,255,255,0.18); color:white; }

/* ============================================
   USER FORM
   ============================================ */
.aci-user-form-container {
    flex:1; display:flex; align-items:center; justify-content:center;
    padding:32px 24px; background:var(--aci-bg);
}
.aci-user-form-inner { width:100%; max-width:360px; text-align:center; }
.aci-user-form-title { font-size:19px; font-weight:700; color:var(--aci-tx); margin:0 0 4px; }
.aci-user-form-desc { font-size:12px; color:var(--aci-ts); margin:0 0 20px; line-height:1.5; }
.aci-user-form { text-align:left; }
.aci-form-group { margin-bottom:10px; }
.aci-form-input,.aci-form-textarea {
    width:100%; padding:11px 14px; border:1.5px solid var(--aci-bd);
    border-radius:var(--aci-r2); font-size:14px; font-family:inherit;
    color:var(--aci-tx); background:var(--aci-sf); outline:none; box-sizing:border-box;
    transition:border-color var(--aci-tf);
}
.aci-form-input:focus,.aci-form-textarea:focus { border-color:var(--aci-p); box-shadow:0 0 0 3px var(--aci-pl); }
.aci-form-input:focus-visible,.aci-form-textarea:focus-visible { outline:none; box-shadow: var(--aci-ring); }
.aci-form-input::placeholder,.aci-form-textarea::placeholder { color:var(--aci-tm); }
.aci-form-textarea { resize:none; }
.aci-form-submit {
    width:100%; padding:12px 20px; background:var(--aci-pg); color:white;
    border:none; border-radius:var(--aci-r2); font-size:14px; font-weight:600;
    cursor:pointer; font-family:inherit; line-height:1;
    transition:opacity var(--aci-tf);
}
.aci-form-submit:active { opacity:0.85; }

/* ============================================
   MESSAGES
   ============================================ */
.aci-chat-body { flex:1; display:flex; flex-direction:column; overflow:hidden; }
.aci-chatbot-messages {
    flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch;
    padding:14px 14px 10px; display:flex; flex-direction:column; gap:10px;
    background:var(--aci-bg);
}
.aci-chatbot-messages::-webkit-scrollbar { width:3px; }
.aci-chatbot-messages::-webkit-scrollbar-thumb { background:#d1d5db; border-radius:2px; }

.aci-message { display:flex; flex-direction:column; max-width:88%; animation:aci-msg-in 0.25s ease-out forwards; }
@keyframes aci-msg-in { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
.aci-message-user { align-self:flex-end; }
.aci-message-ai { align-self:flex-start; }
.aci-msg-content {
    padding:10px 14px; border-radius:var(--aci-r3);
    font-size:13px; line-height:1.5; word-wrap:break-word;
}
.aci-msg-content {
    border: 1px solid rgba(15,23,42,0.06);
}
.aci-message-user .aci-msg-content { background:var(--aci-ub); color:var(--aci-ut); border-bottom-right-radius:var(--aci-r1); }
.aci-message-ai .aci-msg-content { background:var(--aci-sf); color:var(--aci-tx); border-bottom-left-radius:var(--aci-r1); box-shadow:var(--aci-s1); }
.aci-msg-content p { margin:0; }
.aci-msg-content p+p { margin-top:6px; }
.aci-msg-list{
    margin: 8px 0 0;
    padding-left: 18px;
}
.aci-msg-list li{
    margin: 3px 0;
    font-size: 13px;
    line-height: 1.45;
}
.aci-msg-list li::marker{
    color: var(--aci-p);
}
.aci-msg-time { font-size:9px; color:var(--aci-tm); margin-top:3px; padding:0 4px; }
.aci-message-user .aci-msg-time { align-self:flex-end; text-align:right; }

.aci-typing { display:flex; align-items:center; gap:4px; padding:6px 0; }
.aci-typing-dot { width:7px; height:7px; background:#d1d5db; border-radius:50%; animation:aci-typing 1.4s infinite ease-in-out both; }
.aci-typing-dot:nth-child(1){animation-delay:-0.32s}
.aci-typing-dot:nth-child(2){animation-delay:-0.16s}
.aci-typing-dot:nth-child(3){animation-delay:0s}
@keyframes aci-typing { 0%,80%,100%{transform:scale(0.6);opacity:0.4} 40%{transform:scale(1);opacity:1} }

/* ============================================
   PRODUCT CARD (Individual)
   ============================================ */
.aci-product-card {
    background:var(--aci-sf); border:1px solid var(--aci-bd);
    border-radius:var(--aci-r3); padding:12px; margin-top:8px;
    display:flex; flex-wrap:wrap; gap:10px;
}
.aci-product-card .aci-product-img {
    width:68px; height:68px; border-radius:var(--aci-r2);
    overflow:hidden; background:var(--aci-bl); flex-shrink:0;
}
.aci-product-card .aci-product-img img { width:100%; height:100%; object-fit:cover; display:block; }
.aci-product-card .aci-product-info { flex:1; min-width:140px; }
.aci-product-card .aci-product-name { font-size:12px; font-weight:700; color:var(--aci-tx); margin:0 0 1px; line-height:1.3; }
.aci-product-card .aci-product-category { font-size:9px; color:var(--aci-tm); display:block; margin-bottom:1px; }
.aci-product-card .aci-product-price { font-size:14px; font-weight:700; color:var(--aci-p); margin:3px 0 0; }
.aci-product-card .aci-product-price .amount,.aci-product-card .aci-product-price .woocommerce-Price-amount { color:var(--aci-p); }
.aci-product-card .aci-product-desc { font-size:10px; color:var(--aci-ts); margin:4px 0 0; line-height:1.4; }
.aci-product-card .aci-product-actions { width:100%; display:flex; gap:6px; }
.aci-product-card .aci-btn {
    flex:1; padding:9px 10px; border:none; border-radius:var(--aci-r1);
    font-size:11px; font-weight:600; cursor:pointer;
    font-family:inherit; text-align:center; text-decoration:none;
    line-height:1; transition:opacity var(--aci-tf);
}
.aci-product-card .aci-btn-primary { background:var(--aci-p); color:white; }
.aci-product-card .aci-btn-primary:active { opacity:0.8; }
.aci-product-card .aci-btn-secondary { background:var(--aci-bl); color:var(--aci-ts); }
.aci-product-card .aci-btn-secondary:active { opacity:0.7; }

/* ============================================
   PRODUCT CARDS (Carrusel)
   ============================================ */
.aci-prod-cards-wrapper { margin-top:8px; }
.aci-prod-cards {
    display:flex;
    gap:10px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding:6px 2px 10px;
    -webkit-overflow-scrolling: touch;
}
.aci-prod-cards::-webkit-scrollbar { display:none; }
.aci-prod-card-h {
    flex:0 0 auto;
    width:168px;
    background:var(--aci-sf);
    border:1px solid rgba(15, 23, 42, 0.10);
    border-radius:16px;
    overflow:hidden;
    scroll-snap-align:start;
    display:flex;
    flex-direction:column;
    box-shadow:0 6px 18px rgba(15,23,42,0.06);
    transition:transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.aci-prod-card-h:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(15,23,42,0.10);
    border-color: rgba(0,175,208,0.35);
}
.aci-prod-card-img { width:100%; height:110px; background:var(--aci-bl); overflow:hidden; }
.aci-prod-card-img img { width:100%; height:100%; object-fit:cover; display:block; }
.aci-prod-badge{
    position:absolute;
    top:10px;
    left:10px;
    padding:4px 8px;
    border-radius:999px;
    background:rgba(15,23,42,0.78);
    color:#fff;
    font-size:10px;
    font-weight:700;
    letter-spacing:0.2px;
    backdrop-filter: blur(6px);
}
.aci-prod-badge-var{ background: rgba(0,175,208,0.85); }
.aci-prod-card-img{ position:relative; }
.aci-prod-card-body { padding:10px 12px 12px; flex:1; display:flex; flex-direction:column; gap:6px; }
.aci-prod-card-name { font-size:12px !important; font-weight:700; color:var(--aci-tx); margin:0 !important; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.6em; }
.aci-prod-card-price { font-size:13px; font-weight:800; color:var(--aci-p); margin:auto 0 0; }
.aci-prod-card-price .amount,.aci-prod-card-price .woocommerce-Price-amount { color:var(--aci-p); }
.aci-prod-card-btn {
    width:100%;
    padding:9px 10px;
    border:none;
    border-radius:12px;
    background:var(--aci-p);
    color:white;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
    font-family:inherit;
    line-height:1;
    transition: transform 0.12s ease, opacity var(--aci-tf);
}
.aci-prod-card-btn:hover { opacity:0.95; }
.aci-prod-card-btn:active { opacity:0.85; transform: scale(0.98); }
.aci-prod-card-btn:focus-visible { outline:none; box-shadow: var(--aci-ring); }
.aci-prod-placeholder { font-size:22px; display:flex; align-items:center; justify-content:center; width:100%; min-height:40px; color:#d1d5db; }

/* Flechas del carrusel */
.aci-prod-cards-wrapper { position: relative; }
.aci-carousel-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    border-radius:999px;
    border:1px solid rgba(15,23,42,0.12);
    background:rgba(255,255,255,0.92);
    box-shadow:0 8px 24px rgba(15,23,42,0.12);
    color:var(--aci-tx);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:3;
    transition:transform 0.12s ease, opacity 0.12s ease;
}
.aci-carousel-btn:hover{ transform:translateY(-50%) scale(1.03); }
.aci-carousel-btn:active{ transform:translateY(-50%) scale(0.97); opacity:0.9; }
.aci-carousel-btn:focus-visible{ outline:none; box-shadow: var(--aci-ring); }
.aci-carousel-btn[disabled]{ opacity:0; pointer-events:none; }
.aci-carousel-prev{ left:6px; }
.aci-carousel-next{ right:6px; }

/* Degradado lateral para sugerir scroll */
.aci-prod-cards-wrapper::before,
.aci-prod-cards-wrapper::after{
    content:'';
    position:absolute;
    top:0;
    bottom:0;
    width:26px;
    pointer-events:none;
    z-index:2;
    opacity:0;
    transition:opacity 0.15s ease;
}
.aci-prod-cards-wrapper::before{
    left:0;
    background:linear-gradient(90deg, rgba(245,247,250,1) 0%, rgba(245,247,250,0) 100%);
}
.aci-prod-cards-wrapper::after{
    right:0;
    background:linear-gradient(270deg, rgba(245,247,250,1) 0%, rgba(245,247,250,0) 100%);
}
.aci-prod-cards-wrapper.aci-can-scroll-left::before{ opacity:1; }
.aci-prod-cards-wrapper.aci-can-scroll-right::after{ opacity:1; }

/* ============================================
   VARIATION SELECTOR
   ============================================ */
.aci-variation-inline {
    background:var(--aci-sf); border:1px solid var(--aci-bd);
    border-radius:var(--aci-r3); padding:12px; margin-top:8px;
}
.aci-variation-inline.aci-variation-loading { min-height:40px; display:flex; align-items:center; justify-content:center; }
.aci-variation-confirmed { text-align:center; padding:8px; color:#10B981; font-weight:600; font-size:12px; }
.aci-variation-check { display:inline-flex; width:18px; height:18px; background:#10B981; color:white; border-radius:50%; align-items:center; justify-content:center; font-size:10px; margin-right:5px; vertical-align:middle; }
.aci-variation-layout { display:flex; gap:10px; }
.aci-variation-img { width:68px; height:68px; border-radius:var(--aci-r2); overflow:hidden; background:var(--aci-bl); flex-shrink:0; }
.aci-variation-img img { width:100%; height:100%; object-fit:cover; display:block; }
.aci-variation-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.aci-variation-name { font-size:12px; font-weight:700; color:var(--aci-tx); margin:0; line-height:1.3; }
.aci-variation-price { font-size:13px; font-weight:700; color:var(--aci-p); margin:0; }
.aci-variation-price .amount,.aci-variation-price .woocommerce-Price-amount { color:var(--aci-p); }
.aci-attr-group { display:flex; align-items:center; flex-wrap:wrap; gap:3px; }
.aci-attr-label { font-size:8px; font-weight:700; text-transform:uppercase; color:var(--aci-tm); margin-right:1px; }
.aci-attr-options { display:flex; flex-wrap:wrap; gap:3px; }
.aci-attr-opt {
    padding:2px 8px; border:1.5px solid var(--aci-bd); border-radius:var(--aci-r1);
    background:var(--aci-sf); cursor:pointer; font-size:9px; font-weight:600;
    color:var(--aci-tx); font-family:inherit; line-height:1.4;
    transition:all var(--aci-tf);
}
.aci-attr-opt:hover { border-color:var(--aci-p); }
.aci-attr-opt.selected { border-color:var(--aci-p); background:var(--aci-p); color:white; }
.aci-variation-actions { display:flex; align-items:center; gap:6px; margin-top:6px; }
.aci-qty { display:flex; align-items:center; border:1.5px solid var(--aci-bd); border-radius:var(--aci-r1); overflow:hidden; }
.aci-qty-btn { width:28px; height:28px; border:none; background:var(--aci-bl); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:var(--aci-tx); font-family:inherit; line-height:1; }
.aci-qty-btn:active { background:#e5e7eb; }
.aci-qty-input { width:28px; height:28px; border:none; border-left:1.5px solid var(--aci-bd); border-right:1.5px solid var(--aci-bd); text-align:center; font-size:11px; font-weight:700; color:var(--aci-tx); background:var(--aci-sf); -moz-appearance:textfield; }
.aci-qty-input::-webkit-inner-spin-button,.aci-qty-input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.aci-add-variation {
    flex:1; padding:7px 12px; border:none; border-radius:var(--aci-r1);
    font-size:11px; font-weight:600; cursor:pointer;
    background:var(--aci-p); color:white; font-family:inherit; line-height:1;
    white-space:nowrap; transition:opacity var(--aci-tf);
}
.aci-add-variation:disabled { background:#e5e7eb; color:#9CA3AF; cursor:default; }
.aci-add-variation:active:not(:disabled) { opacity:0.8; }

/* ============================================
   INPUT
   ============================================ */
.aci-chatbot-input-area {
    padding:10px 14px 12px; background:var(--aci-sf);
    border-top:1px solid var(--aci-bd); flex-shrink:0;
}
.aci-input-wrapper {
    display:flex; align-items:center; gap:6px;
    background:var(--aci-sf);
    border:2px solid rgba(0,175,208,0.55);
    border-radius:var(--aci-r5); padding:3px;
    transition:border-color var(--aci-tf);
    overflow:hidden;
}
.aci-input-wrapper:focus-within {
    border-color: var(--aci-p);
    box-shadow: var(--aci-ring);
}
.aci-chat-input {
    flex:1; border:none; background:transparent; padding:9px 12px;
    font-size:14px; color:var(--aci-tx); outline:none; font-family:inherit;
    border-radius: var(--aci-r5) !important;
}
.aci-chat-input::-ms-clear { display:none; }
.aci-chat-input::placeholder { color: var(--aci-tm); }
.aci-chat-input::placeholder { color:var(--aci-tm); }
.aci-btn-send {
    width:34px; height:34px; border-radius:var(--aci-r5); border:none;
    background:var(--aci-pg); color:white; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0; font-size:14px; line-height:1; font-family:inherit;
    transition:opacity var(--aci-tf);
}
.aci-btn-send:active { opacity:0.8; }

/* ============================================
   TOAST
   ============================================ */
.aci-toast {
    position:fixed; bottom:90px; left:50%; transform:translateX(-50%);
    padding:10px 18px; border-radius:var(--aci-r2); font-size:12px;
    font-weight:600; color:white; z-index:1000000;
    box-shadow:0 8px 24px rgba(0,0,0,0.15); pointer-events:none;
    animation:aci-toast-in 0.25s ease-out forwards;
}
.aci-toast-success { background:#10B981; }
.aci-toast-error { background:#EF4444; }
@keyframes aci-toast-in { from{opacity:0;transform:translateX(-50%) translateY(10px)} to{opacity:1;transform:translateX(-50%) translateY(0)} }

/* ============================================
   MOBILE ≤ 600px
   ============================================ */
@media (max-width:600px) {
    .aci-chatbot-widget.aci-position-bottom-right,
    .aci-chatbot-widget.aci-position-bottom-left {
        bottom:0; right:0; left:0; width:100%; display:flex; justify-content:center;
    }
    .aci-chatbot-window {
        width:100vw; height:100dvh; max-height:100dvh;
        bottom:0; right:0; left:0; border-radius:var(--aci-r4) var(--aci-r4) 0 0;
        border:none; box-shadow:0 -4px 20px rgba(0,0,0,0.1);
        animation:aci-win-mob-in var(--aci-ts) forwards;
    }
    @keyframes aci-win-mob-in { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }

    .aci-chatbot-toggle {
        position:fixed; bottom:16px; left:50%; transform:translateX(-50%);
        height:48px; padding:0 18px; box-shadow:0 4px 16px rgba(0,0,0,0.2);
    }
    .aci-chatbot-toggle:active { transform:translateX(-50%) scale(0.97); }

    .aci-chatbot-header { padding:12px 14px 12px; gap:6px; }
    .aci-avatar-ai { width:32px; height:32px; font-size:11px; }
    .aci-header-title { font-size:13px; }
    .aci-header-status { font-size:10px; gap:4px; }
    .aci-status-dot { width:5px; height:5px; }
    .aci-btn-header { width:28px; height:28px; font-size:12px; }

    .aci-user-form-container { padding:28px 20px; }
    .aci-user-form-title { font-size:17px; }
    .aci-user-form-desc { font-size:12px; margin-bottom:16px; }

    .aci-chatbot-messages { padding:10px 10px 8px; gap:8px; }
    .aci-message { max-width:92%; }
    .aci-msg-content { padding:9px 12px; font-size:12.5px; }

    .aci-product-card { padding:10px; gap:8px; }
    .aci-product-card .aci-product-img { width:60px; height:60px; }
    .aci-product-card .aci-product-name { font-size:11px; }
    .aci-product-card .aci-product-price { font-size:13px; }
    .aci-product-card .aci-product-actions { gap:5px; }
    .aci-product-card .aci-btn { padding:8px 8px; font-size:10px; }

    .aci-prod-card-h { width:130px; }
    .aci-prod-card-img { height:85px; }
    .aci-prod-card-name { font-size:10px; min-height:2.2em; }
    .aci-prod-card-price { font-size:12px; }
    .aci-prod-card-btn { font-size:9px; padding:5px; }

    .aci-variation-inline { padding:10px; }
    .aci-variation-layout { gap:8px; }
    .aci-variation-img { width:60px; height:60px; }
    .aci-variation-name { font-size:11px; }
    .aci-variation-price { font-size:12px; }
    .aci-attr-opt { padding:2px 7px; font-size:9px; }
    .aci-variation-actions { flex-wrap:wrap; gap:5px; }
    .aci-add-variation { font-size:10px; padding:6px 10px; }

    .aci-chatbot-input-area { padding:8px 10px 10px; }
    .aci-chat-input { font-size:15px; padding:8px 10px; }
    .aci-btn-send { width:32px; height:32px; font-size:13px; }

    .aci-toast { bottom:80px; font-size:11px; padding:8px 14px; }
}

/* ============================================
   SMALL ≤ 380px
   ============================================ */
@media (max-width:380px) {
    .aci-chatbot-toggle { height:44px; padding:0 14px; }
    .aci-toggle-text { font-size:12px; }
    .aci-prod-card-h { width:115px; }
    .aci-prod-card-img { height:75px; }
    .aci-product-card .aci-product-actions { flex-direction:column; }
}
