/**
 * Garage Apex Auction Portal – front-end styles.
 *
 * Colours, corner shape and sizes follow the existing garageapex.com.au buttons.
 * Override any of the variables below in Elementor > Site Settings > Custom CSS.
 */
:root {
	--gaap-red: #9b2c2c;
	--gaap-red-dark: #7d1f1f;
	--gaap-red-grad: linear-gradient(90deg, #8f2121 0%, #c84343 100%);
	--gaap-ink: #1b1b1b;
	--gaap-muted: #5f6368;
	--gaap-radius: 0 9px 0 9px;
	--gaap-focus: #f0b400;
}

/* =========================================================================
 * [ga_portal_link] buttons
 * ====================================================================== */
.gaap-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: 48px;
	padding: 13px 28px;
	border: 1.5px solid transparent;
	border-radius: var(--gaap-radius);
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	transition: filter .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
}
.gaap-btn:focus-visible { outline: 3px solid var(--gaap-focus); outline-offset: 2px; }
.gaap-btn svg { flex: none; width: 16px; height: 16px; }

/* "Portal" icon: a dot in a ring, with a pulse spreading out from it. */
.gaap-btn svg.gaap-ico-portal { width: 18px; height: 18px; overflow: visible; }
.gaap-ico-portal .gaap-pulse { transform-box: fill-box; transform-origin: center; animation: gaap-pulse 1.8s ease-out infinite; }
@keyframes gaap-pulse {
	0%   { transform: scale(1);   opacity: .7; }
	80%  { transform: scale(1.9); opacity: 0; }
	100% { transform: scale(1.9); opacity: 0; }
}
.gaap-btn--block { display: flex; width: 100%; }
.gaap-btn--sm { min-height: 40px; padding: 9px 18px; font-size: 13px; }
.gaap-btn--lg { min-height: 56px; padding: 16px 34px; font-size: 16px; }

.gaap-btn--primary { background: var(--gaap-red-grad) border-box; color: #fff !important; }
.gaap-btn--primary:hover { filter: brightness(1.08); }

.gaap-btn--outline { background: #fff; color: var(--gaap-red) !important; border-color: var(--gaap-red); font-weight: 600; }
.gaap-btn--outline:hover { background: #fff4f4; color: var(--gaap-red-dark) !important; border-color: var(--gaap-red-dark); }

.gaap-btn--dark { background: #000; color: #fff !important; border-color: #3a3a3a; }
.gaap-btn--dark:hover { background: #1c1c1c; border-color: #555; }

.gaap-btn--light { background: #e9e9e9; color: var(--gaap-red) !important; font-weight: 600; }
.gaap-btn--light:hover { background: #f4f4f4; }

.gaap-btn--white { background: #fff; color: var(--gaap-red) !important; font-weight: 600; }
.gaap-btn--white:hover { background: #fff4f4; }

.gaap-btn--link { min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; color: var(--gaap-red) !important; font-weight: 600; text-decoration: underline !important; text-underline-offset: 3px; }
.gaap-btn--link:hover { color: var(--gaap-red-dark) !important; }

/* Wraps an Elementor-designed card or tile; keeps that design untouched. */
.gaap-btn--plain { display: block; min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; color: inherit !important; font: inherit; text-align: inherit; }
.gaap-btn--plain:hover { filter: none; }

/* =========================================================================
 * [ga_auction_portal_button]  (lot page, under Start Bidding)
 * ====================================================================== */
.ga-portal-wrap { font-family: inherit; margin: 0; }
.ga-portal-or { display: flex; align-items: center; gap: 12px; margin: 14px 0 12px; color: #8b8f95; font-size: 13px; line-height: 1; }
.ga-portal-or::before, .ga-portal-or::after { content: ""; flex: 1; height: 1px; background: #d9d9d9; }
.ga-portal-wrap .ga-portal-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; box-sizing: border-box; min-height: 48px; padding: 12px 20px; background: #fff; color: var(--gaap-red); border: 1.5px solid var(--gaap-red); border-radius: var(--gaap-radius); font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.2; text-decoration: none; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.ga-portal-wrap .ga-portal-btn:hover { background: #fff4f4; color: var(--gaap-red-dark); border-color: var(--gaap-red-dark); }
.ga-portal-wrap .ga-portal-btn:focus-visible { outline: 3px solid var(--gaap-focus); outline-offset: 2px; }
.ga-portal-wrap .ga-portal-btn svg { flex: none; }
.ga-portal-sub { margin: 8px 0 0 !important; text-align: center; color: var(--gaap-muted); font-size: 13px; line-height: 1.4; }

/* =========================================================================
 * [ga_sold_prices_link]  (lot page, under the prices)
 * ====================================================================== */
.gsl { display: flex; align-items: center; gap: 12px; margin: 16px 0 0; padding: 12px 14px; background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; text-decoration: none !important; color: var(--gaap-ink); font-family: inherit; transition: border-color .15s ease, box-shadow .15s ease; }
.gsl:hover { border-color: #c98989; box-shadow: 0 4px 14px -8px rgba(155, 44, 44, .45); }
.gsl:focus-visible { outline: 3px solid var(--gaap-focus); outline-offset: 2px; }
.gsl-ic { width: 44px; height: 40px; border-radius: 9px; background: #fff1f1; display: grid; place-items: center; flex: none; }
.gsl-ic svg { width: 26px; height: 21px; }
.gsl-tx { flex: 1; min-width: 0; line-height: 1.3; }
.gsl-tx b { display: block; font-size: 15px; font-weight: 600; color: var(--gaap-ink); }
.gsl-tx small { display: block; font-size: 12.5px; color: var(--gaap-muted); }
.gsl-free { font-size: 11px; font-weight: 700; color: #1c7c3a; background: #e8f6ec; border-radius: 999px; padding: 2px 8px; white-space: nowrap; flex: none; }
.gsl-go { color: var(--gaap-red); flex: none; display: grid; }
.gsl-go svg { width: 16px; height: 16px; }

/* =========================================================================
 * [ga_auction_sheet_teaser]  (lot page, above the USS note)
 * ====================================================================== */
.gas { background: #f6f6f6; border-radius: 18px; padding: 22px; overflow: hidden; font-family: inherit; color: var(--gaap-ink); margin: 0 0 20px; }
.gas-h { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0 0 14px; }
.gas-h h3 { margin: 0; font-size: 19px !important; font-weight: 600 !important; display: flex; align-items: center; gap: 10px; line-height: 1.2 !important; color: var(--gaap-ink) !important; white-space: nowrap; }
.gas-h h3 svg { width: 22px; height: 22px; color: #c62828; flex: none; }
.gas-tag { font-size: 12px; font-weight: 600; color: #6b4e00; background: #fff3cc; border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.gas-sheet { position: relative; border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid #e3e3e3; aspect-ratio: 16 / 8.4; }
.gas-doc { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; max-width: none; }
.gas-doc.is-blur { filter: blur(3.2px) saturate(.85); transform: scale(1.04); }
.gas-doc.is-sharp { clip-path: inset(0 0 78% 0); }
.gas--sample .gas-doc.is-sharp { clip-path: inset(0 0 94% 0); }
.gas-fade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 18%, rgba(255, 255, 255, .55) 45%, rgba(255, 255, 255, .82) 100%); }
.gas-cta { position: absolute; left: 50%; top: 58%; transform: translate(-50%, -50%); width: min(440px, calc(100% - 28px)); box-sizing: border-box; text-align: center; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); border: 1px solid #ececec; border-radius: 14px; padding: 18px 18px 14px; box-shadow: 0 14px 30px -18px rgba(0, 0, 0, .45); }
.gas-cta p { margin: 0 0 12px; font-size: 14.5px; line-height: 1.45; color: #333; font-weight: 500; }
.gas-btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; box-sizing: border-box; background: var(--gaap-red-grad); color: #fff !important; text-decoration: none !important; font-weight: 700; font-size: 17px; line-height: 1.25; padding: 15px 18px; border-radius: var(--gaap-radius); box-shadow: 0 10px 24px -10px rgba(155, 44, 44, .7); transition: filter .15s ease; }
.gas-btn:hover { filter: brightness(1.07); }
.gas-btn:focus-visible { outline: 3px solid var(--gaap-focus); outline-offset: 2px; }
.gas-btn svg { width: 20px; height: 20px; flex: none; }
.gas-cta small { display: block; margin-top: 10px; font-size: 13px; color: #444; }
.gas-get { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 14px 2px 0; padding: 0; list-style: none; font-size: 13.5px; color: #333; }
.gas-get li { display: flex; align-items: center; gap: 7px; margin: 0; }
.gas-get svg { width: 15px; height: 15px; color: #1c7c3a; flex: none; }

/* =========================================================================
 * [ga_sold_history_button]  (sold car page)
 * ====================================================================== */
.ga-sh-btn { display: inline-block; background: var(--gaap-red-grad); color: #fff !important; font-family: inherit; font-weight: 600; font-size: 16px; line-height: 1.2; padding: 14px 26px; border-radius: var(--gaap-radius); text-decoration: none !important; transition: filter .15s ease; }
.ga-sh-btn:hover { filter: brightness(1.08); }
.ga-sh-btn:focus-visible { outline: 3px solid var(--gaap-focus); outline-offset: 2px; }

/* =========================================================================
 * Mobile
 * ====================================================================== */
@media (max-width: 767px) {
	.gaap-btn { padding: 12px 22px; }
	.gsl { padding: 11px 12px; }
	.gas { padding: 16px; border-radius: 16px; }
	.gas-h h3 { font-size: 17px !important; }
	.gas-tag { font-size: 11px; padding: 3px 8px; }
	.gas-sheet { aspect-ratio: 1 / 1; }
	.gas-cta { width: calc(100% - 20px); padding: 14px 12px 12px; }
	.gas-cta p { font-size: 13px; margin-bottom: 10px; }
	.gas-btn { font-size: 15px; padding: 13px 10px; }
	.gas-btn svg { display: none; }
	.gas-cta small { font-size: 12px; }
	.gas-get { gap: 6px 14px; font-size: 12.5px; }
	.gsl-free {display: none;}
	.gsl-tx b{font-size: 12px;}
	.gsl-tx small{font-size: 11px;}
}

@media (prefers-reduced-motion: reduce) {
	.gaap-ico-portal .gaap-pulse { animation: none; opacity: 0; }
	.gaap-btn, .ga-portal-wrap .ga-portal-btn, .gsl, .gas-btn, .ga-sh-btn { transition: none; }
}
