/* AISA — A Géza Autó+Mentő globális színpalettája. */
.agad {
  --aisa-ink: #232323;
  --aisa-muted: #787878;
  --aisa-border: #B4B4B4;
  --aisa-surface: #F0F0F0;
  --aisa-dark: #353535;
  --aisa-neon: #D6FF16;
  box-sizing: border-box;
  max-width: 680px;
  margin: 24px auto;
  padding: 28px;
  border: 1px solid var(--aisa-border);
  border-radius: 16px;
  background: var(--aisa-surface);
  color: var(--aisa-ink);
  font: 16px/1.55 system-ui, sans-serif;
}
.agad * { box-sizing: border-box; }
.agad [hidden] { display: none !important; }
.agad h2 { font-size: 26px; line-height: 1.25; margin: 6px 0 18px; color: var(--aisa-ink); }
.agad h3 { font-size: 20px; color: var(--aisa-ink); }
.agad-eyebrow { font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; color: var(--aisa-dark); }
.agad a { color: var(--aisa-ink); text-decoration: underline; }
.agad a:hover { color: var(--aisa-dark); }
.agad .agad-call {
  display: block;
  background: var(--aisa-neon);
  color: var(--aisa-ink);
  padding: 15px;
  border: 1px solid var(--aisa-dark);
  border-radius: 9px;
  text-align: center;
  text-decoration: none;
  font-weight: 700;
}
.agad .agad-call:hover { background: var(--aisa-ink); color: var(--aisa-neon); }
.agad-choices { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.agad button {
  font: inherit;
  cursor: pointer;
  padding: 11px 15px;
  border: 1px solid var(--aisa-muted);
  border-radius: 8px;
  background: var(--aisa-surface);
  color: var(--aisa-ink);
  min-height: 44px;
}
.agad button:disabled { opacity: .6; cursor: wait; }
.agad button:hover:not(:disabled) { background: var(--aisa-neon); color: var(--aisa-ink); }
.agad .agad-option-link { display: inline-flex; align-items: center; min-height: 44px; padding: 11px 15px; border: 1px solid var(--aisa-muted); border-radius: 8px; background: var(--aisa-surface); color: var(--aisa-ink); text-decoration: none; }
.agad .agad-option-link:hover { background: var(--aisa-neon); color: var(--aisa-ink); }
.agad button[type="submit"] { background: var(--aisa-neon); border-color: var(--aisa-dark); font-weight: 700; }
.agad button[type="submit"]:hover:not(:disabled) { background: var(--aisa-ink); color: var(--aisa-neon); }
.agad :focus-visible { outline: 3px solid var(--aisa-ink); outline-offset: 3px; }
.agad label { display: block; margin: 12px 0; }
.agad input:not([type=checkbox]), .agad textarea {
  display: block;
  width: 100%;
  font: inherit;
  border: 1px solid var(--aisa-muted);
  border-radius: 7px;
  padding: 10px;
  background: var(--aisa-surface);
  color: var(--aisa-ink);
}
.agad input::placeholder, .agad textarea::placeholder { color: var(--aisa-dark); opacity: 1; }
.agad input[type=checkbox] { width: 18px; height: 18px; vertical-align: middle; accent-color: var(--aisa-ink); }
.agad .agad-international fieldset, .agad .agad-budapest fieldset { min-width: 0; margin: 18px 0; padding: 12px 16px; border: 1px solid var(--aisa-border); border-radius: 8px; }
.agad .agad-international fieldset label, .agad .agad-budapest fieldset label { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; }
.agad input[type="checkbox"] {
  appearance: checkbox !important;
  -webkit-appearance: checkbox !important;
  display: inline-block !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px;
  margin: 0 !important;
  pointer-events: auto !important;
}
.agad .agad-international select, .agad .agad-budapest select { display: block; width: 100%; min-height: 44px; padding: 10px; font: inherit; color: var(--aisa-ink); background: var(--aisa-surface); border: 1px solid var(--aisa-muted); border-radius: 7px; }
.agad-answer { white-space: pre-line; padding: 15px; border-left: 4px solid var(--aisa-neon); background: var(--aisa-dark); color: var(--aisa-surface); }
.agad-answer-wrap { margin-top: 20px; }
.agad-answer-wrap .agad-answer { margin: 0; }
.agad-answer-call { margin-top: 10px; }
.agad-hint, .agad-consent, .agad-safety { font-size: 14px; color: var(--aisa-dark); }
.agad-summary { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; color: var(--aisa-ink); }
.agad-reset { margin-top: 20px; }
.agad-planner { border-top: 1px solid var(--aisa-border); margin-top: 24px; padding-top: 10px; }
.agad-transport-options { margin-top: 16px; }
@media (max-width: 480px) {
  .agad { padding: 18px; margin: 12px 0; }
  .agad-choices button { width: 100%; }
}

.agad .agad-local-result:not(:empty) { padding:15px; border-left:4px solid var(--aisa-neon); background:var(--aisa-dark); color:var(--aisa-surface); margin:16px 0; }
.agad .agad-choices button[data-battery-self] { text-transform:none !important; }

/* Egyetlen, az aktuális lépéshez tartozó hívás. */
.agad:has(.agad-answer-call:not([hidden])) > .agad-call,
.agad:has(.agad-quote-actions:not([hidden])) > .agad-call,
.agad:has(.agad-local-actions:not([hidden])) > .agad-call,
.agad:has(.agad-quote-actions:not([hidden])) .agad-answer-call,
.agad:has(.agad-local-actions:not([hidden])) .agad-answer-call { display:none !important; }
.agad .agad-send-quote, .agad .agad-local-send { width:100%; background:var(--aisa-neon); color:var(--aisa-ink); font-weight:700; }
.agad-answer:empty { display:none; }

.agad-vehicle-scope { padding:16px; border:2px solid var(--aisa-ink); background:var(--aisa-neon); color:var(--aisa-ink); font-size:17px; }

.agad-location-check { margin:18px 0; padding:14px; border:1px solid var(--aisa-border); border-radius:8px; }
.agad-location-card { margin:12px 0; padding:12px; border-left:4px solid var(--aisa-neon); background:white; }
.agad-location-check details { margin:12px 0; }

/* Placeholder text stays distinct from entered values. Earlier choices remain usable. */
.agad input::placeholder, .agad textarea::placeholder { color:#999 !important; opacity:1 !important; font-weight:400; }
.agad .agad-choices.agad-step-complete { opacity:.55; transition:opacity .15s ease; }
.agad .agad-choices.agad-step-complete:hover,
.agad .agad-choices.agad-step-complete:focus-within { opacity:1; }
@media (prefers-reduced-motion:reduce) { .agad .agad-choices.agad-step-complete { transition:none; } }

.aisa-launcher { position:fixed; right:20px; bottom:15px; z-index:99990; border:1px solid #232323; border-radius:16px; background:#d6ff16; color:#232323; padding:14px 20px; font:700 17px/1.4 sans-serif; cursor:pointer; box-shadow:0 4px 20px #0003; }
.aisa-launcher span { display:block; font-size:12px; font-weight:400; }
.aisa-launcher[hidden] { display:none!important; }
.aisa-dialog { position:fixed; inset:20px 20px 20px auto; width:min(680px,calc(100vw - 40px)); max-width:none; height:calc(100dvh - 40px); max-height:none; margin:0; padding:0; border:1px solid #999; border-radius:16px; background:#f0f0f0; color:#232323; overflow:auto; }
.aisa-dialog::backdrop { background:#0005; }
.aisa-dialog-bar { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; padding:10px 18px; background:#f0f0f0; border-bottom:1px solid #ccc; }
.aisa-dialog-close { color:#232323; background:#fff; border:1px solid #888; border-radius:8px; padding:10px; cursor:pointer; }
.aisa-dialog .agad { margin:0; border:0; max-width:none; }
@media(max-width:600px) { .aisa-dialog { inset:8px; width:calc(100vw - 16px); height:calc(100dvh - 16px); } .aisa-launcher { right:12px; max-width:calc(100vw - 24px); } }

.aisa-launcher { text-transform:none !important; }

/* Align with the site's Hívjon most button, leaving room for both on mobile. */
@media(max-width:767px) {
  .aisa-launcher { bottom:12px; right:10px; box-sizing:border-box; max-width:calc(100vw - 180px); padding:12px 14px; font-size:15px; white-space:normal; overflow-wrap:anywhere; }
}

/* Compact mobile steps, with touch targets kept at least 44px high. */
@media(max-width:767px) {
  .agad { padding:14px; font-size:15px; line-height:1.45; }
  .agad h2 { font-size:18px !important; line-height:1.3 !important; margin:0 0 10px !important; }
  .agad h3 { font-size:17px !important; margin:12px 0 8px !important; }
  .agad p { margin-top:8px; margin-bottom:10px; }
  .agad .agad-choices { margin:12px 0; gap:6px; }
  .agad button { padding:8px 10px !important; font-size:14px !important; line-height:1.25 !important; min-height:44px; letter-spacing:0 !important; }
  .agad .agad-choices button { width:auto; flex:1 1 auto; }
  .agad .agad-services button, .agad .agad-triage-choices button { flex-basis:100%; }
  .agad .agad-call { padding:10px !important; font-size:14px !important; line-height:1.3 !important; }
  .agad .agad-vehicle-scope { padding:10px; font-size:14px; line-height:1.4; }
  .agad .agad-answer { padding:12px; font-size:15px; scroll-margin-top:68px; }
  .agad .agad-answer-wrap { margin-top:12px; }
  .aisa-dialog-bar { padding:6px 12px; }
  .aisa-dialog-close { padding:6px 10px !important; min-height:44px; font:600 14px/1.2 sans-serif !important; }
  .aisa-dialog-bar strong { font-size:16px; }
}

.agad .agad-location-check > label, .agad .agad-location-card > label { display:flex; align-items:center; gap:10px; min-height:44px; cursor:pointer; }
.agad .agad-map-address-link { display:inline-block; padding:10px 12px; margin:6px 0; background:var(--aisa-neon); color:#222 !important; font-weight:700 !important; text-decoration:underline !important; border:1px solid #222; border-radius:6px; }

/* International introduction: compact, high contrast. */
.agad-international-active:has(.agad-international:not([hidden])) .agad-answer { color:#fff !important; line-height:1.4; }

.agad input[type=radio] { appearance:auto !important; opacity:1 !important; position:static !important; width:20px !important; height:20px !important; display:inline-block !important; }
.agad-weight-notice { font-weight:bold; color:#a00000; }
.agad-insurance { font-weight:bold; }

/* A single, clearly separated headline price in every quote flow. */
.agad .agad-price-card { background:#d6ff16; color:#171717; border:2px solid #232323; border-radius:10px; padding:16px; margin:16px 0 10px; white-space:normal; }
.agad .agad-price-card span { display:block; font:600 15px/1.4 Arial,sans-serif; }
.agad .agad-price-card strong { display:block; margin-top:5px; font:700 clamp(24px,4vw,34px)/1.25 Arial,sans-serif; overflow-wrap:anywhere; color:#171717!important; }
.agad .agad-decline-controls { margin:12px 0; }
.agad button.agad-decline { background:transparent!important; color:#333!important; border:1px solid #888; text-transform:none; }
.agad .agad-decline-controls [role=status] { border:1px solid #aaa; border-radius:8px; padding:14px; background:#fff; color:#222; }
.agad [hidden] { display:none!important; }

/* Keep the caption and both currencies on distinct lines, including theme overrides. */
.agad .agad-price-card .agad-price-caption { display:block!important; width:100%; margin:0 0 8px!important; }
.agad .agad-price-card .agad-price-amount { display:block!important; width:100%; margin:0!important; }
.agad .agad-price-card .agad-price-eur { display:block!important; width:100%; margin:8px 0 0!important; font:600 20px/1.35 Arial,sans-serif; color:#171717!important; overflow-wrap:anywhere; }

/* Character and conversation share one responsive frame. */
.agad { max-width:1040px; display:grid; grid-template-columns:minmax(150px,240px) minmax(0,1fr); gap:22px; align-items:start; }
.aisa-character { position:sticky; top:var(--aisa-sticky-top,150px); }
.aisa-character img { display:block; width:100%; height:auto; border-radius:14px; }
.aisa-conversation { min-width:0; background:#fff; border:1px solid #b4b4b4; border-radius:20px; padding:20px; }
.aisa-dialog { width:min(1040px,calc(100vw - 40px)); }
@media(max-width:700px) {
 .agad { display:block; padding:12px; }
 .aisa-character { position:static; width:88px; margin:0 auto 10px; }
 .aisa-conversation { padding:14px; border-radius:16px; }
 .aisa-dialog { width:calc(100vw - 16px); }
}

.aisa-entry-card{display:flex;gap:20px;align-items:center;background:#f0f0f0;border:1px solid #aaa;border-radius:20px;padding:20px;margin:20px 0;color:#232323;font:16px/1.5 system-ui}.aisa-entry-card img{width:180px;height:auto}.aisa-entry-card button{background:#d6ff16;color:#232323;border:1px solid #333;border-radius:10px;padding:12px;font:700 16px system-ui}.aisa-estimate-warning{font-weight:700;border-left:4px solid #d6ff16;padding-left:12px}@media(max-width:600px){.aisa-entry-card{flex-direction:column}.aisa-entry-card img{width:100px}}
.aisa-conversation{position:relative}
@media(min-width:701px){.aisa-conversation:before{content:"";position:absolute;left:-9px;top:45px;width:16px;height:16px;background:white;border-left:1px solid #b4b4b4;border-bottom:1px solid #b4b4b4;transform:rotate(45deg)}}
[data-aisa-english] [data-matches] select{display:block;width:100%;padding:10px;border-radius:8px;margin:12px 0}
[data-aisa-english] [data-matches]>a{display:block;margin:8px 0}
[data-aisa-english] [data-result]>button,[data-aisa-english] [data-reset]{margin-top:12px}
@media(max-width:700px){.aisa-dialog-bar:before{content:"";width:40px;height:40px;flex:none;background:url('aisa-character.png') center/contain no-repeat}.aisa-dialog .aisa-character{display:none}.aisa-dialog-bar{gap:8px}.aisa-dialog-bar strong{margin-right:auto}}

/* Compact embedded introduction, form opens only on explicit request. */
.aisa-precision-choice{display:flex!important;align-items:flex-start;gap:10px!important}
.agad input[type=checkbox],.agad input[type=radio]{margin-right:8px!important;flex-shrink:0}
.aisa-precision-choice input[type=checkbox]{margin:4px 0 0!important}
.aisa-direct-active [data-aisa-flow]>.agad-call,.aisa-direct-active [data-aisa-flow]>.agad-safety,.aisa-direct-active [data-aisa-flow]>.agad-vehicle-scope{display:none!important}
.aisa-direct-active .agad-route-title,.aisa-direct-active .agad-route-intro,.aisa-direct-active .agad-answer-wrap{display:none!important}
.agad [data-aisa-start]{background:#d6ff16;color:#232323;font-weight:700;min-height:44px;border:1px solid #333;border-radius:9px;padding:12px 18px}

/* Compact Complianz layout: preserve consent controls and category visibility. */
@media (max-width: 767px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner {
    box-sizing: border-box !important; width: calc(100% - 16px) !important;
    max-width: 520px !important; min-width: 0 !important;
    left: 8px !important; right: 8px !important; bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important; margin: 0 auto !important; transform: none !important;
    padding: 12px !important; gap: 8px !important;
    max-height: 60vh !important; max-height: 60dvh !important;
    display: flex !important; flex-direction: column !important; overflow: auto !important;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-hidden,
  #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-dismissed { display: none !important; }
  #cmplz-cookiebanner-container .cmplz-header { min-height: 24px !important; padding: 0 !important; margin: 0 !important; flex-shrink: 0; }
  #cmplz-cookiebanner-container .cmplz-body { min-height: 0 !important; max-height: none !important; overflow-y: auto !important; flex: 1 1 auto; padding: 0 !important; }
  #cmplz-cookiebanner-container .cmplz-message,
  #cmplz-cookiebanner-container .cmplz-message p { font-size: 13px !important; line-height: 1.4 !important; margin: 0 !important; padding: 0 !important; }
  #cmplz-cookiebanner-container .cmplz-buttons { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 6px !important; margin: 0 !important; padding: 0 !important; flex-shrink: 0; }
  #cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; max-width: 100% !important; min-height: 44px !important; height: auto !important; padding: 7px 5px !important; font-size: 13px !important; line-height: 1.25 !important; white-space: normal !important; overflow-wrap: anywhere !important; letter-spacing: normal !important; }
  #cmplz-cookiebanner-container .cmplz-documents { margin: 0 !important; padding: 0 !important; flex-shrink: 0; }
  #cmplz-cookiebanner-container .cmplz-documents ul { margin: 0 !important; padding: 0 !important; }
  #cmplz-cookiebanner-container .cmplz-divider { margin: 0 !important; flex-shrink: 0; }
}

/* Both consent choices have equal visual weight on all screen sizes. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-accept,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-deny {
 background: #d5ff00 !important; color: #171717 !important;
 border: 1px solid #222 !important; border-radius: 6px !important;
 font-family: Arial,sans-serif !important; font-size: 13px !important; font-weight: 600 !important;
 line-height: 1.25 !important; padding: 8px 6px !important; min-height: 48px !important;
 flex: 1 1 0 !important; white-space: normal !important; text-transform: none !important;
 box-shadow: none !important; opacity: 1 !important;
}
.aisa-support { border-top: 1px solid #bbb; margin-top: 20px; padding-top: 16px; }
.aisa-support h3 { margin: 0 0 12px; }
.aisa-support label { display: block; margin: 12px 0; }
.aisa-support textarea,.aisa-support input[type=tel],.aisa-support input[type=email] { box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px; font: inherit; }
.aisa-faq-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.aisa-support button,.aisa-callback-button { min-height: 44px; white-space: normal; margin: 4px 0; }
.aisa-support .aisa-contact-consent { display: flex; align-items: flex-start; gap: 10px; }
.aisa-contact-consent input { flex: 0 0 auto; margin-top: 4px; }
.aisa-support small { display: block; margin-top: 12px; font-size: 12px; line-height: 1.4; }
.aisa-support [data-callback-form][hidden] { display: none !important; }

.aisa-support[hidden] { display: none !important; }

/* Approved FAQ catalogue and multiple answers. */
.aisa-support [data-faq-answer]{white-space:pre-line;overflow-wrap:anywhere;}

.aisa-dialog .aisa-character { top:72px; }
/* Airport English and source-scoped vehicle selection follow the existing form layout. */
[data-aisa-airport-en] select,.aisa-vehicle-list select{display:block;width:100%;max-width:100%;min-height:44px;padding:10px;font:inherit;color:var(--aisa-ink);background:var(--aisa-surface);border:1px solid var(--aisa-muted);border-radius:7px;margin:8px 0 14px}
.aisa-vehicle-list{margin:12px 0}.aisa-vehicle-list p{overflow-wrap:anywhere}.aisa-stats-notice{margin-top:14px;font-size:.9em}

.agad-decline-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.agad-decline-controls>.agad-callback,.agad-decline-controls>.agad-decline{flex:1 1 220px;margin:0}.agad-callback-panel{flex-basis:100%;width:100%;padding:12px 0}.agad-callback-panel[hidden]{display:none!important}
/* Compact price row and one consistent information block. */
.agad .agad-price-card{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px;row-gap:5px;padding:16px!important}
.agad .agad-price-card .agad-price-caption{flex-basis:100%;margin:0 0 4px!important}
.agad .agad-price-card .agad-price-amount,.agad .agad-price-card .agad-price-eur{display:inline-block!important;width:auto!important;max-width:100%;margin:0!important;flex:0 1 auto;white-space:normal}
.agad .agad-price-card .agad-price-amount{font-size:clamp(21px,5vw,32px)}
.agad .agad-price-card .agad-price-eur{font-size:clamp(17px,4vw,23px)}
.agad .aisa-info-block,.agad .agad-summary,.agad .agad-answer{box-sizing:border-box;background:#303030!important;color:#fff!important;border:0;border-left:4px solid #d6ff16!important;padding:16px!important;margin:12px 0!important;text-indent:0!important;font:inherit;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}
.agad .aisa-info-block:empty,.agad .agad-summary:empty{display:none!important}
.agad .aisa-info-block *,.agad .agad-summary *{color:inherit}
.agad .aisa-estimate-warning{font-weight:400}

.agad .aisa-info-block,.agad .agad-summary,.agad .agad-answer{padding-left:14px!important}
/* Compact controls retain a 44px touch target; form inputs stay readable on iPhone. */
.agad button,.agad a.agad-call,.agad .agad-send-quote,.agad .agad-local-send{min-height:44px!important;padding:8px 12px!important;font-size:15px!important;line-height:1.3!important;white-space:normal!important;max-width:100%;overflow-wrap:anywhere}
.agad .agad-choices,.agad .aisa-faq-buttons{gap:8px}
.agad .aisa-faq-buttons{display:flex;flex-wrap:wrap}
.agad .aisa-faq-buttons button{margin:0}
.agad input,.agad select,.agad textarea{font-size:16px}
.agad [aria-invalid="true"]{outline:2px solid #a52020;outline-offset:2px}
.agad .aisa-field-error{margin:8px 0!important;font-size:15px;flex-basis:100%}
@media(max-width:600px){.agad .aisa-faq-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.agad .aisa-faq-buttons button{width:100%;height:100%;text-align:center}}
.agad .agad-price-card .aisa-discount{flex-basis:100%;font-size:17px!important;border-top:1px solid #617800;padding-top:8px;margin-top:4px;color:#172000!important}
.agad .aisa-rental{border-bottom:1px solid #bbb;padding-bottom:12px;margin-bottom:12px}

.agad .aisa-photo-previews{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.agad .aisa-photo-previews button{padding:4px;width:auto}.agad .aisa-photo-previews img{display:block;width:88px;height:66px;object-fit:cover}.agad .aisa-photo-viewer{max-width:90vw;max-height:90vh;padding:12px;border:1px solid #444}.agad .aisa-photo-viewer img{display:block;max-width:82vw;max-height:72vh;object-fit:contain}.agad .aisa-photo-viewer::backdrop{background:#000a}
