/*
 * JDM Standard — modal only.
 * Legacy JDM composition rebuilt on the current OPM modal runtime.
 */

html.opm-jdm-standard-modal-open { overflow:hidden; }

.opm-jdm-standard-modal {
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
}
.opm-jdm-standard-modal[hidden] { display:none !important; }

.opm-jdm-standard-modal__backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.5);
}

.opm-jdm-standard-modal__dialog {
  position:relative;
  z-index:1;
  width:90%;
  max-width:1440px;
  height:90vh;
  margin:5vh auto;
  overflow:auto;
  background:#fff;
}

/* Give percentage-height offer layouts a definite modal-sized containing block. */
.opm-jdm-standard-modal__content {
  height:100%;
}

.opm-jdm-standard-modal__close {
  position:absolute;
  top:20px;
  right:20px;
  z-index:20;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0;
  border:2px solid #fff;
  border-radius:0;
  background:transparent;
  color:#fff;
  font:300 32px/1 Arial,sans-serif;
  cursor:pointer;
}
.opm-jdm-standard-modal__close:hover {
  border-color:#fff;
  background:transparent;
  color:#fff;
}

.opm-jdm-standard-modal__loading,
.opm-jdm-standard-modal__error { padding:32px; }

.opm-jdm-standard-modal-offer {
  --jdm-line:#bdb6ac;
  display:grid;
  grid-template-columns:minmax(0,70%) minmax(280px,30%);
  width:100%;
  min-height:100%;
  align-items:stretch;
  margin:0;
  color:#000;
  background:#fff;
}

.opm-jdm-standard-modal-offer__left {
  min-width:0;
  padding:30px;
}

.opm-jdm-standard-modal-offer__header {
  display:grid;
  grid-template-columns:200px minmax(180px,1fr) minmax(210px,auto);
  gap:28px;
  align-items:center;
}
.opm-jdm-standard-modal-offer__logo-wrap { min-width:0; }
.opm-jdm-standard-modal-offer__logo {
  display:block;
  width:100%;
  max-width:200px;
  max-height:110px;
  object-fit:contain;
  object-position:left center;
}
.opm-jdm-standard-modal-offer__identity { min-width:0; }
.opm-jdm-standard-modal-offer__title-line {
  display:flex;
  align-items:flex-end;
  gap:7px;
  font-weight:600;
}
.opm-jdm-standard-modal-offer__type {
  color:var(--opm-color-accent,#000);
  font-size:24px;
  line-height:1;
}
.opm-jdm-standard-modal-offer__code { font-size:15px; line-height:1; }
.opm-jdm-standard-modal-offer__subtitle { margin-top:4px; font-size:14px; line-height:1.3; }

.opm-jdm-standard-modal-offer__price {
  display:grid;
  justify-items:start;
  align-content:center;
  font-size:14px;
  line-height:1.2;
}
.opm-jdm-standard-modal-offer__price-main {
  display:block;
  font-size:30px;
  line-height:1.05;
  font-weight:800;
}
.opm-jdm-standard-modal-offer__price del { font-size:14px; }
.opm-jdm-standard-modal-offer__promo {
  display:inline-block;
  margin-bottom:5px;
  padding:3px 8px;
  border:1px solid var(--opm-color-accent,#bababa);
  color:var(--opm-color-accent,#bababa);
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
}
.opm-jdm-standard-modal-offer__price-m2 { margin-top:4px; }
.opm-jdm-standard-modal-offer__omnibus { margin-top:8px; font-size:12px; line-height:1.35; }

/* Price history — property ------------------------------------------------ */
.opm-jdm-standard-modal-offer__omnibus .omnibus-note {
  color:#000;
  line-height:1.3;
}
.opm-jdm-standard-modal-offer__omnibus .omnibus-history {
  position:relative;
  width:max-content;
  max-width:100%;
  margin-top:8px;
}
.opm-jdm-standard-modal-offer__omnibus .omnibus-note-link {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#000;
  cursor:pointer;
}
.opm-jdm-standard-modal-offer__omnibus .omnibus-note-link img {
  display:block;
  width:18px;
  height:18px;
}
.opm-jdm-standard-modal-offer__omnibus .omnibus-note-link a {
  color:#000;
  font-size:12px;
  line-height:1;
  text-decoration:none;
}
.opm-jdm-standard-modal-offer__omnibus .omnibus-tooltip {
  position:absolute;
  top:calc(100% + 22px);
  right:0;
  z-index:80;
  display:none;
  width:320px;
  max-width:min(320px,calc(100vw - 48px));
  padding:22px 26px;
  border:1px solid #d8d8d8;
  background:#fff;
  color:#000;
  box-shadow:0 18px 40px rgba(0,0,0,.14);
  font-size:12px;
  line-height:1;
}
.opm-jdm-standard-modal-offer__omnibus .omnibus-tooltip::before {
  content:"";
  position:absolute;
  right:42px;
  bottom:100%;
  width:18px;
  height:18px;
  border-top:1px solid #d8d8d8;
  border-left:1px solid #d8d8d8;
  background:#fff;
  transform:translateY(9px) rotate(45deg);
}
.opm-jdm-standard-modal-offer__omnibus .omnibus-history.is-open .omnibus-tooltip {
  display:block;
}
.opm-jdm-standard-modal-offer__omnibus .omni-head,
.opm-jdm-standard-modal-offer__omnibus .omni-row {
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  padding:10px 0;
}
.opm-jdm-standard-modal-offer__omnibus .omni-head {
  padding-top:0;
  border-bottom:1px solid #d8d8d8;
  font-weight:500;
}
.opm-jdm-standard-modal-offer__omnibus .omni-row {
  border-bottom:1px solid #d8d8d8;
}
.opm-jdm-standard-modal-offer__omnibus .omni-row:last-child {
  padding-bottom:0;
  border-bottom:0;
}
.opm-jdm-standard-modal-offer__omnibus .omni-row > :last-child,
.opm-jdm-standard-modal-offer__omnibus .omni-head > :last-child {
  text-align:right;
  white-space:nowrap;
}
.opm-jdm-standard-modal-offer__omnibus .omni-empty { padding:10px 0 0; }

.opm-jdm-standard-modal-offer__main-grid {
  display:grid;
  grid-template-columns:minmax(0,60%) minmax(260px,40%);
  gap:30px;
  align-items:start;
  margin-top:60px;
}
.opm-jdm-standard-modal-offer__content { min-width:0; }
.opm-jdm-standard-modal-offer__plans-side {
  min-width:0;
  padding-left:20px;
  border-left:1px solid var(--jdm-line);
}

.opm-jdm-standard-modal-offer__gallery-row {
  display:flex;
  align-items:flex-start;
  gap:20px;
}
.opm-jdm-standard-modal-offer__features {
  flex:0 0 58px;
  display:grid;
  gap:9px;
}
.opm-jdm-standard-modal-offer__feature {
  display:grid;
  justify-items:start;
  gap:3px;
  font-size:9px;
  line-height:1.2;
}
.opm-jdm-standard-modal-offer__feature img {
  display:block;
  width:25px;
  min-width:25px;
  height:25px;
  object-fit:contain;
}
.opm-jdm-standard-modal-offer__feature span { max-width:58px; }

.opm-jdm-standard-modal-offer__hero-link {
  position:relative;
  display:block;
  flex:1 1 auto;
  min-width:0;
  outline:0;
}
.opm-jdm-standard-modal-offer__hero {
  display:block;
  width:100%;
  height:auto;
  max-height:420px;
  object-fit:contain;
  cursor:zoom-in;
}
.opm-jdm-standard-modal-offer .opm-single__zoom {
  padding:0;
  background:transparent;
}
.opm-jdm-standard-modal-offer .opm-single__zoom img {
  display:block;
  width:100%;
  height:100%;
}
.opm-jdm-standard-modal-offer__description {
  margin:26px 0;
  font-size:12px;
  line-height:1.6;
}
.opm-jdm-standard-modal-offer__description > :first-child { margin-top:0; }
.opm-jdm-standard-modal-offer__description > :last-child { margin-bottom:0; }

.opm-jdm-standard-modal-offer__tech-table {
  width:100%;
  margin:40px 0 0;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:12px;
}
.opm-jdm-standard-modal-offer__tech-table th,
.opm-jdm-standard-modal-offer__tech-table td {
  padding:9px 0;
  border:0;
  border-bottom:1px solid var(--jdm-line);
  background:transparent;
}
.opm-jdm-standard-modal-offer__tech-table th:first-child,
.opm-jdm-standard-modal-offer__tech-table td:first-child {
  width:60%;
  text-align:left;
}
.opm-jdm-standard-modal-offer__tech-table th:not(:first-child),
.opm-jdm-standard-modal-offer__tech-table td:not(:first-child) {
  width:20%;
  text-align:center;
}
.opm-jdm-standard-modal-offer__tech-table thead th { font-weight:400; }
.opm-jdm-standard-modal-offer__tech-table tbody th { font-weight:400; }
.opm-jdm-standard-modal-offer__tech-table tbody td { font-weight:600; }
.opm-jdm-standard-modal-offer__tech-title {
  display:block;
  margin-top:40px;
  font-size:12px;
}
.opm-jdm-standard-modal-offer__tech-table--summary { margin-top:5px; }

.opm-jdm-standard-modal-offer__facts,
.opm-jdm-standard-modal-offer__breakdown { margin-top:24px; }
.opm-jdm-standard-modal-offer__facts > div,
.opm-jdm-standard-modal-offer__fact-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  min-height:32px;
  padding:6px 0;
  border-bottom:1px solid var(--jdm-line);
  font-size:12px;
}
.opm-jdm-standard-modal-offer__facts strong,
.opm-jdm-standard-modal-offer__fact-row strong { text-align:right; color:#000; }
.opm-jdm-standard-modal-offer__fact-row small { color:#777; font-size:10px; }
.opm-jdm-standard-modal-offer__fact-row--check { cursor:pointer; }
.opm-jdm-standard-modal-offer__fact-row--check input { margin:0 7px 0 0; }
.opm-jdm-standard-modal-offer__section-title {
  display:block;
  margin-bottom:5px;
  font-size:12px;
}
.opm-jdm-standard-modal-offer__total {
  display:flex;
  justify-content:flex-end;
  gap:4px;
  margin-top:10px;
  font-size:12px;
  font-weight:700;
}
.opm-jdm-standard-modal-offer__legal {
  margin-top:26px;
  font-size:12px;
  line-height:1.6;
}
.opm-jdm-standard-modal-offer__legal > strong { display:block; margin-bottom:8px; }

/* Price history — attachments ------------------------------------------- */
.opm-jdm-standard-modal-offer__fact-price {
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
  overflow:visible;
}
.opm-jdm-standard-modal-offer .opm-att-hist {
  position:relative;
  display:inline-flex;
  align-items:center;
  margin-left:4px;
  vertical-align:middle;
  color:#000;
  cursor:help;
  outline:none;
}
.opm-jdm-standard-modal-offer .opm-att-hist__ico {
  display:block;
  width:13px;
  height:13px;
  opacity:1;
}
.opm-jdm-standard-modal-offer .opm-att-hist__pop {
  position:absolute;
  right:-8px;
  bottom:calc(100% + 18px);
  z-index:90;
  display:grid;
  gap:0;
  width:320px;
  max-width:min(320px,calc(100vw - 48px));
  padding:22px 26px;
  border:1px solid #d8d8d8;
  background:#fff;
  color:#000;
  box-shadow:0 18px 40px rgba(0,0,0,.14);
  font-size:12px;
  font-weight:400;
  line-height:1;
  text-align:left;
  opacity:0;
  visibility:hidden;
  transition:opacity .15s ease,visibility .15s ease;
}
.opm-jdm-standard-modal-offer .opm-att-hist__pop::after {
  content:"";
  position:absolute;
  top:100%;
  right:42px;
  width:18px;
  height:18px;
  border-right:1px solid #d8d8d8;
  border-bottom:1px solid #d8d8d8;
  background:#fff;
  transform:translateY(-9px) rotate(45deg);
}
.opm-jdm-standard-modal-offer .opm-att-hist:hover .opm-att-hist__pop,
.opm-jdm-standard-modal-offer .opm-att-hist:focus .opm-att-hist__pop,
.opm-jdm-standard-modal-offer .opm-att-hist:focus-within .opm-att-hist__pop {
  opacity:1;
  visibility:visible;
}
.opm-jdm-standard-modal-offer .opm-att-hist__row {
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  padding:10px 0;
  border-bottom:1px solid #d8d8d8;
  white-space:nowrap;
}
.opm-jdm-standard-modal-offer .opm-att-hist__row--head {
  padding-top:0;
  font-weight:500;
}
.opm-jdm-standard-modal-offer .opm-att-hist__row:last-child {
  padding-bottom:0;
  border-bottom:0;
}
.opm-jdm-standard-modal-offer .opm-att-hist__row > :last-child { text-align:right; }

.opm-jdm-standard-modal-offer__tabs,
.opm-jdm-standard-modal-offer__tab-panel {
  width:100%;
  max-width:100%;
  min-width:0;
}
.opm-jdm-standard-modal-offer__tab-nav {
  display:flex;
  justify-content:center;
  gap:4px;
  margin:0 0 10px;
}
.opm-jdm-standard-modal-offer__tab-nav button {
  padding:10px;
  border:0;
  border-bottom:1px solid transparent;
  background:transparent;
  color:#000;
  font:inherit;
  font-size:13px;
  cursor:pointer;
}
.opm-jdm-standard-modal-offer__tab-nav button:hover,
.opm-jdm-standard-modal-offer__tab-nav button.is-active {
  border-bottom-color:#000;
  font-weight:600;
}
.opm-jdm-standard-modal-offer__tab-panel { display:none; }
.opm-jdm-standard-modal-offer__tab-panel.is-active { display:block; }
.opm-jdm-standard-modal-offer__tab-panel img {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  max-height:430px;
  margin:auto;
  object-fit:contain;
  cursor:zoom-in;
}

.opm-jdm-standard-modal-offer__downloads {
  display:grid;
  gap:20px;
  margin-top:20px;
}
.opm-jdm-standard-modal-offer__downloads a {
  display:block;
  padding:12px 14px;
  border:1px solid #000;
  background:transparent;
  color:#000;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  font-size:14px;
  font-weight:600;
  transition:.2s ease;
}
.opm-jdm-standard-modal-offer__downloads a:hover {
  background:#000;
  color:#fff;
}
.opm-jdm-standard-modal-offer__tour { margin:26px 0; }
.opm-jdm-standard-modal-offer__tour iframe {
  display:block;
  width:100%;
  min-height:400px;
  border:0;
}
.opm-jdm-standard-modal-offer__info-bar {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5%;
  margin-top:24px;
}
.opm-jdm-standard-modal-offer__info-bar .opm-single__info-tip[data-opm-tooltip] {
  border-bottom:0;
  color:rgba(0,0,0,.5);
  font-size:10px;
  line-height:1.3;
}

.opm-jdm-standard-modal-offer__contact {
  position:relative;
  min-width:0;
  align-self:stretch;
  padding:75px 24px 36px;
  background:var(--opm-jdm-contact-bg,#3f5fa9);
  color:#fff;
}
.opm-jdm-standard-modal-offer__contact-inner {
  position:relative;
  z-index:1;
  min-height:100%;
}
.opm-jdm-standard-modal-offer__contact-kicker {
  display:block;
  font-size:14px;
  line-height:1.2;
  text-transform:uppercase;
}
.opm-jdm-standard-modal-offer__contact h3 {
  margin:2px 0 28px;
  color:inherit;
  font-size:24px;
  font-weight:800;
  line-height:1.15;
  text-transform:uppercase;
}
.opm-jdm-standard-modal-offer__form { color:#fff; }
.opm-jdm-standard-modal-offer__form label { color:#fff; }
.opm-jdm-standard-modal-offer__form input:not([type="checkbox"]):not([type="radio"]),
.opm-jdm-standard-modal-offer__form select,
.opm-jdm-standard-modal-offer__form textarea {
  box-sizing:border-box;
  width:100%;
  margin:5px 0;
  border:1px solid #fff !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fff !important;
  font:inherit;
  font-size:14px;
}
.opm-jdm-standard-modal-offer__form input:not([type="checkbox"]):not([type="radio"]),
.opm-jdm-standard-modal-offer__form select { min-height:52px; padding:10px 12px; }
.opm-jdm-standard-modal-offer__form textarea { min-height:120px; padding:10px 12px; }
.opm-jdm-standard-modal-offer__form input::placeholder,
.opm-jdm-standard-modal-offer__form textarea::placeholder { color:#fff; opacity:1; }
.opm-jdm-standard-modal-offer__form input[type="submit"],
.opm-jdm-standard-modal-offer__form button[type="submit"] {
  color:#fff;
  border-color:#fff;
  background:transparent;
}
.opm-jdm-standard-modal-offer__form a { color:inherit; }

/* Contact consents — same structure and proportions as [opm]. */
.opm-jdm-standard-modal-offer__form .wpcf7-list-item,
.opm-jdm-standard-modal-offer__form .offer-property-form__agreement,
.opm-jdm-standard-modal-offer__form .offer-property-form__consent,
.opm-jdm-standard-modal-offer__form .wpcf7-list-item label,
.opm-jdm-standard-modal-offer__form .offer-property-form__agreement label,
.opm-jdm-standard-modal-offer__form .offer-property-form__consent label {
  display:grid;
  grid-template-columns:16px minmax(0,1fr);
  column-gap:8px;
  align-items:start;
  margin:0 0 10px;
}
.opm-jdm-standard-modal-offer__form .wpcf7-list-item label,
.opm-jdm-standard-modal-offer__form .offer-property-form__agreement label,
.opm-jdm-standard-modal-offer__form .offer-property-form__consent label {
  grid-column:1 / -1;
}
.opm-jdm-standard-modal-offer__form input[type="checkbox"] {
  appearance:none;
  -webkit-appearance:none;
  grid-column:1;
  align-self:start;
  justify-self:start;
  width:16px;
  height:16px;
  min-width:16px;
  margin:1px 0 0;
  flex:0 0 16px;
  border:1px solid var(--offer-consent-color,#fff);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  outline:none;
  cursor:pointer;
  position:relative;
  display:inline-grid;
  place-content:center;
}
.opm-jdm-standard-modal-offer__form input[type="checkbox"]::before {
  content:"";
  width:8px;
  height:8px;
  background:var(--offer-consent-color,#fff);
  transform:scale(0);
  transition:transform var(--opm-duration,.2s) var(--opm-ease,ease);
}
.opm-jdm-standard-modal-offer__form input[type="checkbox"]:checked::before {
  transform:scale(1);
}
.opm-jdm-standard-modal-offer__form input[type="checkbox"]:focus,
.opm-jdm-standard-modal-offer__form input[type="checkbox"]:focus-visible,
.opm-jdm-standard-modal-offer__form input[type="checkbox"]:active {
  outline:none;
  box-shadow:none;
}
.opm-jdm-standard-modal-offer__form .wpcf7-list-item,
.opm-jdm-standard-modal-offer__form .wpcf7-list-item-label,
.opm-jdm-standard-modal-offer__form .offer-consent-text {
  color:var(--offer-consent-color,#fff);
  font-size:12px;
  line-height:1.35;
}
.opm-jdm-standard-modal-offer__form .wpcf7-list-item-label,
.opm-jdm-standard-modal-offer__form .offer-consent-text,
.opm-jdm-standard-modal-offer__form .offer-property-form__agreement-text {
  grid-column:2;
  min-width:0;
  display:block;
}
.opm-jdm-standard-modal-offer__form .offer-consent-text__preview,
.opm-jdm-standard-modal-offer__form .offer-consent-text__full {
  display:inline;
  color:inherit;
}
.opm-jdm-standard-modal-offer__form .offer-consent-text__full[hidden] {
  display:none !important;
}
.opm-jdm-standard-modal-offer__form .offer-consent-text__full--static {
  display:inline;
}
.opm-jdm-standard-modal-offer__form .offer-consent-toggle {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  margin-left:8px;
  padding:3px 8px;
  border:1px solid var(--offer-consent-color,#fff);
  border-radius:0;
  background:transparent;
  color:var(--offer-consent-color,#fff);
  font-size:11px;
  line-height:1;
  font-weight:400;
  text-transform:none;
  vertical-align:baseline;
  cursor:pointer;
  box-shadow:none;
  outline:none;
}
.opm-jdm-standard-modal-offer__form .offer-consent-toggle:hover,
.opm-jdm-standard-modal-offer__form .offer-consent-toggle:focus,
.opm-jdm-standard-modal-offer__form .offer-consent-toggle:focus-visible {
  border-color:var(--offer-consent-color,#fff);
  background:var(--offer-consent-color,#fff);
  color:var(--opm-jdm-contact-bg,#3f5fa9);
  outline:none;
  box-shadow:none;
}

.opm-jdm-standard-modal-offer__contact-extra {
  margin-top:28px;
  font-size:12px;
  line-height:1.6;
}

/* Legacy JDM responsive behaviour ---------------------------------------- */
@media (max-width:991px) {
  .opm-jdm-standard-modal__dialog {
    width:98%;
    height:98vh;
    margin:1vh auto;
  }
  .opm-jdm-standard-modal-offer {
    grid-template-columns:minmax(0,65%) minmax(0,35%);
  }
  .opm-jdm-standard-modal-offer__left {
    padding-left:16px;
    padding-right:16px;
  }
  .opm-jdm-standard-modal-offer__header {
    display:flex;
    flex-wrap:wrap;
    gap:18px;
  }
  .opm-jdm-standard-modal-offer__logo-wrap {
    flex:0 0 150px;
  }
  .opm-jdm-standard-modal-offer__logo {
    max-width:150px;
  }
  .opm-jdm-standard-modal-offer__identity {
    flex:1 1 180px;
  }
  .opm-jdm-standard-modal-offer__price {
    width:100%;
    margin-top:14px;
  }
  .opm-jdm-standard-modal-offer__main-grid {
    gap:18px;
  }
}

@media (max-width:767px) {
  .opm-jdm-standard-modal__dialog {
    width:100%;
    height:100vh;
    margin:0;
  }
  .opm-jdm-standard-modal__close {
    position:fixed;
    top:12px;
    right:12px;
    border-color:#111;
    background:rgba(255,255,255,.9);
    color:#111;
  }
  .opm-jdm-standard-modal__close:hover {
    border-color:#111;
    background:rgba(255,255,255,.9);
    color:#111;
  }
  .opm-jdm-standard-modal-offer {
    display:grid;
    grid-template-columns:100%;
  }
  .opm-jdm-standard-modal-offer__left {
    position:relative;
    padding:24px 16px;
  }
  .opm-jdm-standard-modal-offer__header {
    padding-right:58px;
  }
  .opm-jdm-standard-modal-offer__logo-wrap {
    flex-basis:140px;
  }
  .opm-jdm-standard-modal-offer__identity {
    flex:1 1 100%;
    width:100%;
    margin-top:20px;
  }
  .opm-jdm-standard-modal-offer__price {
    width:100%;
    margin-top:11px;
  }
  .opm-jdm-standard-modal-offer__main-grid {
    grid-template-columns:100%;
    gap:0;
    margin-top:36px;
  }
  .opm-jdm-standard-modal-offer__plans-side {
    width:100%;
    max-width:100%;
    margin-top:48px;
    padding:0;
    border-left:0;
  }
  .opm-jdm-standard-modal-offer__tabs,
  .opm-jdm-standard-modal-offer__tab-panel,
  .opm-jdm-standard-modal-offer__tab-panel img {
    width:100%;
    max-width:100%;
  }
  .opm-jdm-standard-modal-offer__gallery-row { gap:12px; }
  .opm-jdm-standard-modal-offer__features { flex-basis:52px; }
  .opm-jdm-standard-modal-offer__info-bar { display:none; }
  .opm-jdm-standard-modal-offer__contact {
    width:100%;
    padding:80px 20px 32px;
  }
  .opm-jdm-standard-modal-offer__contact-inner { min-height:auto; }
  .opm-jdm-standard-modal-offer__tour iframe { min-height:400px; }
  .opm-jdm-standard-modal-offer__omnibus .omnibus-tooltip {
    right:auto;
    left:0;
    width:min(320px,calc(100vw - 48px));
  }
  .opm-jdm-standard-modal-offer__omnibus .omnibus-tooltip::before {
    right:auto;
    left:34px;
  }
}

@media (max-width:479px) {
  .opm-jdm-standard-modal-offer__price-main { font-size:26px; }
  .opm-jdm-standard-modal-offer__gallery-row { display:grid; }
  .opm-jdm-standard-modal-offer__features {
    display:flex;
    flex-wrap:wrap;
  }
  .opm-jdm-standard-modal-offer__feature { width:58px; }
  .opm-jdm-standard-modal-offer__facts > div,
  .opm-jdm-standard-modal-offer__fact-row {
    grid-template-columns:minmax(0,1fr) minmax(90px,auto);
    gap:10px;
  }
  .opm-jdm-standard-modal-offer .opm-att-hist__pop {
    width:220px;
    right:-4px;
  }
}