/* ==========================================================================
   All Import Auto Parts — phone polish
   Loaded after aa-brand.css (which stays a verbatim copy of asianautos.com's), so rules
   of equal specificity here win. Everything in this file came out of a device review
   on iPhone SE (320px), iPhone 14 Pro (393px) and Pixel 7 (412px) — 2026-09-16.
   ========================================================================== */

/* --- utilities ------------------------------------------------------------ */
.aa-nowrap { white-space: nowrap; }
.aa-br-sm { display: none; }
@media (max-width: 600px) { .aa-br-sm { display: inline; } }
@media (max-width: 767px) { .aa-hide-sm { display: none !important; } }

/* --- grids never wider than the screen -------------------------------------
   auto-fit minimums of 210-300px are wider than the 280px a 320px phone has left,
   so the column ran past the edge and body{overflow-x:hidden} cut the cards off. */
.aa-split       { grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); }
.aa-cards       { grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
.aa-cards--3    { grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr)); }
.aa-callouts    { grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); }
.aa-contact-grid{ grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
.aa-infocards   { grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); }
.aa-services    { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }

/* --- type ------------------------------------------------------------------
   Mobex sets body/p to 13px; the brand sheet's larger prose size never reached <p>. */
:where(.aa-section, .aa-hero) p { font-size: inherit; }
.aa-prose p { font-size: 1rem; line-height: 1.65; }

/* The Elementor kit's fixed negative tracking (-1.2px on h1) closes Manrope's word
   spaces at phone sizes: "Callus", "Localdelivery". */
body.elementor-kit-14 h1 { letter-spacing: -.02em; }
body.elementor-kit-14 h2 { letter-spacing: -.015em; }
body.elementor-kit-14 h3 { letter-spacing: -.01em; }
h1, h2, h3, h4, .aa-card__title, .aa-callout__label { word-spacing: .06em; }
.aa-hero h1, .aa-section h2, .aa-prose h2, .aip-part__title, .aip-h2 { text-wrap: balance; }
.aa-hero p, .aa-prose p, .aa-split p, .aa-card__meta, .aa-infocard p, .aa-service p { text-wrap: pretty; }

/* Small labels were too faint to read (sky on white is about 2.3:1). */
.aa-eyebrow { color: #0B6BA6; }
.aa-hero .aa-eyebrow, .aa-section--navy .aa-eyebrow, .aa-cta .aa-eyebrow { color: var(--aa-sky); }
.aa-card__index { color: #0B6BA6; font-weight: 600; letter-spacing: .1em; }
.aa-contact-card__label { color: #0B6BA6; font-size: .75rem; }

/* iOS zooms the page when a field under 16px gets focus, and stays zoomed. */
@media (max-width: 1024px) {
	input[type=text], input[type=email], input[type=password], input[type=search],
	input[type=tel], input[type=number], input[type=url], input.search, select, textarea {
		font-size: 16px !important;
	}
}

/* --- section rhythm on phones --------------------------------------------- */
.aa-section--alt + .aa-section--alt { padding-top: 0; }
@media (max-width: 767px) {
	.aa-section .aa-section-head { margin-bottom: 1.25rem; }
	.aa-section-head .aa-rule { margin-bottom: 0; }
}
/* An empty grid panel beside (or under) narrow text looks like a failed image. */
@media (max-width: 1023px) { .aa-split > .aa-blueprint { display: none; } }
@media (max-width: 480px) {
	.aa-section { padding-block: 2.5rem; }
}

/* "View all" links were tiny text under big sections. */
.aa-viewall a:not(.aa-btn) {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.35rem;
	border-radius: 999px; background: #fff; border: 1px solid var(--aa-border-str); text-decoration: none;
}
.aa-viewall a:not(.aa-btn):hover { border-color: var(--aa-navy); }
/* Ghost buttons drew two outlines (a border and an inset shadow). */
a.aa-btn--ghost, a.aa-btn--ghost:hover { border: 0 !important; }

/* --- home hero -------------------------------------------------------------- */
@media (max-width: 600px) {
	.aa-hero--finder .aa-hero__lead h1 {
		white-space: normal; font-size: clamp(1.75rem, 7.6vw, 2.25rem);
		letter-spacing: -.015em; line-height: 1.12; text-wrap: balance;
	}
}
@media (max-width: 480px) {
	.aa-hero--finder .aa-container { padding-top: 1.25rem; padding-bottom: 1.5rem; }
	.aa-hero--finder .aa-hero__lead h1 { margin-bottom: .5rem; }
	.aa-hero--finder .aa-hero__lead p { font-size: .92rem; line-height: 1.5; }
	.aa-hero--finder .aa-eyebrow { font-size: .64rem; letter-spacing: .1em; margin-bottom: .5rem; }
}
/* Trust bullets: a wrapped bullet went full width with its tick stranded on the left. */
.aa-trustline li { text-align: left; }
@media (max-width: 480px) {
	.aa-trustline { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem .9rem; justify-items: start; font-size: .78rem; line-height: 1.35; }
	.aa-trustline li { align-items: flex-start; }
	.aa-trustline li::before { margin-top: 2px; }
}
/* Eight text-only blocks in a row on a phone: the service strip repeats the info cards. */
@media (max-width: 600px) { .aa-servicestrip { display: none; } }

/* --- compact heroes on content pages -------------------------------------- */
@media (max-width: 480px) {
	.aa-hero--compact .aa-hero__inner { padding-block: 2rem 2.25rem; }
	.aa-hero--compact .aa-hero__copy h1 { font-size: clamp(1.75rem, 8.4vw, 2.1rem); margin-bottom: .6rem; }
	.aa-hero--compact .aa-hero__copy p { font-size: 1rem; line-height: 1.55; }
}

/* --- policy pages ------------------------------------------------------------ */
.aa-prose ul, .aa-prose ol { list-style-position: outside; padding-left: 1.2rem; margin: .75rem 0 1.1rem; }
.aa-prose li { padding-left: .3rem; margin-bottom: .45rem; line-height: 1.55; }
.aa-prose li::marker { color: var(--aa-sky); }
.aa-prose h2[id] { scroll-margin-top: 90px; }
.aa-summary {
	background: var(--aa-bg-alt); border: 1px solid var(--aa-border); border-left: 3px solid var(--aa-sky);
	border-radius: var(--aa-radius); padding: 1.1rem 1.2rem .4rem; margin-bottom: 1.5rem;
}
.aa-summary h2 { margin-top: 0; }
.aa-toc { display: flex; flex-wrap: wrap; gap: .5rem; overflow: visible; padding-bottom: .25rem; margin: 0 0 1rem; }
.aa-toc::-webkit-scrollbar { display: none; }
.aa-toc a {
	flex: none; display: inline-flex; align-items: center; min-height: 40px; padding: 0 .9rem;
	border: 1px solid var(--aa-border-str); border-radius: 999px; font: 600 .88rem var(--aa-font-head);
	color: var(--aa-navy); text-decoration: none; background: #fff;
}
.aa-askus { margin-top: 2rem; }
.aa-askus .aa-callout { display: block; }
.aa-askus__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .8rem; }
@media (max-width: 480px) { .aa-askus__actions { flex-direction: column; align-items: stretch; } .aa-askus__actions .aa-btn { width: 100%; text-align: center; } }

/* --- contact / about ------------------------------------------------------- */
.aa-contact-card { display: flex; flex-direction: column; }
.aa-contact-card > .aa-contact-card__action { margin-top: auto; }
.aa-contact-card address { margin-bottom: 1rem; }
.aa-contact-card > :last-child { margin-bottom: 0; }
.aa-callout a { white-space: nowrap; font-weight: 600; }
.aa-contact-card__action {
	display: flex; align-items: center; justify-content: center; min-height: 48px; width: 100%;
	white-space: nowrap;
}
@media (max-width: 480px) {
	.aa-contact-card { padding: 1.25rem; }
	.aa-viewall .aa-btn { display: flex; justify-content: center; width: 100%; min-height: 48px; }
	.aa-cards--steps .aa-card { padding: 1.1rem 1.2rem; display: grid; grid-template-columns: 2.25rem 1fr; column-gap: .75rem; }
	.aa-cards--steps .aa-card__index {
		grid-row: 1 / span 2; margin: 0; width: 2.25rem; height: 2.25rem; border-radius: 50%;
		background: var(--aa-sky-50); color: var(--aa-navy); display: grid; place-items: center; letter-spacing: 0;
	}
}

@media (min-width: 700px) and (max-width: 1024px) {
	.aa-cards--3, .aa-contact-grid, .aa-cards--steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* --- mobile header ---------------------------------------------------------- */
@media (max-width: 1024px) {
	.et-mobile .et-product-search-toggle .toggle-placeholder {
		font-size: 15px !important; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
	}
	.et-mobile .elementor-element-60c0b2d > .e-con-inner { padding-left: 12px !important; padding-right: 12px !important; box-sizing: border-box; }
	.et-mobile .et-product-search-toggle .toggle { border-radius: 10px; }
	.et-mobile .aa-burger, .et-mobile .aa-burger:hover, .et-mobile .aa-burger:focus {
		background: transparent !important; box-shadow: none !important; transform: none !important;
	}
	.et-mobile .aa-burger:active { background: rgba(255, 255, 255, .16) !important; }

	/* Once scrolled, the sticky header kept its full two rows (141px): with the bottom bar
	   a third of an iPhone SE screen was always covered. Sticky = one row: burger, search, cart. */
	.et-mobile.sticky-true.active .elementor-element-60c0b2d > .e-con-inner {
		flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important;
		gap: 8px !important; padding-top: 8px !important; padding-bottom: 8px !important;
	}
	.et-mobile.sticky-true.active .elementor-element-a75cb3c { display: contents !important; }
	.et-mobile.sticky-true.active .header-logo { display: none !important; }
	.et-mobile.sticky-true.active .elementor-element-59228a4 { order: 1; flex: 1 1 auto !important; min-width: 0; width: auto !important; }
	.et-mobile.sticky-true.active .elementor-element-59228a4 .et-product-search-toggle { width: 100%; }
	.et-mobile.sticky-true.active .elementor-element-7af2a81 { order: 2; flex: none; width: auto !important; }
	.et-mobile.sticky-true.active .et-product-search-toggle .toggle { height: 40px !important; }
	.et-mobile.sticky-true.active .elementor-element-59228a4 > .elementor-widget-container { margin-top: 0 !important; }
	.et-mobile .elementor-element-7af2a81 > .elementor-widget-container { display: flex; justify-content: flex-end; margin-right: 0 !important; }
	.et-mobile.sticky-true.active { animation: aipHdrIn .22s ease-out; }

	/* search overlay */
	.et-mobile .search-box .search-toggle-off { width: 44px; height: 44px; background-color: transparent !important; border-radius: 50%; }
	.et-mobile .search-box .search-toggle-off:before { background-color: var(--aa-navy) !important; }
	.et-mobile .search-box .et-search-button { background: var(--aa-navy) !important; color: #fff !important; border-radius: 10px; }
	.et-mobile .search-box input.search { border-radius: 10px; }

	/* drawer */
	.et-mobile-container-top .mobile-toggle { width: 44px; }
	.mobile-tabset .tab-item.active { box-shadow: inset 0 -3px 0 var(--aa-sky); color: var(--aa-navy); }
	.mobile-container .form-links a { color: var(--aa-navy) !important; font-weight: 600; }
	.mobile-container .mobile-menu .aa-all > a { font-weight: 600; color: var(--aa-navy) !important; }

}
/* Bottom bar: the theme switches to desktop mode AT 1024px, so stop at 1023. */
@media (max-width: 1023px) {
	.sticky-dashboard { background: #fff; box-shadow: 0 -1px 0 var(--aa-border), 0 -4px 14px rgba(7, 30, 69, .07) !important; }
	.sticky-dashboard li a { font-size: 12px !important; line-height: 12px !important; }
	.sticky-dashboard li.product-search:not(.hidden) { display: list-item !important; }

	/* drawer login + live search density */
	.mobile-container .tab-content input[type=submit] { width: 100%; min-height: 48px; }
	.mobile-container .form-links { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; }
	.product-search .search-results h3 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
}
@media (max-width: 360px) {
	.et-mobile.sticky-true.active .toggle-placeholder[data-short] { font-size: 0 !important; }
	.et-mobile.sticky-true.active .toggle-placeholder[data-short]::after { content: attr(data-short); font-size: 15px; }
}
@keyframes aipHdrIn { from { transform: translateY(-100%); } to { transform: none; } }

/* Live-search highlight was pure yellow. */
.product-search h3 .highlight, .product-search .product-sku .highlight {
	background-color: rgba(53, 182, 232, .22) !important; color: inherit; border-radius: 3px; padding: 0 2px;
}
.product-search .aip-noimg-thumb { width: 56px; height: 56px; background: var(--aa-bg-alt); border-radius: 6px; }

/* --- WooCommerce pages (cart, account, checkout) ----------------------------- */
@media (max-width: 767px) {
	body:is(.woocommerce-cart, .woocommerce-account, .woocommerce-checkout) :is(.title-section .container, #et-content > .product-layout > .container, #et-content > .container) {
		width: auto !important; max-width: none !important; padding-left: 20px !important; padding-right: 20px !important;
	}
}
.woocommerce-breadcrumb, .et-breadcrumbs { font-size: .82rem; border-bottom: 0; }

/* Empty cart */
.wc-block-cart__empty-cart__title { text-align: center !important; letter-spacing: -.01em !important; font-size: 1.25rem; color: var(--aa-heading); word-spacing: .06em; }
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before { background-color: var(--aa-border-str) !important; width: 4rem !important; height: 4rem !important; }
.wp-block-woocommerce-empty-cart-block > p { text-align: center; color: var(--aa-muted); font-size: 1rem; line-height: 1.55; }
.wp-block-woocommerce-empty-cart-block { padding-bottom: 3rem; }
body.logged-in .wp-block-woocommerce-empty-cart-block .wp-block-button.is-style-outline { display: none; }
.wp-block-woocommerce-empty-cart-block .wp-block-buttons { display: flex; flex-direction: column; align-items: stretch; gap: .6rem; max-width: 320px; margin: 1.25rem auto 0; }
.wp-block-woocommerce-empty-cart-block .wp-block-button__link { display: flex; justify-content: center; min-height: 48px; align-items: center; width: 100%; border-radius: var(--aa-radius-sm); font-family: var(--aa-font-head); font-weight: 700; }
.wp-block-woocommerce-empty-cart-block .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--aa-navy) !important; color: #fff !important; border: 0 !important; }
.wp-block-woocommerce-empty-cart-block .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--aa-cta) !important; color: #fff !important; }
.wp-block-woocommerce-empty-cart-block .is-style-outline .wp-block-button__link { background: #fff !important; color: var(--aa-navy) !important; border: 1.5px solid var(--aa-border-str) !important; }

/* Show-password toggle rendered as an empty navy bar. */
.woocommerce form .password-input { position: relative; display: block; }
.woocommerce form .password-input input { padding-right: 3.2rem !important; }
.woocommerce form .show-password-input {
	position: absolute !important; right: 2px; top: 2px; width: 44px; height: 44px; padding: 0 !important; min-height: 0;
	background: transparent !important; box-shadow: none !important; border: 0 !important; transform: none !important; color: var(--aa-muted);
}
.woocommerce form .show-password-input::before {
	content: ""; display: block; width: 20px; height: 20px; margin: auto; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce form .show-password-input.display-password { color: var(--aa-navy); }

/* Login / register */
.aip-register-intro { color: var(--aa-muted); margin: 0 0 1rem; }
@media (max-width: 767px) {
	.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) { display: flex; flex-direction: column; align-items: stretch; gap: .75rem; }
	.woocommerce-form-login__submit, .woocommerce-form-register__submit { width: 100%; min-height: 50px; margin: 0 !important; }
	.woocommerce-form-login__rememberme { display: inline-flex; min-height: 44px; align-items: center; gap: .6rem; }
	.woocommerce-form-login .woocommerce-form__label-for-checkbox { justify-content: flex-start !important; }
	.woocommerce-account #customer_login form, .woocommerce-account #customer_login form > p:last-child { margin-bottom: 0 !important; }
	#rememberme { width: 20px; height: 20px; accent-color: var(--aa-navy); }
	.woocommerce-LostPassword { text-align: center; }
	.woocommerce-account #customer_login > .u-column1, .woocommerce-account #customer_login > .u-column2 {
		background: #fff; border: 1px solid var(--aa-border) !important; border-radius: var(--aa-radius); padding: 1.25rem 1rem !important;
	}
	.woocommerce-account #customer_login > .u-column2 { margin-top: 1rem !important; }
	.woocommerce-account .col2-set h2 { font-size: 1.25rem; margin: 0 0 1rem; }
}

/* Pages with no header-menu item (cart, account, policies): the theme underlines the first
   item anyway; hide that until the visitor hovers the menu. */
.header-menu.aip-no-current:not(:hover) > li.active > a .effect { opacity: 0; }

/* Nav colour follows the underline: no item looks current on pages the menu does not list. */
.header-menu.aip-no-current > li.active:not(:hover) > a, .header-menu.aip-no-current > li.active:not(:hover) > a span { color: #111 !important; }

/* Buttons inside a left-aligned split column sit on the left. */
.aa-split .aa-viewall { text-align: left; }

/* Home on tablets: no single orphan item on a row. */
@media (min-width: 481px) and (max-width: 1023px) {
	.aa-trustline { display: grid; grid-template-columns: repeat(2, max-content); justify-content: center; gap: .5rem 2rem; }
}
@media (min-width: 700px) { .aa-infocards, .aa-services { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .aa-infocards, .aa-services { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Login: keep "Remember me" off the button. */
.woocommerce-form-login__rememberme { margin-right: 1.25rem !important; }

/* Cart and account pages line up with the catalog pages on desktop. */
@media (min-width: 1024px) {
	body:is(.woocommerce-cart, .woocommerce-account, .woocommerce-checkout) :is(.title-section .container, #et-content > .product-layout > .container) {
		width: 100% !important; max-width: 1300px !important; padding-inline: clamp(1.25rem, .75rem + 1.6vw, 2rem) !important;
		margin-inline: auto !important; box-sizing: border-box;
	}
	/* The floating Top square only once there is somewhere to go back to. */
	.sticky-dashboard li.arrow-top { transition: opacity .2s; }
	body:not(.aa-scrolled) .sticky-dashboard li.arrow-top { opacity: 0; pointer-events: none; }
}

/* Header cart sheet when empty. */
.cart-box .woocommerce-mini-cart__empty-message { text-align: center; padding: 3rem 1rem .75rem; font: 700 1.1rem var(--aa-font-head); color: var(--aa-heading); }
.cart-box .aip-mini-empty { text-align: center; }
.cart-box .aip-mini-empty .aa-btn { display: inline-flex; min-width: 200px; justify-content: center; }
