/* Arosoft Support. Uses the theme's colours when available, with fallbacks. */
.aro-contact,
.aro-chat {
	--aro-ink: var(--wp--preset--color--ink, #16131c);
	--aro-muted: var(--wp--preset--color--muted, #5e5868);
	--aro-line: var(--wp--preset--color--line, #e7e3ec);
	--aro-accent: var(--wp--preset--color--accent-deep, #7e2e9a);
	--aro-soft: var(--wp--preset--color--lilac, #f2e7f7);
	--aro-canvas: var(--wp--preset--color--canvas, #f8f6f3);
}

/* Contact form */
.aro-contact { max-width: 760px; }
.aro-contact__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 1.25rem; }
.aro-field { display: flex; flex-direction: column; gap: .35rem; margin: 0 0 1rem; }
.aro-field label { font-weight: 600; font-size: .95rem; }
.aro-field label span { color: var(--aro-accent); }
.aro-field input,
.aro-field select,
.aro-field textarea {
	font: inherit;
	padding: .7rem .9rem;
	border: 1.5px solid var(--aro-line);
	border-radius: 12px;
	background: #fff;
	color: var(--aro-ink);
}
.aro-field input:focus,
.aro-field select:focus,
.aro-field textarea:focus { outline: 2px solid var(--aro-accent); outline-offset: 1px; border-color: transparent; }
.aro-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.aro-contact__privacy { font-size: .875rem; color: var(--aro-muted); }
.aro-contact__submit[disabled] { opacity: .55; cursor: not-allowed; }
.aro-contact__status[data-kind="error"] { color: #b42318; font-weight: 600; }
.aro-contact__status[data-kind="success"] { color: #0f6b3a; font-weight: 600; font-size: 1.1rem; }
.aro-contact__notice { padding: 1rem; background: var(--aro-soft); border-radius: 12px; }

/* Help chat */
/* Inline "ask first" box ([arosoft_help_prompt]) */
.aro-help-prompt {
	--aro-ink: var(--wp--preset--color--ink, #16131c);
	--aro-muted: var(--wp--preset--color--muted, #5e5868);
	--aro-line: var(--wp--preset--color--line, #e7e3ec);
	--aro-accent: var(--wp--preset--color--accent-deep, #7e2e9a);
	position: relative;
	overflow: hidden;
	margin: 1.5rem 0 2.5rem;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border-radius: 28px;
	background: var(--wp--preset--color--lilac, #f2e7f7);
	isolation: isolate;
}
.aro-help-prompt::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		radial-gradient(45% 80% at 95% 0%, rgb(244 227 199 / 80%) 0%, transparent 70%),
		radial-gradient(35% 60% at 75% 100%, rgb(187 97 206 / 14%) 0%, transparent 70%);
	pointer-events: none;
}
.aro-help-prompt__eyebrow { margin: 0 0 .4rem; font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--aro-accent); }
.aro-help-prompt__title { margin: 0 0 .5rem; }
.aro-help-prompt__text { margin: 0 0 1.2rem; color: var(--aro-muted); max-width: 52ch; }
.aro-help-prompt__form { display: flex; gap: .6rem; flex-wrap: wrap; }
.aro-help-prompt__form input {
	flex: 1 1 260px; min-width: 0; font: inherit; padding: .85rem 1.1rem;
	border: 1.5px solid transparent; border-radius: 999px; background: #fff; color: var(--aro-ink);
	box-shadow: 0 8px 24px -16px rgb(22 19 28 / 40%);
}
.aro-help-prompt__form input:focus { outline: 2px solid var(--aro-accent); outline-offset: 1px; }
.aro-help-prompt__form button {
	border: 0; border-radius: 999px; padding: .85rem 1.4rem; cursor: pointer;
	background: var(--aro-ink); color: #fff; font: inherit; font-weight: 600;
}
.aro-help-prompt__form button:hover,
.aro-help-prompt__form button:focus-visible { background: var(--aro-accent); }
.aro-help-prompt__chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .9rem; }
.aro-help-prompt .aro-chat__chip { border-color: rgb(126 46 154 / 25%); background: rgb(255 255 255 / 70%); }

/* Help chat widget */
.aro-chat { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 9999; font-size: .95rem; }
.aro-chat__launcher {
	display: inline-flex; align-items: center; gap: .55rem;
	padding: .8rem 1.2rem; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--aro-ink); color: #fff; font: inherit; font-weight: 600;
	box-shadow: 0 12px 30px -12px rgb(22 19 28 / 55%);
}
.aro-chat__launcher:hover,
.aro-chat__launcher:focus-visible { background: var(--aro-accent); }
.aro-chat__launcher-dot { width: .6rem; height: .6rem; border-radius: 50%; background: #bb61ce; box-shadow: 0 0 0 4px rgb(187 97 206 / 25%); }
.aro-chat.is-open .aro-chat__launcher { display: none; }
.aro-chat__panel {
	display: flex; flex-direction: column;
	width: min(380px, calc(100vw - 2rem)); height: min(560px, calc(100vh - 6rem));
	background: #fff; color: var(--aro-ink);
	border: 1px solid var(--aro-line); border-radius: 22px; overflow: hidden;
	box-shadow: 0 30px 60px -20px rgb(22 19 28 / 40%);
}
.aro-chat__panel[hidden] { display: none; }
.aro-chat__header { display: flex; justify-content: space-between; align-items: center; padding: .9rem 1.1rem; background: var(--aro-ink); color: #fff; }
.aro-chat__close { border: 0; background: transparent; color: inherit; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.aro-chat__log { flex: 1; overflow-y: auto; padding: 1rem; background: var(--aro-canvas); display: flex; flex-direction: column; gap: .7rem; }
.aro-chat__msg { max-width: 92%; padding: .7rem .9rem; border-radius: 16px; line-height: 1.45; }
.aro-chat__msg p { margin: 0 0 .45rem; }
.aro-chat__msg p:last-child { margin-bottom: 0; }
.aro-chat__msg--bot { align-self: flex-start; background: #fff; border: 1px solid var(--aro-line); border-bottom-left-radius: 6px; }
.aro-chat__msg--user { align-self: flex-end; background: var(--aro-accent); color: #fff; border-bottom-right-radius: 6px; }
.aro-chat__title { font-weight: 700; }
.aro-chat__link { display: inline-block; margin: 0 .6rem .35rem 0; color: var(--aro-accent); font-weight: 600; }
.aro-chat__doc { display: block; margin: .35rem 0; padding: .55rem .7rem; border-radius: 12px; background: var(--aro-soft); color: inherit; text-decoration: none; }
.aro-chat__doc strong { display: block; color: var(--aro-accent); }
.aro-chat__doc span { display: block; font-size: .85rem; color: var(--aro-muted); }
.aro-chat__doc:hover strong { text-decoration: underline; }
.aro-chat__handoff { font-size: .875rem; color: var(--aro-muted); }
.aro-chat__handoff a { color: var(--aro-accent); font-weight: 600; }
.aro-chat__chips { display: flex; flex-wrap: wrap; gap: .4rem; padding: .6rem 1rem 0; background: #fff; }
.aro-chat__chip { border: 1.5px solid var(--aro-line); background: #fff; border-radius: 999px; padding: .3rem .7rem; font: inherit; font-size: .82rem; cursor: pointer; color: var(--aro-ink); }
.aro-chat__chip:hover { border-color: var(--aro-accent); color: var(--aro-accent); }
/* After the first question the quick replies collapse to one scrollable row. */
.aro-chat.has-asked .aro-chat__chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .2rem; scrollbar-width: thin; }
.aro-chat.has-asked .aro-chat__chip { flex: 0 0 auto; }
.aro-chat__form { display: flex; gap: .5rem; padding: .7rem 1rem; background: #fff; }
.aro-chat__form input { flex: 1; min-width: 0; font: inherit; padding: .6rem .8rem; border: 1.5px solid var(--aro-line); border-radius: 999px; }
.aro-chat__form input:focus { outline: 2px solid var(--aro-accent); border-color: transparent; }
.aro-chat__send { border: 0; border-radius: 999px; padding: .6rem 1rem; background: var(--aro-ink); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.aro-chat__send[disabled] { opacity: .6; }
.aro-chat__note { margin: 0; padding: 0 1rem .7rem; background: #fff; font-size: .75rem; color: var(--aro-muted); }

@media (max-width: 480px) {
	.aro-chat { right: .75rem; bottom: .75rem; }
	.aro-chat__panel { height: calc(100vh - 5rem); }
}
@media (prefers-reduced-motion: no-preference) {
	.aro-chat__panel:not([hidden]) { animation: aro-pop .18s ease-out; }
	@keyframes aro-pop { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}

/* Latest releases block */
.aro-releases { --aro-line: var(--wp--preset--color--line, #e7e3ec); --aro-muted: var(--wp--preset--color--muted, #5e5868); --aro-accent: var(--wp--preset--color--accent-deep, #7e2e9a); }
.aro-releases__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgb(22 19 28 / 25%); }
.aro-releases__list li { display: grid; grid-template-columns: 9.5rem 1fr; gap: 1.25rem; padding: 1rem 0; border-bottom: 1px solid var(--aro-line); }
.aro-releases__list time { font-variant-numeric: tabular-nums; font-size: .85rem; color: var(--aro-muted); padding-top: .15rem; }
.aro-releases__list a { color: inherit; text-decoration: none; }
.aro-releases__list a:hover strong { text-decoration: underline; }
.aro-releases__list p { margin: .2rem 0 0; color: var(--aro-muted); font-size: .95rem; }
.aro-releases__version { font-variant-numeric: tabular-nums; font-size: .78rem; padding: .1rem .45rem; border: 1px solid var(--aro-line); border-radius: 999px; color: var(--aro-accent); margin-left: .35rem; }
.aro-releases__more { margin-top: 1rem; font-weight: 600; }
.aro-releases__more a { color: var(--aro-accent); }
@media (max-width: 600px) { .aro-releases__list li { grid-template-columns: 1fr; gap: .2rem; } }

/* Plugin product pages: buy-box details, screenshots, recent changes, licence cards */
.aro-product-info { margin: 1.1rem 0 0; font-size: .95rem; --aro-muted: var(--wp--preset--color--muted, #5e5868); --aro-line: var(--wp--preset--color--line, #e7e3ec); --aro-accent: var(--wp--preset--color--accent-deep, #7e2e9a); }
.aro-product-info__includes { margin: 0 0 1rem; color: var(--aro-muted); font-size: .9rem; }
.aro-product-info__tiles { margin: 0 0 1rem; display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.aro-product-info__tiles div { padding: .7rem .8rem; border: 1px solid var(--aro-line); border-radius: 12px; text-align: center; }
.aro-product-info__tiles dt { font-size: .78rem; color: var(--aro-muted); }
.aro-product-info__tiles dd { margin: .15rem 0 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.aro-product-info__links { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--aro-line); }
.aro-product-info__links li { border-bottom: 1px solid var(--aro-line); }
.aro-product-info__links a { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem .1rem; color: inherit; text-decoration: none; font-weight: 500; }
.aro-product-info__links a::after { content: "\2192"; color: var(--aro-accent); transition: transform .15s ease; }
.aro-product-info__links a:hover { color: var(--aro-accent); }
.aro-product-info__links a:hover::after { transform: translateX(3px); }

.aro-screens__stage { margin: 0; aspect-ratio: 16 / 10; display: grid; place-items: center; padding: clamp(.75rem, 2vw, 1.5rem); border: 1px solid rgb(22 19 28 / 12%); border-radius: 16px; background: #fff; box-shadow: 0 1px 2px rgb(22 19 28 / 6%), 0 18px 40px -22px rgb(22 19 28 / 28%); overflow: hidden; }
.aro-screens__img { width: 100%; height: 100%; object-fit: contain; }
.aro-screens__thumbs { list-style: none; margin: .9rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.aro-screens__thumb { display: block; width: 4.75rem; height: 3.4rem; padding: 0; border: 1px solid rgb(22 19 28 / 14%); border-radius: 10px; background: #fff; overflow: hidden; cursor: pointer; opacity: .7; transition: opacity .15s ease, border-color .15s ease; }
.aro-screens__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top left; display: block; }
.aro-screens__thumb:hover, .aro-screens__thumb[aria-pressed="true"] { opacity: 1; border-color: var(--wp--preset--color--accent-deep, #7e2e9a); }
.aro-screens__thumb:focus-visible { outline: 2px solid var(--wp--preset--color--accent-deep, #7e2e9a); outline-offset: 2px; }

.aro-changes__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgb(22 19 28 / 22%); }
.aro-changes__list > li { padding: 1rem 0; border-bottom: 1px solid var(--wp--preset--color--line, #e7e3ec); }
.aro-changes__head { display: flex; align-items: baseline; gap: .75rem; }
.aro-changes__head strong { font-variant-numeric: tabular-nums; }
.aro-changes__head time { font-size: .85rem; color: var(--wp--preset--color--muted, #5e5868); }
.aro-changes__list ul { margin: .35rem 0 0; padding-left: 1.1rem; color: var(--wp--preset--color--muted, #5e5868); font-size: .95rem; }
.aro-changes__more { margin-top: .9rem; font-weight: 600; }
.aro-changes__more a { color: var(--wp--preset--color--accent-deep, #7e2e9a); }

.aro-licence-select { position: absolute !important; left: 0 !important; top: 0 !important; width: 1px !important; height: 1px !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.aro-licence__title { margin: 0 0 .5rem; font-size: .9rem; color: var(--wp--preset--color--muted, #5e5868); }
.aro-licence { display: grid; gap: .5rem; margin-bottom: 1rem; }
.aro-buy-card .variations_form, .aro-product-info { position: relative; }
.aro-licence__option { display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; padding: .8rem 1rem; font: inherit; text-align: left; color: inherit; background: #fff; border: 1px solid rgb(22 19 28 / 16%); border-radius: 12px; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease; }
.aro-licence__option::before { content: ""; flex: 0 0 auto; width: 1.05rem; height: 1.05rem; border: 1.5px solid rgb(22 19 28 / 40%); border-radius: 50%; margin-right: -.25rem; }
.aro-licence__name { flex: 1; font-weight: 600; }
.aro-licence__price { font-variant-numeric: tabular-nums; color: var(--wp--preset--color--muted, #5e5868); font-size: .92rem; }
.aro-licence__option:hover { border-color: rgb(22 19 28 / 40%); }
.aro-licence__option[aria-checked="true"] { border-color: var(--wp--preset--color--accent-deep, #7e2e9a); box-shadow: 0 0 0 1px var(--wp--preset--color--accent-deep, #7e2e9a); }
.aro-licence__option[aria-checked="true"]::before { border-color: var(--wp--preset--color--accent-deep, #7e2e9a); background: radial-gradient(circle, var(--wp--preset--color--accent-deep, #7e2e9a) 0 42%, transparent 46%); }
.aro-licence__option:focus-visible { outline: 2px solid var(--wp--preset--color--accent-deep, #7e2e9a); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .aro-product-info__links a::after, .aro-screens__thumb, .aro-licence__option { transition: none; } }
