/* MAP: §1 card and buttons; §2 dialog + instant sheet; §3 messages/typing/form; §4 mobile. */
/* §1 Culorile respectă tema light, accentele maro și verdele sticlei (#267f49). */
.pdp__media-col{display:flex;flex-direction:column;gap:18px;position:sticky;top:100px}
.pdp__media-col .pdp__media{position:relative;top:0}
@media(max-width:900px){.pdp__media-col{position:static;gap:16px}}
.sereni-chat-card{padding:20px;margin:0;border:1.5px solid #c8b69e;border-radius:16px;background:linear-gradient(155deg,#fcf8f1 0%,#f1e7d6 100%);color:#221c17;box-shadow:0 6px 20px rgba(48,34,18,.07)}
.sereni-chat-card--card{padding:14px 16px;margin:6px 0 14px;border-radius:14px}
.sereni-chat-card__header{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.sereni-chat-card--card .sereni-chat-card__header{gap:10px;margin:0 0 10px}
.sereni-chat-card__icon{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#8a5a1f;color:#fffaf2;box-shadow:0 4px 10px rgba(138,90,31,.25)}
.sereni-chat-card--card .sereni-chat-card__icon{width:34px;height:34px;border-radius:10px}
.sereni-chat-card__title-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0}
.sereni-chat-card__title{font-family:var(--font-body,inherit);font-size:1.05rem;font-weight:700;line-height:1.28;color:#221c17}
.sereni-chat-card--card .sereni-chat-card__title{font-size:.96rem}
.sereni-chat-card__badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;background:#8a5a1f;color:#fffaf2;font-size:.74rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.sereni-chat-suggestions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0 0 14px}
.sereni-chat-card--card .sereni-chat-suggestions{gap:6px;margin:0 0 12px}
.sereni-chat-suggestions button{background:#fffdf9;color:#382e25;border:1.5px solid #bfa98c;border-radius:999px;padding:8px 15px;font:500 .93rem/1.3 var(--font-body,inherit);text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .15s;max-width:100%}
.sereni-chat-card--card .sereni-chat-suggestions button{padding:6px 12px;font-size:.86rem}
.sereni-chat-suggestions button:hover{background:#f7efe2;border-color:#8a5a1f;color:#221c17;transform:translateY(-1px)}
.sereni-chat-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#267f49;color:#fffdf8;border:1.5px solid #1c6539;border-radius:999px;padding:11px 20px;font:700 .96rem/1.2 var(--font-body,inherit);cursor:pointer;box-shadow:0 6px 16px rgba(38,127,73,.25);transition:background .15s,transform .15s}
.sereni-chat-card--card .sereni-chat-primary{padding:9px 16px;font-size:.9rem}
.sereni-chat-primary:hover{background:#1e683c;transform:translateY(-1px)}
.sereni-chat-primary:disabled{opacity:.65;cursor:wait;transform:none}
.pdp__ask-btn{background:none;border:0;padding:0;font:inherit;font-weight:700;color:#267f49;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pdp__ask-btn:hover{color:#1e683c}
/* §2 Dialogul și fișa produsului încărcată instant. */
.sereni-chat-dialog{width:min(450px,calc(100vw - 32px));max-height:calc(100dvh - 32px);height:690px;padding:0;border:1.5px solid #a59178;border-radius:20px;background:#fbf7ef;color:#382e25;box-shadow:0 16px 64px rgba(48,34,18,.32);overflow:hidden}
.sereni-chat-dialog[open]{display:flex;flex-direction:column}.sereni-chat-dialog::backdrop{background:rgba(48,41,31,.42)}
.sereni-chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#eee6d9;border-bottom:1px solid #b5a58f;flex:none}
.sereni-chat-header h2{margin:0;font-size:21px}.sereni-chat-header p{margin:2px 0 0;font-size:13px;color:#5c4d3d;transition:color .15s}
.sereni-chat-header p.is-typing{color:#1e683c;font-weight:700}
.sereni-chat-close{font:inherit;font-size:30px;line-height:1;border:0;background:transparent;color:#382e25;cursor:pointer;min-width:44px;min-height:44px;border-radius:8px}
.sereni-chat-context{padding:8px 20px;margin:0;font-size:13.5px;font-weight:700;border-bottom:1px solid #c5b7a3;background:#f4eee5;color:#382e25;flex:none}
.sereni-chat-sheet{padding:8px 16px;background:#f7f1e6;border-bottom:1px solid #cbbba4;flex:none;font-size:13px;line-height:1.4}
.sereni-sheet-details summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-weight:700;color:#382e25;list-style:none}
.sereni-sheet-details summary::-webkit-details-marker{display:none}
.sereni-sheet-details summary::after{content:"▾";margin-left:auto;font-size:14px;color:#8a5a1f}
.sereni-sheet-details[open] summary::after{content:"▴"}
.sereni-sheet-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#267f49;color:#fffdf8;font-size:11.5px;font-weight:700}
.sereni-sheet-title{font-size:13px;font-weight:700;color:#221c17}
.sereni-sheet-body{margin-top:8px;padding-top:8px;border-top:1px dashed #c8b69e;display:grid;gap:5px;max-height:145px;overflow-y:auto}
.sereni-sheet-body p{margin:0;color:#382e25;font-size:12.8px}
/* §3 Mesaje, indicator vizibil că operatorul tastează și formular. */
.sereni-chat-messages{padding:16px;overflow-y:auto;flex:1;min-height:80px;overscroll-behavior:contain}
.sereni-chat-bubble{padding:12px 16px;border:1px solid #b5a58f;border-radius:16px;margin:0 28px 14px 0;background:#eee6d9;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.5}
.sereni-chat-bubble[data-role="user"]{margin-left:28px;margin-right:0;background:#e3efdf;border-color:#91ad87}
.sereni-chat-bubble strong{display:block;font-size:12.5px;margin-bottom:4px;color:#5c4d3d}
.sereni-chat-typing{border:2px solid #267f49;background:#eef7f0;box-shadow:0 6px 18px rgba(38,127,73,.16);white-space:normal}
.sereni-chat-typing strong{color:#1c6539;font-size:13px;margin-bottom:6px}
.sereni-typing-row{display:flex;align-items:center;gap:10px}
.sereni-typing-dots{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#267f49}
.sereni-typing-dots span{width:7px;height:7px;border-radius:50%;background:#fffdf8;animation:sereniTypingBounce 1.1s infinite ease-in-out}
.sereni-typing-dots span:nth-child(2){animation-delay:.18s}
.sereni-typing-dots span:nth-child(3){animation-delay:.36s}
.sereni-typing-label{font-size:15px;font-weight:700;color:#1c6539}
@keyframes sereniTypingBounce{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}
.sereni-chat-status{font-size:14px;padding:7px 16px;margin:0 16px 4px;border-radius:10px;font-weight:700;flex:none}
.sereni-chat-status.is-typing{background:#e4f3e8;border:1.5px solid #267f49;color:#1c6539}
.sereni-chat-status.is-error{background:#fbeae5;border:1.5px solid #b5442e;color:#7d2616}
.sereni-chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px 16px 14px;flex:none}.sereni-chat-form label{grid-column:1/-1;font-size:13.5px;font-weight:600}.sereni-chat-form textarea{width:100%;min-height:54px;max-height:120px;border:1.5px solid #a59178;border-radius:12px;padding:10px 12px;background:#fffdf8;color:#382e25;font:inherit;font-size:16px;resize:vertical}.sereni-chat-form button{align-self:end}
.sereni-chat-note{padding:0 16px 12px;margin:0;font-size:12px;line-height:1.4;color:#675644;flex:none}
[data-sereni-chat-open]:focus-visible,.sereni-chat-dialog button:focus-visible,.sereni-chat-dialog textarea:focus-visible,.sereni-chat-suggestions button:focus-visible{outline:3px solid #835b33;outline-offset:2px}
/* §4 Mobil: ținte mari și fără lățime care depășește ecranul. */
@media(max-width:640px){.sereni-chat-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:16px}.sereni-chat-card{padding:16px}.sereni-chat-card--card{padding:14px}.sereni-chat-header{padding:12px 16px}.sereni-chat-form{grid-template-columns:1fr}.sereni-chat-form button{justify-self:end}.sereni-chat-suggestions button{font-size:.92rem;padding:8px 14px}.sereni-chat-context{padding:8px 16px}}
