/* ANSA Productos Plugin - Styles */
.ansa-prod-search{display:flex;gap:16px;padding:24px;background:#fff;border-radius:var(--ansa-radius);border:1px solid rgba(58,93,174,.08);box-shadow:0 2px 16px rgba(58,93,174,.06);margin-bottom:40px;flex-wrap:wrap;align-items:center}
.ansa-prod-search input{flex:1;min-width:200px;padding:14px 18px;background:#F8FAFB;border:1px solid #6B7FB0;border-radius:var(--ansa-radius-sm);font-size:15px;font-family:var(--ansa-font-body);color:var(--ansa-texto)}
.ansa-prod-search input::placeholder{color:#6B7280}
.ansa-prod-search input:focus{border-color:var(--ansa-azul);box-shadow:0 0 0 4px rgba(58,93,174,.35)}
.ansa-prod-search select{padding:14px 18px;background:#F8FAFB;border:1px solid #6B7FB0;border-radius:var(--ansa-radius-sm);font-size:14px;color:var(--ansa-texto);min-width:180px;cursor:pointer;font-family:var(--ansa-font-body)}
.ansa-prod-search select:focus{border-color:var(--ansa-azul);box-shadow:0 0 0 4px rgba(58,93,174,.35)}

.ansa-prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}

.ansa-prod-card{background:#fff;border-radius:var(--ansa-radius);border:1px solid rgba(58,93,174,.06);overflow:hidden;transition:all .3s;display:flex;flex-direction:column;box-shadow:0 1px 8px rgba(58,93,174,.04)}
.ansa-prod-card:hover{border-color:rgba(80,158,47,.25);box-shadow:0 16px 48px rgba(58,93,174,.1);transform:translateY(-4px)}

.ansa-prod-img{height:100px;background:linear-gradient(135deg,#F0F5FA 0%,#E8EEF5 100%);display:flex;align-items:center;justify-content:center;padding:20px;border-bottom:1px solid rgba(58,93,174,.06)}
.ansa-prod-img img{max-height:50px;max-width:120px;object-fit:contain;opacity:.85;transition:all .3s}
.ansa-prod-card:hover .ansa-prod-img img{opacity:1}

.ansa-prod-body{padding:24px;display:flex;flex-direction:column;flex:1}
.ansa-prod-brand{font-size:11px;color:var(--ansa-azul-texto);font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-family:var(--ansa-font-heading)}
.ansa-prod-card h3{font-size:17px;font-weight:800;margin-bottom:6px;font-family:var(--ansa-font-heading);color:#fff}
.ansa-prod-ingredient{font-size:13px;color:var(--ansa-texto-sec);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ansa-prod-present{font-size:12px;color:var(--ansa-texto-sec);margin-bottom:12px}
.ansa-prod-present i{color:var(--ansa-verde-texto);margin-right:4px}
.ansa-prod-desc{font-size:13px;color:var(--ansa-texto-sec);line-height:1.6;margin-bottom:12px}
.ansa-prod-tag{display:inline-block;background:rgba(255,255,255,.05);color:var(--ansa-texto);padding:4px 12px;border-radius:var(--ansa-radius-pill);font-size:11px;font-weight:600;margin-bottom:6px}
.ansa-prod-actions{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);display:flex;gap:8px;flex-wrap:wrap}

.ansa-prod-featured{border-color:rgba(145,191,32,.2)}
.ansa-prod-featured .ansa-prod-img{position:relative}
.ansa-prod-featured .ansa-prod-img::after{content:'DESTACADO';position:absolute;top:8px;right:8px;background:var(--ansa-azul);color:#fff;font-size:11px;font-weight:800;padding:4px 10px;border-radius:var(--ansa-radius-pill);font-family:var(--ansa-font-heading);letter-spacing:1px}

@media(max-width:768px){
  .ansa-prod-grid{grid-template-columns:1fr}
  .ansa-prod-search{flex-direction:column}
  /* FIX A1 (QA preprod): el select de ingredientes (opciones largas) inflaba su ancho
     intrinseco a ~1250px y rompia el viewport mobile -> acotar SIEMPRE al contenedor */
  .ansa-prod-search input,.ansa-prod-search select{min-width:100%;width:100%;max-width:100%}
}

/* === BLANCO THEME === */
[data-theme="blanco"] .ansa-prod-search { background: #fff; border-color: rgba(58,93,174,.08); box-shadow: 0 2px 16px rgba(58,93,174,.06); }
[data-theme="blanco"] .ansa-prod-search input { background: #F8FAFB; border-color: #6B7FB0; color: #2D3748; }
[data-theme="blanco"] .ansa-prod-search input::placeholder { color: #6B7280; }
[data-theme="blanco"] .ansa-prod-search input:focus { border-color: #3A5DAE; box-shadow: 0 0 0 4px rgba(58,93,174,.35); }
[data-theme="blanco"] .ansa-prod-search select { background: #F8FAFB; border-color: #6B7FB0; color: #2D3748; }
[data-theme="blanco"] .ansa-prod-search select:focus { border-color: #3A5DAE; }

[data-theme="blanco"] .ansa-prod-card { background: #fff; border-color: rgba(58,93,174,.06); box-shadow: 0 1px 8px rgba(58,93,174,.04); }
[data-theme="blanco"] .ansa-prod-card:hover { border-color: rgba(80,158,47,.25); box-shadow: 0 16px 48px rgba(58,93,174,.1); }
[data-theme="blanco"] .ansa-prod-img { background: linear-gradient(135deg, #F0F5FA 0%, #E8EEF5 100%); border-bottom-color: rgba(58,93,174,.06); }
[data-theme="blanco"] .ansa-prod-img img { filter: none; opacity: .9; }
[data-theme="blanco"] .ansa-prod-card:hover .ansa-prod-img img { opacity: 1; }
[data-theme="blanco"] .ansa-prod-card h3 { color: #0B4F8A; }
[data-theme="blanco"] .ansa-prod-brand { color: #3A5DAE; }
[data-theme="blanco"] .ansa-prod-ingredient { color: #4A5568; }
[data-theme="blanco"] .ansa-prod-desc { color: #4A5568; }
[data-theme="blanco"] .ansa-prod-tag { background: rgba(58,93,174,.06); color: #2D3748; }
[data-theme="blanco"] .ansa-prod-actions { border-top-color: rgba(58,93,174,.06); }
[data-theme="blanco"] .ansa-prod-featured { border-color: rgba(80,158,47,.2); }
[data-theme="blanco"] .btn-ansa-meli { background: #FFD600; color: #1A1A00; border-color: #FFD600; font-weight: 800; }
[data-theme="blanco"] .btn-ansa-meli:hover { background: #E6C200; border-color: #E6C200; box-shadow: 0 4px 16px rgba(255,214,0,.3); }

/* === VERDE THEME === */
[data-theme="verde"] .ansa-prod-featured { border-color: rgba(168,216,48,.25); }
[data-theme="verde"] .ansa-prod-card:hover { border-color: rgba(168,216,48,.3); }

/* === BOTON DETALLES + MODAL DE FICHA DE PRODUCTO (v1.2) === */
.btn-ansa-detalles{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;font-size:12px;font-weight:700;font-family:inherit;border-radius:50px;cursor:pointer;background:transparent;color:#3A5DAE;border:2px solid #3A5DAE;transition:background .2s,color .2s,box-shadow .2s}
.btn-ansa-detalles:hover{background:#3A5DAE;color:#fff;box-shadow:0 4px 16px rgba(58,93,174,.25)}
.btn-ansa-detalles:focus-visible{outline:3px solid #0B4F8A;outline-offset:2px}

.ansa-prod-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.ansa-prod-modal[hidden]{display:none}
.ansa-prod-modal-backdrop{position:absolute;inset:0;background:rgba(7,30,55,.62);backdrop-filter:blur(3px)}
.ansa-prod-modal-dialog{position:relative;z-index:1;width:min(560px,100%);max-height:min(86vh,720px);overflow-y:auto;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(7,30,55,.35);animation:ansaModalIn .22s ease-out}
@keyframes ansaModalIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ansa-prod-modal-dialog{animation:none}}

.ansa-prod-modal-close{position:absolute;top:14px;right:14px;z-index:2;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;background:rgba(255,255,255,.92);color:#0B4F8A;font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(7,30,55,.18);transition:background .2s,color .2s}
.ansa-prod-modal-close:hover{background:#0B4F8A;color:#fff}
.ansa-prod-modal-close:focus-visible{outline:3px solid #0B4F8A;outline-offset:2px}

.ansa-prod-modal-media{position:relative;display:flex;align-items:center;justify-content:center;min-height:150px;padding:28px;background:linear-gradient(135deg,#F0F5FA 0%,#E8EEF5 100%);border-bottom:1px solid rgba(58,93,174,.08);overflow:hidden}
.ansa-prod-modal-media::before{content:"";position:absolute;inset:-40%;background:repeating-radial-gradient(circle at 78% 30%,rgba(58,93,174,.07) 0 1.5px,transparent 1.5px 26px);pointer-events:none}
.ansa-prod-modal-media img,.ansa-prod-modal-media i{position:relative;z-index:1}
.ansa-prod-modal-media img{max-width:200px;max-height:96px;object-fit:contain}
.ansa-prod-modal-media i{font-size:40px;color:var(--ansa-verde,#509E2F);opacity:.3}

.ansa-prod-modal-body{padding:26px 28px 30px}
.ansa-prod-modal-body .ansa-prod-brand{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#3A5DAE;margin-bottom:6px}
.ansa-prod-modal-body h3{margin:0 0 10px;font-size:24px;line-height:1.2;color:#0B4F8A}
.ansa-prod-modal-body .ansa-prod-tag{display:inline-block;margin-bottom:14px;padding:4px 12px;border-radius:50px;font-size:11px;font-weight:700;background:rgba(58,93,174,.07);color:#2D3748}

/* secciones de la ficha */
.ansa-prod-modal-head{margin-bottom:18px}
.apm-sec{margin:0 0 18px}
.apm-sec h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#3A5DAE}
.apm-sec h4 i{color:#3E7D24;font-size:13px}
.apm-sec > p{margin:0;font-size:14.5px;line-height:1.6;color:#2D3748}
.apm-text{margin:0;padding:12px 16px;border-radius:12px;background:#F8FAFB;border:1px solid rgba(58,93,174,.08);font-size:14px;line-height:1.6;color:#2D3748}

/* tabla de composicion */
.apm-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid rgba(58,93,174,.12);border-radius:14px;overflow:hidden;font-size:14px}
.apm-table thead th{padding:9px 16px;text-align:left;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(100deg,#3A5DAE 0%,#2C4A8F 100%)}
.apm-table thead th:last-child{text-align:right}
.apm-table tbody th{padding:11px 16px;text-align:left;font-weight:600;color:#2D3748;line-height:1.45}
.apm-table tbody th small{display:block;margin-top:2px;font-size:12px;font-weight:400;color:#4A5568}
.apm-table tbody td{padding:11px 16px;text-align:right;vertical-align:middle;white-space:nowrap}
.apm-table tbody tr:nth-child(even){background:#F4F8FC}
.apm-table tbody tr:not(:last-child) th,.apm-table tbody tr:not(:last-child) td{border-bottom:1px solid rgba(58,93,174,.07)}
.apm-pct{display:inline-block;padding:3px 12px;border-radius:30px;font-weight:800;font-size:13px;color:#1E5212;background:rgba(80,158,47,.14)}
.apm-pct-na{color:#4A5568;background:rgba(58,93,174,.08);font-weight:600}

/* chips (mezclas simples y presentaciones) */
.apm-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.apm-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:30px;background:#F0F5FA;border:1px solid rgba(58,93,174,.16);font-size:13.5px;font-weight:600;color:#2D3748;line-height:1.3}
.apm-chip i{color:#3E7D24;font-size:12px}
.apm-chip small{font-weight:400;color:#4A5568}

/* animacion escalonada al abrir */
.ansa-prod-modal:not([hidden]) .apm-sec,.ansa-prod-modal:not([hidden]) .ansa-prod-modal-head,.ansa-prod-modal:not([hidden]) .ansa-prod-modal-nota:not([hidden]),.ansa-prod-modal:not([hidden]) .ansa-prod-actions{animation:apmRise .35s ease-out backwards}
.ansa-prod-modal:not([hidden]) .apm-sec:nth-of-type(1){animation-delay:.05s}
.ansa-prod-modal:not([hidden]) .apm-sec:nth-of-type(2){animation-delay:.1s}
.ansa-prod-modal:not([hidden]) .apm-sec:nth-of-type(3){animation-delay:.15s}
.ansa-prod-modal:not([hidden]) .ansa-prod-modal-nota{animation-delay:.2s}
.ansa-prod-modal:not([hidden]) .ansa-prod-actions{animation-delay:.25s}
@keyframes apmRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ansa-prod-modal:not([hidden]) .apm-sec,.ansa-prod-modal:not([hidden]) .ansa-prod-modal-head,.ansa-prod-modal:not([hidden]) .ansa-prod-modal-nota,.ansa-prod-modal:not([hidden]) .ansa-prod-actions{animation:none}}

.ansa-prod-modal-nota{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px 16px;border-radius:12px;background:#F0F5FA;border-left:3px solid #3A5DAE;font-size:13px;line-height:1.5;color:#4A5568}
.ansa-prod-modal-nota i{color:#3A5DAE;margin-top:2px}

.btn-ansa-ficha{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;font-size:12.5px;font-weight:800;border-radius:50px;text-decoration:none;background:#2E7D1E;color:#fff;border:2px solid #2E7D1E;transition:background .2s,box-shadow .2s}
.btn-ansa-ficha:hover{background:#256618;border-color:#256618;color:#fff;box-shadow:0 4px 16px rgba(46,125,30,.3)}
.btn-ansa-ficha:focus-visible{outline:3px solid #0B4F8A;outline-offset:2px}

.ansa-prod-modal .ansa-prod-actions{border-top:1px solid rgba(58,93,174,.08);padding-top:18px;margin-top:4px;display:flex;gap:8px;flex-wrap:wrap}

@media (max-width:480px){
  .ansa-prod-modal{padding:0}
  .ansa-prod-modal-dialog{width:100%;max-height:100dvh;border-radius:0}
}

/* hidden debe ganar a los display de los botones dentro del modal */
.ansa-prod-modal [hidden]{display:none!important}
