/* ==========================================================================
   Drill-down mobile navigation
   (#ac-drilldown inside .ac-panel / mobile slideout)
   ========================================================================== */

/* ── Container ──────────────────────────────────────────────────────────── */
.ac-drilldown {
	position:       relative;
	overflow:       hidden;
	display:        flex;
	flex-direction: column;
}

/* ── Panels — default off-screen ────────────────────────────────────────── */
.ac-dd-panel {
	position:       absolute;
	top:            0;
	left:           0;
	width:          100%;
	transform:      translateX(100%);
	visibility:     hidden;
	pointer-events: none;
	will-change:    transform;
	transition:
		transform  0.3s cubic-bezier(0.4, 0, 0.2, 1),
		opacity    0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Active panel drives container height */
.ac-dd-panel.is-active {
	position:       relative;
	transform:      translateX(0);
	visibility:     visible;
	pointer-events: auto;
	opacity:        1;
}

/* Pre-transition snap — instant, still absolute */
.ac-dd-panel.ac-dd-pre-fwd {
	position:   absolute !important;
	transform:  translateX(100%) !important;
	visibility: visible !important;
	transition: none !important;
}

.ac-dd-panel.ac-dd-pre-bck {
	position:   absolute !important;
	transform:  translateX(-35%) !important;
	visibility: visible !important;
	transition: none !important;
}

/* Exit animations */
.ac-dd-panel.ac-dd-exit-fwd {
	position:       absolute !important;
	transform:      translateX(-30%);
	opacity:        0.3;
	visibility:     visible;
	pointer-events: none;
}

.ac-dd-panel.ac-dd-exit-bck {
	position:       absolute !important;
	transform:      translateX(100%);
	opacity:        0;
	visibility:     visible;
	pointer-events: none;
}

/* ── Back-button header ──────────────────────────────────────────────────── */
.ac-dd-header {
	padding:       0.25rem 0 0.6rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	margin-bottom: 0.25rem;
}

.ac-dd-back {
	display:         inline-flex;
	align-items:     center;
	gap:             0.45rem;
	background:      none;
	border:          none;
	padding:         0.5rem 0;
	font-size:       0.6875rem;
	font-weight:     var(--ac-font-weight-bold);
	text-transform:  uppercase;
	letter-spacing:  0.07em;
	color:           var(--ac-color-primary);
	cursor:          pointer;
	min-height:      44px;
	transition:      color var(--ac-duration-short) var(--ac-ease-standard);
}

.ac-dd-back:hover,
.ac-dd-back:focus-visible {
	color:   var(--ac-color-secondary);
	outline: none;
}

.ac-dd-back:focus-visible {
	outline:        2px solid var(--ac-color-primary);
	outline-offset: 2px;
	border-radius:  3px;
}

.ac-dd-back i {
	font-size: 0.625rem;
}

/* ── Item list ───────────────────────────────────────────────────────────── */
.ac-dd-list {
	list-style: none;
	margin:     0;
	padding:    0;
}

.ac-dd-item {
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.ac-dd-item:last-child {
	border-bottom: none;
}

/* Leaf item */
.ac-dd-link {
	display:         block;
	padding:         0.85rem 0;
	font-size:       var(--ac-font-size-base);
	font-weight:     var(--ac-font-weight-medium);
	color:           var(--ac-color-text);
	text-decoration: none;
	min-height:      44px;
	transition:      color var(--ac-duration-short) var(--ac-ease-standard);
}

.ac-dd-link:hover,
.ac-dd-link:focus-visible {
	color:   var(--ac-color-primary);
	outline: none;
}

.ac-dd-link:focus-visible {
	outline:        2px solid var(--ac-color-primary);
	outline-offset: 2px;
	border-radius:  3px;
}

/* Parent row — full-width button */
.ac-dd-row {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	width:           100%;
	padding:         0;
	background:      none;
	border:          none;
	text-align:      left;
	cursor:          pointer;
	min-height:      44px;
}

.ac-dd-label {
	flex:        1;
	display:     block;
	padding:     0.85rem 0;
	font-size:   var(--ac-font-size-base);
	font-weight: var(--ac-font-weight-medium);
	color:       var(--ac-color-text);
	transition:  color var(--ac-duration-short) var(--ac-ease-standard);
}

.ac-dd-row:hover .ac-dd-label,
.ac-dd-row:focus-visible .ac-dd-label {
	color: var(--ac-color-primary);
}

.ac-dd-row:focus-visible {
	outline:        2px solid var(--ac-color-primary);
	outline-offset: 2px;
	border-radius:  3px;
}

/* Chevron on parent rows */
.ac-dd-row > i {
	flex-shrink: 0;
	width:       40px;
	text-align:  center;
	color:       rgba(0, 0, 0, 0.3);
	font-size:   0.8125rem;
	transition:
		color     var(--ac-duration-short) var(--ac-ease-standard),
		transform var(--ac-duration-short) var(--ac-ease-standard);
}

.ac-dd-row:hover > i,
.ac-dd-row:focus-visible > i {
	color:     var(--ac-color-primary);
	transform: translateX(3px);
}

/* ── Reduced motion ──────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.ac-dd-panel {
		transform:  none !important;
		opacity:    0;
		transition: opacity 0.15s linear !important;
	}

	.ac-dd-panel.is-active {
		opacity: 1;
	}

	.ac-dd-panel.ac-dd-pre-fwd,
	.ac-dd-panel.ac-dd-pre-bck {
		opacity:    0;
		transition: none !important;
	}

	.ac-dd-panel.ac-dd-exit-fwd,
	.ac-dd-panel.ac-dd-exit-bck {
		opacity:    0;
		transition: opacity 0.15s linear !important;
	}
}

/* ==========================================================================
   Help panel sections — Quick Links / Contact / Social
   ========================================================================== */

.ac-drawer-section {
	margin-top:  var(--ac-space-5);
	padding-top: var(--ac-space-4);
	border-top:  1px solid rgba(0, 0, 0, 0.08);
}

.ac-drawer-section-title {
	font-size:      var(--ac-font-size-xs);
	font-weight:    var(--ac-font-weight-bold);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color:          rgba(0, 0, 0, 0.5);
	margin:         0 0 var(--ac-space-3);
}

/* ── Quick Links grid ────────────────────────────────────────────────────── */
.ac-ql-grid {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   var(--ac-space-2);
	list-style:            none;
	margin:                0;
	padding:               0;
}

.ac-ql-item--wide {
	grid-column: span 2;
}

.ac-ql-item {
	display:         flex;
	align-items:     center;
	gap:             0.65rem;
	padding:         0.7rem 0.75rem;
	background:      rgba(0, 0, 0, 0.035);
	border-radius:   var(--ac-radius-md);
	text-decoration: none;
	color:           var(--ac-color-text);
	font-size:       var(--ac-font-size-sm);
	font-weight:     var(--ac-font-weight-medium);
	line-height:     var(--ac-line-height-tight);
	min-height:      44px;
	transition:
		background var(--ac-duration-short) var(--ac-ease-standard),
		color      var(--ac-duration-short) var(--ac-ease-standard);
}

.ac-ql-item:hover,
.ac-ql-item:focus-visible {
	background: var(--ac-color-primary);
	color:      var(--ac-color-white);
	outline:    none;
}

.ac-ql-item:focus-visible {
	outline:        2px solid var(--ac-color-primary);
	outline-offset: 2px;
}

.ac-ql-icon {
	display:         flex;
	align-items:     center;
	justify-content: center;
	flex-shrink:     0;
	width:           32px;
	height:          32px;
	border-radius:   var(--ac-radius-sm);
	background:      var(--ac-color-primary);
	color:           var(--ac-color-white);
	font-size:       0.875rem;
	transition:      background var(--ac-duration-short) var(--ac-ease-standard);
}

.ac-ql-item:hover .ac-ql-icon,
.ac-ql-item:focus-visible .ac-ql-icon {
	background: rgba(255, 255, 255, 0.22);
}

.ac-ql-label {
	flex: 1;
}

/* ── Contact list ─────────────────────────────────────────────────────────── */
.ac-contact-list {
	list-style: none;
	margin:     0;
	padding:    0;
}

.ac-contact-item {
	display:       flex;
	align-items:   flex-start;
	gap:           0.75rem;
	padding:       0.75rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.ac-contact-item:last-child {
	border-bottom: none;
}

.ac-contact-icon {
	flex-shrink:     0;
	display:         flex;
	align-items:     center;
	justify-content: center;
	width:           36px;
	height:          36px;
	border-radius:   50%;
	background:      rgba(0, 47, 134, 0.07);
	color:           var(--ac-color-primary);
	font-size:       0.875rem;
	margin-top:      0.1rem;
}

.ac-contact-detail {
	flex:      1;
	min-width: 0;
}

.ac-contact-type {
	display:        block;
	font-size:      0.625rem;
	font-weight:    var(--ac-font-weight-bold);
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color:          rgba(0, 0, 0, 0.5);
	margin-bottom:  0.2rem;
}

.ac-contact-value {
	font-size:   var(--ac-font-size-sm);
	color:       var(--ac-color-text);
	line-height: var(--ac-line-height-normal);
	word-break:  break-word;
}

.ac-contact-value a {
	color:           var(--ac-color-primary);
	text-decoration: none;
}

.ac-contact-value a:hover,
.ac-contact-value a:focus-visible {
	text-decoration: underline;
	color:           var(--ac-color-secondary);
}

/* ── Social icons row ────────────────────────────────────────────────────── */
.ac-drawer-social {
	display:   flex;
	flex-wrap: wrap;
	gap:       var(--ac-space-2);
}

.ac-drawer-social-link {
	display:         flex;
	align-items:     center;
	justify-content: center;
	width:           40px;
	height:          40px;
	border-radius:   var(--ac-radius-pill);
	border:          1px solid rgba(0, 0, 0, 0.15);
	color:           var(--ac-color-text-muted);
	text-decoration: none;
	font-size:       0.9rem;
	transition:
		background   var(--ac-duration-short) var(--ac-ease-standard),
		border-color var(--ac-duration-short) var(--ac-ease-standard),
		color        var(--ac-duration-short) var(--ac-ease-standard);
}

.ac-drawer-social-link:hover,
.ac-drawer-social-link:focus-visible {
	background:   var(--ac-color-secondary);
	border-color: var(--ac-color-secondary);
	color:        var(--ac-color-white);
	outline:      none;
}

.ac-drawer-social-link:focus-visible {
	outline:        2px solid var(--ac-color-primary);
	outline-offset: 2px;
}

/* ==========================================================================
   Chat with Us trigger button
   ========================================================================== */
.ac-chat-trigger {
	display:         flex;
	align-items:     center;
	gap:             var(--ac-space-4);
	width:           100%;
	padding:         var(--ac-space-4) var(--ac-space-5);
	background:      var(--ac-color-surface);
	border:          1px solid var(--ac-color-border);
	border-radius:   var(--ac-radius-lg);
	cursor:          pointer;
	text-align:      left;
	text-decoration: none;
	transition:
		background-color var(--ac-duration-short) var(--ac-ease-standard),
		border-color     var(--ac-duration-short) var(--ac-ease-standard);
}

.ac-chat-trigger:hover,
.ac-chat-trigger:focus-visible {
	background:   var(--ac-color-primary);
	border-color: var(--ac-color-primary);
	color:        var(--ac-color-white);
}

.ac-chat-trigger:hover .ac-chat-trigger__icon,
.ac-chat-trigger:focus-visible .ac-chat-trigger__icon {
	background: rgba(255, 255, 255, 0.2);
	color:      var(--ac-color-white);
}

.ac-chat-trigger:focus-visible {
	outline:        3px solid var(--ac-color-focus-ring);
	outline-offset: 2px;
}

.ac-chat-trigger__icon {
	flex-shrink:     0;
	display:         flex;
	align-items:     center;
	justify-content: center;
	width:           44px;
	height:          44px;
	border-radius:   var(--ac-radius-pill);
	background:      var(--ac-color-secondary);
	color:           var(--ac-color-white);
	font-size:       1.2rem;
	transition:      background var(--ac-duration-short) var(--ac-ease-standard);
}

.ac-chat-trigger__text {
	flex:           1;
	display:        flex;
	flex-direction: column;
	gap:            2px;
	font-size:      var(--ac-font-size-sm);
	line-height:    1.3;
	color:          inherit;
}

.ac-chat-trigger__text strong {
	font-size:   var(--ac-font-size-base);
	font-weight: var(--ac-font-weight-semibold);
}

.ac-chat-trigger__arrow {
	flex-shrink: 0;
	color:       var(--ac-color-text-muted);
	font-size:   0.75rem;
	transition:  color var(--ac-duration-short) var(--ac-ease-standard);
}

.ac-chat-trigger:hover .ac-chat-trigger__arrow,
.ac-chat-trigger:focus-visible .ac-chat-trigger__arrow {
	color: rgba(255, 255, 255, 0.7);
}
