.elementor-kit-4{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-kadence1:#2B6CB0;--e-global-color-kadence2:#215387;--e-global-color-kadence3:#1A202C;--e-global-color-kadence4:#2D3748;--e-global-color-kadence5:#4A5568;--e-global-color-kadence6:#718096;--e-global-color-kadence7:#EDF2F7;--e-global-color-kadence8:#F7FAFC;--e-global-color-kadence9:#ffffff;--e-global-color-b5aeb33:#fbf1f7;--e-global-color-c58817e:#3c1930;--e-global-color-5420d44:#b2436e;--e-global-color-58be983:#ffffff;--e-global-color-09cc561:#0d141a;--e-global-color-a495fd4:#B8C0CC;--e-global-color-dff8941:#FBF1F7;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-5535e8e-font-family:"NunitoSans";--e-global-typography-5535e8e-font-size:3rem;--e-global-typography-5535e8e-font-weight:700;--e-global-typography-c83476d-font-family:"NunitoSans";--e-global-typography-c83476d-font-size:2.5rem;--e-global-typography-c83476d-font-weight:bold;--e-global-typography-ff8f921-font-family:"NunitoSans";--e-global-typography-ff8f921-font-size:2.3rem;--e-global-typography-ff8f921-font-weight:bold;--e-global-typography-887fca2-font-family:"Lato";--e-global-typography-887fca2-font-size:1rem;--e-global-typography-887fca2-font-weight:400;--e-global-typography-2142591-font-family:"Lato";--e-global-typography-2142591-font-size:1rem;--e-global-typography-2142591-font-weight:700;--e-global-typography-6e52843-font-family:"Lato";--e-global-typography-6e52843-font-size:1rem;--e-global-typography-6e52843-font-weight:500;}.elementor-kit-4.el-is-editing{--global-palette1:#2B6CB0;--global-palette2:#215387;--global-palette3:#1A202C;--global-palette4:#2D3748;--global-palette5:#4A5568;--global-palette6:#718096;--global-palette7:#EDF2F7;--global-palette8:#F7FAFC;--global-palette9:#ffffff;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}.entry-title, .wp-block-post-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4{--e-global-typography-c83476d-font-size:1.9rem;--e-global-typography-ff8f921-font-size:1.9rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ═══════════════════════════════════════════════════════════════════════
   EXPRESS MOBILE DETAILING — COMPLETE CUSTOM CSS
   Replace ENTIRE Elementor > Site Settings > Custom CSS with this file
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Elementor form stays FULLY hidden — kept off-screen but functional.
   Your own "Complete Booking" button triggers its submit via JS.
   (Off-screen instead of display:none so Elementor's JS can still submit it.) ── */
.emt-hidden-form,
#emtHiddenBookingForm {
  position: absolute !important;
  left: -99999px !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}
/* even on the review step, keep it off-screen (no visible "Send" button) */
body.emt-review-active .emt-hidden-form,
body.emt-review-active #emtHiddenBookingForm {
  position: absolute !important;
  left: -99999px !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}
/* keep the submit button reachable by JS .click() but never visible */
body.emt-review-active #emt-hidden-submit,
body.emt-review-active .emt-hidden-form .elementor-field-type-submit,
body.emt-review-active .emt-hidden-form .elementor-button-wrapper,
body.emt-review-active #emtHiddenBookingForm .elementor-field-type-submit,
body.emt-review-active #emtHiddenBookingForm .elementor-button-wrapper {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}

/* ═══════════════════════════════════════════════
   MAIN BOOKING LAYOUT
   Structure: emtLeftCol (Row) > all widgets + emtRightCol
   emtLeftCol Direction = ROW in Elementor Layout tab
   emtRightCol width = 32% set in Elementor Layout tab
   ═══════════════════════════════════════════════ */

/* emtLeftCol — flex row, widgets on left, RightCol on right */
#emtLeftCol,
.elementor-element#emtLeftCol,
div#emtLeftCol.e-con {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 24px !important;
}

/* All direct widget children of emtLeftCol — 
   take up remaining space (except emtRightCol) */
#emtLeftCol > *:not(#emtRightCol),
#emtLeftCol > .elementor-widget:not(#emtRightCol),
#emtLeftCol > div.e-con:not(#emtRightCol) {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  box-sizing: border-box !important;
}

/* emtRightCol — fixed 32% right, sticky */
#emtRightCol,
.elementor-element#emtRightCol,
div#emtRightCol.e-con {
  flex: 0 0 32% !important;
  width: 32% !important;
  max-width: 32% !important;
  min-width: 260px !important;
  box-sizing: border-box !important;
  position: sticky !important;
  top: 80px !important;
  align-self: flex-start !important;
  height: fit-content !important;
}

/* All widgets full width inside emtLeftCol */
#emtLeftCol .emtv-bar,
#emtLeftCol .emtpkg-wrap,
#emtLeftCol .emtaddr-panel,
#emtLeftCol .emtdt-panel,
#emtLeftCol .emtct-panel,
#emtLeftCol .emtcf-panel,
#emtLeftCol .emta-banner,
#emtLeftCol .emta-bottom-bar {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Mobile — stack vertically, RightCol on top */
@media (max-width: 900px) {
  #emtLeftCol,
  .elementor-element#emtLeftCol,
  div#emtLeftCol.e-con {
    flex-direction: column !important;
  }
  #emtRightCol,
  .elementor-element#emtRightCol,
  div#emtRightCol.e-con {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    position: static !important;
    order: -1 !important;
    margin-bottom: 16px !important;
  }
  #emtLeftCol > *:not(#emtRightCol),
  #emtLeftCol > .elementor-widget:not(#emtRightCol) {
    width: 100% !important;
    max-width: 100% !important;
    order: 0 !important;
  }
}

/* Package panel hide/show */
#emtPkgPanel { display: block !important; }
#emtPkgPanel.emt-hidden { display: none !important; }

.emtpkg-wrap,
.emtpkg-tabs,
.emtpkg-panel,
.emtpkg-grid,
.emtpkg-grid-3 {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.emta-bottom-bar {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 16px !important;
}

/* Step panels — hidden by default, JS adds .active */
.emtaddr-panel,
.emtdt-panel,
.emtct-panel,
.emtcf-panel {
  display: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.emtaddr-panel.active,
.emtdt-panel.active,
.emtct-panel.active,
.emtcf-panel.active {
  display: block !important;
  animation: emtFadeStep 0.3s ease !important;
}
@keyframes emtFadeStep {
  from { opacity:0; transform:translateY(8px); }
  to   { opacity:1; transform:translateY(0); }
}
.emtaddr-inner,
.emtdt-inner,
.emtct-inner,
.emtcf-inner {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ═══════════════════════════════════════════════
   emtRightCol — Your Booking widget
   ═══════════════════════════════════════════════ */
#emtRightCol {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}
#emtRightCol > * {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
@media (min-width: 901px) {
  .emtst-card       { display: block !important; }
  .emtst-mobile-bar { display: none !important; }
}
@media (max-width: 900px) {
  .emtst-card       { display: none !important; }
  .emtst-mobile-bar { display: block !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
}

/* ═══════════════════════════════════════════════
   Popups/modals — always viewport-fixed
   ═══════════════════════════════════════════════ */
.emtp-overlay,
.emta-modal-overlay,
.emttech-overlay,
.emtsuc-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
}
.emtaddr-search-wrap { position: relative !important; }
.emtaddr-suggestions { position: absolute !important; }
.emtp-close          { position: absolute !important; }
.emta-modal-close    { position: absolute !important; }
.emtpkg-badge        { position: absolute !important; }

/* ═══════════════════════════════════════════════
   Confirmation row text safety
   ═══════════════════════════════════════════════ */
.emtcf-row { flex-wrap: nowrap !important; align-items: flex-start !important; }
.emtcf-row-left { width: auto !important; flex: 1 1 auto !important; min-width: 0 !important; }
.emtcf-row-val { white-space: normal !important; word-break: break-word !important; overflow: visible !important; }
.emtcf-edit-btn { margin-top: 0 !important; align-self: center !important; }
@media (max-width: 380px) {
  .emtcf-row { flex-wrap: wrap !important; }
  .emtcf-row-left { width: 100% !important; flex: 1 1 100% !important; }
  .emtcf-edit-btn { margin-top: 8px !important; align-self: flex-start !important; }
}

/* ═══════════════════════════════════════════════
   POPUP CSS
   ═══════════════════════════════════════════════ */
.emtp-overlay {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,0.65) !important;
  backdrop-filter: blur(4px) !important;
  z-index: 9999999 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
}
.emtp-overlay.active { display: flex !important; }
.emtp-box {
  position: relative !important;
  width: 100% !important;
  max-width: 860px !important;
  background: #fff !important;
  border-radius: 24px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  overflow: hidden !important;
  box-shadow: 0 32px 80px rgba(0,0,0,0.22) !important;
  max-height: 95vh !important;
}
.emtp-close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 999999 !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1.5px solid #eee !important;
  background: #ffffff !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.18) !important;
  color: #111 !important;
  transition: background 0.2s, color 0.2s, transform 0.25s !important;
  padding: 0 !important;
  font-size: 0 !important;
}
.emtp-close svg { width: 20px !important; height: 20px !important; stroke-width: 3 !important; pointer-events: none !important; }
.emtp-close:hover { background: #d20d0d !important; color: #fff !important; border-color: #d20d0d !important; transform: rotate(90deg) !important; }
.emtp-left {
  position: relative !important;
  min-height: 480px !important;
  height: 100% !important;
  overflow: hidden !important;
  background: #f4f4f4 !important;
}
.emtp-left img,
.emtp-left video {
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  background: #f4f4f4 !important;
  pointer-events: none !important;
}
/* Hide the native play-button overlay / controls that some browsers draw */
.emtp-left video::-webkit-media-controls,
.emtp-left video::-webkit-media-controls-start-playback-button,
.emtp-left video::-webkit-media-controls-overlay-play-button,
.emtp-left video::-webkit-media-controls-panel {
  display: none !important;
  -webkit-appearance: none !important;
  opacity: 0 !important;
}
.emtp-right {
  padding: 40px 36px !important;
  overflow-y: auto !important;
  max-height: 95vh !important;
  display: flex !important;
  flex-direction: column !important;
}
.emtp-right::-webkit-scrollbar { width: 4px; }
.emtp-right::-webkit-scrollbar-thumb { background: #ddd; border-radius: 2px; }
.emtp-eyebrow { font-size: 11px !important; font-weight: 800 !important; letter-spacing: 1px !important; text-transform: uppercase !important; color: #d20d0d !important; margin: 0 0 10px !important; }
.emtp-title { font-size: 26px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 8px !important; line-height: 1.2 !important; }
.emtp-sub { font-size: 14px !important; color: #666 !important; margin: 0 0 28px !important; line-height: 1.6 !important; }
.emtp-field { margin-bottom: 14px !important; }
.emtp-field label { display: block !important; font-size: 12px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: #111 !important; margin-bottom: 6px !important; }
.emtp-field select {
  width: 100% !important; height: 46px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 10px !important;
  padding: 0 36px 0 14px !important; font-size: 14px !important; color: #111 !important; background: #fff !important;
  outline: none !important; cursor: pointer !important; -webkit-appearance: none !important; appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 12px center !important; transition: border-color 0.2s !important;
}
.emtp-field select:focus { border-color: #d20d0d !important; box-shadow: 0 0 0 3px rgba(210,13,13,0.1) !important; }
.emtp-field select:disabled { opacity: 0.5 !important; cursor: not-allowed !important; background-color: #f8f8f8 !important; }
.emtp-body-tag { background: #fff5f5 !important; border: 1px solid #fcc !important; border-radius: 8px !important; padding: 10px 14px !important; font-size: 13px !important; font-weight: 800 !important; color: #d20d0d !important; }
#emtpSuvWrap { display: none; }
#emtpSuvWrap.visible { display: block !important; }
.emtp-suv-hint { background: #fff5f5 !important; border: 1px solid #fcc !important; border-radius: 8px !important; padding: 10px 14px !important; font-size: 13px !important; font-weight: 800 !important; color: #d20d0d !important; margin: 4px 0 14px !important; }
.emtp-btn { width: 100% !important; height: 50px !important; background: #d20d0d !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-size: 15px !important; font-weight: 800 !important; cursor: pointer !important; margin-top: 8px !important; transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important; letter-spacing: 0.3px !important; }
.emtp-btn:hover:not(:disabled) { background: #a80b0b !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(210,13,13,0.28) !important; }
.emtp-btn:disabled { opacity: 0.45 !important; cursor: not-allowed !important; }
.emtp-trust { display: flex !important; gap: 14px !important; flex-wrap: wrap !important; margin-top: 16px !important; padding-top: 16px !important; border-top: 1px solid #eee !important; }
.emtp-trust span { font-size: 12px !important; font-weight: 700 !important; color: #888 !important; }
@media (max-width: 768px) {
  .emtp-box { grid-template-columns: 1fr !important; max-height: 92vh !important; border-radius: 20px !important; }
  .emtp-left { display: none !important; }
  .emtp-right { padding: 32px 22px !important; max-height: 92vh !important; }
  .emtp-title { font-size: 22px !important; }
}
@media (max-width: 480px) {
  .emtp-right { padding: 24px 18px !important; }
  .emtp-title { font-size: 19px !important; }
}

/* ═══════════════════════════════════════════════
   VEHICLE SUMMARY BAR
   ═══════════════════════════════════════════════ */
.emtv-bar {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  gap: 16px !important; background: #fff !important; border: 1.5px solid #ebebeb !important;
  border-radius: 18px !important; padding: 18px 22px !important; box-shadow: 0 6px 24px rgba(0,0,0,0.06) !important;
  margin-bottom: 18px !important; width: 100% !important; box-sizing: border-box !important; flex-wrap: wrap !important;
}
.emtv-bar-left { display: flex !important; align-items: center !important; gap: 14px !important; flex: 1 !important; min-width: 0 !important; }
.emtv-icon-wrap { width: 50px !important; height: 50px !important; background: #fff5f5 !important; border-radius: 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
.emtv-car-icon { width: 32px !important; height: 16px !important; }
.emtv-text { flex: 1 !important; min-width: 0 !important; }
.emtv-label { font-size: 10px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 1px !important; color: #999 !important; margin: 0 0 3px !important; }
.emtv-name { font-size: 18px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 6px !important; line-height: 1.25 !important; white-space: normal !important; word-break: break-word !important; }
.emtv-chips { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
.emtv-chip { display: inline-block !important; background: #f5f5f5 !important; border-radius: 999px !important; padding: 4px 11px !important; font-size: 11px !important; font-weight: 700 !important; color: #444 !important; white-space: nowrap !important; }
.emtv-chip-type { background: #fff5f5 !important; color: #d20d0d !important; }
.emtv-edit-btn { flex-shrink: 0 !important; height: 44px !important; padding: 0 20px !important; background: #fff !important; color: #d20d0d !important; border: 2px solid #d20d0d !important; border-radius: 12px !important; font-size: 14px !important; font-weight: 800 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; transition: background 0.2s, color 0.2s !important; white-space: nowrap !important; }
.emtv-edit-btn:hover { background: #d20d0d !important; color: #fff !important; }
.emtv-edit-btn svg { flex-shrink: 0 !important; }
.emtv-empty { width: 100% !important; text-align: center !important; }
.emtv-empty p { font-size: 14px !important; color: #888 !important; margin: 0 0 14px !important; }
.emtv-select-btn { width: 100% !important; max-width: 320px !important; height: 46px !important; background: #d20d0d !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-size: 14px !important; font-weight: 800 !important; cursor: pointer !important; transition: background 0.2s !important; }
.emtv-select-btn:hover { background: #a80b0b !important; }
@media (max-width: 768px) {
  .emtv-bar { flex-direction: column !important; align-items: stretch !important; padding: 16px 16px !important; gap: 14px !important; }
  .emtv-bar-left { width: 100% !important; }
  .emtv-name { font-size: 16px !important; }
  .emtv-edit-btn { width: 100% !important; }
}
@media (max-width: 480px) {
  .emtv-icon-wrap { width: 44px !important; height: 44px !important; }
  .emtv-name { font-size: 15px !important; }
}

/* ═══════════════════════════════════════════════
   PACKAGES
   ═══════════════════════════════════════════════ */
.emtpkg-wrap { background: #fff !important; border: 1.5px solid #ebebeb !important; border-radius: 22px !important; padding: 28px 24px !important; box-shadow: 0 8px 32px rgba(0,0,0,0.07) !important; margin-top: 20px !important; }
.emtpkg-tabs { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-bottom: 24px !important; }
.emtpkg-tab { padding: 10px 16px !important; border-radius: 999px !important; border: 1.5px solid #e5e5e5 !important; background: #fff !important; color: #333 !important; font-size: 13px !important; font-weight: 800 !important; cursor: pointer !important; transition: all 0.22s ease !important; white-space: nowrap !important; }
.emtpkg-tab:hover { border-color: #d20d0d !important; color: #d20d0d !important; }
.emtpkg-tab.active { background: #d20d0d !important; border-color: #d20d0d !important; color: #fff !important; box-shadow: 0 6px 18px rgba(210,13,13,0.22) !important; }
.emtpkg-panel { display: none !important; }
.emtpkg-panel.active { display: block !important; animation: emtpkgFade 0.25s ease !important; }
@keyframes emtpkgFade { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
.emtpkg-panel-sub { font-size: 13px !important; color: #777 !important; margin: 0 0 18px !important; line-height: 1.5 !important; }
.emtpkg-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; margin-bottom: 20px !important; }
.emtpkg-grid-3 { grid-template-columns: repeat(3, 1fr) !important; }
.emtpkg-card { position: relative !important; background: #fff !important; border: 1.5px solid #e8e8e8 !important; border-radius: 18px !important; padding: 22px 18px !important; cursor: pointer !important; transition: all 0.22s ease !important; }
.emtpkg-card:hover { border-color: #d20d0d !important; transform: translateY(-3px) !important; box-shadow: 0 12px 28px rgba(210,13,13,0.10) !important; }
.emtpkg-card.selected { border: 2px solid #d20d0d !important; background: #fff8f8 !important; box-shadow: 0 12px 28px rgba(210,13,13,0.14) !important; }
.emtpkg-card strong { display: block !important; font-size: 14px !important; font-weight: 900 !important; color: #111 !important; margin-bottom: 8px !important; line-height: 1.3 !important; }
.emtpkg-price { font-size: 28px !important; font-weight: 900 !important; color: #d20d0d !important; margin: 0 0 10px !important; }
.emtpkg-card p { font-size: 13px !important; color: #666 !important; margin: 0 0 10px !important; line-height: 1.5 !important; }
.emtpkg-card ul { padding-left: 16px !important; margin: 0 !important; }
.emtpkg-card ul li { font-size: 12px !important; color: #555 !important; margin-bottom: 3px !important; line-height: 1.5 !important; }
.emtpkg-badge { position: absolute !important; top: 0 !important; right: 16px !important; background: #d20d0d !important; color: #fff !important; font-size: 10px !important; font-weight: 900 !important; padding: 5px 10px !important; border-radius: 0 0 10px 10px !important; letter-spacing: 0.3px !important; }
.emtpkg-panel-card { padding: 14px 14px 16px !important; text-align: center !important; }
.emtpkg-panel-img { width: 100% !important; height: 90px !important; object-fit: cover !important; border-radius: 10px !important; margin-bottom: 10px !important; display: block !important; }
.emtpkg-panel-card strong { font-size: 13px !important; text-align: center !important; }
.emtpkg-panel-card .emtpkg-price { font-size: 18px !important; text-align: center !important; }
.emtpkg-footer { border-top: 1px solid #eee !important; padding-top: 18px !important; display: flex !important; flex-direction: column !important; gap: 12px !important; }
.emtpkg-selected-info { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; background: #fff8f8 !important; border: 1px dashed #d20d0d !important; border-radius: 12px !important; padding: 12px 16px !important; }
.emtpkg-selected-label { font-size: 12px !important; font-weight: 800 !important; color: #999 !important; text-transform: uppercase !important; }
#emtpkgSelectedName { font-size: 14px !important; font-weight: 800 !important; color: #111 !important; flex: 1 !important; }
.emtpkg-selected-price { font-size: 16px !important; font-weight: 900 !important; color: #d20d0d !important; }
.emtpkg-continue-btn { width: 100% !important; height: 50px !important; background: #d20d0d !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-size: 15px !important; font-weight: 800 !important; cursor: pointer !important; transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important; }
.emtpkg-continue-btn:hover:not(:disabled) { background: #a80b0b !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(210,13,13,0.28) !important; }
.emtpkg-continue-btn:disabled { opacity: 0.4 !important; cursor: not-allowed !important; }
@media (max-width: 900px) { .emtpkg-grid-3 { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 768px) {
  .emtpkg-wrap { padding: 20px 16px !important; border-radius: 18px !important; }
  .emtpkg-grid { grid-template-columns: 1fr !important; }
  .emtpkg-grid-3 { grid-template-columns: repeat(2, 1fr) !important; }
  .emtpkg-tab { font-size: 12px !important; padding: 9px 13px !important; }
  .emtpkg-price { font-size: 24px !important; }
}
@media (max-width: 480px) { .emtpkg-grid-3 { grid-template-columns: 1fr !important; } .emtpkg-tabs { gap: 6px !important; } }

/* ═══════════════════════════════════════════════
   ADD-ONS
   ═══════════════════════════════════════════════ */
.emta-banner { background: #d20d0d !important; overflow: hidden !important; padding: 10px 0 !important; margin-bottom: 0 !important; border-radius: 14px 14px 0 0 !important; }
.emta-ticker { display: flex !important; gap: 60px !important; white-space: nowrap !important; animation: emtaTick 28s linear infinite !important; width: max-content !important; }
.emta-ticker span { font-size: 13px !important; font-weight: 700 !important; color: #fff !important; flex-shrink: 0 !important; }
@keyframes emtaTick { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.emta-banner:hover .emta-ticker { animation-play-state: paused !important; }
.emta-bottom-bar { position: sticky !important; bottom: 0 !important; z-index: 999 !important; background: #fff !important; border-top: 2px solid #ebebeb !important; padding: 14px 20px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; box-shadow: 0 -4px 20px rgba(0,0,0,0.10) !important; border-radius: 0 0 22px 22px !important; }
.emta-bottom-info { display: flex !important; flex-direction: column !important; gap: 2px !important; min-width: 0 !important; flex: 1 !important; }
.emta-bottom-label { font-size: 10px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.8px !important; color: #999 !important; }
#emtaSelectedName { font-size: 14px !important; font-weight: 900 !important; color: #111 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.emta-bottom-price { font-size: 18px !important; font-weight: 900 !important; color: #d20d0d !important; }
.emta-continue-btn { flex-shrink: 0 !important; height: 46px !important; padding: 0 22px !important; background: #d20d0d !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-size: 14px !important; font-weight: 800 !important; cursor: pointer !important; white-space: nowrap !important; transition: background 0.2s, transform 0.2s !important; }
.emta-continue-btn:hover:not(:disabled) { background: #a80b0b !important; transform: translateY(-1px) !important; }
.emta-continue-btn:disabled { opacity: 0.4 !important; cursor: not-allowed !important; }
.emta-modal-overlay { display: none !important; position: fixed !important; inset: 0 !important; background: rgba(0,0,0,0.60) !important; backdrop-filter: blur(3px) !important; z-index: 9999999 !important; align-items: center !important; justify-content: center !important; padding: 16px !important; }
.emta-modal-overlay.active { display: flex !important; animation: emtaFadeIn 0.22s ease !important; }
@keyframes emtaFadeIn { from { opacity:0; } to { opacity:1; } }
.emta-modal-box { position: relative !important; width: 100% !important; max-width: 520px !important; max-height: 88vh !important; background: #fff !important; border-radius: 24px !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; box-shadow: 0 28px 70px rgba(0,0,0,0.22) !important; animation: emtaSlideUp 0.28s ease-out !important; }
@keyframes emtaSlideUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
.emta-modal-close { position: absolute !important; top: 14px !important; right: 14px !important; width: 36px !important; height: 36px !important; border-radius: 50% !important; border: none !important; background: #f3f4f6 !important; color: #333 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 10 !important; transition: background 0.2s, color 0.2s !important; }
.emta-modal-close:hover { background: #d20d0d !important; color: #fff !important; }
.emta-modal-header { padding: 28px 24px 16px !important; }
.emta-modal-header h3 { font-size: 22px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 6px !important; }
.emta-modal-header p { font-size: 13px !important; color: #777 !important; margin: 0 !important; }
.emta-modal-promo { margin: 0 24px 16px !important; background: #fff8f0 !important; border: 1px dashed #ff8c00 !important; border-radius: 10px !important; padding: 10px 14px !important; font-size: 13px !important; color: #c45000 !important; }
.emta-addons-list { flex: 1 !important; overflow-y: auto !important; padding: 0 24px !important; display: flex !important; flex-direction: column !important; gap: 10px !important; }
.emta-addons-list::-webkit-scrollbar { width: 4px; }
.emta-addons-list::-webkit-scrollbar-thumb { background: #ddd; border-radius: 2px; }
.emta-addon { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; border: 1.5px solid #e8e8e8 !important; border-radius: 14px !important; padding: 14px 16px !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.emta-addon:hover { border-color: #d20d0d !important; background: #fff8f8 !important; }
.emta-addon.selected { border-color: #d20d0d !important; background: #fff5f5 !important; box-shadow: 0 4px 14px rgba(210,13,13,0.12) !important; }
.emta-addon.hidden { display: none !important; }
.emta-addon-left { display: flex !important; align-items: flex-start !important; gap: 12px !important; flex: 1 !important; min-width: 0 !important; }
.emta-addon-icon { font-size: 20px !important; flex-shrink: 0 !important; margin-top: 2px !important; }
.emta-addon-left div { min-width: 0 !important; }
.emta-addon-left strong { display: block !important; font-size: 14px !important; font-weight: 800 !important; color: #111 !important; margin-bottom: 2px !important; }
.emta-addon-left small { font-size: 12px !important; color: #777 !important; line-height: 1.4 !important; display: block !important; }
.emta-addon-price { font-size: 15px !important; font-weight: 900 !important; color: #d20d0d !important; white-space: nowrap !important; flex-shrink: 0 !important; }
.emta-addon-price em { font-style: normal !important; font-size: 11px !important; font-weight: 700 !important; color: #999 !important; }
.emta-modal-footer { padding: 16px 24px 24px !important; border-top: 1px solid #eee !important; display: flex !important; flex-direction: column !important; gap: 12px !important; }
.emta-modal-trust { display: flex !important; gap: 16px !important; flex-wrap: wrap !important; }
.emta-modal-trust span { font-size: 12px !important; font-weight: 700 !important; color: #999 !important; }
.emta-modal-next-btn { width: 100% !important; height: 50px !important; background: #d20d0d !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-size: 15px !important; font-weight: 800 !important; cursor: pointer !important; transition: background 0.2s, transform 0.2s !important; }
.emta-modal-next-btn:hover { background: #a80b0b !important; transform: translateY(-2px) !important; }
@media (max-width: 768px) {
  .emta-bottom-bar { flex-direction: column !important; align-items: stretch !important; padding: 12px 16px !important; gap: 10px !important; border-radius: 0 !important; }
  .emta-bottom-info { flex-direction: row !important; align-items: center !important; gap: 8px !important; }
  .emta-bottom-label { display: none !important; }
  .emta-continue-btn { width: 100% !important; justify-content: center !important; }
  .emta-modal-box { max-height: 92vh !important; border-radius: 20px !important; }
  .emta-modal-header { padding: 22px 18px 12px !important; }
  .emta-addons-list { padding: 0 18px !important; }
  .emta-modal-footer { padding: 14px 18px 20px !important; }
  .emta-modal-promo { margin: 0 18px 12px !important; }
}

/* ═══════════════════════════════════════════════
   ADDRESS PANEL
   ═══════════════════════════════════════════════ */
.emtaddr-panel { display: none !important; margin-top: 20px !important; }
.emtaddr-panel.active { display: block !important; animation: emtAddrFade 0.28s ease !important; }
@keyframes emtAddrFade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.emtaddr-inner { background: #fff !important; border: 1.5px solid #ebebeb !important; border-radius: 22px !important; padding: 28px 24px !important; box-shadow: 0 8px 32px rgba(0,0,0,0.07) !important; }
.emtaddr-header { display: flex !important; align-items: flex-start !important; gap: 14px !important; margin-bottom: 24px !important; }
.emtaddr-icon { width: 46px !important; height: 46px !important; background: #fff5f5 !important; border-radius: 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
.emtaddr-title { font-size: 20px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 4px !important; line-height: 1.2 !important; }
.emtaddr-sub { font-size: 13px !important; color: #777 !important; margin: 0 !important; line-height: 1.5 !important; }
.emtaddr-field { margin-bottom: 20px !important; }
.emtaddr-field label { display: block !important; font-size: 12px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: #111 !important; margin-bottom: 8px !important; }
.emtaddr-search-wrap { position: relative !important; z-index: 999999 !important; }
.emtaddr-search-icon { position: absolute !important; left: 14px !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; display: flex !important; }
.emtaddr-input { width: 100% !important; height: 50px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 12px !important; padding: 0 40px 0 42px !important; font-size: 14px !important; color: #111 !important; background: #fff !important; outline: none !important; box-sizing: border-box !important; transition: border-color 0.2s, box-shadow 0.2s !important; }
.emtaddr-input:focus { border-color: #d20d0d !important; box-shadow: 0 0 0 3px rgba(210,13,13,0.10) !important; }
.emtaddr-input::placeholder { color: #bbb !important; font-size: 13px !important; }
.emtaddr-clear-btn { position: absolute !important; right: 12px !important; top: 50% !important; transform: translateY(-50%) !important; background: none !important; border: none !important; color: #aaa !important; font-size: 14px !important; cursor: pointer !important; padding: 4px !important; line-height: 1 !important; }
.emtaddr-clear-btn:hover { color: #d20d0d !important; }
.emtaddr-suggestions { position: absolute !important; top: calc(100% + 4px) !important; left: 0 !important; right: 0 !important; background: #fff !important; border: 1.5px solid #e0e0e0 !important; border-radius: 14px !important; box-shadow: 0 12px 36px rgba(0,0,0,0.13) !important; z-index: 999999 !important; max-height: 240px !important; overflow-y: auto !important; display: none !important; }
.emtaddr-suggestions.open { display: block !important; }
.emtaddr-field:has(.emtaddr-suggestions.open) { z-index: 999999 !important; position: relative !important; }
.emtaddr-inner:has(.emtaddr-suggestions.open) { z-index: 999999 !important; position: relative !important; }
.emtaddr-suggestions::-webkit-scrollbar { width: 4px; }
.emtaddr-suggestions::-webkit-scrollbar-thumb { background: #ddd; border-radius: 2px; }
.emtaddr-suggestion { display: flex !important; align-items: center !important; gap: 10px !important; padding: 11px 16px !important; cursor: pointer !important; border-bottom: 1px solid #f5f5f5 !important; transition: background 0.15s !important; }
.emtaddr-suggestion:last-child { border-bottom: none !important; }
.emtaddr-suggestion:hover,.emtaddr-suggestion.highlighted { background: #fff5f5 !important; }
.emtaddr-suggestion-pin { color: #d20d0d !important; font-size: 14px !important; flex-shrink: 0 !important; }
.emtaddr-suggestion-text { flex: 1 !important; min-width: 0 !important; }
.emtaddr-suggestion-city { font-size: 14px !important; font-weight: 700 !important; color: #111 !important; display: block !important; }
.emtaddr-suggestion-province { font-size: 11px !important; color: #999 !important; font-weight: 600 !important; }
.emtaddr-suggestion-match { color: #d20d0d !important; }
.emtaddr-type-wrap { margin-bottom: 20px !important; }
.emtaddr-type-label { font-size: 12px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: #111 !important; margin: 0 0 10px !important; }
.emtaddr-types { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.emtaddr-type { padding: 9px 15px !important; border-radius: 999px !important; border: 1.5px solid #e0e0e0 !important; background: #fff !important; color: #444 !important; font-size: 13px !important; font-weight: 700 !important; cursor: pointer !important; transition: all 0.2s !important; white-space: nowrap !important; }
.emtaddr-type:hover { border-color: #d20d0d !important; color: #d20d0d !important; }
.emtaddr-type.active { background: #d20d0d !important; border-color: #d20d0d !important; color: #fff !important; box-shadow: 0 4px 12px rgba(210,13,13,0.20) !important; }
.emtaddr-note { display: flex !important; align-items: center !important; gap: 8px !important; background: #fff5f5 !important; border: 1px dashed #d20d0d !important; border-radius: 10px !important; padding: 12px 16px !important; font-size: 13px !important; color: #333 !important; margin-bottom: 20px !important; }
.emtaddr-note strong { color: #d20d0d !important; }
.emtaddr-continue-btn { width: 100% !important; height: 50px !important; background: #d20d0d !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-size: 15px !important; font-weight: 800 !important; cursor: pointer !important; transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important; }
.emtaddr-continue-btn:hover:not(:disabled) { background: #a80b0b !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(210,13,13,0.28) !important; }
.emtaddr-continue-btn:disabled { opacity: 0.4 !important; cursor: not-allowed !important; }
@media (max-width: 768px) {
  .emtaddr-inner { padding: 20px 16px !important; border-radius: 18px !important; }
  .emtaddr-title { font-size: 17px !important; }
  .emtaddr-type { font-size: 12px !important; padding: 8px 12px !important; }
  .emtaddr-header { gap: 10px !important; }
  .emtaddr-icon { width: 40px !important; height: 40px !important; }
}

/* ═══════════════════════════════════════════════
   DATE & TIME
   ═══════════════════════════════════════════════ */
.emtdt-panel { display: none !important; margin-top: 20px !important; }
.emtdt-panel.active { display: block !important; animation: emtdtFade 0.28s ease !important; }
@keyframes emtdtFade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.emtdt-inner { background: #fff !important; border: 1.5px solid #ebebeb !important; border-radius: 22px !important; padding: 28px 24px !important; box-shadow: 0 8px 32px rgba(0,0,0,0.07) !important; }
.emtdt-header { display: flex !important; align-items: flex-start !important; gap: 14px !important; margin-bottom: 24px !important; }
.emtdt-icon { width: 46px !important; height: 46px !important; background: #fff5f5 !important; border-radius: 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
.emtdt-title { font-size: 20px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 4px !important; line-height: 1.2 !important; }
.emtdt-sub { font-size: 13px !important; color: #777 !important; margin: 0 !important; line-height: 1.5 !important; }
.emtdt-cal-wrap { background: #fafafa !important; border: 1.5px solid #ebebeb !important; border-radius: 18px !important; padding: 20px !important; margin-bottom: 20px !important; max-width: 420px !important; width: 100% !important; box-sizing: border-box !important; }
.emtdt-cal-nav { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 18px !important; }
.emtdt-nav-btn { width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; border-radius: 50% !important; border: 1.5px solid #e0e0e0 !important; background: #fff !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #444 !important; transition: all 0.2s !important; flex-shrink: 0 !important; }
.emtdt-nav-btn:hover { background: #d20d0d !important; border-color: #d20d0d !important; color: #fff !important; }
.emtdt-nav-btn:disabled { opacity: 0.3 !important; cursor: not-allowed !important; }
.emtdt-nav-btn svg { width: 15px !important; height: 15px !important; }
.emtdt-month-label { font-size: 15px !important; font-weight: 900 !important; color: #111 !important; }
.emtdt-day-headers { display: grid !important; grid-template-columns: repeat(7, 1fr) !important; gap: 4px !important; margin-bottom: 8px !important; }
.emtdt-day-headers span { text-align: center !important; font-size: 11px !important; font-weight: 800 !important; color: #999 !important; text-transform: uppercase !important; letter-spacing: 0.3px !important; padding: 4px 0 !important; }
.emtdt-dates { display: grid !important; grid-template-columns: repeat(7, 1fr) !important; gap: 4px !important; }
.emtdt-date-btn { width: 100% !important; max-width: 42px !important; max-height: 42px !important; aspect-ratio: 1/1 !important; border: none !important; border-radius: 50% !important; background: transparent !important; font-size: 13px !important; font-weight: 700 !important; color: #111 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; transition: all 0.18s !important; position: relative !important; margin: 0 auto !important; }
.emtdt-date-btn:hover:not(:disabled):not(.past) { background: #fff5f5 !important; color: #d20d0d !important; }
.emtdt-date-btn.selected { background: #d20d0d !important; color: #fff !important; box-shadow: 0 4px 12px rgba(210,13,13,0.30) !important; }
.emtdt-date-btn.today:not(.selected) { border: 2px solid #d20d0d !important; color: #d20d0d !important; font-weight: 900 !important; }
.emtdt-date-btn.past,.emtdt-date-btn:disabled { color: #ccc !important; cursor: not-allowed !important; pointer-events: none !important; }
.emtdt-date-btn.empty { pointer-events: none !important; background: transparent !important; }
.emtdt-time-wrap { margin-bottom: 20px !important; animation: emtdtFade 0.25s ease !important; }
.emtdt-time-heading { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; font-weight: 800 !important; color: #111 !important; margin: 0 0 16px !important; }
.emtdt-time-groups { display: flex !important; flex-direction: column !important; gap: 16px !important; }
.emtdt-time-group-label { display: block !important; font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.6px !important; color: #aaa !important; margin-bottom: 8px !important; }
.emtdt-time-slots { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.emtdt-time-btn { padding: 10px 16px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 999px !important; background: #fff !important; font-size: 13px !important; font-weight: 700 !important; color: #333 !important; cursor: pointer !important; transition: all 0.18s !important; white-space: nowrap !important; }
.emtdt-time-btn:hover { border-color: #d20d0d !important; color: #d20d0d !important; background: #fff5f5 !important; }
.emtdt-time-btn.selected { background: #d20d0d !important; border-color: #d20d0d !important; color: #fff !important; box-shadow: 0 4px 12px rgba(210,13,13,0.25) !important; }
.emtdt-selected-strip { display: flex !important; gap: 16px !important; flex-wrap: wrap !important; background: #fff5f5 !important; border: 1px dashed #d20d0d !important; border-radius: 12px !important; padding: 12px 16px !important; margin-bottom: 16px !important; }
.emtdt-strip-item { display: flex !important; align-items: center !important; gap: 7px !important; font-size: 13px !important; font-weight: 800 !important; color: #111 !important; }
.emtdt-continue-btn { width: 100% !important; height: 50px !important; background: #d20d0d !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-size: 15px !important; font-weight: 800 !important; cursor: pointer !important; transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important; }
.emtdt-continue-btn:hover:not(:disabled) { background: #a80b0b !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(210,13,13,0.28) !important; }
.emtdt-continue-btn:disabled { opacity: 0.4 !important; cursor: not-allowed !important; }
.emttech-overlay { display: none !important; position: fixed !important; inset: 0 !important; background: rgba(0,0,0,0.60) !important; backdrop-filter: blur(4px) !important; z-index: 99999999 !important; align-items: center !important; justify-content: center !important; padding: 20px !important; }
.emttech-overlay.active { display: flex !important; animation: emtTechFade 0.25s ease !important; }
@keyframes emtTechFade { from { opacity:0; } to { opacity:1; } }
.emttech-box { background: #fff !important; border-radius: 24px !important; padding: 36px 32px !important; width: 100% !important; max-width: 400px !important; text-align: center !important; box-shadow: 0 28px 70px rgba(0,0,0,0.22) !important; animation: emtTechSlide 0.30s ease-out !important; }
@keyframes emtTechSlide { from { opacity:0; transform:translateY(24px) scale(0.97); } to { opacity:1; transform:translateY(0) scale(1); } }
.emttech-check-wrap { position: relative !important; width: 72px !important; height: 72px !important; margin: 0 auto 20px !important; }
.emttech-check { width: 72px !important; height: 72px !important; background: #d20d0d !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; position: relative !important; z-index: 2 !important; animation: emtCheckBounce 0.5s ease-out 0.1s both !important; }
@keyframes emtCheckBounce { 0% { transform: scale(0); } 60% { transform: scale(1.12); } 100% { transform: scale(1); } }
.emttech-pulse { position: absolute !important; inset: 0 !important; border-radius: 50% !important; background: rgba(210,13,13,0.20) !important; animation: emtPulse 1.8s ease-out infinite !important; }
@keyframes emtPulse { 0% { transform: scale(1); opacity:0.8; } 100% { transform: scale(2.2); opacity:0; } }
.emttech-title { font-size: 20px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 10px !important; }
.emttech-msg { font-size: 14px !important; color: #666 !important; margin: 0 0 20px !important; line-height: 1.6 !important; }
.emttech-msg strong { color: #d20d0d !important; font-size: 16px !important; }
.emttech-detail { background: #fafafa !important; border-radius: 14px !important; padding: 16px !important; margin-bottom: 22px !important; text-align: left !important; }
.emttech-detail-row { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 8px 0 !important; border-bottom: 1px solid #f0f0f0 !important; font-size: 13px !important; }
.emttech-detail-row:last-child { border-bottom: none !important; }
.emttech-detail-row span { color: #777 !important; }
.emttech-detail-row strong { color: #111 !important; font-weight: 800 !important; }
.emttech-btn { width: 100% !important; height: 50px !important; background: #d20d0d !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-size: 15px !important; font-weight: 800 !important; cursor: pointer !important; transition: background 0.2s, transform 0.2s !important; }
.emttech-btn:hover { background: #a80b0b !important; transform: translateY(-2px) !important; }
@media (max-width: 768px) {
  .emtdt-inner { padding: 20px 16px !important; border-radius: 18px !important; }
  .emtdt-cal-wrap { padding: 16px !important; }
  .emtdt-title { font-size: 17px !important; }
  .emtdt-time-btn { padding: 9px 13px !important; font-size: 12px !important; }
  .emttech-box { padding: 28px 20px !important; border-radius: 20px !important; }
  .emtdt-date-btn { font-size: 12px !important; }
  .emtdt-month-label { font-size: 14px !important; }
}
@media (max-width: 380px) { .emtdt-time-btn { padding: 8px 10px !important; font-size: 11px !important; } }

/* ═══════════════════════════════════════════════
   CONTACT DETAILS
   ═══════════════════════════════════════════════ */
.emtct-panel { display: none !important; margin-top: 20px !important; }
.emtct-panel.active { display: block !important; animation: emtctFade 0.28s ease !important; }
@keyframes emtctFade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.emtct-inner { background: #fff !important; border: 1.5px solid #ebebeb !important; border-radius: 22px !important; padding: 28px 24px !important; box-shadow: 0 8px 32px rgba(0,0,0,0.07) !important; }
.emtct-header { display: flex !important; align-items: flex-start !important; gap: 14px !important; margin-bottom: 24px !important; }
.emtct-icon { width: 46px !important; height: 46px !important; background: #fff5f5 !important; border-radius: 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
.emtct-title { font-size: 20px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 4px !important; line-height: 1.2 !important; }
.emtct-sub { font-size: 13px !important; color: #777 !important; margin: 0 !important; line-height: 1.5 !important; }
.emtct-form { display: flex !important; flex-direction: column !important; gap: 0 !important; }
.emtct-row2 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
.emtct-field { margin-bottom: 16px !important; }
.emtct-field label { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 12px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: #111 !important; margin-bottom: 7px !important; }
.emtct-req { color: #d20d0d !important; font-size: 14px !important; }
.emtct-optional { font-size: 10px !important; font-weight: 700 !important; color: #bbb !important; text-transform: none !important; letter-spacing: 0 !important; margin-left: auto !important; }
.emtct-input { width: 100% !important; height: 48px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 12px !important; padding: 0 16px !important; font-size: 14px !important; color: #111 !important; background: #fff !important; outline: none !important; box-sizing: border-box !important; transition: border-color 0.2s, box-shadow 0.2s !important; font-family: inherit !important; }
.emtct-input:focus { border-color: #d20d0d !important; box-shadow: 0 0 0 3px rgba(210,13,13,0.10) !important; }
.emtct-input.error { border-color: #e53935 !important; background: #fff8f8 !important; }
.emtct-input.valid { border-color: #27ae60 !important; }
.emtct-input-icon-wrap { position: relative !important; }
.emtct-input-icon { position: absolute !important; left: 14px !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; display: flex !important; }
.emtct-input-has-icon { padding-left: 40px !important; }
.emtct-textarea { width: 100% !important; border: 1.5px solid #e0e0e0 !important; border-radius: 12px !important; padding: 14px 16px !important; font-size: 14px !important; color: #111 !important; background: #fff !important; outline: none !important; box-sizing: border-box !important; resize: vertical !important; min-height: 80px !important; font-family: inherit !important; line-height: 1.5 !important; transition: border-color 0.2s, box-shadow 0.2s !important; }
.emtct-textarea:focus { border-color: #d20d0d !important; box-shadow: 0 0 0 3px rgba(210,13,13,0.10) !important; }
.emtct-textarea::placeholder { color: #bbb !important; font-size: 13px !important; }
.emtct-err { display: block !important; font-size: 11px !important; font-weight: 700 !important; color: #e53935 !important; margin-top: 4px !important; min-height: 16px !important; }
.emtct-privacy { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 12px !important; color: #aaa !important; margin: 4px 0 18px !important; }
.emtct-continue-btn { width: 100% !important; height: 50px !important; background: #d20d0d !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-size: 15px !important; font-weight: 800 !important; cursor: pointer !important; transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important; }
.emtct-continue-btn:hover:not(:disabled) { background: #a80b0b !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(210,13,13,0.28) !important; }
.emtct-continue-btn:disabled { opacity: 0.4 !important; cursor: not-allowed !important; }
@media (max-width: 768px) {
  .emtct-inner { padding: 20px 16px !important; border-radius: 18px !important; }
  .emtct-row2 { grid-template-columns: 1fr !important; }
  .emtct-title { font-size: 17px !important; }
}

/* ═══════════════════════════════════════════════
   CONFIRMATION + SUCCESS
   ═══════════════════════════════════════════════ */
.emtcf-panel { display: none !important; margin-top: 20px !important; }
.emtcf-panel.active { display: block !important; animation: emtcfFade 0.28s ease !important; }
@keyframes emtcfFade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.emtcf-inner { background: #fff !important; border: 1.5px solid #ebebeb !important; border-radius: 22px !important; padding: 28px 24px !important; box-shadow: 0 8px 32px rgba(0,0,0,0.07) !important; max-width: 640px !important; margin: 0 auto !important; box-sizing: border-box !important; }
.emtcf-header { display: flex !important; align-items: flex-start !important; gap: 14px !important; margin-bottom: 22px !important; }
.emtcf-icon { width: 46px !important; height: 46px !important; background: #fff5f5 !important; border-radius: 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
.emtcf-title { font-size: 20px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 4px !important; }
.emtcf-sub { font-size: 13px !important; color: #777 !important; margin: 0 !important; }
.emtcf-summary { border: 1.5px solid #ebebeb !important; border-radius: 16px !important; overflow: hidden !important; margin-bottom: 20px !important; }
.emtcf-row { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 12px 16px !important; border-bottom: 1px solid #f5f5f5 !important; gap: 12px !important; transition: background 0.15s !important; }
.emtcf-row:last-child { border-bottom: none !important; }
.emtcf-row:hover { background: #fafafa !important; }
.emtcf-row-left { display: flex !important; align-items: flex-start !important; gap: 12px !important; flex: 1 !important; min-width: 0 !important; }
.emtcf-row-icon { font-size: 18px !important; flex-shrink: 0 !important; margin-top: 1px !important; }
.emtcf-row-label { display: block !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: #aaa !important; margin-bottom: 3px !important; }
.emtcf-row-val { display: block !important; font-size: 14px !important; font-weight: 800 !important; color: #111 !important; line-height: 1.3 !important; word-break: break-word !important; }
.emtcf-edit-btn { flex-shrink: 0 !important; padding: 6px 14px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 999px !important; background: #fff !important; font-size: 12px !important; font-weight: 800 !important; color: #666 !important; cursor: pointer !important; transition: all 0.18s !important; }
.emtcf-edit-btn:hover { border-color: #d20d0d !important; color: #d20d0d !important; background: #fff5f5 !important; }
.emtcf-price-box { background: #fafafa !important; border: 1.5px solid #ebebeb !important; border-radius: 16px !important; padding: 20px !important; margin-bottom: 18px !important; }
.emtcf-price-title { font-size: 15px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 14px !important; }
.emtcf-price-row { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 9px 0 !important; border-bottom: 1px solid #efefef !important; font-size: 14px !important; }
.emtcf-price-row:last-child { border-bottom: none !important; }
.emtcf-price-row span { color: #555 !important; font-weight: 600 !important; }
.emtcf-price-row strong { color: #111 !important; font-weight: 800 !important; }
.emtcf-travel span { color: #888 !important; }
.emtcf-free { color: #27ae60 !important; font-weight: 800 !important; }
.emtcf-divider { height: 1px !important; background: #e0e0e0 !important; margin: 10px 0 !important; }
.emtcf-total-row { padding-top: 12px !important; border-bottom: none !important; }
.emtcf-total-row span { font-size: 16px !important; font-weight: 900 !important; color: #111 !important; }
.emtcf-total-row strong { font-size: 22px !important; font-weight: 900 !important; color: #d20d0d !important; }
.emtcf-terms { font-size: 12px !important; color: #aaa !important; margin-bottom: 16px !important; line-height: 1.6 !important; text-align: center !important; }
.emtcf-terms a { color: #d20d0d !important; text-decoration: none !important; }
.emtcf-submit-btn { width: 100% !important; height: 54px !important; background: linear-gradient(135deg, #d20d0d 0%, #a80b0b 100%) !important; color: #fff !important; border: none !important; border-radius: 14px !important; font-size: 16px !important; font-weight: 900 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; box-shadow: 0 8px 24px rgba(210,13,13,0.30) !important; transition: transform 0.2s, box-shadow 0.2s, opacity 0.2s !important; letter-spacing: 0.3px !important; }
.emtcf-submit-btn:hover:not(:disabled) { transform: translateY(-2px) !important; box-shadow: 0 12px 28px rgba(210,13,13,0.38) !important; }
.emtcf-submit-btn:disabled { opacity: 0.6 !important; cursor: not-allowed !important; }
.emtcf-spinner { display: none !important; }
.emtcf-submit-btn.is-loading .emtcf-spinner { display: inline-flex !important; animation: emtSpin 0.8s linear infinite !important; }
.emtcf-submit-btn.is-loading #emtSubmitText { opacity: 0.85 !important; }
@keyframes emtSpin { to { transform: rotate(360deg); } }
.emtsuc-overlay { display: none !important; position: fixed !important; inset: 0 !important; background: rgba(0,0,0,0.70) !important; backdrop-filter: blur(6px) !important; z-index: 999999999 !important; align-items: center !important; justify-content: center !important; padding: 20px !important; }
.emtsuc-overlay.active { display: flex !important; animation: emtSucFade 0.3s ease !important; }
@keyframes emtSucFade { from { opacity:0; } to { opacity:1; } }
.emtsuc-box { position: relative !important; background: #fff !important; border-radius: 28px !important; padding: 44px 36px 36px !important; width: 100% !important; max-width: 440px !important; text-align: center !important; box-shadow: 0 32px 80px rgba(0,0,0,0.28) !important; overflow: hidden !important; animation: emtSucSlide 0.35s cubic-bezier(0.34,1.56,0.64,1) !important; }
@keyframes emtSucSlide { from { opacity:0; transform:translateY(40px) scale(0.94); } to { opacity:1; transform:translateY(0) scale(1); } }
.emtsuc-confetti { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; pointer-events: none !important; z-index: 0 !important; }
.emtsuc-check-wrap { position: relative !important; width: 80px !important; height: 80px !important; margin: 0 auto 22px !important; z-index: 1 !important; }
.emtsuc-check { width: 80px !important; height: 80px !important; background: #d20d0d !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; position: relative !important; z-index: 2 !important; animation: emtCheckPop 0.5s cubic-bezier(0.34,1.56,0.64,1) 0.1s both !important; }
@keyframes emtCheckPop { from { transform:scale(0); } to { transform:scale(1); } }
.emtsuc-ring { position: absolute !important; inset: 0 !important; border-radius: 50% !important; border: 3px solid rgba(210,13,13,0.3) !important; animation: emtRingOut 1.6s ease-out infinite !important; }
.emtsuc-ring2 { animation-delay: 0.6s !important; }
@keyframes emtRingOut { 0% { transform:scale(1); opacity:0.8; } 100% { transform:scale(2.4); opacity:0; } }
.emtsuc-title { font-size: 24px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 10px !important; position: relative !important; z-index: 1 !important; }
.emtsuc-msg { font-size: 14px !important; color: #666 !important; line-height: 1.7 !important; margin: 0 0 20px !important; position: relative !important; z-index: 1 !important; }
.emtsuc-ref { background: #f8f8f8 !important; border-radius: 12px !important; padding: 12px 18px !important; margin-bottom: 16px !important; position: relative !important; z-index: 1 !important; }
.emtsuc-ref-label { display: block !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: #aaa !important; margin-bottom: 4px !important; }
#emtBookingRef { font-size: 18px !important; font-weight: 900 !important; color: #d20d0d !important; letter-spacing: 1px !important; }
.emtsuc-pills { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 8px !important; margin-bottom: 22px !important; position: relative !important; z-index: 1 !important; }
.emtsuc-pill { background: #fff5f5 !important; border: 1px solid #f5c6c6 !important; border-radius: 999px !important; padding: 7px 14px !important; font-size: 12px !important; font-weight: 700 !important; color: #333 !important; }
.emtsuc-redirect { margin-bottom: 18px !important; position: relative !important; z-index: 1 !important; }
.emtsuc-redirect-bar { height: 4px !important; background: #f0f0f0 !important; border-radius: 999px !important; overflow: hidden !important; margin-bottom: 8px !important; }
.emtsuc-redirect-fill { height: 100% !important; background: #d20d0d !important; border-radius: 999px !important; width: 100% !important; animation: emtRedirectBar 4s linear forwards !important; }
@keyframes emtRedirectBar { from { width:100%; } to { width:0%; } }
.emtsuc-redirect-txt { font-size: 12px !important; color: #aaa !important; margin: 0 !important; }
.emtsuc-redirect-txt strong { color: #d20d0d !important; }
.emtsuc-btn { width: 100% !important; height: 48px !important; background: #111 !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-size: 14px !important; font-weight: 800 !important; cursor: pointer !important; transition: background 0.2s !important; position: relative !important; z-index: 1 !important; }
.emtsuc-btn:hover { background: #333 !important; }
@media (max-width: 768px) {
  .emtcf-inner { padding: 20px 16px !important; border-radius: 18px !important; }
  .emtcf-title { font-size: 17px !important; }
  .emtsuc-box { padding: 32px 20px 28px !important; border-radius: 22px !important; }
  .emtsuc-title { font-size: 20px !important; }
  .emtcf-total-row strong { font-size: 18px !important; }
}

/* ═══════════════════════════════════════════════
   PROGRESS STEPS (Right Widget)
   ═══════════════════════════════════════════════ */
.emtst-wrap { width: 100% !important; }

/* Right-side steps: stick to top while the left content scrolls (desktop only) */
@media (min-width: 981px){
  .emtst-wrap {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 24px !important;
    align-self: flex-start !important;
  }
}
.emtst-mobile-bar { display: none !important; background: #fff !important; border: 1.5px solid #ebebeb !important; border-radius: 18px !important; padding: 16px 18px !important; margin-bottom: 16px !important; box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important; }
.emtst-mobile-track { height: 4px !important; background: #f0f0f0 !important; border-radius: 999px !important; margin-bottom: 14px !important; overflow: hidden !important; }
.emtst-mobile-fill { height: 100% !important; background: #d20d0d !important; border-radius: 999px !important; width: 16.66% !important; transition: width 0.4s ease !important; }
.emtst-mobile-steps { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 10px !important; }
.emtst-mob-dot { width: 30px !important; height: 30px !important; border-radius: 50% !important; background: #f0f0f0 !important; color: #aaa !important; font-size: 12px !important; font-weight: 900 !important; display: flex !important; align-items: center !important; justify-content: center !important; transition: all 0.3s ease !important; flex-shrink: 0 !important; }
.emtst-mob-dot.active { background: #d20d0d !important; color: #fff !important; box-shadow: 0 4px 10px rgba(210,13,13,0.30) !important; transform: scale(1.12) !important; }
.emtst-mob-dot.done { background: #27ae60 !important; color: #fff !important; }
.emtst-mob-label { font-size: 12px !important; font-weight: 700 !important; color: #777 !important; margin: 0 !important; text-align: center !important; }
.emtst-card { background: #fff !important; border: 1.5px solid #ebebeb !important; border-radius: 22px !important; padding: 28px 24px !important; box-shadow: 0 8px 32px rgba(0,0,0,0.07) !important; position: sticky !important; top: 100px !important; }
.emtst-brand { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.8px !important; color: #d20d0d !important; margin-bottom: 14px !important; }
.emtst-brand-dot { width: 8px !important; height: 8px !important; border-radius: 50% !important; background: #d20d0d !important; animation: emtBrandPulse 2s ease-in-out infinite !important; }
@keyframes emtBrandPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }
.emtst-heading { font-size: 18px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 4px !important; }
.emtst-sub { font-size: 12px !important; color: #aaa !important; margin: 0 0 24px !important; line-height: 1.5 !important; }
.emtst-list { display: flex !important; flex-direction: column !important; gap: 0 !important; margin-bottom: 22px !important; }
.emtst-step { display: flex !important; gap: 14px !important; align-items: flex-start !important; position: relative !important; }
.emtst-step-left { display: flex !important; flex-direction: column !important; align-items: center !important; flex-shrink: 0 !important; }
.emtst-circle { width: 36px !important; height: 36px !important; border-radius: 50% !important; border: 2px solid #e0e0e0 !important; background: #fff !important; display: flex !important; align-items: center !important; justify-content: center !important; position: relative !important; z-index: 1 !important; transition: all 0.35s ease !important; flex-shrink: 0 !important; }
.emtst-num { font-size: 13px !important; font-weight: 900 !important; color: #ccc !important; transition: all 0.3s !important; }
.emtst-check-svg { position: absolute !important; opacity: 0 !important; transform: scale(0) !important; transition: all 0.3s ease !important; }
.emtst-connector { width: 2px !important; flex: 1 !important; min-height: 28px !important; background: #ebebeb !important; margin: 4px 0 !important; position: relative !important; overflow: hidden !important; }
.emtst-connector::after { content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 0% !important; background: #d20d0d !important; transition: height 0.5s ease 0.2s !important; }
.emtst-step-right { padding-bottom: 24px !important; flex: 1 !important; min-width: 0 !important; padding-top: 6px !important; }
.emtst-step-label { display: block !important; font-size: 13px !important; font-weight: 800 !important; color: #bbb !important; margin-bottom: 3px !important; transition: color 0.3s !important; }
.emtst-step-val { display: block !important; font-size: 12px !important; color: #ccc !important; line-height: 1.4 !important; transition: color 0.3s !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.emtst-step.active .emtst-circle { border-color: #d20d0d !important; background: #fff5f5 !important; box-shadow: 0 0 0 4px rgba(210,13,13,0.12) !important; animation: emtStepPulse 2s ease-in-out infinite !important; }
@keyframes emtStepPulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(210,13,13,0.12); } 50% { box-shadow: 0 0 0 8px rgba(210,13,13,0.06); } }
.emtst-step.active .emtst-num { color: #d20d0d !important; }
.emtst-step.active .emtst-step-label { color: #111 !important; }
.emtst-step.active .emtst-step-val { color: #555 !important; }
.emtst-step.done .emtst-circle { border-color: #27ae60 !important; background: #27ae60 !important; box-shadow: 0 4px 12px rgba(39,174,96,0.25) !important; animation: emtDonePop 0.4s cubic-bezier(0.34,1.56,0.64,1) !important; }
@keyframes emtDonePop { from { transform: scale(0.7); } to { transform: scale(1); } }
.emtst-step.done .emtst-num { opacity: 0 !important; transform: scale(0) !important; }
.emtst-step.done .emtst-check-svg { opacity: 1 !important; transform: scale(1) !important; }
.emtst-step.done .emtst-step-label { color: #27ae60 !important; }
.emtst-step.done .emtst-step-val { color: #333 !important; font-weight: 700 !important; }
.emtst-step.done .emtst-connector::after { height: 100% !important; }
.emtst-price-preview { background: #fafafa !important; border: 1.5px solid #ebebeb !important; border-radius: 14px !important; padding: 16px !important; margin-bottom: 20px !important; animation: emtcfFade 0.3s ease !important; }
.emtst-price-row { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 7px 0 !important; border-bottom: 1px solid #f0f0f0 !important; font-size: 13px !important; }
.emtst-price-row:last-child { border-bottom: none !important; }
.emtst-price-row span { color: #666 !important; font-weight: 600 !important; }
.emtst-price-row strong { color: #111 !important; font-weight: 800 !important; }
.emtst-price-divider { height: 1px !important; background: #e0e0e0 !important; margin: 6px 0 !important; }
.emtst-price-total span { font-weight: 900 !important; color: #111 !important; }
.emtst-price-total strong { font-size: 17px !important; font-weight: 900 !important; color: #d20d0d !important; }
.emtst-trust { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
.emtst-trust-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 11px !important; font-weight: 700 !important; color: #777 !important; }
.emtst-trust-icon { color: #27ae60 !important; font-weight: 900 !important; font-size: 12px !important; }
#emtRightCol,#emtRightCol > *,.emtst-wrap,.emtst-card,.emtst-mobile-bar { background-color: #ffffff !important; background-image: none !important; }
#emtRightCol { background-color: transparent !important; }
.emtst-heading { color: #111 !important; }
.emtst-sub { color: #aaa !important; }
.emtst-step-label { color: #bbb !important; }
.emtst-step-val { color: #ccc !important; }
.emtst-step.active .emtst-step-label { color: #111 !important; }
.emtst-step.active .emtst-step-val { color: #555 !important; }
.emtst-step.done .emtst-step-label { color: #27ae60 !important; }
.emtst-step.done .emtst-step-val { color: #333 !important; }
.emtst-mob-label { color: #777 !important; }
.emtst-brand,.emtst-brand-dot { color: #d20d0d !important; }
.emtst-brand-dot { background: #d20d0d !important; }
.emtst-connector::after { background: #d20d0d !important; }
.emtst-price-total strong { color: #d20d0d !important; }
.emtst-mob-dot.active { background: #d20d0d !important; }
.emtst-mobile-fill { background: #d20d0d !important; }
.emtst-step.done .emtst-circle { background: #27ae60 !important; border-color: #27ae60 !important; }

/* ═══════════════════════════════════════════════
   PACKAGE CATEGORY CARDS
   ═══════════════════════════════════════════════ */
.emtpkg-cat-header { margin-bottom: 20px !important; }
.emtpkg-cat-title { font-size: 20px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 6px !important; }
.emtpkg-cat-sub { font-size: 13px !important; color: #777 !important; margin: 0 !important; }
.emtpkg-cat-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 14px !important; margin-bottom: 24px !important; }
.emtpkg-cat-card { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; padding: 22px 14px !important; background: #fff !important; border: 2px solid #ebebeb !important; border-radius: 18px !important; cursor: pointer !important; transition: all 0.22s ease !important; box-shadow: 0 4px 16px rgba(0,0,0,0.05) !important; gap: 8px !important; }
.emtpkg-cat-card:hover { border-color: #d20d0d !important; transform: translateY(-3px) !important; box-shadow: 0 10px 28px rgba(210,13,13,0.12) !important; }
.emtpkg-cat-card.active { border-color: #d20d0d !important; background: #fff8f8 !important; box-shadow: 0 10px 28px rgba(210,13,13,0.16) !important; }
.emtpkg-cat-icon { font-size: 32px !important; line-height: 1 !important; }
.emtpkg-cat-card strong { display: block !important; font-size: 13px !important; font-weight: 900 !important; color: #111 !important; line-height: 1.3 !important; }
.emtpkg-cat-card span { display: block !important; font-size: 11px !important; color: #999 !important; font-weight: 600 !important; line-height: 1.3 !important; }
.emtpkg-back-btn { display: inline-flex !important; align-items: center !important; gap: 6px !important; background: none !important; border: 1.5px solid #e0e0e0 !important; border-radius: 999px !important; padding: 8px 16px !important; font-size: 13px !important; font-weight: 800 !important; color: #666 !important; cursor: pointer !important; margin-bottom: 20px !important; transition: all 0.2s !important; }
.emtpkg-back-btn:hover { border-color: #d20d0d !important; color: #d20d0d !important; }
.emtpkg-section-heading { font-size: 15px !important; font-weight: 900 !important; color: #111 !important; margin: 24px 0 14px !important; padding-bottom: 8px !important; border-bottom: 2px solid #f0f0f0 !important; }
@media (max-width: 768px) { .emtpkg-cat-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 400px) { .emtpkg-cat-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; } .emtpkg-cat-card { padding: 16px 10px !important; } .emtpkg-cat-icon { font-size: 26px !important; } }

/* ═══════════════════════════════════════════════
   AMBIENT UPGRADE
   ═══════════════════════════════════════════════ */
.emta-ambient-upgrade { margin: 0 24px 16px !important; background: linear-gradient(135deg,#fff8f8,#fff5f5) !important; border: 1.5px solid #f5c6c6 !important; border-radius: 16px !important; padding: 20px 18px !important; text-align: center !important; }
.emta-upgrade-badge { display: inline-block !important; background: #d20d0d !important; color: #fff !important; font-size: 11px !important; font-weight: 900 !important; padding: 5px 12px !important; border-radius: 999px !important; margin-bottom: 10px !important; letter-spacing: 0.3px !important; }
.emta-upgrade-title { font-size: 18px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 8px !important; }
.emta-upgrade-sub { font-size: 13px !important; color: #666 !important; margin: 0 0 16px !important; line-height: 1.5 !important; }
.emta-upgrade-options { display: flex !important; flex-direction: column !important; gap: 10px !important; }
.emta-upgrade-option { display: flex !important; align-items: center !important; justify-content: space-between !important; background: #fff !important; border: 1.5px solid #e8e8e8 !important; border-radius: 12px !important; padding: 12px 16px !important; cursor: pointer !important; transition: all 0.2s !important; text-align: left !important; }
.emta-upgrade-option:hover,.emta-upgrade-option.selected { border-color: #d20d0d !important; background: #fff8f8 !important; }
.emta-upgrade-option-name { font-size: 13px !important; font-weight: 800 !important; color: #111 !important; }
.emta-upgrade-option-price { display: flex !important; flex-direction: column !important; align-items: flex-end !important; gap: 2px !important; }
.emta-upgrade-option-original { font-size: 11px !important; color: #aaa !important; text-decoration: line-through !important; }
.emta-upgrade-option-discounted { font-size: 15px !important; font-weight: 900 !important; color: #d20d0d !important; }
.emta-upgrade-option-save { font-size: 10px !important; font-weight: 800 !important; color: #27ae60 !important; background: #f0fff4 !important; border-radius: 999px !important; padding: 2px 8px !important; }

/* ═══════════════════════════════════════════════
   TINT % POPUP
   ═══════════════════════════════════════════════ */
.emttint-overlay { display: none !important; position: fixed !important; inset: 0 !important; background: rgba(0,0,0,0.65) !important; backdrop-filter: blur(4px) !important; z-index: 9999999 !important; align-items: center !important; justify-content: center !important; padding: 16px !important; }
.emttint-overlay.active { display: flex !important; }
.emttint-box { position: relative !important; width: 100% !important; max-width: 480px !important; background: #fff !important; border-radius: 24px !important; padding: 32px 28px !important; box-shadow: 0 28px 70px rgba(0,0,0,0.22) !important; max-height: 90vh !important; overflow-y: auto !important; }
.emttint-close { position: absolute !important; top: 14px !important; right: 14px !important; width: 36px !important; height: 36px !important; border-radius: 50% !important; border: none !important; background: #f3f4f6 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #444 !important; transition: background 0.2s, color 0.2s !important; }
.emttint-close:hover { background: #d20d0d !important; color: #fff !important; }
.emttint-header { text-align: center !important; margin-bottom: 24px !important; }
.emttint-icon { font-size: 36px !important; margin-bottom: 10px !important; }
.emttint-header h3 { font-size: 22px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 6px !important; }
.emttint-header p { font-size: 13px !important; color: #777 !important; margin: 0 !important; }
.emttint-options { display: flex !important; flex-direction: column !important; gap: 10px !important; margin-bottom: 24px !important; }
.emttint-opt { display: flex !important; align-items: center !important; gap: 14px !important; padding: 14px 16px !important; border: 2px solid #ebebeb !important; border-radius: 14px !important; cursor: pointer !important; transition: all 0.2s !important; }
.emttint-opt:hover { border-color: #d20d0d !important; background: #fff8f8 !important; }
.emttint-opt.active { border-color: #d20d0d !important; background: #fff5f5 !important; }
.emttint-swatch { width: 44px !important; height: 28px !important; border-radius: 8px !important; border: 1px solid rgba(0,0,0,0.12) !important; flex-shrink: 0 !important; }
.emttint-opt-text { flex: 1 !important; min-width: 0 !important; }
.emttint-opt-text strong { display: block !important; font-size: 14px !important; font-weight: 800 !important; color: #111 !important; margin-bottom: 2px !important; }
.emttint-opt-text span { font-size: 12px !important; color: #888 !important; }
.emttint-popular { display: inline-block !important; background: #d20d0d !important; color: #fff !important; font-size: 10px !important; font-weight: 900 !important; padding: 2px 8px !important; border-radius: 999px !important; margin-left: 6px !important; vertical-align: middle !important; }
.emttint-check { width: 24px !important; height: 24px !important; border-radius: 50% !important; border: 2px solid #e0e0e0 !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 12px !important; color: transparent !important; flex-shrink: 0 !important; transition: all 0.2s !important; }
.emttint-opt.active .emttint-check { background: #d20d0d !important; border-color: #d20d0d !important; color: #fff !important; }
.emttint-continue-btn { width: 100% !important; height: 50px !important; background: #d20d0d !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-size: 15px !important; font-weight: 800 !important; cursor: pointer !important; transition: background 0.2s, transform 0.2s !important; }
.emttint-continue-btn:hover { background: #a80b0b !important; transform: translateY(-2px) !important; }
@media (max-width: 480px) { .emttint-box { padding: 24px 18px !important; border-radius: 20px !important; } .emttint-opt { padding: 12px 12px !important; gap: 10px !important; } .emttint-swatch { width: 36px !important; height: 24px !important; } }

/* ═══════════════════════════════════════════════
   IMAGE CARD LAYOUT — left image, right info
   ═══════════════════════════════════════════════ */
.emtpkg-img-grid { display: flex !important; flex-direction: column !important; gap: 16px !important; margin-bottom: 20px !important; }
.emtpkg-img-grid-3 { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
.emtpkg-imgcard { display: grid !important; grid-template-columns: 240px 1fr !important; align-items: stretch !important; padding: 0 !important; overflow: hidden !important; min-height: 240px !important; }
.emtpkg-img-wrap { width: 240px !important; min-height: 240px !important; overflow: hidden !important; background: #111 !important; flex-shrink: 0 !important; }
.emtpkg-img-wrap img { width: 100% !important; height: 100% !important; min-height: 240px !important; object-fit: cover !important; object-position: center !important; display: block !important; padding: 0 !important; margin: 0 !important; box-sizing: border-box !important; }
.emtpkg-img-placeholder { display: flex !important; align-items: center !important; justify-content: center !important; font-size: 48px !important; background: #f8f8f8 !important; }
.emtpkg-img-info { padding: 20px 20px !important; display: flex !important; flex-direction: column !important; gap: 4px !important; min-width: 0 !important; }
.emtpkg-img-info strong { font-size: 15px !important; font-weight: 900 !important; color: #111 !important; display: block !important; margin-bottom: 4px !important; }
.emtpkg-img-info .emtpkg-price { font-size: 24px !important; font-weight: 900 !important; color: #d20d0d !important; margin: 0 0 6px !important; }
.emtpkg-img-info p { font-size: 13px !important; color: #666 !important; margin: 0 0 8px !important; line-height: 1.5 !important; }
.emtpkg-img-info ul { padding-left: 15px !important; margin: 0 !important; }
.emtpkg-img-info ul li { font-size: 12px !important; color: #555 !important; margin-bottom: 2px !important; line-height: 1.5 !important; }
.emtpkg-img-grid-3 .emtpkg-imgcard { grid-template-columns: 1fr !important; grid-template-rows: 160px auto !important; min-height: auto !important; }
.emtpkg-img-grid-3 .emtpkg-img-wrap { width: 100% !important; min-height: 160px !important; height: 160px !important; }
.emtpkg-img-grid-3 .emtpkg-img-wrap img { object-fit: cover !important; padding: 0 !important; }
.emtpkg-img-grid-3 .emtpkg-img-info { padding: 12px 14px !important; }
.emtpkg-img-grid-3 .emtpkg-img-info .emtpkg-price { font-size: 18px !important; }
@media (max-width: 768px) {
  .emtpkg-imgcard { grid-template-columns: 1fr !important; grid-template-rows: 240px auto !important; }
  .emtpkg-img-wrap { width: 100% !important; min-height: 240px !important; height: 240px !important; }
  .emtpkg-img-grid-3 { grid-template-columns: 1fr 1fr !important; }
  .emtpkg-img-grid-3 .emtpkg-imgcard { grid-template-rows: 140px auto !important; }
  .emtpkg-img-grid-3 .emtpkg-img-wrap { min-height: 140px !important; height: 140px !important; }
}
@media (max-width: 480px) { .emtpkg-img-grid-3 { grid-template-columns: 1fr !important; } }

/* ═══════════════════════════════════════════════
   DETAILING ADDITIONS — popup location search + condition popup
   (condition popup reuses .emttint-* classes for identical styling)
   ═══════════════════════════════════════════════ */
.emtp-loc-field { position: relative !important; margin-bottom: 14px !important; }
.emtp-loc-field input {
  width: 100% !important; height: 46px !important; border: 1.5px solid #e0e0e0 !important;
  border-radius: 10px !important; padding: 0 14px !important; font-size: 14px !important;
  color: #111 !important; background: #fff !important; outline: none !important; box-sizing: border-box !important;
  transition: border-color 0.2s !important;
}
.emtp-loc-field input:focus { border-color: #d20d0d !important; box-shadow: 0 0 0 3px rgba(210,13,13,0.1) !important; }
.emtp-loc-suggestions {
  display: none !important; position: absolute !important; top: calc(100% + 4px) !important; left: 0 !important; right: 0 !important;
  background: #fff !important; border: 1.5px solid #e0e0e0 !important; border-radius: 12px !important;
  box-shadow: 0 12px 36px rgba(0,0,0,0.14) !important; z-index: 99 !important; max-height: 220px !important; overflow-y: auto !important;
}
.emtp-loc-suggestions.open { display: block !important; }
.emtp-loc-item { padding: 11px 14px !important; font-size: 14px !important; font-weight: 700 !important; color: #111 !important;
  cursor: pointer !important; border-bottom: 1px solid #f5f5f5 !important; display: flex !important; justify-content: space-between !important; gap: 8px !important; }
.emtp-loc-item:last-child { border-bottom: none !important; }
.emtp-loc-item:hover { background: #fff5f5 !important; color: #d20d0d !important; }
.emtp-loc-item small { color: #999 !important; font-weight: 700 !important; }
.emtp-loc-empty { padding: 12px 14px !important; color: #999 !important; font-size: 13px !important; }
.emtp-loc-tag { background: #fff5f5 !important; border: 1px dashed #d20d0d !important; color: #d20d0d !important;
  border-radius: 8px !important; padding: 9px 12px !important; font-weight: 800 !important; font-size: 12px !important; margin-bottom: 14px !important; }

/* condition popup = clone of tint% popup look */
.emtcond-overlay { display: none !important; position: fixed !important; inset: 0 !important; background: rgba(0,0,0,0.65) !important; backdrop-filter: blur(4px) !important; z-index: 9999999 !important; align-items: center !important; justify-content: center !important; padding: 16px !important; }
.emtcond-overlay.active { display: flex !important; }
.emtcond-box { position: relative !important; width: 100% !important; max-width: 480px !important; background: #fff !important; border-radius: 24px !important; padding: 32px 28px !important; box-shadow: 0 28px 70px rgba(0,0,0,0.22) !important; max-height: 90vh !important; overflow-y: auto !important; }
.emtcond-close { position: absolute !important; top: 14px !important; right: 14px !important; width: 36px !important; height: 36px !important; border-radius: 50% !important; border: none !important; background: #f3f4f6 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #444 !important; transition: background 0.2s, color 0.2s !important; }
.emtcond-close:hover { background: #d20d0d !important; color: #fff !important; }
.emtcond-header { text-align: center !important; margin-bottom: 24px !important; }
.emtcond-icon { font-size: 36px !important; margin-bottom: 10px !important; }
.emtcond-header h3 { font-size: 22px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 6px !important; }
.emtcond-header p { font-size: 13px !important; color: #777 !important; margin: 0 !important; }
.emtcond-options { display: flex !important; flex-direction: column !important; gap: 10px !important; margin-bottom: 24px !important; }
.emtcond-opt { display: flex !important; align-items: center !important; gap: 14px !important; padding: 14px 16px !important; border: 2px solid #ebebeb !important; border-radius: 14px !important; cursor: pointer !important; transition: all 0.2s !important; }
.emtcond-opt:hover { border-color: #d20d0d !important; background: #fff8f8 !important; }
.emtcond-opt.active { border-color: #d20d0d !important; background: #fff5f5 !important; }
.emtcond-emoji { font-size: 26px !important; flex-shrink: 0 !important; }
.emtcond-opt-text { flex: 1 !important; min-width: 0 !important; }
.emtcond-opt-text strong { display: block !important; font-size: 14px !important; font-weight: 800 !important; color: #111 !important; margin-bottom: 2px !important; }
.emtcond-opt-text span { font-size: 12px !important; color: #888 !important; }
.emtcond-surcharge { display: inline-block !important; background: #fff0f0 !important; color: #d20d0d !important; font-size: 11px !important; font-weight: 900 !important; padding: 2px 8px !important; border-radius: 999px !important; flex-shrink: 0 !important; }
.emtcond-check { width: 24px !important; height: 24px !important; border-radius: 50% !important; border: 2px solid #e0e0e0 !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 12px !important; color: transparent !important; flex-shrink: 0 !important; transition: all 0.2s !important; }
.emtcond-opt.active .emtcond-check { background: #d20d0d !important; border-color: #d20d0d !important; color: #fff !important; }
.emtcond-continue-btn { width: 100% !important; height: 50px !important; background: #d20d0d !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-size: 15px !important; font-weight: 800 !important; cursor: pointer !important; transition: background 0.2s, transform 0.2s !important; }
.emtcond-continue-btn:hover { background: #a80b0b !important; transform: translateY(-2px) !important; }
@media (max-width: 480px) { .emtcond-box { padding: 24px 18px !important; border-radius: 20px !important; } }

/* city chip in vehicle summary */
.emtv-chip-city { background: #fff5f5 !important; color: #d20d0d !important; }

/* ═══════════════════════════════════════════════
   CALENDAR FIX v2 — compact professional sizing + visible nav arrows
   (override appended last so it wins)
   ═══════════════════════════════════════════════ */
.emtdt-cal-wrap {
  max-width: 380px !important;
  padding: 18px !important;
  margin-left: 0 !important;
}

/* date grid: even columns, tight professional gap */
.emtdt-dates { gap: 4px !important; }
.emtdt-day-headers { gap: 4px !important; }

/* each date = small circle, capped so it never blows up on wide panels */
.emtdt-date-btn {
  width: 100% !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 0 !important;
  max-height: 40px !important;
  aspect-ratio: auto !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  padding: 0 !important;
  margin: 0 auto !important;
}
.emtdt-date-btn.selected {
  background: #d20d0d !important;
  color: #fff !important;
}

/* month nav arrows — small circles with clearly visible chevrons */
.emtdt-cal-nav { margin-bottom: 16px !important; }
.emtdt-nav-btn {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  border: 1.5px solid #e0e0e0 !important;
  background: #fff !important;
  color: #d20d0d !important;
  font-size: 0 !important;
}
.emtdt-nav-btn svg {
  width: 18px !important;
  height: 18px !important;
  stroke: #d20d0d !important;
  stroke-width: 2.5 !important;
  fill: none !important;
  display: block !important;
}
.emtdt-nav-btn:hover:not(:disabled) { background: #d20d0d !important; border-color: #d20d0d !important; }
.emtdt-nav-btn:hover:not(:disabled) svg { stroke: #fff !important; }
.emtdt-nav-btn:disabled { opacity: 1 !important; background: #f7f7f7 !important; cursor: not-allowed !important; }
.emtdt-nav-btn:disabled svg { stroke: #ccc !important; }
.emtdt-month-label { font-size: 15px !important; font-weight: 900 !important; }

@media (max-width: 768px) {
  .emtdt-cal-wrap { max-width: 100% !important; padding: 16px !important; }
  .emtdt-date-btn { height: 38px !important; max-height: 38px !important; max-width: 38px !important; font-size: 13px !important; }
  .emtdt-dates, .emtdt-day-headers { gap: 4px !important; }
}

/* ═══════════════════════════════════════════════
   UNIFIED CLOSE (×) BUTTONS — match the homepage popup cross
   Applies same size/look to every modal/popup close button.
   ═══════════════════════════════════════════════ */
.emta-modal-close,
.emtcond-close,
.emttint-close,
.emtaddons-close,
#emtaModalClose,
#emtCondClose,
#emtTintPctClose {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 999999 !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 50% !important;
  border: 1.5px solid #eee !important;
  background: #ffffff !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.18) !important;
  color: #111 !important;
  transition: background 0.2s, color 0.2s, transform 0.25s !important;
  padding: 0 !important;
  font-size: 0 !important;
}
.emta-modal-close svg,
.emtcond-close svg,
.emttint-close svg,
#emtaModalClose svg,
#emtCondClose svg {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 3 !important;
  pointer-events: none !important;
  display: block !important;
}
.emta-modal-close:hover,
.emtcond-close:hover,
.emttint-close:hover,
#emtaModalClose:hover,
#emtCondClose:hover {
  background: #d20d0d !important;
  color: #fff !important;
  border-color: #d20d0d !important;
  transform: rotate(90deg) !important;
}

/* ═══════════════════════════════════════════════
   GOOGLE PLACES AUTOCOMPLETE — dropdown styling + z-index
   (.pac-container is Google's own dropdown element)
   ═══════════════════════════════════════════════ */
.pac-container {
  z-index: 100000000 !important;     /* above popup/modal overlays */
  border-radius: 12px !important;
  margin-top: 6px !important;
  box-shadow: 0 12px 36px rgba(0,0,0,0.16) !important;
  border: 1.5px solid #e0e0e0 !important;
  font-family: inherit !important;
  background: #fff !important;
  overflow: hidden !important;
}
.pac-item {
  padding: 10px 14px !important;
  font-size: 14px !important;
  color: #111 !important;
  cursor: pointer !important;
  border-top: 1px solid #f5f5f5 !important;
  line-height: 1.4 !important;
}
.pac-item:hover, .pac-item-selected {
  background: #fff5f5 !important;
}
.pac-item-query { font-size: 14px !important; color: #111 !important; font-weight: 700 !important; }
.pac-matched { color: #d20d0d !important; font-weight: 800 !important; }
.pac-icon { margin-right: 8px !important; }
.pac-logo:after { opacity: 0.4 !important; }

/* ═══════════════════════════════════════════════
   PACKAGE DISCOUNT PRICE (old strikethrough + new + OFF tag)
   ═══════════════════════════════════════════════ */
.emtpkg-price-old {
  text-decoration: line-through !important;
  color: #aaa !important;
  font-size: 0.62em !important;
  font-weight: 700 !important;
  margin-right: 6px !important;
}
.emtpkg-price-new {
  color: #d20d0d !important;
  font-weight: 900 !important;
}
.emtpkg-off-tag {
  display: inline-block !important;
  background: #d20d0d !important;
  color: #fff !important;
  font-size: 0.34em !important;
  font-weight: 900 !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  vertical-align: middle !important;
  margin-left: 8px !important;
  letter-spacing: 0.3px !important;
  position: relative !important;
  top: -3px !important;
}

/* ═══════════════════════════════════════════════
   CROSS-SELL POPUP (Interior ↔ Exterior bundle)
   ═══════════════════════════════════════════════ */
.emtxs-overlay {
  display: none !important; position: fixed !important; inset: 0 !important;
  background: rgba(0,0,0,0.65) !important; backdrop-filter: blur(4px) !important;
  z-index: 100000001 !important; align-items: center !important; justify-content: center !important; padding: 16px !important;
}
.emtxs-overlay.active { display: flex !important; }
.emtxs-box {
  position: relative !important; width: 100% !important; max-width: 520px !important;
  background: #fff !important; border-radius: 24px !important; padding: 32px 28px !important;
  box-shadow: 0 28px 70px rgba(0,0,0,0.28) !important; max-height: 90vh !important; overflow-y: auto !important;
}
.emtxs-close {
  position: absolute !important; top: 14px !important; right: 14px !important; width: 40px !important; height: 40px !important;
  border-radius: 50% !important; border: 1.5px solid #eee !important; background: #fff !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important; color: #111 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.16) !important; transition: background 0.2s, color 0.2s, transform 0.25s !important;
  padding: 0 !important; font-size: 0 !important; z-index: 10 !important;
}
.emtxs-close svg { width: 20px !important; height: 20px !important; stroke: #111 !important; stroke-width: 2.5 !important; fill: none !important; display: block !important; pointer-events: none !important; }
.emtxs-close:hover { background: #d20d0d !important; color: #fff !important; border-color: #d20d0d !important; transform: rotate(90deg) !important; }
.emtxs-close:hover svg { stroke: #fff !important; }
.emtxs-header { text-align: center !important; margin-bottom: 22px !important; }
.emtxs-badge {
  display: inline-block !important; background: #fff0f0 !important; color: #d20d0d !important;
  font-size: 12px !important; font-weight: 900 !important; padding: 6px 14px !important; border-radius: 999px !important; margin-bottom: 12px !important;
}
.emtxs-header h3 { font-size: 22px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 8px !important; }
.emtxs-header p { font-size: 13px !important; color: #777 !important; margin: 0 !important; line-height: 1.5 !important; }
.emtxs-list { display: flex !important; flex-direction: column !important; gap: 10px !important; margin-bottom: 18px !important; }
.emtxs-item {
  display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 14px !important;
  padding: 14px 16px !important; border: 2px solid #ebebeb !important; border-radius: 14px !important; transition: all 0.2s !important;
}
.emtxs-item:hover { border-color: #d20d0d !important; background: #fff8f8 !important; }
.emtxs-item-left { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.emtxs-item-left strong { font-size: 14px !important; font-weight: 800 !important; color: #111 !important; }
.emtxs-item-old { font-size: 12px !important; color: #aaa !important; text-decoration: line-through !important; font-weight: 700 !important; }
.emtxs-item-right { display: flex !important; align-items: center !important; gap: 12px !important; flex-shrink: 0 !important; }
.emtxs-item-new { font-size: 17px !important; font-weight: 900 !important; color: #d20d0d !important; }
.emtxs-add-btn {
  background: #d20d0d !important; color: #fff !important; border: none !important; border-radius: 10px !important;
  padding: 10px 16px !important; font-size: 13px !important; font-weight: 900 !important; cursor: pointer !important; transition: background 0.2s !important; white-space: nowrap !important;
}
.emtxs-add-btn:hover { background: #a80b0b !important; }
.emtxs-footer { text-align: center !important; }
.emtxs-skip-btn {
  background: transparent !important; border: none !important; color: #888 !important; font-size: 14px !important;
  font-weight: 700 !important; cursor: pointer !important; text-decoration: underline !important; padding: 8px !important;
}
.emtxs-skip-btn:hover { color: #d20d0d !important; }
@media (max-width: 480px) { .emtxs-box { padding: 24px 18px !important; } .emtxs-item { flex-direction: column !important; align-items: stretch !important; } .emtxs-item-right { justify-content: space-between !important; } }

/* ═══════════════════════════════════════════════
   HOMEPAGE CITY DROPDOWN + "CAN'T FIND" + QUOTE POPUP
   ═══════════════════════════════════════════════ */
.emtp-city-input {
  width: 100% !important; height: 46px !important; border: 1.5px solid #e0e0e0 !important;
  border-radius: 10px !important; padding: 0 14px !important; font-size: 14px !important;
  color: #111 !important; background: #fff !important; outline: none !important; box-sizing: border-box !important;
}
.emtp-city-input:focus { border-color: #d20d0d !important; box-shadow: 0 0 0 3px rgba(210,13,13,0.1) !important; }
.emtp-cantfind {
  display: block !important; width: 100% !important; text-align: left !important; background: transparent !important;
  border: none !important; color: #d20d0d !important; font-size: 13px !important; font-weight: 800 !important;
  cursor: pointer !important; padding: 4px 0 10px !important; text-decoration: underline !important;
}
.emtp-cantfind:hover { color: #a80b0b !important; }

/* Quote popup */
.emtq-overlay {
  display: none !important; position: fixed !important; inset: 0 !important; background: rgba(0,0,0,0.7) !important;
  backdrop-filter: blur(4px) !important; z-index: 100000010 !important; align-items: center !important; justify-content: center !important; padding: 16px !important;
}
.emtq-overlay.active { display: flex !important; }
.emtq-box {
  position: relative !important; width: 100% !important; max-width: 520px !important; background: #fff !important;
  border-radius: 24px !important; padding: 34px 30px !important; box-shadow: 0 30px 80px rgba(0,0,0,0.32) !important;
  max-height: 92vh !important; overflow-y: auto !important;
}
.emtq-close {
  position: absolute !important; top: 14px !important; right: 14px !important; width: 40px !important; height: 40px !important;
  border-radius: 50% !important; border: 1.5px solid #eee !important; background: #fff !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important; color: #111 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.16) !important; transition: all 0.25s !important;
  font-size: 26px !important; font-weight: 400 !important; line-height: 1 !important; padding: 0 !important; text-align: center !important;
}
.emtq-close:hover { background: #d20d0d !important; color: #fff !important; border-color: #d20d0d !important; transform: rotate(90deg) !important; }
.emtq-header { text-align: center !important; margin-bottom: 22px !important; }
.emtq-badge { display: inline-block !important; background: #fff0f0 !important; color: #d20d0d !important; font-size: 12px !important; font-weight: 900 !important; padding: 6px 14px !important; border-radius: 999px !important; margin-bottom: 12px !important; }
.emtq-header h3 { font-size: 24px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 8px !important; }
.emtq-header p { font-size: 13px !important; color: #777 !important; margin: 0 !important; line-height: 1.5 !important; }
.emtq-field { margin-bottom: 14px !important; }
.emtq-field label { display: block !important; font-size: 13px !important; font-weight: 800 !important; color: #111 !important; margin-bottom: 6px !important; }
.emtq-field input, .emtq-field textarea {
  width: 100% !important; border: 1.5px solid #e0e0e0 !important; border-radius: 10px !important; padding: 12px 14px !important;
  font-size: 14px !important; color: #111 !important; outline: none !important; box-sizing: border-box !important; font-family: inherit !important; resize: vertical !important;
}
.emtq-field input:focus, .emtq-field textarea:focus { border-color: #d20d0d !important; box-shadow: 0 0 0 3px rgba(210,13,13,0.1) !important; }
.emtq-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.emtq-submit-btn {
  width: 100% !important; height: 52px !important; background: #d20d0d !important; color: #fff !important; border: none !important;
  border-radius: 12px !important; font-size: 16px !important; font-weight: 900 !important; cursor: pointer !important; margin-top: 6px !important; transition: background 0.2s, transform 0.2s !important;
}
.emtq-submit-btn:hover { background: #a80b0b !important; transform: translateY(-2px) !important; }
.emtq-note { text-align: center !important; font-size: 12px !important; color: #999 !important; margin: 12px 0 0 !important; }
#emtqThanks { text-align: center !important; padding: 10px 0 !important; }
#emtqThanks h3 { font-size: 24px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 10px !important; }
#emtqThanks p { font-size: 14px !important; color: #666 !important; line-height: 1.6 !important; margin: 0 0 20px !important; }
.emtq-thanks-check {
  width: 64px !important; height: 64px !important; background: #d20d0d !important; color: #fff !important; border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important; font-size: 34px !important; font-weight: 900 !important; margin: 0 auto 18px !important;
}
@media (max-width: 480px) { .emtq-row { grid-template-columns: 1fr !important; } .emtq-box { padding: 26px 18px !important; } }

/* ═══════════════════════════════════════════════
   ALL CLOSE (×) BUTTON SVGs — force visible, full-size stroke
   (currentColor + tiny SVG can fail inside Elementor, so set it explicitly)
   ═══════════════════════════════════════════════ */
.emtp-close svg,
.emtq-close svg,
.emtq2-close svg,
.emtxs-close svg,
.emta-modal-close svg,
.emtcond-close svg,
.emttint-close svg,
.emtdt-tech-close svg,
#emtPopupClose svg,
#emtqClose svg,
#emtq2Close svg,
#emtxsClose svg,
#emtaModalClose svg,
#emtCondClose svg {
  width: 20px !important;
  height: 20px !important;
  stroke: #111 !important;
  stroke-width: 2.5 !important;
  fill: none !important;
  display: block !important;
  pointer-events: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.emtp-close svg line,
.emtq-close svg line,
.emtq2-close svg line,
.emtxs-close svg line,
#emtqClose svg line,
#emtq2Close svg line,
#emtxsClose svg line {
  stroke: #111 !important;
  stroke-width: 2.5 !important;
  stroke-linecap: round !important;
}
.emtp-close:hover svg line,
.emtq-close:hover svg line,
.emtq2-close:hover svg line,
.emtxs-close:hover svg line,
#emtqClose:hover svg line,
#emtq2Close:hover svg line,
#emtxsClose:hover svg line {
  stroke: #fff !important;
}
.emtp-close:hover svg,
.emtq-close:hover svg,
.emtq2-close:hover svg,
.emtxs-close:hover svg,
.emta-modal-close:hover svg,
.emtcond-close:hover svg,
.emttint-close:hover svg,
#emtPopupClose:hover svg,
#emtqClose:hover svg,
#emtq2Close:hover svg,
#emtxsClose:hover svg,
#emtaModalClose:hover svg,
#emtCondClose:hover svg {
  stroke: #fff !important;
}

/* ═══════════════════════════════════════════════
   PACKAGE FEATURE LIST (tick = included, cross = not included)
   ═══════════════════════════════════════════════ */
.emtpkg-feat { list-style: none !important; margin: 14px 0 0 !important; padding: 0 !important; }
.emtpkg-feat li {
  position: relative !important; padding: 7px 0 7px 28px !important; font-size: 13.5px !important;
  line-height: 1.45 !important; border-bottom: 1px solid #f0f0f0 !important;
}
.emtpkg-feat li:last-child { border-bottom: none !important; }
.emtpkg-feat li::before {
  position: absolute !important; left: 0 !important; top: 7px !important; width: 18px !important; height: 18px !important;
  font-weight: 900 !important; font-size: 12px !important; text-align: center !important; line-height: 18px !important; border-radius: 50% !important;
}
.emtpkg-feat li.yes { color: #1a1a1a !important; }
.emtpkg-feat li.yes::before { content: "✓" !important; color: #1a8f3a !important; background: #e7f7ec !important; }
.emtpkg-feat li.no { color: #b0b0b0 !important; }
.emtpkg-feat li.no::before { content: "✕" !important; color: #c44 !important; background: #fbeaea !important; }

/* Past time slots (today, already passed) — greyed out & unclickable */
.emtdt-time-btn.past-time,
.emtdt-time-btn:disabled {
  opacity: 0.35 !important;
  cursor: not-allowed !important;
  text-decoration: line-through !important;
  background: #f2f2f2 !important;
  color: #999 !important;
}

/* ═══════════════════════════════════════════════
   BACK BUTTON (top of each step panel)
   ═══════════════════════════════════════════════ */
.emt-back-btn {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  background: #fff !important; border: 1.5px solid #e5e5e5 !important; color: #444 !important;
  font-size: 13px !important; font-weight: 800 !important; padding: 9px 16px !important;
  border-radius: 999px !important; cursor: pointer !important; margin-bottom: 18px !important;
  transition: all 0.2s !important;
}
.emt-back-btn:hover { border-color: #d20d0d !important; color: #d20d0d !important; background: #fff5f5 !important; transform: translateX(-2px) !important; }

/* ═══════════════════════════════════════════════
   SERVICE QUESTIONS POPUP (water/power or covered space)
   ═══════════════════════════════════════════════ */
.emtq2-overlay {
  display: none !important; position: fixed !important; inset: 0 !important; background: rgba(0,0,0,0.65) !important;
  backdrop-filter: blur(4px) !important; z-index: 100000005 !important; align-items: center !important; justify-content: center !important; padding: 16px !important;
}
.emtq2-overlay.active { display: flex !important; }
.emtq2-box {
  position: relative !important; width: 100% !important; max-width: 500px !important; background: #fff !important;
  border-radius: 24px !important; padding: 34px 30px !important; box-shadow: 0 30px 80px rgba(0,0,0,0.32) !important;
}
.emtq2-close {
  position: absolute !important; top: 14px !important; right: 14px !important; width: 40px !important; height: 40px !important;
  border-radius: 50% !important; border: 1.5px solid #eee !important; background: #fff !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important; color: #111 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.16) !important; transition: all 0.25s !important;
  font-size: 26px !important; font-weight: 400 !important; line-height: 1 !important; padding: 0 !important; text-align: center !important;
}
.emtq2-close svg { stroke: #111 !important; }
.emtq2-close:hover { background: #d20d0d !important; color: #fff !important; border-color: #d20d0d !important; transform: rotate(90deg) !important; }
.emtq2-close:hover svg { stroke: #fff !important; }
.emtq2-header { text-align: center !important; margin-bottom: 22px !important; }
.emtq2-badge { display: inline-block !important; background: #fff0f0 !important; color: #d20d0d !important; font-size: 12px !important; font-weight: 900 !important; padding: 6px 14px !important; border-radius: 999px !important; margin-bottom: 12px !important; }
.emtq2-header h3 { font-size: 22px !important; font-weight: 900 !important; color: #111 !important; margin: 0 0 6px !important; }
.emtq2-header p { font-size: 13px !important; color: #777 !important; margin: 0 !important; }
.emtq2-question { margin-bottom: 22px !important; }
.emtq2-label { display: block !important; font-size: 14px !important; font-weight: 800 !important; color: #111 !important; margin-bottom: 10px !important; }
.emtq2-options { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; }
.emtq2-opt {
  flex: 1 1 auto !important; min-width: 120px !important; padding: 13px 14px !important; border: 1.5px solid #e0e0e0 !important;
  background: #fff !important; color: #333 !important; border-radius: 12px !important; font-size: 13.5px !important; font-weight: 800 !important;
  cursor: pointer !important; transition: all 0.2s !important; text-align: center !important;
}
.emtq2-opt:hover { border-color: #d20d0d !important; color: #d20d0d !important; }
.emtq2-opt.selected { background: #d20d0d !important; border-color: #d20d0d !important; color: #fff !important; }
.emtq2-continue {
  width: 100% !important; height: 52px !important; background: #d20d0d !important; color: #fff !important; border: none !important;
  border-radius: 12px !important; font-size: 16px !important; font-weight: 900 !important; cursor: pointer !important; margin-top: 6px !important; transition: all 0.2s !important;
}
.emtq2-continue:hover:not(:disabled) { background: #a80b0b !important; transform: translateY(-2px) !important; }
.emtq2-continue:disabled { opacity: 0.5 !important; cursor: not-allowed !important; }
@media (max-width: 480px) { .emtq2-box { padding: 26px 18px !important; } .emtq2-opt { min-width: 100% !important; } }

/* ═══════════════════════════════════════════════
   MULTI-SERVICE — homepage service forms, choice buttons, photo upload
   ═══════════════════════════════════════════════ */
.emtp-service-form { margin-top: 4px; }
.emtp-choice-grid {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-top: 6px;
}
#emtPopup .emtp-choice,
.emtp-choice {
  padding: 14px 10px !important; border-radius: 14px !important; border: 1.5px solid #e5e7eb !important; background: #fff !important;
  color: #111 !important; font-weight: 800 !important; font-size: 14px !important; cursor: pointer !important; transition: all .2s !important;
  text-align: center !important;
  outline: none !important; box-shadow: none !important; -webkit-tap-highlight-color: transparent !important;
  -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important;
}
#emtPopup .emtp-choice:focus, .emtp-choice:focus,
#emtPopup .emtp-choice:focus-visible, .emtp-choice:focus-visible,
#emtPopup .emtp-choice:active, .emtp-choice:active {
  outline: none !important; box-shadow: none !important; border-color: #d20d0d !important; background: #fff !important; color: #111 !important;
}
#emtPopup .emtp-choice:hover, .emtp-choice:hover { border-color: #d20d0d !important; }
#emtPopup .emtp-choice.selected,
#emtPopup .emtp-choice.selected:hover,
#emtPopup .emtp-choice.selected:focus,
#emtPopup .emtp-choice.selected:active,
.emtp-choice.selected,
.emtp-choice.selected:hover,
.emtp-choice.selected:focus,
.emtp-choice.selected:active {
  background: #d20d0d !important; color: #fff !important; border-color: #d20d0d !important;
  box-shadow: 0 8px 20px rgba(210,13,13,.22) !important;
}
.emtp-mini-note { font-size: 12px; color: #777; margin: 8px 2px 0; line-height: 1.5; }

@media (max-width: 480px){
  .emtp-choice-grid { grid-template-columns: 1fr; }
}

/* Photo upload (RV/Boat) */
.emtct-req { font-size: 11px; font-weight: 800; color: #d20d0d; margin-left: 8px;
  background: #fff5f5; padding: 2px 8px; border-radius: 999px; }
.emtct-photo-hint { font-size: 13px; color: #666; margin: 4px 0 12px; line-height: 1.5; }
.emtct-photo-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px;
  border-radius: 14px; border: 2px dashed #d20d0d; background: #fff5f5; color: #d20d0d;
  font-weight: 900; font-size: 14px; cursor: pointer; transition: all .2s;
}
.emtct-photo-btn:hover { background: #d20d0d; color: #fff; border-style: solid; }
.emtct-photo-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.emtct-photo-chip {
  display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700;
  background: #f3f4f6; color: #111; padding: 7px 10px; border-radius: 10px;
}
.emtct-photo-x {
  border: none; background: transparent; color: #d20d0d; font-size: 16px; font-weight: 900;
  cursor: pointer; line-height: 1; padding: 0 2px;
}
.emtct-photo-count { font-size: 13px; font-weight: 800; margin-top: 10px; color: #d20d0d; }

/* ═══════════════════════════════════════════════
   SERVICE-DRIVEN PACKAGE VISIBILITY (class on #emtPkgPanel)
   Only truck/rv/boat are forced here (the problem case). Car is left to JS
   so the grid can hide normally when a car category is picked.
   ═══════════════════════════════════════════════ */

/* Default service box hidden (shown only for truck/rv/boat) */
#emtpkgServiceBox { display: none; }

/* TRUCK / RV / BOAT: hide the car category grid, header, and car sub-tabs — ALWAYS */
#emtPkgPanel.emt-svc-truck #emtpkgCatGrid,
#emtPkgPanel.emt-svc-rv    #emtpkgCatGrid,
#emtPkgPanel.emt-svc-boat  #emtpkgCatGrid { display: none !important; }

#emtPkgPanel.emt-svc-truck .emtpkg-cat-header,
#emtPkgPanel.emt-svc-rv    .emtpkg-cat-header,
#emtPkgPanel.emt-svc-boat  .emtpkg-cat-header { display: none !important; }

/* Car sub-tabs (Interior/Exterior/Full Detail) NEVER show for truck/rv/boat */
#emtPkgPanel.emt-svc-truck #emtpkgTabs,
#emtPkgPanel.emt-svc-rv    #emtpkgTabs,
#emtPkgPanel.emt-svc-boat  #emtpkgTabs { display: none !important; }

/* Car category panels never show for truck/rv/boat */
#emtPkgPanel.emt-svc-truck #emtpkg-detailing,
#emtPkgPanel.emt-svc-rv    #emtpkg-detailing,
#emtPkgPanel.emt-svc-boat  #emtpkg-detailing,
#emtPkgPanel.emt-svc-truck #emtpkg-ceramic,
#emtPkgPanel.emt-svc-rv    #emtpkg-ceramic,
#emtPkgPanel.emt-svc-boat  #emtpkg-ceramic,
#emtPkgPanel.emt-svc-truck #emtpkg-ppf,
#emtPkgPanel.emt-svc-rv    #emtpkg-ppf,
#emtPkgPanel.emt-svc-boat  #emtpkg-ppf,
#emtPkgPanel.emt-svc-truck #emtpkg-correction,
#emtPkgPanel.emt-svc-rv    #emtpkg-correction,
#emtPkgPanel.emt-svc-boat  #emtpkg-correction { display: none !important; }

/* Service box shows only for truck/rv/boat */
#emtPkgPanel.emt-svc-truck #emtpkgServiceBox,
#emtPkgPanel.emt-svc-rv    #emtpkgServiceBox,
#emtPkgPanel.emt-svc-boat  #emtpkgServiceBox { display: grid !important; }

/* Each service shows ONLY its own package panel; cross-hide the others */
#emtPkgPanel.emt-svc-truck #emtpkg-truck { display: block !important; }
#emtPkgPanel.emt-svc-rv    #emtpkg-rv    { display: block !important; }
#emtPkgPanel.emt-svc-boat  #emtpkg-boat  { display: block !important; }
#emtPkgPanel.emt-svc-truck #emtpkg-rv,
#emtPkgPanel.emt-svc-truck #emtpkg-boat,
#emtPkgPanel.emt-svc-rv    #emtpkg-truck,
#emtPkgPanel.emt-svc-rv    #emtpkg-boat,
#emtPkgPanel.emt-svc-boat  #emtpkg-truck,
#emtPkgPanel.emt-svc-boat  #emtpkg-rv { display: none !important; }

/* Car mode: never show truck/rv/boat panels or the service box */
#emtPkgPanel.emt-svc-car #emtpkg-truck,
#emtPkgPanel.emt-svc-car #emtpkg-rv,
#emtPkgPanel.emt-svc-car #emtpkg-boat,
#emtPkgPanel.emt-svc-car #emtpkgServiceBox { display: none !important; }/* End custom CSS */
