/* Asharikandi WhatsApp — enquiry form and floating widget */

.rlw-form {
	--rlw-clay:  var(--theme-color, #A8442A);
	--rlw-ink:   var(--text-color, #2E2622);
	--rlw-line:  var(--border-color, #E6DCD0);
	--rlw-green: #25D366;
	max-width: 720px;
}

.rlw-form__title {
	margin: 0 0 .5rem;
	font-family: var(--font-family-heading, inherit);
	color: var(--rlw-ink);
}

.rlw-form__intro { margin: 0 0 1.5rem; color: #6b625c; }

.rlw-form__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem 1.25rem;
}

.rlw-field { margin: 0; }
.rlw-field--wide { grid-column: 1 / -1; }

.rlw-field label {
	display: block;
	margin-bottom: .35rem;
	font-size: .78rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #6b625c;
}

.rlw-field label span { color: var(--rlw-clay); }

.rlw-field input,
.rlw-field select,
.rlw-field textarea {
	width: 100%;
	padding: .7rem .85rem;
	border: 1px solid var(--rlw-line);
	border-radius: 3px;
	background: #fff;
	color: var(--rlw-ink);
	font-size: .95rem;
	font-family: inherit;
	transition: border-color .15s ease;
}

.rlw-field input:focus,
.rlw-field select:focus,
.rlw-field textarea:focus {
	outline: none;
	border-color: var(--rlw-clay);
	box-shadow: 0 0 0 2px rgba(168, 68, 42, .12);
}

.rlw-field .is-invalid,
.rlw-field input.is-invalid { border-color: #c1442e; }

.rlw-field textarea { resize: vertical; }

/* honeypot: off-screen rather than display:none, which some bots detect */
.rlw-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.rlw-form__actions { margin: 1.5rem 0 .75rem; }

.rlw-submit {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	padding: .85rem 1.6rem;
	border: 0;
	border-radius: 3px;
	background: var(--rlw-green);
	color: #fff;
	font-size: .9rem;
	font-weight: 600;
	letter-spacing: .04em;
	cursor: pointer;
	transition: filter .15s ease;
}

.rlw-submit:hover:not(:disabled) { filter: brightness(.93); }
.rlw-submit:disabled { opacity: .6; cursor: default; }
.rlw-submit .rlw-icon { width: 19px; height: 19px; flex: 0 0 auto; }

.rlw-form__note,
.rlw-fallback { margin: 0; font-size: .82rem; color: #6b625c; line-height: 1.6; }
.rlw-fallback { margin-top: .75rem; }
.rlw-fallback a { color: var(--rlw-clay); }

.rlw-form__status { margin-top: .85rem; font-size: .88rem; }
.rlw-form__status.is-error { color: #c1442e; }
.rlw-form__status.is-busy  { color: #6b625c; }

.rlw-notice {
	padding: .85rem 1rem;
	background: #fcf9e8;
	border-left: 4px solid #dba617;
	font-size: .9rem;
}

@media (max-width: 600px) {
	.rlw-form__grid { grid-template-columns: 1fr; }
}

/* ------------------------------------------------ floating widget */

.rlw-widget {
	position: fixed;
	right: 20px;
	bottom: 20px;
	/* Below WooCommerce cart drawers (typically 9999) so it never covers a
	   checkout step, but above ordinary page content. */
	z-index: 9000;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: .75rem;
}

.rlw-widget__button {
	width: 56px;
	height: 56px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #25D366;
	color: #fff;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .22);
	transition: transform .18s ease;
}

.rlw-widget__button:hover { transform: scale(1.06); }
.rlw-widget__button:focus-visible { outline: 3px solid #A8442A; outline-offset: 3px; }
.rlw-widget__glyph {
	width: 30px;
	height: 30px;
	display: block;
	margin: 0 auto;
}

.rlw-widget__panel {
	position: relative;
	width: 274px;
	padding: 1.15rem 1.25rem 1.25rem;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, .18);
	animation: rlw-rise .18s ease;
}

@keyframes rlw-rise {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: none; }
}

.rlw-widget__close {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 26px;
	height: 26px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #8A7F76;
	cursor: pointer;
}

.rlw-widget__close:hover { background: #f2efec; color: #2E2622; }
.rlw-widget__close svg { width: 12px; height: 12px; display: block; margin: 0 auto; }

.rlw-widget__title {
	margin: 0 0 .4rem;
	font-family: var(--font-family-heading, inherit);
	font-size: 1rem;
	color: var(--text-color, #2E2622);
}

.rlw-widget__text  { margin: 0 0 .6rem; font-size: .85rem; line-height: 1.55; color: #6b625c; }
.rlw-widget__hours { margin: 0 0 .9rem; font-size: .76rem; color: #8A7F76; }

.rlw-widget__cta {
	display: block;
	padding: .7rem 1rem;
	background: #25D366;
	border-radius: 3px;
	color: #fff !important;
	font-size: .85rem;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
}

.rlw-widget__cta:hover { filter: brightness(.93); }

@media (max-width: 480px) {
	.rlw-widget { right: 14px; bottom: 14px; }
	.rlw-widget__panel { width: calc(100vw - 28px); max-width: 300px; }
}

@media (prefers-reduced-motion: reduce) {
	.rlw-widget__panel { animation: none; }
	.rlw-widget__button { transition: none; }
	.rlw-widget__button:hover { transform: none; }
}
