/* OTIUM — responsive corrections, 17 September 2026.
   Selectors target the existing Elementor documents; desktop design is retained. */
#confiance .elementor-element-46c465d,
#faq .elementor-element-41be93c {
  width: 100% !important;
  min-width: 0 !important;
}
#confiance .elementor-element-46c465d > article,
#faq .elementor-element-41be93c > article {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
  overflow-wrap: break-word;
}
#faq .elementor-element-41be93c {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)) !important;
}
#fonctionnalites .elementor-element-ad32f14,
#fonctionnalites .otium-feature-visual {
  min-width: 0 !important;
}
#fonctionnalites .otium-autoplay-paused > .is-active::before {
  animation-play-state: paused !important;
}
@media (max-width: 1024px) {
  body:is(.page-id-1007, .page-id-1009, .page-id-1011, .page-id-1015) .container_inner.page_container_inner {
    width: 100%;
    max-width: 1180px;
  }
  .elementor-620 .elementor-element-973c519 {
    --padding-left: 20px;
    --padding-right: 20px;
  }
  .elementor-620 .elementor-element-973c519 > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(0, .6fr) repeat(2, minmax(0, 1fr));
    gap: 8px 12px !important;
    align-items: center;
    width: 100%;
  }
  .elementor-620 .elementor-element-0b99e26 {
    grid-column: 1 / 3;
    grid-row: 1;
    width: 100% !important;
    min-width: 0;
  }
  .elementor-620 .elementor-element-4e1a3e6 {
    width: min(100%, 164px) !important;
  }
  .elementor-620 .elementor-element-08818f4 {
    display: contents !important;
  }
  .elementor-620 .elementor-element-1eba948 {
    grid-column: 3 / 5;
    grid-row: 1;
    justify-self: end;
    width: auto !important;
  }
  .elementor-620 .elementor-element-1eba948 .elementor-button {
    min-height: 44px;
    padding: 13px 14px !important;
    white-space: nowrap;
    font-size: 12px !important;
    box-sizing: border-box;
    max-width: 100%;
  }
  .elementor-620 .elementor-element-08818f4 > .elementor-hidden-phone,
  .elementor-620 .elementor-element-af14179 {
    display: block !important;
    grid-row: 2;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
  }
  .elementor-620 .elementor-element-08818f4 > .elementor-widget-heading a,
  .elementor-620 .otm-solutions summary {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 44px;
    box-sizing: border-box;
    font-size: 12px;
    padding: 6px 0;
    line-height: 1.3;
  }
  .elementor-620 .otm-solutions-panel {
    position: absolute;
    top: calc(100% + 8px);
    left: auto;
    right: 0;
    width: min(600px, calc(100vw - 40px));
    max-height: min(70dvh, 520px);
    overflow-y: auto;
    box-sizing: border-box;
  }
  #confiance .elementor-element-46c465d {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 900px) {
  #fonctionnalites .elementor-element-ad32f14 {
    height: auto !important;
    min-height: 0 !important;
  }
  #fonctionnalites .otium-feature-visual {
    height: clamp(220px, 56vw, 430px) !important;
    min-height: 0 !important;
    width: 100% !important;
    flex: 0 0 auto;
  }
  #fonctionnalites .elementor-element-ad32f14 > .is-active::before {
    animation: none !important;
    transform: none !important;
    height: 100% !important;
  }
  #fonctionnalites .otium-feature-tab.is-active :is([data-id="4f62260"], [data-id="cae7c70"], [data-id="afd0828"], [data-id="22b57e5"], [data-id="f354d68"], [data-id="f22cc58"]) {
    max-height: none !important;
  }
}
@media (max-width: 767px) {
  .elementor-620 .otm-solutions-panel { grid-template-columns: 1fr; }
  .elementor-620 .otm-solutions-panel small { font-size: 12px; }
  .elementor-935 .elementor-element-7234b486 h1 {
    font-size: clamp(28px, 7.6vw, 40px);
    line-height: 1.18;
    letter-spacing: -.035em;
  }
  #confiance .elementor-element-a68bda8,
  #fonctionnalites > .e-con-inner > .elementor-element-64f54d5,
  #faq .elementor-element-1784e5e {
    padding-inline: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  #confiance,
  #fonctionnalites,
  #faq {
    --padding-left: 20px;
    --padding-right: 20px;
  }
  #confiance .elementor-element-46c465d,
  #faq .elementor-element-41be93c {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
  #confiance .elementor-element-46c465d > article,
  #faq .elementor-element-41be93c > article {
    width: 100% !important;
    padding: 24px !important;
  }
  #confiance .elementor-element-46c465d h3,
  #faq .elementor-element-41be93c h3 {
    font-size: 19px;
    line-height: 1.3;
    letter-spacing: -.015em;
  }
  #fonctionnalites .elementor-element-ad32f14 > .otium-feature-tab {
    padding-left: 26px !important;
    padding-right: 4px !important;
  }
  #fonctionnalites .elementor-element-ad32f14 > .otium-feature-tab::before,
  #fonctionnalites .elementor-element-ad32f14 > .otium-feature-tab::after {
    width: 5px !important;
  }
  #fonctionnalites .elementor-element-4fbf70e {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: 12px !important;
  }
  #fonctionnalites .elementor-element-4fbf70e > .elementor-element {
    min-width: 0 !important;
    width: 100% !important;
    padding: 22px !important;
  }
  #otm-footer .otmf-map {
    flex: 0 0 auto;
    width: 100%;
  }
  #otm-footer .otmf-bottom > .e-con-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px));
  }
  #otm-footer .otmf-legal {
    white-space: normal;
    text-align: left;
  }
  #otm-footer .elementor-social-icon {
    min-width: 44px;
    min-height: 44px;
  }
  :is(.elementor-1007, .elementor-1009, .elementor-1011, .elementor-1015) > section.e-atomic-element {
    padding: 28px 20px 44px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  :is(.elementor-element-3278791, .elementor-element-539e885, .elementor-element-49d5f87, .elementor-element-e4272d9,
      .elementor-element-8782117, .elementor-element-dfa44ef, .elementor-element-a19e657, .elementor-element-4248d74) {
    padding: 28px 24px !important;
    min-width: 0 !important;
  }
  :is(.elementor-1007, .elementor-1009, .elementor-1011, .elementor-1015) h1.e-heading-base {
    font-size: clamp(30px, 8vw, 38px) !important;
    line-height: 1.15 !important;
    letter-spacing: -.035em;
    overflow-wrap: break-word;
  }
  :is(.elementor-1007, .elementor-1009, .elementor-1011, .elementor-1015) h2.e-heading-base {
    font-size: 28px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  :is(.elementor-1007, .elementor-1009, .elementor-1011, .elementor-1015) h3.e-heading-base {
    font-size: clamp(18px, 5vw, 21px) !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  :is(.elementor-element-0182154, .elementor-element-f602388, .elementor-element-6a81ef0, .elementor-element-f6540fb) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }
  :is([data-id="dec7b0b"], [data-id="09ba851"], [data-id="4add880"], [data-id="461704c"]) {
    margin-inline-start: 0 !important;
    padding-inline-start: 0 !important;
    min-width: 0 !important;
  }
}
@media (max-width: 359px) {
  .elementor-620 .elementor-element-973c519 {
    --padding-left: 12px;
    --padding-right: 12px;
  }
  .elementor-620 .elementor-element-973c519 > .e-con-inner { gap: 6px; }
  .elementor-620 .elementor-element-08818f4 > .elementor-widget-heading a,
  .elementor-620 .otm-solutions summary { font-size: 11px; }
  .elementor-620 .elementor-element-1eba948 .elementor-button { padding-inline: 10px !important; }
}
@media (prefers-reduced-motion: reduce) {
  #fonctionnalites .elementor-element-ad32f14 > .is-active::before {
    animation: none !important;
    transform: none !important;
  }
}
