/* Matches avarinshop.com (Flatsome): Kanit, brand red #e01e21, charcoal #2c3939, near-square corners. */
.asr-wrap {
	--asr-red: var(--primary-color, #e01e21);
	--asr-red-dark: #b8171a;
	--asr-red-soft: #fdeeee;
	--asr-ink: #111;
	--asr-dark: #2c3939;
	--asr-night: #161a21;
	--asr-grey: #f1f1f1;
	--asr-line: #ddd;
	--asr-muted: #777;
	--asr-r: 3px;
	max-width: 680px;
	margin: 0 auto 40px;
	color: var(--asr-ink);
	font-family: Kanit, sans-serif;
	font-size: 16px;
	line-height: 1.55;
}
.asr-wrap *, .asr-wrap *::before, .asr-wrap *::after { box-sizing: border-box; }
.asr-wrap [hidden] { display: none !important; }

/* Reset Flatsome's global button/label/input rules inside the form */
.asr-wrap button {
	margin: 0; min-height: 0; max-width: none; line-height: 1.3; letter-spacing: normal;
	text-transform: none; font-family: inherit; box-shadow: none; text-shadow: none;
}
.asr-wrap label { margin: 0; font-size: inherit; }
.asr-wrap input[type="text"], .asr-wrap input[type="tel"], .asr-wrap textarea {
	box-shadow: none; margin: 0; height: auto; max-width: none;
}

/* ---------- header band ---------- */
.asr-head {
	position: relative;
	background: var(--asr-dark);
	color: #fff;
	padding: 26px 24px 24px;
	margin-bottom: 28px;
	border-bottom: 4px solid var(--asr-red);
	overflow: hidden;
}
.asr-head::after {
	/* running-track stripes */
	content: ""; position: absolute; right: -40px; top: 0; bottom: 0; width: 180px;
	background: repeating-linear-gradient(115deg, transparent 0 18px, rgba(224, 30, 33, .9) 18px 26px, transparent 26px 44px);
	opacity: .35; pointer-events: none;
}
.asr-wrap .asr-title {
	position: relative; z-index: 1;
	margin: 0 0 4px; color: #fff; font-family: inherit; font-weight: 700;
	font-size: 26px; line-height: 1.25; text-transform: uppercase; letter-spacing: .01em;
}
.asr-sub { position: relative; z-index: 1; margin: 0; color: rgba(255, 255, 255, .78); font-size: 15px; max-width: 30em; }

/* ---------- sections ---------- */
.asr-form { padding: 0 2px; }
.asr-sec { margin: 0 0 30px; }
.asr-wrap .asr-h {
	display: flex; align-items: center; gap: 10px;
	margin: 0 0 14px; padding-bottom: 8px; border-bottom: 2px solid var(--asr-grey);
	font-family: inherit; font-size: 18px; font-weight: 600; color: var(--asr-ink); text-transform: none;
}
.asr-num {
	flex: none; display: inline-flex; align-items: center; justify-content: center;
	width: 28px; height: 28px; background: var(--asr-red); color: #fff;
	font-size: 15px; font-weight: 700; border-radius: var(--asr-r);
	transform: skewX(-8deg);
}
.asr-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.asr-branch-fixed {
	display: inline-block; margin: -4px 0 14px; padding: 3px 12px;
	background: var(--asr-grey); border-radius: var(--asr-r); font-size: 14px; color: var(--asr-dark);
}

/* ---------- branch pills ---------- */
.asr-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.asr-wrap .asr-pill {
	border: 1px solid var(--asr-line); background: #fff; color: var(--asr-ink);
	border-radius: 99px; padding: 6px 16px; font-size: 14px; font-weight: 500; cursor: pointer;
	transition: background .15s, color .15s, border-color .15s;
}
.asr-wrap .asr-pill:hover { border-color: var(--asr-red); color: var(--asr-red); }
.asr-wrap .asr-pill.is-on { background: var(--asr-red); border-color: var(--asr-red); color: #fff; }

/* ---------- staff cards ---------- */
.asr-staff-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 10px; }
.asr-wrap .asr-staff {
	position: relative; display: flex; flex-direction: column; align-items: center; text-align: center;
	padding: 14px 6px 12px; border: 1px solid var(--asr-line); border-radius: var(--asr-r); background: #fff;
	cursor: pointer; font-weight: 400; transition: border-color .15s, box-shadow .15s, transform .15s;
}
.asr-wrap .asr-staff:hover { border-color: #bbb; box-shadow: 0 4px 12px rgba(0, 0, 0, .08); transform: translateY(-2px); }
.asr-staff input, .asr-type input { position: absolute; opacity: 0; pointer-events: none; }
.asr-wrap .asr-staff.is-on { border-color: var(--asr-red); box-shadow: 0 0 0 1px var(--asr-red) inset; }
.asr-staff.is-on::after {
	content: "✓"; position: absolute; top: 0; right: 0; width: 24px; height: 24px;
	background: var(--asr-red); color: #fff; font-size: 13px; font-weight: 700; line-height: 24px;
	border-radius: 0 var(--asr-r) 0 var(--asr-r);
}
.asr-staff-photo {
	width: 76px; height: 76px; border-radius: 50%; overflow: hidden; background: var(--asr-grey);
	display: flex; align-items: center; justify-content: center; margin-bottom: 8px;
	border: 2px solid #fff; box-shadow: 0 0 0 1px var(--asr-line);
}
.asr-staff.is-on .asr-staff-photo { box-shadow: 0 0 0 2px var(--asr-red); }
.asr-staff-photo img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
.asr-initial { font-size: 28px; font-weight: 600; color: #aaa; }
.asr-staff-name { font-weight: 600; font-size: 15px; line-height: 1.3; word-break: break-word; }
.asr-staff-branch { font-size: 12px; color: var(--asr-muted); }
.asr-staff-unknown .asr-staff-name { color: var(--asr-muted); font-weight: 400; }

/* ---------- type ---------- */
.asr-types { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.asr-wrap .asr-type {
	position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px;
	padding: 18px 8px 16px; border: 1px solid var(--asr-line); border-radius: var(--asr-r); background: #fff;
	cursor: pointer; text-align: center; font-weight: 600; font-size: 15px; transition: all .15s;
}
.asr-wrap .asr-type:hover { border-color: #bbb; }
.asr-type-ico { font-size: 30px; line-height: 1; filter: grayscale(.2); }
.asr-wrap .asr-type-review.is-on { border-color: var(--asr-red); background: var(--asr-red-soft); color: var(--asr-red-dark); box-shadow: 0 0 0 1px var(--asr-red) inset; }
.asr-wrap .asr-type-complaint.is-on { border-color: var(--asr-dark); background: var(--asr-dark); color: #fff; }

/* ---------- satisfaction faces ---------- */
.asr-faces { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.asr-wrap .asr-face {
	display: flex; flex-direction: column; align-items: center; gap: 14px;
	background: none; border: 0; padding: 8px 0 4px; cursor: pointer; color: #555;
	-webkit-tap-highlight-color: transparent;
}
.asr-face svg {
	display: block; width: 100%; max-width: 64px; height: auto; border-radius: 50%;
	transition: transform .15s, filter .2s, opacity .2s, box-shadow .2s;
}
.asr-wrap .asr-face:hover svg { transform: scale(1.08); }
.asr-wrap .asr-face:active svg { transform: scale(.94); }
.asr-face-label { font-size: 13px; font-weight: 500; line-height: 1.2; text-align: center; transition: color .2s; }
.asr-faces.has-value .asr-face:not(.is-on) svg { filter: grayscale(1); opacity: .35; }
.asr-faces.has-value .asr-face:not(.is-on) .asr-face-label { color: #aaa; }
.asr-wrap .asr-face.is-on svg { transform: scale(1.14); box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--face); }
.asr-face.is-on .asr-face-label { color: var(--face); font-weight: 700; }
.asr-face-3.is-on .asr-face-label { color: #c79a00; }

/* ---------- inputs ---------- */
.asr-wrap textarea,
.asr-wrap input[type="text"],
.asr-wrap input[type="tel"] {
	width: 100%; border: 1px solid var(--asr-line); border-radius: var(--asr-r); padding: 10px 12px;
	font: inherit; font-size: 16px; background: #fff; color: var(--asr-ink);
	transition: border-color .15s;
}
.asr-wrap textarea:focus, .asr-wrap input[type="text"]:focus, .asr-wrap input[type="tel"]:focus {
	outline: none; border-color: var(--asr-red); box-shadow: 0 0 0 2px rgba(224, 30, 33, .15);
}
.asr-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.asr-wrap .asr-file {
	display: inline-flex; align-items: center; margin-top: 10px; padding: 8px 16px;
	border: 1px dashed #bbb; border-radius: var(--asr-r); cursor: pointer; color: var(--asr-muted);
	position: relative; font-weight: 400; font-size: 14px; transition: border-color .15s, color .15s;
}
.asr-wrap .asr-file:hover { border-color: var(--asr-red); color: var(--asr-red); }
.asr-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.asr-previews { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.asr-prev { position: relative; width: 72px; height: 72px; }
.asr-prev img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--asr-r); margin: 0; }
.asr-wrap .asr-prev button {
	position: absolute; top: -6px; right: -6px; width: 22px; height: 22px; border-radius: 50%; border: 0;
	background: var(--asr-night); color: #fff; cursor: pointer; line-height: 20px; padding: 0; font-size: 14px;
}
.asr-wrap .asr-check { display: flex; align-items: center; gap: 8px; margin-top: 12px; cursor: pointer; font-weight: 400; font-size: 15px; }
.asr-check input { accent-color: var(--asr-red); width: 18px; height: 18px; margin: 0; }

/* ---------- submit / errors ---------- */
.asr-error {
	background: var(--asr-red-soft); color: var(--asr-red-dark); border-left: 4px solid var(--asr-red);
	border-radius: var(--asr-r); padding: 10px 14px; margin: 0 0 14px;
}
.asr-wrap .asr-submit {
	width: 100%; border: 0; border-radius: var(--asr-r); padding: 15px; min-height: 52px;
	font-size: 17px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
	background: var(--asr-red); color: #fff; cursor: pointer; transition: background .15s, transform .1s;
}
.asr-wrap .asr-submit:hover { background: var(--asr-red-dark); }
.asr-wrap .asr-submit:active { transform: translateY(1px); }
.asr-wrap.is-complaint .asr-submit { background: var(--asr-dark); }
.asr-wrap.is-complaint .asr-submit:hover { background: var(--asr-night); }
.asr-wrap .asr-submit:disabled { opacity: .6; cursor: wait; }

/* ---------- done ---------- */
.asr-done { text-align: center; padding: 36px 16px 8px; }
.asr-done-ico {
	display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px;
	border-radius: 50%; background: var(--asr-red); color: #fff; font-size: 0; margin-bottom: 12px;
}
.asr-done-ico::before { content: "✓"; font-size: 38px; font-weight: 700; line-height: 1; }
.asr-done-text { font-size: 18px; font-weight: 500; max-width: 26em; margin: 0 auto; }
.asr-coupon {
	position: relative; margin: 24px auto 0; max-width: 380px; padding: 20px 18px 18px;
	background: #fff; border: 2px dashed var(--asr-red); border-radius: var(--asr-r);
}
.asr-coupon p { margin: 0 0 6px; }
.asr-coupon-label { color: var(--asr-muted); font-size: 14px; text-transform: uppercase; letter-spacing: .06em; }
.asr-coupon-code { font-size: clamp(20px, 7vw, 28px); font-weight: 700; letter-spacing: 1px; color: var(--asr-red); white-space: nowrap; line-height: 1.2; }
.asr-coupon-desc { font-size: 14px; color: #444; }
.asr-wrap .asr-copy {
	margin-top: 10px; border: 0; border-radius: var(--asr-r); padding: 9px 22px; background: var(--asr-night);
	color: #fff; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; cursor: pointer;
}
.asr-wrap .asr-copy:hover { background: var(--asr-red); }

@media (max-width: 480px) {
	.asr-head { padding: 20px 16px; margin-left: -2px; margin-right: -2px; }
	.asr-wrap .asr-title { font-size: 21px; }
	.asr-row { grid-template-columns: 1fr; }
	.asr-staff-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
	.asr-staff-photo { width: 62px; height: 62px; }
	.asr-faces { gap: 2px; }
	.asr-face-label { font-size: 12px; }
}
