/* =========================================================
   GuardPro Live Chat — Widget Styles (theme-agnostic)
   يعتمد على متغيرين فقط يُحقنان ديناميكياً من إعدادات الإضافة:
   --gplc-brand (لون العلامة) و --gplc-position (يمين/يسار)
   ========================================================= */
:root{
	--gplc-brand: #c2410c;
	--gplc-brand-light: #ff8a3d;
	--gplc-bg: #ffffff;
	--gplc-surface: #f7f7f8;
	--gplc-text: #1a1a1a;
	--gplc-muted: #6b7280;
	--gplc-border: rgba(0,0,0,.1);
	--gplc-radius: 16px;
	--gplc-position: right;
	--gplc-z: 999999;
}

.gplc-launcher, .gplc-modal, .gplc-modal *{ box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif; }

.gplc-launcher{
	position: fixed; z-index: var(--gplc-z);
	bottom: 22px;
	right: 22px;
	display: inline-flex; align-items: center; gap: 10px;
	background: linear-gradient(135deg, var(--gplc-brand), var(--gplc-brand-light));
	color: #fff; border: none; border-radius: 999px;
	padding: 14px 20px; font-weight: 600; font-size: 14px; line-height: 1;
	box-shadow: 0 14px 32px -12px rgba(0,0,0,.35);
	cursor: pointer;
}
.gplc-launcher[data-pos="left"]{ right: auto; left: 22px; }
.gplc-launcher .dashicons{ font-size: 20px; width: 20px; height: 20px; }
.gplc-launcher:hover{ filter: brightness(1.05); }

.gplc-modal{ position: fixed; inset: 0; z-index: calc(var(--gplc-z) + 1); display: flex; align-items: center; justify-content: center; padding: 20px; }
.gplc-modal[hidden]{ display: none; }
.gplc-modal__overlay{ position: absolute; inset: 0; background: rgba(0,0,0,.55); backdrop-filter: blur(3px); }
.gplc-modal__panel{
	position: relative; z-index: 2; width: 100%; max-width: 420px;
	max-height: 84vh; display: flex; flex-direction: column;
	background: var(--gplc-bg); color: var(--gplc-text);
	border-radius: var(--gplc-radius); padding: 26px;
	box-shadow: 0 30px 70px -20px rgba(0,0,0,.4);
}
.gplc-modal__close{
	position: absolute; top: 14px; inset-inline-end: 14px;
	width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--gplc-border);
	background: transparent; color: var(--gplc-text); font-size: 1.2rem; line-height: 1; cursor: pointer;
}
.gplc-modal__panel h2{ margin: 0 0 6px; font-size: 1.2rem; }
.gplc-modal__note{ font-size: .85rem; color: var(--gplc-muted); margin: 0 0 18px; }

.gplc-form__row{ margin-bottom: 14px; }
.gplc-form label{ display: block; font-size: .82rem; margin-bottom: 5px; font-weight: 600; }
.gplc-form input{
	width: 100%; padding: 10px 12px; border-radius: 10px;
	border: 1px solid var(--gplc-border); background: var(--gplc-surface); color: var(--gplc-text); font-size: .92rem;
}
.gplc-form input:focus{ outline: none; border-color: var(--gplc-brand); }

.gplc-btn{
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	border: none; border-radius: 10px; cursor: pointer; font-weight: 600; font-size: .92rem; padding: 11px 18px;
}
.gplc-btn--primary{ background: linear-gradient(135deg, var(--gplc-brand), var(--gplc-brand-light)); color: #fff; }
.gplc-form__submit{ width: 100%; margin-top: 4px; }

.gplc-thread{ display: flex; flex-direction: column; flex: 1; min-height: 0; }
.gplc-thread__messages{
	flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 10px;
	padding: 4px 2px 14px; min-height: 220px; max-height: 46vh;
}
.gplc-msg{ max-width: 82%; padding: 9px 13px; border-radius: 14px; font-size: .88rem; line-height: 1.5; }
.gplc-msg span{ display: block; }
.gplc-msg time{ display: block; font-size: .68rem; opacity: .55; margin-top: 4px; }
.gplc-msg--visitor{ align-self: flex-end; background: linear-gradient(135deg, var(--gplc-brand), var(--gplc-brand-light)); color: #fff; border-bottom-right-radius: 4px; }
.gplc-msg--agent{ align-self: flex-start; background: var(--gplc-surface); border: 1px solid var(--gplc-border); border-bottom-left-radius: 4px; }
.gplc-msg--ai{ align-self: flex-start; background: var(--gplc-surface); border: 1px dashed #94a3ff; border-bottom-left-radius: 4px; }
.gplc-msg__label{ display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 3px; opacity: .6; }
.gplc-msg--ai .gplc-msg__label{ color: #5b63e0; }
.gplc-msg--agent .gplc-msg__label{ color: var(--gplc-brand); }
.gplc-msg__original{ display: block; opacity: .55; font-size: .74rem; margin-top: 4px; font-style: italic; }

.gplc-thread__status{ font-size: .78rem; color: var(--gplc-muted); min-height: 1.1em; }
.gplc-thread__send{ display: flex; gap: 10px; align-items: flex-end; border-top: 1px solid var(--gplc-border); padding-top: 12px; margin-top: 6px; }
.gplc-thread__send textarea{
	flex: 1; resize: none; max-height: 90px;
	background: var(--gplc-surface); border: 1px solid var(--gplc-border); border-radius: 12px;
	color: var(--gplc-text); padding: 10px 14px; font-size: .9rem; font-family: inherit;
}
.gplc-thread__send textarea:focus{ outline: none; border-color: var(--gplc-brand); }
.gplc-thread__send .gplc-btn{ padding: 12px 16px; border-radius: 12px; }
.gplc-thread__send .dashicons{ font-size: 18px; width: 18px; height: 18px; }

@media (max-width: 480px){
	.gplc-launcher span:last-child{ display: none; }
	.gplc-launcher{ padding: 14px; border-radius: 50%; }
	.gplc-modal__panel{ max-width: 100%; }
}
@media (prefers-reduced-motion: reduce){
	.gplc-launcher, .gplc-modal, .gplc-modal *{ transition: none !important; animation: none !important; }
}
