/*
Theme Name: Heraklion Car Rentals — Airport, Port & Hotels
Theme URI: https://heraklioncarrentals.com/
Author: Heraklion Car Rentals
Description: Fully Elementor-managed car-rental theme for VikRentCar, with an editable hero slider, responsive horizontal search and native Elementor homepage blocks.
Version: 7.0.0
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: hcr-elementor
*/

:root {
  --hcr-deep: #061c36;
  --hcr-navy: #0d3b66;
  --hcr-teal: #00a7a5;
  --hcr-teal-dark: #008886;
  --hcr-aqua: #e7f8f7;
  --hcr-sand: #f3eee5;
  --hcr-surface: #f6f8fa;
  --hcr-line: #dfe8ed;
  --hcr-text: #516273;
  --hcr-white: #fff;
  --hcr-container: 1280px;
  --hcr-shadow: 0 24px 65px rgba(6, 28, 54, .14);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--hcr-text); background: #fff; font-family: Commissioner, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4 { margin-top: 0; color: var(--hcr-deep); font-weight: 700; letter-spacing: -.045em; line-height: 1.08; }
p { margin-top: 0; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.hcr-container { width: min(calc(100% - 48px), var(--hcr-container)); margin-inline: auto; }
.hcr-section { padding: 112px 0; }

/* Header */
.hcr-offer-bar { background: var(--hcr-deep); color: rgba(255,255,255,.78); font-size: .75rem; }
.hcr-offer-bar__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.hcr-offer-bar a { color: #fff; text-decoration: none; font-weight: 600; }
.hcr-status-dot { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #44d6a8; box-shadow: 0 0 0 4px rgba(68,214,168,.13); }
.site-header { position: relative; z-index: 80; background: #fff; border-bottom: 1px solid var(--hcr-line); }
.site-header__inner { min-height: 84px; display: flex; align-items: center; gap: 34px; }
.site-branding { flex: 0 0 260px; }
.site-branding img { width: 100%; max-height: 62px; object-fit: contain; object-position: left center; }
.primary-navigation { margin-left: auto; }
.primary-navigation ul { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.primary-navigation a { position: relative; display: block; padding: 28px 0; color: var(--hcr-deep); font-size: .78rem; font-weight: 700; text-decoration: none; }
.primary-navigation a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 20px; height: 2px; background: var(--hcr-teal); transition: right .25s ease; }
.primary-navigation a:hover::after, .primary-navigation .current-menu-item > a::after { right: 0; }
.hcr-header-actions { display: flex; align-items: center; gap: 19px; }
.hcr-header-phone { text-decoration: none; }
.hcr-header-phone span, .hcr-header-phone strong { display: block; }
.hcr-header-phone span { color: #8593a0; font-size: .57rem; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
.hcr-header-phone strong { color: var(--hcr-deep); font-size: .77rem; }
.hcr-header-cta { display: inline-flex; align-items: center; gap: 12px; min-height: 46px; padding: 0 20px; border-radius: 5px; background: var(--hcr-teal); color: #fff; font-size: .76rem; font-weight: 800; text-decoration: none; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; background: transparent; }
.menu-toggle > span:not(.screen-reader-text) { display: block; height: 2px; margin: 5px 0; background: var(--hcr-deep); }

/* Buttons */
.hcr-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 0 24px; border-radius: 5px; font-size: .76rem; font-weight: 800; text-decoration: none; text-transform: uppercase; letter-spacing: .03em; transition: transform .2s ease, background .2s ease, color .2s ease; }
.hcr-button:hover { transform: translateY(-2px); }
.hcr-button--teal { background: var(--hcr-teal); color: #fff; }
.hcr-button--teal:hover { background: var(--hcr-teal-dark); }
.hcr-button--navy { background: var(--hcr-deep); color: #fff; }
.hcr-button--light { background: #fff; color: var(--hcr-deep); }
.hcr-button--ghost { border: 1px solid rgba(255,255,255,.45); color: #fff; background: rgba(255,255,255,.08); backdrop-filter: blur(6px); }

/* Hero slider */
.hcr-slider { position: relative; min-height: 690px; overflow: hidden; background: var(--hcr-deep); color: #fff; }
.hcr-slider__viewport { position: relative; min-height: 690px; }
.hcr-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; background-position: center; background-size: cover; transition: opacity .75s ease, visibility .75s ease; }
.hcr-slide.is-active { opacity: 1; visibility: visible; }
.hcr-slide__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,25,48,.93) 0%, rgba(4,25,48,.78) 42%, rgba(4,25,48,.12) 78%, rgba(4,25,48,.03) 100%); }
.hcr-slide__inner { position: relative; z-index: 2; min-height: 690px; display: flex; align-items: center; padding-top: 20px; padding-bottom: 95px; }
.hcr-slide__content { max-width: 720px; }
.hcr-slide__eyebrow { display: inline-flex; align-items: center; gap: 11px; margin-bottom: 24px; color: #90f0e7; font-size: .72rem; font-weight: 800; letter-spacing: .13em; }
.hcr-slide__eyebrow::before { content: ""; width: 38px; height: 2px; background: var(--hcr-teal); }
.hcr-slide h1 { max-width: 760px; margin-bottom: 24px; color: #fff; font-size: clamp(3.25rem, 5.5vw, 6rem); line-height: .97; }
.hcr-slide p { max-width: 660px; margin-bottom: 34px; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.35vw, 1.18rem); }
.hcr-slide__actions { display: flex; flex-wrap: wrap; gap: 13px; }
.hcr-slider__controls { position: absolute; z-index: 5; left: 50%; bottom: 110px; transform: translateX(-50%); display: flex; justify-content: space-between; align-items: center; pointer-events: none; }
.hcr-slider__dots, .hcr-slider__arrows { display: flex; align-items: center; gap: 9px; pointer-events: auto; }
.hcr-slider__dot { width: 32px; height: 4px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.38); cursor: pointer; }
.hcr-slider__dot.is-active { width: 55px; background: var(--hcr-teal); }
.hcr-slider__arrows button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; background: rgba(0,0,0,.12); color: #fff; cursor: pointer; }

/* Booking overlap and search */
.hcr-booking-overlap { position: relative; z-index: 20; margin-top: -72px; }
.hcr-search-shell { padding: 28px 30px 22px; border-radius: 10px; background: #fff; box-shadow: var(--hcr-shadow); }
.hcr-search-shell__heading { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 18px; margin-bottom: 22px; }
.hcr-search-shell__heading > span { display: grid; place-items: center; width: 70px; height: 46px; border-radius: 4px; background: var(--hcr-aqua); color: var(--hcr-teal-dark); font-size: .62rem; font-weight: 800; letter-spacing: .08em; }
.hcr-search-shell__heading h2 { margin: 0 0 3px; font-size: 1.35rem; letter-spacing: -.03em; }
.hcr-search-shell__heading p { margin: 0; color: #778692; font-size: .76rem; }
.hcr-search-shell__benefits { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 17px; padding-top: 15px; border-top: 1px solid var(--hcr-line); color: #657583; font-size: .68rem; font-weight: 600; }
.hcr-vik-search__mount { width: 100%; }
.hcr-vik-search__mount .widget, .hcr-vik-search__mount .vrc-searchmod-wrap, .hcr-vik-search__mount .vrcdivsearch, .hcr-vik-search__mount .vrc-search-form { width: 100% !important; margin: 0 !important; padding: 0 !important; }
.hcr-vik-search__mount .widget-title, .hcr-vik-search__mount .hcr-vik-search-widget__title { display: none; }
.hcr-vik-search__mount form.hcr-vik-form, .hcr-vik-search__mount form { display: flex !important; align-items: flex-end !important; flex-wrap: nowrap !important; gap: 10px !important; width: 100% !important; margin: 0 !important; }
.hcr-vik-search__mount form > input[type="hidden"] { display: none !important; }
.hcr-vik-search__mount .hcr-vik-field, .hcr-vik-search__mount form > .vrcsfentry, .hcr-vik-search__mount form > .vrcsfentrycont, .hcr-vik-search__mount form > div { min-width: 0 !important; margin: 0 !important; float: none !important; flex: 1 1 145px !important; }
.hcr-vik-search__mount .hcr-vik-field--pickup-location, .hcr-vik-search__mount .hcr-vik-field--dropoff-location { flex-grow: 1.35 !important; flex-basis: 185px !important; }
.hcr-vik-search__mount .hcr-vik-field--pickup-time, .hcr-vik-search__mount .hcr-vik-field--dropoff-time { flex-grow: .72 !important; flex-basis: 105px !important; }
.hcr-vik-search__mount .hcr-vik-field--submit, .hcr-vik-search__mount .vrcsfentrysubmit { flex: 0 0 145px !important; }
.hcr-vik-search__mount label, .hcr-vik-search__mount .vrcsfentrylabel { display: block !important; margin: 0 0 7px !important; color: var(--hcr-deep) !important; font-size: .62rem !important; line-height: 1.2 !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .045em !important; }
.hcr-vik-search__mount input:not([type="hidden"]):not([type="submit"]), .hcr-vik-search__mount select, .hcr-vik-search__mount textarea { width: 100% !important; min-width: 0 !important; min-height: 51px !important; margin: 0 !important; padding: 10px 12px !important; border: 1px solid #ccd9df !important; border-radius: 5px !important; background: #fff !important; color: var(--hcr-deep) !important; box-shadow: none !important; }
.hcr-vik-search__mount select { appearance: auto !important; }
.hcr-vik-search__mount input:focus, .hcr-vik-search__mount select:focus { outline: 3px solid rgba(0,167,165,.14) !important; border-color: var(--hcr-teal) !important; }
.hcr-vik-search__mount .vrcsfentrytime, .hcr-vik-search__mount [class*="time"] { min-width: 0; }
.hcr-vik-search__mount .vrcsfentrytime select { min-width: 60px !important; }
.hcr-vik-search__mount input[type="submit"], .hcr-vik-search__mount button[type="submit"], .hcr-vik-search__mount .vrcsfentrysubmit button { width: 100% !important; min-height: 51px !important; margin: 0 !important; padding: 0 18px !important; border: 0 !important; border-radius: 5px !important; background: var(--hcr-teal) !important; color: #fff !important; font-size: .71rem !important; font-weight: 800 !important; letter-spacing: .05em !important; box-shadow: none !important; cursor: pointer; }
.hcr-vik-search__mount input[type="submit"]:hover, .hcr-vik-search__mount button[type="submit"]:hover, .hcr-vik-search__mount .vrcsfentrysubmit button:hover { background: var(--hcr-teal-dark) !important; }
.hcr-search-demo { display: flex; align-items: flex-end; gap: 10px; }
.hcr-search-demo label { flex: 1 1 140px; }
.hcr-search-demo label:nth-child(1), .hcr-search-demo label:nth-child(2) { flex-grow: 1.35; }
.hcr-search-demo label span { display: block; margin-bottom: 7px; color: var(--hcr-deep); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.hcr-search-demo select, .hcr-search-demo input { width: 100%; min-height: 51px; padding: 10px 12px; border: 1px solid #ccd9df; border-radius: 5px; background: #fff; color: var(--hcr-deep); }
.hcr-search-demo button { flex: 0 0 145px; min-height: 51px; border: 0; border-radius: 5px; background: var(--hcr-teal); color: #fff; font-size: .71rem; font-weight: 800; }
.hcr-search-setup-note { margin: 13px 0 0; color: #7d8c97; font-size: .68rem; }

/* Proof strip */
.hcr-quick-proof { padding: 70px 0 0; }
.hcr-quick-proof__grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--hcr-line); background: #fff; }
.hcr-quick-proof article { display: flex; align-items: center; gap: 14px; min-height: 112px; padding: 20px 24px; border-right: 1px solid var(--hcr-line); }
.hcr-quick-proof article:last-child { border-right: 0; }
.hcr-quick-proof article > span { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 50%; background: var(--hcr-aqua); color: var(--hcr-teal-dark); font-size: .9rem; font-weight: 800; }
.hcr-quick-proof strong, .hcr-quick-proof small { display: block; }
.hcr-quick-proof strong { color: var(--hcr-deep); font-size: .76rem; }
.hcr-quick-proof small { margin-top: 3px; color: #7f8d98; font-size: .63rem; line-height: 1.45; }

/* Headings and grids */
.hcr-section-heading { margin-bottom: 48px; }
.hcr-section-heading > span, .hcr-section-heading > div > span, .hcr-local-copy > span, .hcr-offer-cta span, .hcr-final-cta span, .hcr-faq > span { display: block; margin-bottom: 15px; color: var(--hcr-teal-dark); font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.hcr-section-heading h2 { margin-bottom: 18px; font-size: clamp(2.35rem, 4vw, 4.15rem); }
.hcr-section-heading p { max-width: 760px; margin-bottom: 0; }
.hcr-section-heading--center { max-width: 900px; margin-right: auto; margin-left: auto; text-align: center; }
.hcr-section-heading--center p { margin-right: auto; margin-left: auto; }
.hcr-section-heading--split { display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: 80px; }
.hcr-section-heading--split p { padding-bottom: 7px; }

.hcr-included { background: #fff; }
.hcr-tile-grid { display: grid; gap: 0; border: 1px solid var(--hcr-line); }
.hcr-tile-grid--four { grid-template-columns: repeat(4, 1fr); }
.hcr-info-tile { min-height: 325px; padding: 42px 32px; border-right: 1px solid var(--hcr-line); transition: background .25s ease, transform .25s ease; }
.hcr-info-tile:last-child { border-right: 0; }
.hcr-info-tile:hover { position: relative; z-index: 2; transform: translateY(-6px); background: var(--hcr-deep); }
.hcr-info-tile__icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 48px; border-radius: 50%; background: var(--hcr-aqua); color: var(--hcr-teal-dark); font-size: 1.3rem; font-weight: 800; }
.hcr-info-tile h3 { margin-bottom: 14px; font-size: 1.25rem; }
.hcr-info-tile p { margin: 0; font-size: .78rem; }
.hcr-info-tile:hover h3 { color: #fff; }
.hcr-info-tile:hover p { color: rgba(255,255,255,.67); }

/* Location cards */
.hcr-pickup-locations { background: var(--hcr-surface); }
.hcr-location-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.hcr-location-card { display: grid; grid-template-columns: 190px 1fr; min-height: 300px; overflow: hidden; border: 1px solid var(--hcr-line); background: #fff; }
.hcr-location-card__media { position: relative; display: grid; place-items: center; overflow: hidden; color: #fff; font-size: 1.55rem; font-weight: 800; letter-spacing: .08em; }
.hcr-location-card__media::before, .hcr-location-card__media::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); }
.hcr-location-card__media::before { width: 175px; height: 175px; }
.hcr-location-card__media::after { width: 110px; height: 110px; }
.hcr-location-card__media span { position: relative; z-index: 2; }
.hcr-location-card--airport .hcr-location-card__media { background: linear-gradient(145deg, #0d3b66, #247bb2); }
.hcr-location-card--port .hcr-location-card__media { background: linear-gradient(145deg, #007f9b, #00a7a5); }
.hcr-location-card--hotel .hcr-location-card__media { background: linear-gradient(145deg, #536a7d, #0d3b66); }
.hcr-location-card--village .hcr-location-card__media { background: linear-gradient(145deg, #4d8f73, #167370); }
.hcr-location-card__body { padding: 34px 34px 30px; }
.hcr-location-card__body small { display: block; margin-bottom: 12px; color: var(--hcr-teal-dark); font-size: .61rem; font-weight: 800; letter-spacing: .1em; }
.hcr-location-card__body h3 { margin-bottom: 12px; font-size: 1.35rem; }
.hcr-location-card__body p { margin-bottom: 20px; font-size: .76rem; }
.hcr-location-card__body a { color: var(--hcr-deep); font-size: .7rem; font-weight: 800; text-decoration: none; }

/* Fleet */
.hcr-fleet-section { background: #fff; }
.hcr-fleet-placeholder { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.hcr-fleet-placeholder article { min-height: 330px; padding: 32px; border: 1px solid var(--hcr-line); background: #fff; }
.hcr-fleet-placeholder small { display: block; margin: 30px 0 8px; color: var(--hcr-teal-dark); font-size: .62rem; font-weight: 800; letter-spacing: .1em; }
.hcr-fleet-placeholder h3 { font-size: 1.55rem; }
.hcr-fleet-placeholder p { font-size: .76rem; }
.hcr-car-shape { position: relative; display: block; width: 220px; max-width: 100%; height: 80px; margin: 20px auto 0; border-radius: 70% 38% 24% 24%; background: var(--hcr-navy); }
.hcr-car-shape::before { content: ""; position: absolute; left: 52px; top: -28px; width: 105px; height: 48px; border-radius: 75% 42% 0 0; background: var(--hcr-teal); }
.hcr-car-shape::after { content: ""; position: absolute; left: 25px; bottom: -21px; width: 42px; height: 42px; border: 8px solid var(--hcr-deep); border-radius: 50%; background: #fff; box-shadow: 130px 0 0 -8px #fff, 130px 0 0 0 var(--hcr-deep); }
.hcr-car-shape--medium { transform: scale(1.03); }
.hcr-car-shape--suv { border-radius: 33% 25% 20% 20%; }

/* Delivery areas */
.hcr-delivery { background: var(--hcr-sand); }
.hcr-area-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(6,28,54,.16); border: 1px solid rgba(6,28,54,.16); }
.hcr-area-grid article { min-height: 245px; padding: 30px 26px; background: var(--hcr-sand); }
.hcr-area-grid article > span { display: block; margin-bottom: 50px; color: var(--hcr-teal-dark); font-size: .62rem; font-weight: 800; }
.hcr-area-grid h3 { margin-bottom: 11px; font-size: 1.18rem; }
.hcr-area-grid p { margin: 0; font-size: .73rem; }

/* Local section */
.hcr-local-section { padding: 0; background: var(--hcr-deep); color: rgba(255,255,255,.7); }
.hcr-local-section__grid { min-height: 660px; display: grid; grid-template-columns: .85fr 1.15fr; }
.hcr-local-visual { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; background: linear-gradient(145deg, var(--hcr-teal), #047f94); }
.hcr-local-visual::before, .hcr-local-visual::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; }
.hcr-local-visual::before { width: 540px; height: 540px; }
.hcr-local-visual::after { width: 370px; height: 370px; }
.hcr-local-visual img { position: relative; z-index: 2; width: 280px; filter: brightness(0) invert(1); }
.hcr-local-visual span { position: absolute; z-index: 3; left: 35px; bottom: 30px; color: rgba(255,255,255,.75); font-size: .65rem; font-weight: 800; letter-spacing: .13em; }
.hcr-local-copy { padding: 90px 8% 80px; }
.hcr-local-copy h2 { max-width: 700px; margin-bottom: 24px; color: #fff; font-size: clamp(2.5rem, 4vw, 4.3rem); }
.hcr-local-copy p { max-width: 720px; }
.hcr-local-copy ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px; margin: 30px 0 36px; padding: 0; list-style: none; }
.hcr-local-copy li { color: #fff; font-size: .75rem; }
.hcr-local-copy li::before { content: "✓"; margin-right: 9px; color: #78e4d9; }

/* Process */
.hcr-process { background: #fff; }
.hcr-process-grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; }
.hcr-process-grid::before { content: ""; position: absolute; left: 15%; right: 15%; top: 37px; height: 1px; background: var(--hcr-line); }
.hcr-process-grid article { position: relative; z-index: 2; text-align: center; }
.hcr-process-grid article > span { display: grid; place-items: center; width: 74px; height: 74px; margin: 0 auto 26px; border: 1px solid var(--hcr-line); border-radius: 50%; background: #fff; color: var(--hcr-teal-dark); font-size: .74rem; font-weight: 800; }
.hcr-process-grid h3 { font-size: 1.3rem; }
.hcr-process-grid p { max-width: 330px; margin: 0 auto; font-size: .76rem; }

/* Offer and FAQ */
.hcr-offer-cta { padding: 86px 0; background: linear-gradient(120deg, var(--hcr-teal), #087da0 60%, var(--hcr-navy)); color: #fff; }
.hcr-offer-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 70px; }
.hcr-offer-cta span { color: #b8fff7; }
.hcr-offer-cta h2 { max-width: 850px; margin-bottom: 15px; color: #fff; font-size: clamp(2.4rem, 4vw, 4rem); }
.hcr-offer-cta p { max-width: 760px; margin: 0; color: rgba(255,255,255,.75); }
.hcr-reviews-faq { background: var(--hcr-surface); }
.hcr-reviews-faq__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 65px; align-items: stretch; }
.hcr-review-panel { position: relative; min-height: 520px; padding: 65px 55px; overflow: hidden; background: var(--hcr-deep); color: rgba(255,255,255,.72); }
.hcr-review-panel::after { content: "“"; position: absolute; right: 30px; bottom: -70px; color: rgba(255,255,255,.06); font-size: 300px; line-height: 1; }
.hcr-review-panel__stars { color: #f3cf67; letter-spacing: .14em; }
.hcr-review-panel blockquote { position: relative; z-index: 2; margin: 70px 0 55px; color: #fff; font-size: clamp(1.6rem, 2.6vw, 2.5rem); font-weight: 600; line-height: 1.25; }
.hcr-review-panel strong, .hcr-review-panel small { display: block; }
.hcr-review-panel small { color: rgba(255,255,255,.48); }
.hcr-faq h2 { margin-bottom: 30px; font-size: clamp(2.3rem, 3.6vw, 3.8rem); }
.hcr-faq details { border-top: 1px solid var(--hcr-line); }
.hcr-faq details:last-of-type { border-bottom: 1px solid var(--hcr-line); }
.hcr-faq summary { position: relative; padding: 21px 42px 21px 0; color: var(--hcr-deep); font-size: .82rem; font-weight: 700; cursor: pointer; list-style: none; }
.hcr-faq summary::after { content: "+"; position: absolute; right: 4px; color: var(--hcr-teal-dark); font-size: 1.2rem; }
.hcr-faq details[open] summary::after { content: "−"; }
.hcr-faq details p { padding: 0 45px 18px 0; font-size: .75rem; }

.hcr-final-cta { padding: 92px 0; background: var(--hcr-deep); color: #fff; }
.hcr-final-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.hcr-final-cta span { color: #86e8df; }
.hcr-final-cta h2 { max-width: 900px; margin: 0; color: #fff; font-size: clamp(2.5rem, 4.3vw, 4.5rem); }

/* VikRentCar results and general plugin styling */
.vrccarcarat, .vrccarlistdiv, .vrc-car-result, [class*="vrc-car-card"] { overflow: hidden !important; border: 1px solid var(--hcr-line) !important; border-radius: 8px !important; background: #fff !important; box-shadow: 0 14px 34px rgba(6,28,54,.07) !important; }
.vrccarlistdiv, .vrc-car-result { margin-bottom: 22px !important; padding: 22px !important; }
.vrccarname, .vrclistcarname, [class*="vrc"] h2, [class*="vrc"] h3 { color: var(--hcr-deep) !important; }
.vrc-price, .vrcstartfrom, [class*="vrc"] [class*="price"] { color: var(--hcr-teal-dark) !important; font-weight: 800 !important; }
[class*="vrc"] table { width: 100%; border-collapse: collapse; background: #fff; }
[class*="vrc"] th, [class*="vrc"] td { padding: 12px; border: 1px solid var(--hcr-line); }

/* Elementor Free */
.elementor-section.elementor-section-boxed > .elementor-container { max-width: var(--hcr-container); }
.elementor-widget-button .elementor-button { border-radius: 5px; font-weight: 800; }
.hcr-full-width .site-main, .elementor-page .site-main { overflow: visible; }

/* Generic pages */
.hcr-content { width: min(calc(100% - 40px), 960px); margin-inline: auto; padding: 86px 0; }
.hcr-content .entry-title { font-size: clamp(2.4rem, 5vw, 4.8rem); }

/* Footer */
.site-footer { padding: 86px 0 26px; background: #04172c; color: rgba(255,255,255,.58); }
.site-footer__top { display: grid; grid-template-columns: 1.25fr .65fr .8fr 1fr; gap: 58px; }
.site-footer__brand img { width: min(100%, 270px); filter: brightness(0) invert(1); }
.site-footer__brand p { max-width: 355px; margin: 24px 0; font-size: .76rem; }
.site-footer h3 { margin-bottom: 22px; color: #fff; font-size: .82rem; letter-spacing: 0; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li + li { margin-top: 9px; }
.site-footer a { color: rgba(255,255,255,.72); font-size: .74rem; text-decoration: none; }
.hcr-footer-social { display: flex; gap: 8px; }
.hcr-footer-social a { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; color: #fff; }
.site-footer__contact > span { display: block; margin-top: 16px; color: rgba(255,255,255,.42); font-size: .61rem; text-transform: uppercase; letter-spacing: .1em; }
.site-footer__contact > a { display: block; margin-top: 3px; color: #fff; font-size: .82rem; font-weight: 600; }
.site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 68px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); font-size: .66rem; }

@media (max-width: 1280px) {
  .site-branding { flex-basis: 225px; }
  .primary-navigation ul { gap: 20px; }
  .hcr-header-phone { display: none; }
  .hcr-vik-search__mount form.hcr-vik-form, .hcr-vik-search__mount form { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; flex-wrap: wrap !important; }
  .hcr-vik-search__mount .hcr-vik-field, .hcr-vik-search__mount form > .vrcsfentry, .hcr-vik-search__mount form > .vrcsfentrycont, .hcr-vik-search__mount form > div { width: auto !important; }
  .hcr-vik-search__mount .hcr-vik-field--submit, .hcr-vik-search__mount .vrcsfentrysubmit { grid-column: span 2; }
  .hcr-search-demo { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
  .hcr-search-demo button { width: 100%; grid-column: span 2; }
  .hcr-tile-grid--four { grid-template-columns: repeat(2, 1fr); }
  .hcr-info-tile:nth-child(2) { border-right: 0; }
  .hcr-info-tile:nth-child(-n+2) { border-bottom: 1px solid var(--hcr-line); }
  .hcr-area-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1100px) {
  .primary-navigation { display: none; position: absolute; left: 24px; right: 24px; top: 84px; padding: 18px 22px; border: 1px solid var(--hcr-line); background: #fff; box-shadow: var(--hcr-shadow); }
  .primary-navigation.is-open { display: block; }
  .primary-navigation ul { display: block; }
  .primary-navigation li + li { border-top: 1px solid var(--hcr-line); }
  .primary-navigation a { padding: 13px 0; }
  .primary-navigation a::after { display: none; }
  .menu-toggle { display: block; margin-left: auto; }
  .hcr-header-actions { margin-left: 0; }
  .hcr-slide, .hcr-slide__inner, .hcr-slider, .hcr-slider__viewport { min-height: 650px; }
  .hcr-slide__overlay { background: linear-gradient(90deg, rgba(4,25,48,.93), rgba(4,25,48,.64) 70%, rgba(4,25,48,.28)); }
  .hcr-quick-proof__grid { grid-template-columns: repeat(2, 1fr); }
  .hcr-quick-proof article:nth-child(2) { border-right: 0; }
  .hcr-quick-proof article:nth-child(-n+2) { border-bottom: 1px solid var(--hcr-line); }
  .hcr-section-heading--split { grid-template-columns: 1fr; gap: 20px; }
  .hcr-location-grid { grid-template-columns: 1fr; }
  .hcr-local-section__grid { grid-template-columns: 1fr; }
  .hcr-local-visual { min-height: 480px; }
  .hcr-fleet-placeholder { grid-template-columns: 1fr; }
  .hcr-reviews-faq__grid { grid-template-columns: 1fr; }
  .site-footer__top { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .hcr-container { width: min(calc(100% - 28px), var(--hcr-container)); }
  .hcr-section { padding: 82px 0; }
  .hcr-offer-bar { display: none; }
  .site-header__inner { min-height: 72px; }
  .site-branding { flex-basis: 200px; }
  .hcr-header-actions { display: none; }
  .primary-navigation { top: 70px; left: 14px; right: 14px; }
  .hcr-slider, .hcr-slider__viewport, .hcr-slide, .hcr-slide__inner { min-height: 690px; }
  .hcr-slide { background-position: 61% center; }
  .hcr-slide__overlay { background: linear-gradient(90deg, rgba(4,25,48,.95), rgba(4,25,48,.72)); }
  .hcr-slide__inner { align-items: flex-start; padding-top: 95px; padding-bottom: 150px; }
  .hcr-slide h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .hcr-slide p { font-size: .96rem; }
  .hcr-slide__actions { align-items: stretch; flex-direction: column; max-width: 320px; }
  .hcr-slider__controls { bottom: 112px; }
  .hcr-slider__arrows { display: none; }
  .hcr-booking-overlap { margin-top: -68px; }
  .hcr-search-shell { padding: 22px 17px 18px; }
  .hcr-search-shell__heading { grid-template-columns: 1fr; }
  .hcr-search-shell__heading > span { width: auto; justify-self: start; padding: 0 14px; }
  .hcr-vik-search__mount form.hcr-vik-form, .hcr-vik-search__mount form, .hcr-search-demo { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }
  .hcr-vik-search__mount .hcr-vik-field, .hcr-vik-search__mount form > .vrcsfentry, .hcr-vik-search__mount form > .vrcsfentrycont, .hcr-vik-search__mount form > div, .hcr-vik-search__mount .hcr-vik-field--submit, .hcr-vik-search__mount .vrcsfentrysubmit, .hcr-search-demo button { grid-column: 1 !important; width: 100% !important; flex: 1 1 auto !important; }
  .hcr-search-shell__benefits { align-items: flex-start; flex-direction: column; }
  .hcr-quick-proof { padding-top: 45px; }
  .hcr-quick-proof__grid { grid-template-columns: 1fr; }
  .hcr-quick-proof article { border-right: 0; border-bottom: 1px solid var(--hcr-line); }
  .hcr-quick-proof article:last-child { border-bottom: 0; }
  .hcr-section-heading h2 { font-size: clamp(2.25rem, 10vw, 3.25rem); }
  .hcr-tile-grid--four { grid-template-columns: 1fr; }
  .hcr-info-tile { min-height: auto; border-right: 0; border-bottom: 1px solid var(--hcr-line); }
  .hcr-info-tile:last-child { border-bottom: 0; }
  .hcr-location-card { grid-template-columns: 1fr; }
  .hcr-location-card__media { min-height: 180px; }
  .hcr-area-grid { grid-template-columns: 1fr; }
  .hcr-local-copy { padding: 75px 0; }
  .hcr-local-copy ul { grid-template-columns: 1fr; }
  .hcr-process-grid { grid-template-columns: 1fr; gap: 38px; }
  .hcr-process-grid::before { display: none; }
  .hcr-offer-cta__inner, .hcr-final-cta__inner { align-items: flex-start; flex-direction: column; }
  .hcr-review-panel { min-height: 460px; padding: 48px 30px; }
  .site-footer__top { grid-template-columns: 1fr; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* ================================================================
   Fully editable Elementor homepage blocks — v6.1
   Every visible content block is an Elementor section/widget.
   ================================================================ */
.hcr-elementor-homepage { overflow: visible; }
.hcr-empty-homepage { padding: 120px 0; text-align: center; background: var(--hcr-surface); }
.hcr-empty-homepage h1 { font-size: clamp(2.3rem, 5vw, 4.8rem); }
.hcr-empty-homepage p { max-width: 760px; margin: 0 auto 28px; }

.hcr-el-hero-section.elementor-section,
.hcr-el-hero-section > .elementor-container,
.hcr-el-hero-section .elementor-column,
.hcr-el-hero-section .elementor-widget-wrap,
.hcr-el-hero-section .elementor-widget-hcr-hero-slider { width: 100%; max-width: none !important; padding: 0 !important; }

.hcr-el-search-section { position: relative; z-index: 22; margin-top: -72px; }
.hcr-el-search-section > .elementor-container { width: min(calc(100% - 48px), var(--hcr-container)); }
.hcr-el-search-section .elementor-widget-wrap { padding: 0 !important; }

.hcr-el-proof-section { padding: 70px 0 0; }
.hcr-el-proof-section > .elementor-container { border: 1px solid var(--hcr-line); background: #fff; }
.hcr-el-proof-item > .elementor-widget-wrap { display: flex !important; min-height: 156px; flex-direction: column; justify-content: center; padding: 26px 24px !important; border-right: 1px solid var(--hcr-line); }
.hcr-el-proof-item:last-child > .elementor-widget-wrap { border-right: 0; }
.hcr-el-proof-icon .elementor-heading-title { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 14px; border-radius: 50%; background: var(--hcr-aqua); color: var(--hcr-teal-dark); font-size: .88rem; font-weight: 800; letter-spacing: 0; }
.hcr-el-proof-title .elementor-heading-title { margin-bottom: 6px; color: var(--hcr-deep); font-size: .92rem; letter-spacing: -.02em; }
.hcr-el-proof-text p { margin: 0; color: #7b8a97; font-size: .74rem; line-height: 1.55; }

.hcr-el-intro-section,
.hcr-el-locations-heading,
.hcr-el-delivery-heading,
.hcr-el-process-heading { padding: 112px 0 42px; }
.hcr-el-intro-section > .elementor-container,
.hcr-el-process-heading > .elementor-container { max-width: 980px !important; }
.hcr-el-eyebrow .elementor-heading-title { color: var(--hcr-teal-dark); font-size: .7rem; font-weight: 800; letter-spacing: .13em; }
.hcr-el-main-title .elementor-heading-title { max-width: 950px; margin: 0 auto 20px; color: var(--hcr-deep); font-size: clamp(2.6rem, 4.5vw, 4.8rem); line-height: 1.02; }
.hcr-el-section-title .elementor-heading-title { color: var(--hcr-deep); font-size: clamp(2.4rem, 4vw, 4.25rem); line-height: 1.03; }
.hcr-el-lead { max-width: 820px; margin-inline: auto; text-align: center; }
.hcr-el-lead p,
.hcr-el-side-copy p { color: #71808c; font-size: 1rem; line-height: 1.75; }
.hcr-el-side-copy { display: flex; height: 100%; align-items: flex-end; }

.hcr-el-card-row { padding: 0 0 112px; }
.hcr-el-card > .elementor-widget-wrap { height: 100%; min-height: 360px; align-content: flex-start; padding: 38px 32px !important; border: 1px solid var(--hcr-line); border-radius: 10px; background: #fff; box-shadow: 0 18px 45px rgba(6, 28, 54, .06); transition: transform .22s ease, box-shadow .22s ease; }
.hcr-el-card:hover > .elementor-widget-wrap { transform: translateY(-5px); box-shadow: 0 26px 60px rgba(6, 28, 54, .11); }
.hcr-el-card-icon .elementor-heading-title { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 28px; border-radius: 8px; background: var(--hcr-aqua); color: var(--hcr-teal-dark); font-size: 1rem; font-weight: 800; letter-spacing: 0; }
.hcr-el-card-eyebrow .elementor-heading-title { margin-bottom: 12px; color: var(--hcr-teal-dark); font-size: .62rem; font-weight: 800; letter-spacing: .11em; }
.hcr-el-card-title .elementor-heading-title { margin-bottom: 14px; color: var(--hcr-deep); font-size: 1.35rem; line-height: 1.12; }
.hcr-el-card-text p { color: #71808c; font-size: .79rem; line-height: 1.7; }
.hcr-el-card-button { margin-top: auto; }
.hcr-el-card-button .elementor-button { padding: 0; background: transparent; color: var(--hcr-teal-dark); font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }
.hcr-el-card-button .elementor-button:hover { color: var(--hcr-deep); background: transparent; }

.hcr-el-location-section { background: var(--hcr-surface); }
.hcr-el-location-card > .elementor-widget-wrap { position: relative; overflow: hidden; min-height: 430px; padding-top: 48px !important; }
.hcr-el-location-card > .elementor-widget-wrap::before { content: ""; position: absolute; inset: 0 0 auto; height: 7px; background: var(--hcr-teal); }
.hcr-el-location-port > .elementor-widget-wrap::before { background: var(--hcr-navy); }
.hcr-el-location-hotel > .elementor-widget-wrap::before { background: #e5a552; }
.hcr-el-location-village > .elementor-widget-wrap::before { background: #477f6e; }
.hcr-el-location-card .hcr-el-card-icon .elementor-heading-title { width: auto; min-width: 72px; padding: 0 16px; border-radius: 999px; }

.hcr-el-fleet-section { padding: 112px 0; background: #fff; }
.hcr-el-vik-fleet { margin-top: 40px; }

.hcr-el-delivery-heading { background: var(--hcr-sand); }
.hcr-el-area-grid { padding: 0 0 112px; background: var(--hcr-sand); }
.hcr-el-area-card > .elementor-widget-wrap { height: 100%; min-height: 250px; padding: 30px 26px !important; border: 1px solid rgba(6,28,54,.1); background: rgba(255,255,255,.68); }
.hcr-el-area-number .elementor-heading-title { margin-bottom: 42px; color: var(--hcr-teal-dark); font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.hcr-el-area-title .elementor-heading-title { color: var(--hcr-deep); font-size: 1.22rem; }
.hcr-el-area-text p { margin-bottom: 0; color: #71808c; font-size: .76rem; }

.hcr-el-local-section { background: var(--hcr-deep); }
.hcr-el-local-copy > .elementor-widget-wrap { align-content: center; padding: 100px clamp(32px, 6vw, 95px) 100px max(24px, calc((100vw - var(--hcr-container)) / 2)) !important; }
.hcr-el-local-copy .hcr-el-eyebrow .elementor-heading-title { color: #83e5dd; }
.hcr-el-local-copy .hcr-el-section-title .elementor-heading-title { color: #fff; }
.hcr-el-rich-copy { color: rgba(255,255,255,.7); }
.hcr-el-rich-copy p { font-size: .94rem; }
.hcr-el-rich-copy ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 24px; margin: 28px 0 34px; padding: 0; list-style: none; }
.hcr-el-rich-copy li::before { content: "✓"; margin-right: 10px; color: #67dacc; font-weight: 800; }
.hcr-el-primary-button .elementor-button { background: var(--hcr-teal); color: #fff; }
.hcr-el-local-visual > .elementor-widget-wrap { min-height: 600px; align-content: center; justify-content: center; padding: 70px !important; background: radial-gradient(circle at 50% 40%, rgba(0,167,165,.35), transparent 48%), linear-gradient(135deg,#0d3b66,#06213f); text-align: center; }
.hcr-el-visual-badge .elementor-heading-title { display: grid; place-items: center; width: 180px; height: 180px; margin: 0 auto 34px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: #fff; font-size: 3rem; letter-spacing: .04em; }
.hcr-el-visual-title .elementor-heading-title { color: #fff; font-size: 1.6rem; }
.hcr-el-visual-text { max-width: 350px; margin-inline: auto; color: rgba(255,255,255,.68); }

.hcr-el-process-grid { padding: 0 0 112px; }
.hcr-el-step-card > .elementor-widget-wrap { height: 100%; align-content: flex-start; padding: 20px 36px !important; text-align: center; }
.hcr-el-step-number .elementor-heading-title { display: grid; place-items: center; width: 76px; height: 76px; margin: 0 auto 26px; border: 1px solid var(--hcr-line); border-radius: 50%; color: var(--hcr-teal-dark); font-size: .75rem; font-weight: 800; }
.hcr-el-step-title .elementor-heading-title { font-size: 1.35rem; }
.hcr-el-step-text p { color: #71808c; font-size: .8rem; }

.hcr-el-offer-section { padding: 70px 0; background: linear-gradient(115deg,#00a7a5,#008b91 58%,#0d3b66); }
.hcr-el-offer-section .elementor-container { align-items: center; }
.hcr-el-offer-eyebrow .elementor-heading-title { color: rgba(255,255,255,.72); font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.hcr-el-offer-title .elementor-heading-title { color: #fff; font-size: clamp(2.2rem,3.5vw,3.7rem); }
.hcr-el-offer-text { color: rgba(255,255,255,.78); }
.hcr-el-offer-button .elementor-button { min-height: 56px; padding: 0 30px; background: #fff; color: var(--hcr-deep); }

.hcr-el-reviews-faq { padding: 112px 0; }
.hcr-el-review-column > .elementor-widget-wrap { height: 100%; min-height: 560px; align-content: center; padding: 58px !important; background: var(--hcr-deep); color: #fff; }
.hcr-el-stars .elementor-heading-title { color: #f0cd67; font-size: 1rem; letter-spacing: .18em; }
.hcr-el-testimonial-widget .elementor-testimonial-content { color: #fff; font-size: clamp(1.45rem,2.2vw,2.2rem); line-height: 1.35; }
.hcr-el-testimonial-widget .elementor-testimonial-name { color: #fff; }
.hcr-el-testimonial-widget .elementor-testimonial-job { color: rgba(255,255,255,.55); }
.hcr-el-faq-column > .elementor-widget-wrap { padding: 42px 15px 42px 62px !important; }
.hcr-el-faq-title .elementor-heading-title { margin-bottom: 26px; font-size: clamp(2.25rem,3.4vw,3.65rem); }
.hcr-el-faq-widget .elementor-accordion-item { border-width: 1px 0 0 !important; border-color: var(--hcr-line) !important; }
.hcr-el-faq-widget .elementor-accordion-item:last-child { border-bottom-width: 1px !important; }
.hcr-el-faq-widget .elementor-tab-title { padding: 21px 0 !important; color: var(--hcr-deep) !important; font-size: .84rem; font-weight: 700; }
.hcr-el-faq-widget .elementor-tab-content { padding: 0 0 22px !important; border: 0 !important; color: #71808c; font-size: .78rem; }

.hcr-el-final-section { padding: 88px 0; background: #04172c; }
.hcr-el-final-section .elementor-container { align-items: center; }
.hcr-el-final-eyebrow .elementor-heading-title { color: #80e4db; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.hcr-el-final-title .elementor-heading-title { color: #fff; font-size: clamp(2.4rem,4vw,4.4rem); }
.hcr-el-final-button .elementor-button { min-height: 58px; padding: 0 32px; background: var(--hcr-teal); color: #fff; }

@media (max-width: 1024px) {
  .hcr-el-proof-section > .elementor-container,
  .hcr-el-card-row > .elementor-container,
  .hcr-el-area-grid > .elementor-container { flex-wrap: wrap; }
  .hcr-el-proof-item,
  .hcr-el-card,
  .hcr-el-area-card { width: 50% !important; }
  .hcr-el-proof-item:nth-child(2) > .elementor-widget-wrap { border-right: 0; }
  .hcr-el-proof-item:nth-child(-n+2) > .elementor-widget-wrap { border-bottom: 1px solid var(--hcr-line); }
  .hcr-el-locations-heading .elementor-column,
  .hcr-el-delivery-heading .elementor-column { width: 100% !important; }
  .hcr-el-side-copy { margin-top: 20px; }
  .hcr-el-local-section > .elementor-container { flex-wrap: wrap; }
  .hcr-el-local-copy,
  .hcr-el-local-visual { width: 100% !important; }
  .hcr-el-local-copy > .elementor-widget-wrap { padding-left: 40px !important; padding-right: 40px !important; }
  .hcr-el-reviews-faq > .elementor-container { flex-wrap: wrap; }
  .hcr-el-review-column,
  .hcr-el-faq-column { width: 100% !important; }
  .hcr-el-faq-column > .elementor-widget-wrap { padding: 70px 15px 0 !important; }
}

@media (max-width: 767px) {
  .hcr-el-search-section { margin-top: -58px; }
  .hcr-el-search-section > .elementor-container { width: min(calc(100% - 28px), var(--hcr-container)); }
  .hcr-el-proof-section { padding-top: 42px; }
  .hcr-el-proof-item,
  .hcr-el-card,
  .hcr-el-area-card,
  .hcr-el-step-card { width: 100% !important; }
  .hcr-el-proof-item > .elementor-widget-wrap { border-right: 0; border-bottom: 1px solid var(--hcr-line); }
  .hcr-el-proof-item:last-child > .elementor-widget-wrap { border-bottom: 0; }
  .hcr-el-intro-section,
  .hcr-el-locations-heading,
  .hcr-el-delivery-heading,
  .hcr-el-process-heading { padding: 80px 0 32px; }
  .hcr-el-card-row,
  .hcr-el-area-grid,
  .hcr-el-process-grid { padding-bottom: 78px; }
  .hcr-el-card > .elementor-widget-wrap { min-height: auto; }
  .hcr-el-rich-copy ul { grid-template-columns: 1fr; }
  .hcr-el-local-copy > .elementor-widget-wrap { padding: 76px 24px !important; }
  .hcr-el-local-visual > .elementor-widget-wrap { min-height: 430px; padding: 40px 24px !important; }
  .hcr-el-offer-section .elementor-column,
  .hcr-el-final-section .elementor-column { width: 100% !important; }
  .hcr-el-offer-action,
  .hcr-el-final-action { margin-top: 24px; }
  .hcr-el-offer-button .elementor-button-wrapper,
  .hcr-el-final-button .elementor-button-wrapper { text-align: left !important; }
  .hcr-el-review-column > .elementor-widget-wrap { min-height: 460px; padding: 38px 28px !important; }
  .hcr-el-faq-column > .elementor-widget-wrap { padding: 62px 0 0 !important; }
}


/* VikRentCar calendar compatibility — v6.1.1
   Keep the plugin's native date/time triggers intact and prevent Elementor
   containers from clipping jQuery UI or VikRentCar calendar popups. */
.hcr-el-search-section,
.hcr-el-search-section .elementor-container,
.hcr-el-search-section .elementor-column,
.hcr-el-search-section .elementor-widget-wrap,
.hcr-el-search-section .elementor-widget-container,
.hcr-search-shell,
.hcr-vik-search__mount,
.hcr-vik-search__mount form,
.hcr-vik-search__mount .vrc-searchmod-wrap,
.hcr-vik-search__mount .vrcdivsearch,
.hcr-vik-search__mount .vrc-search-form {
  overflow: visible !important;
}

body #ui-datepicker-div,
body .ui-datepicker,
body .vrc-calendar,
body .vik-datepicker,
body .datepicker,
body .datepicker-dropdown,
body .flatpickr-calendar,
body .vrc-datepicker,
body [class*="vrc-calendar"],
body [class*="vik-datepicker"] {
  z-index: 999999 !important;
}

/* Calendar-opening controls must remain compact native controls, not submit buttons. */
.hcr-vik-search__mount button.ui-datepicker-trigger,
.hcr-vik-search__mount button[type="button"],
.hcr-vik-search__mount .vrc-calendar-trigger,
.hcr-vik-search__mount [class*="calendar"] button:not([type="submit"]) {
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
}
