.accord-trigger-btn,
.accord-open-quote {
  background: var(--accord-black, #050505);
  color: var(--accord-gold, #d4af37);
  border: 1px solid var(--accord-gold, #d4af37);
  border-radius: 0;
  padding: 13px 24px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .25s ease;
}
.accord-trigger-btn:hover,
.accord-open-quote:hover { transform: translateY(-1px); box-shadow: 0 10px 25px rgba(0,0,0,.2); }
.accord-modal { display:none; position:fixed; inset:0; z-index:999999; background:rgba(0,0,0,.78); align-items:center; justify-content:center; padding:18px; backdrop-filter:blur(5px); }
.accord-modal.is-open { display:flex; }
.accord-modal-panel { position:relative; width:100%; max-width:760px; max-height:92vh; overflow:auto; background:linear-gradient(180deg,#111 0%,#050505 100%); color:#fff; border:1px solid rgba(212,175,55,.45); border-radius:0; box-shadow:0 25px 80px rgba(0,0,0,.55); padding:28px; }
.accord-modal-close { position:absolute; top:14px; right:18px; background:transparent; border:0; color:#fff; font-size:34px; cursor:pointer; line-height:1; }
.accord-modal-header { text-align:center; margin-bottom:18px; padding:6px 24px 0; }
.accord-eyebrow { color:var(--accord-gold,#d4af37); text-transform:uppercase; letter-spacing:.22em; font-size:12px; font-weight:700; }
.accord-modal-header h2 { margin:8px 0 8px; color:#fff; font-size:30px; line-height:1.1; }
.accord-modal-header p { color:rgba(255,255,255,.72); margin:0 auto; max-width:560px; }
.accord-form label { display:block; color:rgba(255,255,255,.78); font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin:10px 0; }
.accord-form input,
.accord-form select { width:100%; box-sizing:border-box; margin-top:7px; padding:14px 13px; border-radius:0; border:1px solid rgba(212,175,55,.32); background:#fff; color:#111; font-size:16px; outline:none; }
.accord-form input[type="hidden"] { display:none; }
.accord-form input:focus,
.accord-form select:focus { border-color:var(--accord-gold,#d4af37); box-shadow:0 0 0 3px rgba(212,175,55,.18); }
.accord-grid.two { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.accord-selected-vehicle { border:1px solid rgba(212,175,55,.35); background:rgba(212,175,55,.1); color:var(--accord-gold,#d4af37); padding:10px 12px; border-radius:0; margin-bottom:12px; font-weight:700; text-align:center; }
.accord-map { height:310px; border-radius:0; overflow:hidden; border:1px solid rgba(212,175,55,.32); background:#181818; margin:16px 0 8px; }
.accord-map-placeholder { height:100%; display:flex; align-items:center; justify-content:center; text-align:center; color:rgba(255,255,255,.65); padding:24px; }
.accord-route-summary { display:flex; gap:14px; flex-wrap:wrap; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); padding:11px 13px; border-radius:0; color:#fff; font-size:14px; margin-bottom:12px; }
.accord-submit-btn { width:100%; margin-top:10px; padding:16px; border-radius:999px; border:1px solid var(--accord-gold,#d4af37); background:var(--accord-gold,#d4af37); color:#050505; font-weight:800; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; font-size:15px; }
.accord-submit-btn:disabled { opacity:.65; cursor:not-allowed; }
.accord-form-message { margin-top:12px; color:#fff; text-align:center; font-weight:700; }
.accord-form-message.success { color:#d4af37; }
.accord-form-message.error { color:#ffb4b4; }

/* New Places (New) autocomplete element */
.accord-autocomplete { margin-top:7px; }
.accord-autocomplete gmp-place-autocomplete {
  width:100%;
  display:block;
  background-color:#fff;
  color-scheme:light;           /* stops the widget adapting to dark mode */
  border:1px solid rgba(212,175,55,.32);
  border-radius:0 !important;
}
.accord-autocomplete gmp-place-autocomplete:focus-within {
  border-color:var(--accord-gold,#d4af37);
  box-shadow:0 0 0 3px rgba(212,175,55,.18);
}
.accord-fallback-input { /* shown only if Google fails to load */ }

/* Keep the autocomplete dropdown above the modal (legacy + new) */
.pac-container { z-index:1000000 !important; }

@media(max-width:640px){ .accord-modal{padding:10px; align-items:flex-start;} .accord-modal-panel{padding:22px 16px; border-radius:0; max-height:96vh;} .accord-grid.two{grid-template-columns:1fr; gap:0;} .accord-modal-header h2{font-size:24px;} .accord-map{height:250px;} }

/* Accord square button override */
.accord-trigger-btn, .accord-open-quote, .accord-submit-btn, .accord-form input, .accord-form select, .accord-modal-panel, .accord-selected-vehicle, .accord-map, .accord-route-summary { border-radius:0 !important; }
