/* =====================================================================
   CATEGORY SWITCHER
   Shared by the marketing pages that exist in one version per vehicle
   category (service, delivery, …). Sits on the dark hero.

   Design intent: the three options you can press are raised white keys
   with a solid bottom edge; the current one is pushed in and brand-filled.
   Dark-on-dark buttons read as disabled rather than tappable, and the
   current choice is also stated in words because a purely visual cue is
   easy to miss on a phone.

   The #main:is(.htb-page, .xxs-hc-page) prefix is required to outrank "#wrapper button" and
   "#wrapper a" colour rules in the legacy style4.css.
   ===================================================================== */

#main:is(.htb-page, .xxs-hc-page) .svctabs {
	max-width: 880px;
	margin: 0 auto 34px;
	padding: 15px;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 20px;
}
#main:is(.htb-page, .xxs-hc-page) .svctabs__state {
	margin: 0 0 13px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	color: #bcd9f3;
}
#main:is(.htb-page, .xxs-hc-page) .svctabs__state strong { color: #fff; font-weight: 800; }

#main:is(.htb-page, .xxs-hc-page) .svctabs__track {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 9px;
}

#main:is(.htb-page, .xxs-hc-page) .svctabs__link {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 60px;
	padding: 12px 10px;
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 4px 0 rgba(6, 26, 38, 0.32), 0 8px 16px rgba(6, 26, 38, 0.28);
	color: var(--htb-teal);
	line-height: 1.2;
	letter-spacing: normal;
	text-align: center;
	text-transform: none;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
	top: -2px;
	transition: top .14s ease, background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .14s ease;
}
#main:is(.htb-page, .xxs-hc-page) .svctabs__link:not([aria-current]):hover {
	top: -4px;
	box-shadow: 0 6px 0 rgba(6, 26, 38, 0.32), 0 12px 22px rgba(6, 26, 38, 0.32);
}
#main:is(.htb-page, .xxs-hc-page) .svctabs__link:not([aria-current]):active {
	top: 2px;
	box-shadow: 0 0 0 rgba(6, 26, 38, 0.32), 0 3px 8px rgba(6, 26, 38, 0.26);
}

#main:is(.htb-page, .xxs-hc-page) .svctabs__name {
	font-size: 16px;
	font-weight: 800;
	white-space: nowrap;
}

/* Current category: pressed in, brand-filled, ticked. */
#main:is(.htb-page, .xxs-hc-page) .svctabs__link[aria-current="page"] {
	background: var(--htb-blue);
	border-color: var(--htb-blue);
	color: #fff;
	top: 2px;
	box-shadow: inset 0 3px 8px rgba(6, 26, 38, 0.4);
}
#main:is(.htb-page, .xxs-hc-page) .svctabs__link[aria-current="page"]::after {
	content: "";
	position: absolute;
	top: -9px;
	right: -9px;
	width: 24px;
	height: 24px;
	border: 2px solid var(--htb-blue);
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d6fb8' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4 10-10'/%3E%3C/svg%3E") center / 13px 13px no-repeat;
}
#main:is(.htb-page, .xxs-hc-page) .svctabs__link:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

/* The shared hero texture is a car transporter photo — wrong on the
   machinery and RV versions of these pages. */
#main.htb-page .htb-hero::before { display: none; }

@media (max-width: 720px) {
	/* Two columns: all four options stay on screen, nothing to scroll for. */
	#main:is(.htb-page, .xxs-hc-page) .svctabs { margin: 0 0 28px; padding: 13px; border-radius: 18px; }
	#main:is(.htb-page, .xxs-hc-page) .svctabs__state { margin-bottom: 11px; font-size: 14px; }
	#main:is(.htb-page, .xxs-hc-page) .svctabs__track { grid-template-columns: 1fr 1fr; gap: 8px; }
	#main:is(.htb-page, .xxs-hc-page) .svctabs__link { min-height: 60px; padding: 12px 8px; }
	#main:is(.htb-page, .xxs-hc-page) .svctabs__name { font-size: 16px; }
}

/* Narrow handsets: keep the longest label on a single line. */
@media (max-width: 380px) {
	#main:is(.htb-page, .xxs-hc-page) .svctabs { padding: 11px; }
	#main:is(.htb-page, .xxs-hc-page) .svctabs__track { gap: 7px; }
	#main:is(.htb-page, .xxs-hc-page) .svctabs__link { padding: 10px 5px; }
	#main:is(.htb-page, .xxs-hc-page) .svctabs__name { font-size: 14px; }
}

/* Light-page variant (Help Center). The keys stay the same white keys; what
   changes is the frame and the state line, which were tuned for a dark hero and
   would be invisible here. The two brand variables are declared locally because
   they live on .htb-page, which this page isn't. */
#main.xxs-hc-page .svctabs {
	--htb-blue: #1d6fb8;
	--htb-teal: #153e4d;
	background: rgba(29, 111, 184, 0.06);
	border-color: rgba(29, 111, 184, 0.2);
}
#main.xxs-hc-page .svctabs__state { color: #557284; }
#main.xxs-hc-page .svctabs__state strong { color: #153e4d; }
#main.xxs-hc-page .svctabs__link {
	border-color: #cbdded;
	box-shadow: 0 3px 0 rgba(21, 62, 77, 0.16), 0 6px 14px rgba(21, 62, 77, 0.13);
}
#main.xxs-hc-page .svctabs__link:not([aria-current]):hover {
	box-shadow: 0 5px 0 rgba(21, 62, 77, 0.18), 0 10px 20px rgba(21, 62, 77, 0.16);
}
#main.xxs-hc-page .svctabs__link:not([aria-current]):active {
	box-shadow: 0 0 0 rgba(21, 62, 77, 0.16), 0 2px 6px rgba(21, 62, 77, 0.14);
}
#main.xxs-hc-page .svctabs__link:focus-visible { outline-color: var(--htb-blue); }
