/*
 * Costa Rican Harry: details Elementor's controls can't express.
 * Layout, spacing, colour and type are set on the Elementor elements themselves;
 * this file only covers pseudo-elements, multi-stop gradients, SVG stroke weights,
 * hover motion and the few states Elementor has no control for.
 */

/* --- Base (matches the design's preflight) --- */
body { -webkit-font-smoothing: auto; }
a { color: inherit; }
::selection { background: #DEF1E5; }
.elementor-widget-text-editor p { margin: 0; }
.elementor-widget-text-editor p + p { margin-top: var(--crh-p-gap, 0); }
.elementor-heading-title a { color: inherit; }
.brand-dot { color: #007349; }

/* Lucide icons: the design draws them at stroke 2 unless noted. */
.elementor-icon svg, .elementor-button-icon svg, .elementor-icon-list-icon svg { fill: none !important; stroke: currentColor; }
.stroke-15 svg { stroke-width: 1.5; }
.stroke-16 svg { stroke-width: 1.6; }

/* --- Buttons (shadcn "lg": 44px tall, 16px icon) --- */
.btn .elementor-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; transition: background-color .15s, color .15s, border-color .15s; }
.btn .elementor-button-icon { display: inline-flex; }
.btn .elementor-button-icon svg { width: 16px; height: 16px; }
.btn-outline .elementor-button { box-shadow: 0 1px 2px #0000000d; }
.btn-primary .elementor-button { box-shadow: 0 1px 3px #0000001a, 0 1px 2px -1px #0000001a; }

/* --- Header --- */
.brand-mark svg { stroke-width: 1.5; }
.main-nav .elementor-nav-menu--main .menu-cta { display: none; }
.main-nav .elementor-nav-menu--main .elementor-nav-menu > li:nth-last-child(2) > a { margin-inline-end: 0 !important; }
@media (max-width: 900px) {
	.main-nav .elementor-nav-menu--dropdown { border-bottom: 1px solid #D6E0E3; padding: 20px 28px; }
	.main-nav .elementor-nav-menu--dropdown .menu-cta { display: block; margin-top: 12px; }
	.main-nav .elementor-nav-menu--dropdown .menu-cta a { background: #007349 !important; color: #fff !important; justify-content: center; min-height: 44px; border-radius: 4px; font-size: 12px; }
}

/* --- Footer --- */
.footer-links .elementor-icon-list-icon { display: none; }
@media (max-width: 900px) { .footer-last { grid-column: 1 / -1; } }
@media (max-width: 600px) { .footer-brand { grid-column: 1 / -1; } }

/* --- Home hero slider (Nested Carousel) --- */
.hero { --gut: 40px; --hero-h: 600px; height: var(--hero-h); isolation: isolate; }
@media (min-width: 1500px) { .hero { --hero-h: 660px; } .hero .hero-slide { min-height: 660px; } }
@media (max-width: 1100px) { .hero { --gut: 28px; } }
@media (max-width: 900px) { .hero { --hero-h: 570px; } }
@media (max-width: 600px) { .hero { --gut: 22px; --hero-h: 590px; } }
.hero .hero-carousel, .hero .hero-carousel .e-n-carousel { height: 100%; }
.hero-slide { isolation: isolate; }
.hero-slide::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #001019C2, #00101963 46%, #00101908); }
@media (max-width: 600px) { .hero-slide::after { background: linear-gradient(90deg, #000f16cc, #000f1673); } }
.hero .eyebrow .elementor-heading-title { display: flex; align-items: center; gap: 10px; }
.hero .eyebrow .elementor-heading-title::before { content: ""; width: 27px; height: 2px; background: #007349; display: block; }
/* Design swaps the image instantly and fades the copy in. */
.hero .swiper-slide-active .hero-copy { animation: crh-fade-in .7s ease-out; }
@keyframes crh-fade-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
/* Controls cluster bottom-right of the site container: [‹] [— — —] [›] [❚❚] */
.hero { --R: calc(max(0px, (100% - 1240px) / 2) + var(--gut)); }
.hero .elementor-swiper-button { top: auto !important; bottom: 31px; transform: none !important; translate: none !important; width: 36px; height: 36px; box-sizing: border-box; display: grid; place-items: center; }
.hero .elementor-swiper-button-next { right: calc(var(--R) + 44px) !important; left: auto !important; inset-inline-end: calc(var(--R) + 44px) !important; }
.hero .elementor-swiper-button-prev { right: calc(var(--R) + 190px) !important; left: auto !important; inset-inline-start: auto !important; inset-inline-end: calc(var(--R) + 190px) !important; }
.hero .elementor-swiper-button svg { width: 16px; height: 16px; }
.hero .swiper-pagination.swiper-pagination-bullets { bottom: 37px !important; top: auto !important; left: auto !important; right: calc(var(--R) + 88px) !important; width: auto !important; display: flex; gap: 8px; transform: none !important; }
.hero .swiper-pagination .swiper-pagination-bullet { width: 26px !important; height: 24px !important; margin: 0 !important; border-radius: 0; background: transparent !important; opacity: 1 !important; display: grid; place-items: center; }
.hero .swiper-pagination .swiper-pagination-bullet::after { content: ""; width: 18px; height: 3px; background: #fff; opacity: .4; }
.hero .swiper-pagination .swiper-pagination-bullet-active::after { width: 26px; opacity: 1; }
.hero .hero-bottom { left: 0 !important; right: 0; bottom: 31px; pointer-events: none; }
.hero .hero-bottom > .e-con-inner > * { pointer-events: auto; }
.hero-pause .elementor-button { width: 36px; height: 36px; min-height: 36px !important; padding: 0; }
.hero-pause .elementor-button-text { display: none; }

/* --- Home: Harry intro --- */
.hm-portrait { margin-inline: auto; max-width: 100%; }
.hm-frame { position: relative; z-index: 1; border-radius: 16px; box-shadow: 0 30px 60px -30px #08283c8c; }
.hm-frame::before { content: ""; position: absolute; inset: 22px -22px -22px 22px; background: #007349; border-radius: 16px; z-index: -1; }
@media (max-width: 900px) { .hm-frame::before { inset: 14px -12px -14px 12px; } }
.hm-frame img { width: 100%; aspect-ratio: 5 / 6; object-fit: cover; object-position: center top; display: block; }
.hm-h2 .hl, .hl { color: #007349; }
.hm-quote .elementor-blockquote { margin: 0; }

/* --- Dot bullets --- */
.dots .elementor-icon-list-icon { display: none; }
.dots .elementor-icon-list-item { position: relative; padding-left: 22px; }
.dots .elementor-icon-list-item::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: #007349; }

/* --- Cards hover --- */
.hiw-step { transition: transform .2s, box-shadow .2s; }
.hiw-step:hover { box-shadow: 0 14px 28px -16px #08283c59; }
.text-link .elementor-button { min-height: 0 !important; box-shadow: none !important; }

/* --- Vehicle card (loop item) --- */
.vc { transition: transform .25s, box-shadow .25s; height: 100%; }
.vc:hover { transform: translateY(-4px); box-shadow: 0 18px 36px -20px #08283c66; }
.vc-photo { aspect-ratio: 3 / 2; display: block; }
.vc-photo .vc-img, .vc-photo .vc-img img { width: 100%; height: 100%; }
.vc-photo .vc-img img { object-fit: cover; transition: transform .5s; }
.vc:hover .vc-photo .vc-img img { transform: scale(1.04); }
.vc-title .elementor-heading-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vc-trim { min-width: 0; }
.vc-price .elementor-heading-title { white-space: nowrap; }
.vc-details .elementor-button, .vc-wa .elementor-button { min-height: 46px; box-shadow: none !important; }
.vc-wa .elementor-button:hover { background: #DEF1E5 !important; }
.vc-details .elementor-button:hover { filter: brightness(1.12); background: #007349 !important; }
.vc-details .elementor-button-icon svg { width: 14px; height: 14px; }
.vehicle-grid .e-loop-item { height: 100%; }
.ico .elementor-icon-wrapper { line-height: 0; }
.ico .elementor-icon { display: inline-flex; }
.hero .hero-bottom { top: auto !important; height: auto; }

/* --- View Cars filter bar (HTML widget + crh.js; styles from the design) --- */
.cf-ui .field { border: 1px solid #D6E0E3; background: #fff; border-radius: 4px; width: 100%; height: 52px; padding: 12px; font: inherit; font-size: 15px; color: #092B38; line-height: 1.5; }
.cf-ui .field:focus { outline: 2px solid #007349; outline-offset: 2px; }
.cf-ui .field::placeholder { color: #092B3880; }
.cf-bar { background: #fff; border: 1px solid #D6E0E3; border-radius: 14px; margin-bottom: 22px; padding: 20px; box-shadow: 0 14px 34px -24px #08283c66; }
.cf-top { display: grid; grid-template-columns: 1fr 220px auto; align-items: end; gap: 14px; }
.search-wrap { position: relative; }
.search-wrap svg { position: absolute; left: 13px; top: 17px; width: 18px; height: 18px; color: #5D6B73; }
.cf-search .field { padding-left: 44px; font-size: 16px; }
.cf-sort span, .cf-field span { display: block; color: #5D6B73; margin-bottom: 6px; font-size: 13px; font-weight: 600; line-height: 1.5; }
.cf-toggle { display: none; align-items: center; gap: 8px; height: 52px; padding: 0 16px; border: 1px solid #D6E0E3 !important; background: #fff !important; color: #092B38 !important; border-radius: 6px !important; font: inherit; font-weight: 700; cursor: pointer; }
.cf-toggle b { background: #007349; color: #fff; border-radius: 999px; padding: 2px 8px; font-size: 12px; }
.cf-toggle b[hidden] { display: none; }
.cf-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.cf-chips button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1.5px solid #D6E0E3 !important; background: #fff !important; color: #092B38 !important; border-radius: 999px !important; font: inherit; font-size: 15px; font-weight: 600; line-height: 1.5; cursor: pointer; transition: all .15s; }
.cf-chips button i { background: #DEF1E5; color: #002B3C; border-radius: 999px; padding: 2px 8px; font-size: 12px; font-style: normal; line-height: 1.5; }
.cf-chips button:hover { border-color: #007349 !important; }
.cf-chips button.on { background: #002B3C !important; border-color: #002B3C !important; color: #fff !important; }
.cf-chips button.on i { color: #fff; background: #fff3; }
.cf-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin-top: 18px; padding-top: 18px; border-top: 1px solid #D6E0E3; }
.cf-results { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-bottom: 20px; }
.cf-results > strong { font-size: 18px; line-height: 1.5; }
.cf-pills { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cf-pills button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 0 !important; background: #DEF1E5 !important; color: #002B3C !important; border-radius: 999px !important; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.cf-pills button:hover { background: #cfe9da !important; }
.cf-pills .clear { color: #007349 !important; background: none !important; text-decoration: underline; }
.cf-empty { text-align: center; background: #F4F3EE; border-radius: 14px; padding: 70px 16px; }
.cf-empty[hidden], .elementor-widget-loop-grid[hidden], .e-loop-item[hidden] { display: none !important; }
.cf-empty svg { width: 44px; height: 44px; color: #007349; margin: 0 auto 12px; display: block; }
.cf-empty h2 { font-family: Manrope, sans-serif; margin: 0 0 8px; font-size: 26px; font-weight: 750; line-height: 1.5; color: #092B38; }
.cf-empty p { max-width: 460px; color: #5D6B73; margin: 0 auto 22px; font-size: 16px; }
.cf-empty .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.crh-btn { display: inline-flex; align-items: center; justify-content: center; height: 36px; padding: 8px 16px; border-radius: 6px; font-size: 14px; font-weight: 500; background: #007349 !important; color: #fff !important; border: 0 !important; cursor: pointer; font-family: inherit; line-height: 20px; }
.crh-btn.outline { background: #FDFCF9 !important; color: #092B38 !important; border: 1px solid #D6E0E3 !important; }
@media (max-width: 1100px) { .cf-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) {
	.cf-top { grid-template-columns: 1fr 1fr; }
	.cf-search { grid-column: 1 / -1; }
	.cf-toggle { display: inline-flex; justify-content: center; }
	.cf-grid { display: none; }
	.cf-grid.open { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
	.cf-top, .cf-grid.open { grid-template-columns: 1fr; }
	.cf-bar { padding: 16px; }
	.vc-actions { --e-con-grid-template-columns: 1fr !important; }
}

/* Sticky header (design: position sticky; top 0). */
.elementor-location-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 40; }

/* --- Single vehicle --- */
.dt-hero { aspect-ratio: 3 / 2; }
.dt-hero .dt-img, .dt-hero .dt-img img { width: 100%; height: 100%; }
.dt-hero .dt-img img { object-fit: cover; display: block; }
.dt-note a { color: #007349; font-weight: 700; }
.btn-sm .elementor-button { min-height: 36px !important; box-shadow: 0 1px 3px #0000001a, 0 1px 2px -1px #0000001a; }
.dt-bar { left: 0; right: 0; padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important; }
.checks .elementor-icon-list-icon svg { width: 18px; height: 18px; }

/* --- Forms (Elementor Pro Form, sized like the design's fields) --- */
.crh-form .elementor-field-textual, .crh-form select.elementor-field { min-height: 52px; padding: 12px; font-size: 16px; }
.crh-form textarea.elementor-field { height: 110px; min-height: 0; }
.ct-form textarea.elementor-field { height: 140px; }
.ct-form .elementor-field::placeholder { font-weight: 400; }
.crh-form .elementor-field:focus { outline: 2px solid #007349; outline-offset: 2px; box-shadow: none; }
.crh-form .elementor-select-wrapper .select-caret-down-wrapper { inset-inline-end: 12px; }
.crh-form .elementor-button { min-height: 44px; box-shadow: 0 1px 3px #0000001a, 0 1px 2px -1px #0000001a; }
.crh-form .e-form__buttons, .crh-form .elementor-field-type-submit { justify-content: flex-start; }
.sy-group { display: flex; align-items: center; gap: 12px; margin: 8px 0 0; }
.sy-group.sy-sep { border-top: 1px solid #D6E0E3; margin-top: 18px; padding-top: 28px; }
.sy-group h3 { margin: 0; font-family: Manrope, sans-serif; font-size: 22px; font-weight: 700; line-height: 1.5; color: #092B38; }
.sy-n { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #007349; color: #fff; font-size: 15px; font-weight: 700; flex: none; }
.sell-form .elementor-field-type-upload { position: relative; }
.sell-form .elementor-field-type-upload > label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.sell-form .elementor-field-type-upload input[type=file] { position: relative; z-index: 1; width: 100%; height: 149px; padding: 0; border: 0; opacity: 0; cursor: pointer; }
.sell-form .elementor-field-type-upload::before { content: attr(data-label); position: absolute; inset: 0; border: 2px dashed #007349; background: #DEF1E5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 24 24' fill='none' stroke='%23007349' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 13v8'/%3E%3Cpath d='M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242'/%3E%3Cpath d='m8 17 4-4 4 4'/%3E%3C/svg%3E") center 28px no-repeat; border-radius: 10px; color: #002B3C; font-size: 17px; font-weight: 700; display: grid; place-items: end center; padding-bottom: 49px; text-align: center; }
.sell-form .elementor-field-type-upload::after { content: "Tap to choose images"; position: absolute; left: 0; right: 0; bottom: 26px; text-align: center; color: #002B3C; opacity: .8; font-size: 14px; }
.sell-form .elementor-field-type-upload:focus-within::before { outline: 3px solid #007349; outline-offset: 2px; }
.sell-form .elementor-field-type-acceptance { margin-top: 10px; margin-bottom: 22px !important; }
.sell-form .elementor-field-type-acceptance .elementor-field-subgroup label { font-size: 15px; font-weight: 400; line-height: 1.55; }
.sell-form .elementor-field-type-acceptance input { width: 18px; height: 18px; margin-top: 4px; }
.sell-form .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: flex-start; gap: 12px; }
@media (min-width: 901px) { .sy-aside { position: sticky; top: 94px; } }
@media (max-width: 900px) { .sy-aside { order: -1; } }

/* --- Contact --- */
.ct-method { transition: transform .2s, box-shadow .2s; color: inherit; }
.ct-method:hover { box-shadow: 0 12px 26px -16px #08283c59; }
.ph { margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: #F3E3B8; color: #7A5A12; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ct-path { transition: background .2s; }
.ct-path:hover { background: #FFFFFF21 !important; }

/* --- Meet Harry --- */
.mx-hero { background: radial-gradient(880px 420px at 84% 14%, #00525A80, transparent 62%), linear-gradient(135deg, #001B2C, #002B3C 58%, #003540) !important; overflow: hidden; }
.mx-h1 em { display: block; font-style: normal; color: #8FDCAE; }
.mx-hero-copy, .mx-photo { animation: crh-rise .7s both; }
.mx-photo { animation-duration: .8s; animation-delay: .12s; justify-self: end; margin: 0; }
@keyframes crh-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.mx-photo::before { content: ""; position: absolute; inset: 20px -20px -20px 20px; border: 2px solid #8FDCAE59; border-radius: 190px 190px 24px 24px; }
.mx-photo-img img { position: relative; display: block; width: 100%; aspect-ratio: 5 / 6; object-fit: cover; object-position: center top; border-radius: 190px 190px 24px 24px; box-shadow: 0 30px 60px -24px #00000080; }
@media (max-width: 900px) { .mx-photo { justify-self: center; } }
.mx-chap-num .elementor-heading-title { color: transparent; -webkit-text-stroke: 1.5px #007349; }
.mx-chap-ico svg { width: 22px; height: 22px; }
.mh-quote .elementor-blockquote { margin: 0; padding: 0; border: 0; }
.mh-quote .elementor-blockquote__content { margin: 0; }
.mx-why::after { content: ""; position: absolute; top: -130px; right: -130px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, #8fdcae26, #0000 70%); pointer-events: none; }
.mx-why > * { position: relative; z-index: 1; }
.mx-hurdle { transition: background .25s, transform .25s; }
.mx-hurdle:hover { background: #ffffff1c !important; }
.dots.big .elementor-icon-list-item { padding-left: 26px; }
.dots.big .elementor-icon-list-item::before { width: 9px; height: 9px; }
.dots.gold .elementor-icon-list-item::before { background: #C9A86A; }
/* On-page rail: vertical list with an active marker; becomes a sticky pill bar under 1000px. */
.mx-rail { position: sticky; top: 108px; z-index: 20; }
.mx-rail-list { border-left: 2px solid #D6E0E3; counter-reset: rail; }
.rail-link .elementor-button { border-left: 2px solid transparent; margin-left: -2px; border-radius: 0; box-shadow: none !important; transition: color .2s, border-color .2s; }
.rail-link { counter-increment: rail; }
.rail-link .elementor-button-text::before { content: "0" counter(rail); font-size: 11px; font-weight: 700; letter-spacing: .14em; opacity: .7; margin-right: 12px; }
.rail-link .elementor-button.on { color: #007349 !important; border-left-color: #007349; }
.mx-sec { scroll-margin-top: 108px; }
@media (max-width: 1000px) {
	.mx-rail { top: 76px; margin-inline: -28px; padding: 12px 28px; background: #fffffff2; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid #D6E0E3; }
	.mx-rail-list { border-left: 0; overflow-x: auto; flex-wrap: nowrap !important; }
	.rail-link { flex: none; }
	.rail-link .elementor-button { margin: 0; padding: 8px 16px !important; border: 1px solid #D6E0E3; border-radius: 999px; background: #fff !important; white-space: nowrap; }
	.rail-link .elementor-button-text::before { display: none; }
	.rail-link .elementor-button.on { background: #007349 !important; color: #fff !important; border-color: #007349; }
	.mx-sec { scroll-margin-top: 134px; }
}
@media (max-width: 900px) { .mx-rail { top: 68px; } }
@media (max-width: 600px) { .mx-rail { margin-inline: -22px; padding-inline: 22px; } }

/* --- How Harry Gets Paid --- */
.hp-hero { background: radial-gradient(880px 420px at 86% 20%, #00525A80, transparent 62%), linear-gradient(135deg, #001B2C, #002B3C 58%, #003540) !important; overflow: hidden; }
.hp-copy { animation: crh-rise .7s both; }
.hp-flow { -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: crh-rise .8s .12s both; }
.hp-link { min-width: 34px; max-width: 112px; height: 2px; margin-bottom: 34px; }
.hp-link.none { background: repeating-linear-gradient(90deg, #ffffff70 0 6px, #0000 6px 12px); }
.hp-link.pay { background: #8FDCAE; }
.hp-link.pay::after { content: ""; position: absolute; top: -3px; right: 0; width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: hp-pay 2.2s linear infinite; }
@keyframes hp-pay { 0% { opacity: 0; right: 0; } 15%, 85% { opacity: 1; } to { opacity: 0; right: calc(100% - 8px); } }
.hp-link .hp-badge { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 1; }
.hp-avatar svg { stroke-width: 1.7; }
.hp-node.me .hp-me { box-shadow: 0 0 0 6px #8fdcae22; }
.hp-me-img, .hp-me-img img { width: 100%; height: 100%; }
.hp-me-img img { object-fit: cover; object-position: 50% 0; transform: scale(2.3); transform-origin: 52% 27%; }
.hp-h2 .elementor-heading-title::before { content: ""; display: block; width: 44px; height: 4px; border-radius: 4px; background: #007349; margin-bottom: 18px; }
@media (min-width: 901px) { .hp-sticky { position: sticky; top: 112px; } }
.hp-card { transition: transform .25s, box-shadow .25s; }
.hp-card:hover { box-shadow: 0 18px 40px -20px #08283c4d; }
.hp-rows::before { content: ""; position: absolute; top: 26px; bottom: 26px; left: 25px; width: 2px; background: #D6E0E3; }
.hp-dot { position: relative; z-index: 1; box-shadow: 0 0 0 6px #FDFCF9; }
.hp-row-card { box-shadow: 0 8px 28px #092b380f; }
.hp-more { transition: background .2s, border-color .2s; }
.hp-more:hover { background: #DEF1E5 !important; border-color: #007349 !important; }
.hp-more strong { color: #007349; }
.hp-arrow { transition: transform .2s; }
.hp-more:hover .hp-arrow { transform: translateX(4px); }
@media (max-width: 520px) {
	.hp-avatar:not(.hp-me) { width: 62px !important; min-height: 62px !important; }
	.hp-avatar:not(.hp-me) svg { width: 26px; height: 26px; }
	.hp-me { width: 80px !important; min-height: 80px !important; }
	.hp-link { margin-bottom: 30px; }
	.hp-rows::before { left: 20px; }
	.hp-dot { width: 42px !important; min-height: 42px !important; }
}
.arrow-after .elementor-button-content-wrapper::after { content: ""; width: 16px; height: 16px; margin-left: 8px; 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (prefers-reduced-motion: reduce) {
	.hero .swiper-slide-active .hero-copy, .mx-hero-copy, .mx-photo, .hp-copy, .hp-flow { animation: none; }
	.hp-link.pay::after { animation: none; opacity: 0; }
	.vc, .hiw-step, .hp-card, .mx-hurdle, .ct-method { transition: none; }
}

/* Fine-tuning from the side-by-side comparison */
.crh-form textarea.elementor-field { margin-bottom: 6px; }
.ph { line-height: 1.5; }
.sell-form .elementor-field-type-acceptance .elementor-field-subgroup label { font-size: 15px !important; line-height: 1.55 !important; margin: 0; padding: 0; }
.hp-me { height: 104px; }
.hp-me .hp-me-img, .hp-me .hp-me-img img { height: 100%; }

/* Mobile menu: full-width panel directly under the 68px header (design: .mobile-nav). */
@media (max-width: 900px) {
	.main-nav nav.elementor-nav-menu--dropdown { position: fixed !important; left: 0 !important; right: 0; width: 100% !important; top: calc(68px + var(--wp-admin--admin-bar--height, 0px)) !important; margin: 0 !important; }
	.main-nav nav.elementor-nav-menu--dropdown .elementor-nav-menu { display: grid; gap: 6px; }
	.main-nav .elementor-nav-menu--dropdown a { padding: 12px 0 !important; }
}
.hm-portrait { max-width: 460px !important; }
.mx-photo { max-width: 380px !important; }
@media (max-width: 900px) { .hm-portrait { max-width: 380px !important; } .mx-photo { max-width: 300px !important; } }
.main-nav .elementor-nav-menu--dropdown .menu-cta a::after { content: ""; width: 16px; height: 16px; margin-left: 8px; background: currentColor; -webkit-mask: var(--crh-arrow) center / contain no-repeat; mask: var(--crh-arrow) center / contain no-repeat; }
:root { --crh-arrow: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E"); }
/* Icon lists: the gap is the widget's text indent only (Elementor adds 5px more by default). */
.elementor-icon-list-items .elementor-icon-list-text { padding-inline-start: 0 !important; }
@media (max-width: 1000px) { .rail-link .elementor-button { min-height: 0 !important; } }
@media (max-width: 520px) { .hp-me { height: 80px !important; } }
/* Equal card columns whatever the content (design: repeat(3, minmax(0, 1fr))). */
.vehicle-grid .elementor-loop-container { grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr)); }
.vc-details .elementor-button { padding-inline: 0 !important; }
.vc-spec .elementor-icon-list-item { flex-wrap: nowrap !important; }
.vc-actions .elementor-button { white-space: normal; }
.vc, .vc * { word-break: normal !important; }
.vc-spec .elementor-icon-list-item { gap: 8px; } .vc-spec .elementor-icon-list-icon { width: 16px !important; min-width: 16px; padding: 0 !important; margin: 0 !important; }
.vc-specs > .elementor-widget, .vc-actions > .elementor-widget { min-width: auto !important; }
.vehicle-grid .elementor-loop-container { grid-auto-rows: auto !important; }
.arrow-36 .elementor-button-icon svg { width: 36px !important; height: 36px !important; }
.arrow-36 .elementor-button-content-wrapper { align-items: center; }
.crh-form .elementor-field-type-submit { flex-basis: auto !important; width: auto !important; } .crh-form .elementor-field-type-submit .elementor-button { width: auto !important; }
