/* O CONFORT Elementor kit — all selectors scoped to .ocw, not the standalone V4 page. */
.ocw, .ocw * { box-sizing: border-box; }
.ocw {
  --ocw-title: #073954; --ocw-text: #355a6c; --ocw-accent: #009bc0;
  --ocw-card: #fff; --ocw-radius: 16px; --ocw-shadow: 0 12px 28px rgba(0,56,80,.09);
  --ocw-overlay: 0;
  width: 100%; max-width: 100%; min-width: 0; color: var(--ocw-text);
  background-color: #eaf9fb; background-size: cover; background-repeat: no-repeat;
  background-position: center; position: relative; isolation: isolate;
  overflow: clip; font-family: inherit; line-height: 1.55;
}
.ocw::before { content: ""; position: absolute; inset: 0; z-index: 0; background: rgba(236,249,251,var(--ocw-overlay)); pointer-events: none; }
.ocw .ocw__inner { margin-inline: auto; width: 100%; max-width: 1200px; padding: 72px 24px; position: relative; z-index: 1; }
.ocw .ocw__eyebrow { color: var(--ocw-accent); font-size: 12px; font-weight: 800; letter-spacing: .15em; line-height: 1.5; text-transform: uppercase; margin: 0 0 10px; }
.ocw .ocw__title { font-family: inherit; color: var(--ocw-title); margin: 0 0 15px; max-width: 950px; font-size: clamp(28px, 3.2vw, 40px); font-weight: 800; line-height: 1.13; letter-spacing: -.035em; overflow-wrap: anywhere; }
.ocw .ocw__intro { font-size: clamp(15px, 1.5vw, 17px); color: var(--ocw-text); max-width: 780px; margin-bottom: 23px; }
.ocw .ocw__intro p { margin: 0 0 12px; }
.ocw .ocw__intro p:last-child { margin-bottom: 0; }
.ocw h3 { color: var(--ocw-title); font-family: inherit; font-size: clamp(17px, 1.6vw, 21px); font-weight: 800; margin: 0 0 8px; line-height: 1.26; }
.ocw p, .ocw li, .ocw figcaption { font-family: inherit; }
.ocw__button { display: inline-flex; gap: 12px; justify-content: center; align-items: center; border-radius: 999px; padding: 12px 21px; background: #064565; color: #fff !important; font-size: 14px; font-weight: 700; text-decoration: none !important; line-height: 1.2; transition: transform .2s ease, background .2s ease; }
.ocw__button:hover { background: #007c9e; color: #fff !important; transform: translateY(-2px); }
.ocw a:focus-visible, .ocw summary:focus-visible { outline: 3px solid #009bc0; outline-offset: 3px; }
.ocw .ocw__split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(25px, 5vw, 70px); }
.ocw .ocw__split--reverse > .ocw__copy { grid-column: 2; grid-row: 1; }
.ocw .ocw__split--reverse > .ocw__media { grid-column: 1; grid-row: 1; }
.ocw .ocw__copy, .ocw .ocw__media { min-width: 0; }
.ocw .ocw__media { border-radius: var(--ocw-radius); overflow: hidden; background: #d9f3f8; box-shadow: var(--ocw-shadow); }
.ocw img.ocw__image { width: 100%; height: auto; display: block; max-width: 100%; }
.ocw .ocw__media img.ocw__image { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.ocw .ocw__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px),1fr)); gap: 18px; }
.ocw .ocw__card { background: var(--ocw-card); border-radius: var(--ocw-radius); padding: clamp(20px, 2.4vw, 30px); box-shadow: var(--ocw-shadow); border: 1px solid rgba(4, 105, 132, .08); min-width: 0; }
.ocw .ocw__card p { font-size: 15px; color: var(--ocw-text); margin: 0; }
.ocw .ocw__symbol { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 13px; font-size: 22px; background: #d4f4f9; color: #007d9c; margin-bottom: 15px; }
.ocw .ocw__product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,330px), 1fr)); gap: 24px; align-items: stretch; }
.ocw .ocw__product { border-radius: var(--ocw-radius); background: var(--ocw-card); box-shadow: var(--ocw-shadow); overflow: hidden; display: flex; flex-direction: column; border: 1px solid #e2f1f5; min-width: 0; }
.ocw .ocw__product-head { padding: 25px 25px 18px; }
.ocw .ocw__product-head h3 { font-size: clamp(22px, 2.2vw, 28px); margin: 0; }
.ocw .ocw__product-media { background: linear-gradient(150deg,#e0f9fc,#b8eaf3); display: grid; place-items: center; min-height: 215px; }
.ocw .ocw__product-media img { width: 100%; max-height: 400px; height: auto; object-fit: contain; }
.ocw .ocw__product-body { padding: 22px 25px 27px; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.ocw .ocw__product-body > p { margin: 0 0 15px; font-size: 15px; color: var(--ocw-text); }
.ocw .ocw__bullets { margin: 0 0 20px; padding: 0; list-style: none; }
.ocw .ocw__bullets li { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 7px; font-size: 15px; color: var(--ocw-text); }
.ocw .ocw__bullets li::before { content: '✓'; color: var(--ocw-accent); font-weight: 900; flex: none; }
.ocw .ocw__product-body .ocw__button { margin-top: auto; }
.ocw .ocw__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,230px),1fr)); gap: 20px; counter-reset: none; }
.ocw .ocw__stepnum { display: block; color: var(--ocw-accent); font-size: 27px; font-weight: 800; margin-bottom: 14px; }
.ocw .ocw__quotes { display: grid; gap: 14px; }
.ocw .ocw__quotes figure { margin: 0; }
.ocw .ocw__quotes blockquote { margin: 0 0 12px; padding: 0; border: 0; font-family: Georgia, serif; font-size: clamp(17px,1.75vw,21px); font-style: italic; font-weight: 500; line-height: 1.46; color: var(--ocw-title); }
.ocw .ocw__quotes figcaption { font-size: 13px; font-weight: 700; color: var(--ocw-text); }
.ocw .ocw__empty { font-style: normal; }
.ocw .ocw__faq-items { max-width: 920px; display: grid; gap: 9px; }
.ocw .ocw__faq-item { border: 1px solid #dbeef3; border-radius: 12px; background: var(--ocw-card); box-shadow: 0 3px 12px rgba(0,56,80,.035); overflow: hidden; }
.ocw .ocw__faq-item summary { list-style: none; position: relative; display: block; cursor: pointer; font-weight: 750; font-size: 16px; line-height: 1.4; padding: 18px 54px 18px 21px; color: var(--ocw-title); }
.ocw .ocw__faq-item summary::-webkit-details-marker { display: none; }
.ocw .ocw__faq-item summary::after { content: '+'; color: var(--ocw-accent); font-size: 25px; position: absolute; right: 20px; top: 12px; }
.ocw .ocw__faq-item[open] summary::after { content: '−'; }
.ocw .ocw__faq-answer { padding: 0 21px 21px; font-size: 15px; line-height: 1.6; color: var(--ocw-text); }
.ocw .ocw__faq-answer p:last-child { margin-bottom: 0; }
.ocw--cta { --ocw-title:#fff; --ocw-text:#e2f4f9; background-color: #053f5f; color: #e2f4f9; text-align: center; }
.ocw--cta::before { background: rgba(0,43,68,var(--ocw-overlay)); }
.ocw--cta .ocw__eyebrow { color: #bbf0f7; }
.ocw--cta .ocw__title { color: var(--ocw-title, #fff); margin-inline: auto; }
.ocw--cta .ocw__intro { color: var(--ocw-text, #e2f4f9); margin-inline: auto; }
.ocw .ocw__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; align-items: center; }
.ocw--cta .ocw__button { background: #fff; color: #053f5f !important; }
.ocw--cta .ocw__button:hover { color: #fff !important; background: #007c9e; }
.ocw--cta .ocw__button--outline { background: rgba(0,45,65,.25); color: #fff !important; border: 1px solid rgba(255,255,255,.7); }
.ocw .ocw__form-card { background: var(--ocw-card); box-shadow: var(--ocw-shadow); border: 1px solid #dceef3; border-radius: var(--ocw-radius); padding: clamp(16px,2vw,25px); min-width: 0; }
.ocw .ocw__form-card input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .ocw .ocw__form-card textarea, .ocw .ocw__form-card select { max-width: 100%; }
.ocw .ocw__form-card form { max-width: 100%; }
.ocw .ocw__form-missing { padding: 22px; border: 1px dashed #76bdcd; border-radius: 10px; background: #effafd; color: #13546c; font-size: 15px; }
.ocw--diagnostic .ocw__copy > .ocw__image { border-radius: var(--ocw-radius); box-shadow: var(--ocw-shadow); max-height: 290px; object-fit: cover; }
.ocw .ocw__gallery { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,285px),1fr)); gap: 20px; }
.ocw .ocw__gallery-item { margin: 0; background: var(--ocw-card); box-shadow: var(--ocw-shadow); overflow: hidden; border-radius: var(--ocw-radius); }
.ocw .ocw__gallery-item img.ocw__image { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.ocw .ocw__gallery-item figcaption { padding: 15px 19px 18px; color: var(--ocw-title); font-size: 15px; font-weight: 700; }
@media (max-width: 900px) {
  .ocw .ocw__inner { padding: 48px 18px; }
  .ocw .ocw__split { display: flex; flex-direction: column; align-items: stretch; gap: 23px; }
  .ocw .ocw__split--reverse > .ocw__copy, .ocw .ocw__split--reverse > .ocw__media { grid-column: auto; grid-row: auto; }
  .ocw .ocw__split--reverse > .ocw__media { order: 1; }
  .ocw .ocw__split--reverse > .ocw__copy { order: 2; }
  .ocw .ocw__media img.ocw__image { aspect-ratio: 16/10; }
  .ocw .ocw__cards, .ocw .ocw__product-grid, .ocw .ocw__steps, .ocw .ocw__gallery { grid-template-columns: 1fr; gap: 15px; }
  .ocw .ocw__card { padding: 20px; }
  .ocw .ocw__product-head { padding: 18px 19px; }
  .ocw .ocw__product-body { padding: 20px 19px 23px; }
  .ocw .ocw__faq-item summary { padding: 16px 52px 16px 16px; }
  .ocw .ocw__faq-item summary::after { right: 17px; top: 10px; }
  .ocw .ocw__faq-answer { padding: 0 17px 17px; }
  .ocw .ocw__button { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) { .ocw__button { transition: none; } .ocw__button:hover { transform: none; } }
.ocw--product-detail .ocw__product-detail-media { background: linear-gradient(145deg,#f5feff,#c5edf6); }
.ocw--product-detail .ocw__product-detail-media img.ocw__image { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.ocw .ocw__disclaimer { margin: 18px 0 0; font-size: 12px; color: var(--ocw-text); opacity: .85; }
/* Dedicated cross-brand maintenance Elementor widget. */
.ocw--maintenance .ocw__intro{max-width:680px}
.ocw--maintenance .ocw__media img.ocw__image{aspect-ratio:5/4;object-fit:cover;object-position:center 40%}
.ocw--maintenance .ocw__disclaimer{max-width:630px;font-size:13px;line-height:1.55;opacity:1}
@media(max-width:900px){.ocw--maintenance .ocw__media img.ocw__image{aspect-ratio:16/10}}


/* Elementor footer: isolated, editable, never alters V4 or the Avada theme footer. */
.ocw-footer{--ocf-bg:#062d43;--ocf-text:#d5e8ed;--ocf-heading:#fff;--ocf-accent:#80e8f3;background:var(--ocf-bg);color:var(--ocf-text);width:100%;max-width:100%;min-width:0;font-family:inherit;line-height:1.55;box-sizing:border-box;overflow-wrap:anywhere}
.ocw-footer *{box-sizing:border-box}
.ocw-footer__inner{max-width:1200px;width:100%;margin-inline:auto;padding:42px 24px 24px}
.ocw-footer__main{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1.92fr);gap:clamp(28px,4vw,72px);align-items:start}
.ocw-footer__identity,.ocw-footer__links,.ocw-footer__group{min-width:0}
.ocw-footer .ocw-footer__brand{display:inline-block;color:var(--ocf-heading)!important;font-size:clamp(22px,2vw,27px);font-weight:850;letter-spacing:-.025em;line-height:1.15;text-decoration:none!important;margin:0 0 14px}
.ocw-footer__brand img{max-width:190px;max-height:56px;display:block;width:auto;height:auto;object-fit:contain}
.ocw-footer__tagline{font-weight:760;font-size:clamp(20px,1.8vw,28px);line-height:1.12;margin:0 0 12px;color:var(--ocf-heading);max-width:17ch}
.ocw-footer__description{font-size:14px;color:var(--ocf-text);max-width:355px;margin:0 0 18px}
.ocw-footer__action{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:#fff;color:#08364b!important;text-decoration:none!important;font-size:14px;font-weight:800;box-shadow:0 10px 24px rgba(4,29,44,.18)}
.ocw-footer__action:hover,.ocw-footer__action:focus-visible{background:#e9fbff;color:#062d43!important}
.ocw-footer__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ocw-footer .ocw-footer__group h2{font-family:inherit;color:var(--ocf-heading);font-size:15px;font-weight:800;line-height:1.4;letter-spacing:.01em;margin:3px 0 17px}
.ocw-footer .ocw-footer__group ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.ocw-footer .ocw-footer__group li{margin:0;padding:0;list-style:none}
.ocw-footer .ocw-footer__group a,.ocw-footer__legal a,.ocw-footer__back{color:var(--ocf-text);text-decoration:none!important;display:inline-flex;align-items:center;line-height:1.5;font-size:14px;min-height:26px}
.ocw-footer a:hover,.ocw-footer a:focus-visible{color:var(--ocf-accent)!important}
.ocw-footer a:focus-visible{outline:2px solid var(--ocf-accent);outline-offset:4px;border-radius:4px}
.ocw-footer__bottom{border-top:1px solid rgba(215,239,243,.22);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px}
.ocw-footer__bottom span{color:#bddbe4}
.ocw-footer__legal{display:flex;gap:18px;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0}
.ocw-footer__legal li{list-style:none;margin:0;padding:0}
@media(max-width:1024px){.ocw-footer__main{grid-template-columns:1fr;gap:28px}.ocw-footer__links{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.ocw-footer__inner{padding:40px 22px 22px}}
@media(max-width:640px){.ocw-footer__links{grid-template-columns:1fr;gap:22px}.ocw-footer__inner{padding:34px 20px 20px}.ocw-footer__bottom{margin-top:26px;padding-top:18px;align-items:flex-start;flex-direction:column;gap:12px}.ocw-footer .ocw-footer__group a,.ocw-footer__legal a,.ocw-footer__back{min-height:34px}}


/* 2.14.7: editorial and legal pages — isolated to the optional content widget. */
.ocw--content .ocw__inner{max-width:1040px}
.ocw--content .ocw__reading{max-width:820px;background:rgba(255,255,255,.82);border:1px solid rgba(8,89,119,.1);box-shadow:0 10px 28px rgba(8,75,94,.055);border-radius:20px;padding:clamp(22px,3.5vw,42px);line-height:1.72;color:var(--ocw-text);font-size:16px;overflow-wrap:anywhere}
.ocw--content .ocw__reading h3{margin:20px 0 10px;font-size:19px}
.ocw--content .ocw__reading h3:first-child{margin-top:0}
.ocw--content .ocw__reading p{margin:0 0 15px}
.ocw--content .ocw__reading p:last-child{margin-bottom:0}
.ocw--content .ocw__reading ul{padding-left:21px;margin:12px 0 17px}
@media(max-width:640px){.ocw--content .ocw__reading{border-radius:14px;padding:23px 19px;font-size:15px}}
