/* ClassX OEM Overlay Cards v3.1 — styles scoped to this widget only */
.cxof-root{width:100%;background:#000;color:#fff;isolation:isolate;box-sizing:border-box;padding:24px 0;font-family:Inter,Arial,Helvetica,sans-serif}
.cxof-root *,.cxof-root *::before,.cxof-root *::after{box-sizing:border-box}
.cxof-list{--cxof-columns:3;width:100%;max-width:1800px;margin:0 auto;display:grid;grid-template-columns:repeat(var(--cxof-columns),minmax(0,1fr));align-items:stretch;gap:28px;min-width:0}
.cxof-card{--cxof-accent:#ed2637;--cxof-overlay-color:#000;--cxof-overlay-opacity:60%;--cxof-gap:22px;--cxof-position:center center;position:relative;display:flex;align-items:center;container-type:inline-size;width:100%;min-height:640px;background-color:#000;border:0 solid transparent;border-radius:38px;overflow:hidden;isolation:isolate;min-width:0}
.cxof-media{position:absolute;inset:0;z-index:0;overflow:hidden;opacity:100%;pointer-events:none;background:#000}
.cxof-media picture,.cxof-media img,.cxof-media video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--cxof-position);max-width:none;border-radius:0}
.cxof-media img,.cxof-media video{transform:scale(var(--cxof-media-scale,1))}
.cxof-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background-color:var(--cxof-overlay-color);opacity:var(--cxof-overlay-opacity);}
.cxof-content{position:relative;z-index:2;width:100%;max-width:520px;min-width:0;margin-right:auto;padding:clamp(20px,4.15cqw,54px);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px,2.2cqw,var(--cxof-gap));overflow-wrap:anywhere}
.cxof-tag{display:flex;align-items:center;gap:11px;color:#a4a4a4;font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;font-weight:550;margin:0}
.cxof-tag i{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--cxof-accent)}
.cxof-tag span{min-width:0}
.cxof-root .cxof-title{margin:0;color:#fff;font-size:clamp(25px,5.7cqw,76px);font-weight:400;line-height:1.02;letter-spacing:-.045em;overflow-wrap:anywhere}
.cxof-root .cxof-subtitle{margin:0;color:#eee;font-size:clamp(15px,2.2cqw,24px);font-weight:400;line-height:1.3;max-width:390px}
.cxof-root .cxof-desc{margin:0;color:#888;font-size:clamp(12px,1.45cqw,15px);line-height:1.65;max-width:440px;white-space:normal}
.cxof-features{width:100%;display:flex;flex-direction:column;margin-top:5px;min-width:0}
.cxof-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.11);font-size:clamp(10px,1.25cqw,12px);line-height:1.4;min-width:0}
.cxof-feature-label{color:#d3d3d3;min-width:0;overflow-wrap:anywhere}
.cxof-feature-value{color:#999;text-align:right;min-width:0;overflow-wrap:anywhere}
.cxof-root .cxof-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;margin-top:4px;padding:12px 12px 12px 18px;min-height:60px;max-width:100%;min-width:215px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#232323;color:#fff;font-size:12px;font-weight:600;text-decoration:none;line-height:1.4;transition:background-color .25s ease,transform .25s ease}
.cxof-root .cxof-button:hover{background:#333;transform:translateY(-2px);color:#fff}
.cxof-root .cxof-button:focus-visible{outline:2px solid var(--cxof-accent);outline-offset:4px}
.cxof-arrow{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:10px;background:linear-gradient(135deg,var(--cxof-accent),#f38b27);color:#fff;font-family:Arial,sans-serif;font-size:20px;font-weight:400;line-height:1}
.cxof-intro{max-width:1300px;margin:0 auto 38px;padding:24px 0}
.cxof-intro-label{font-size:12px;letter-spacing:.16em;color:#aaa}
.cxof-root .cxof-intro-title{margin:12px 0;color:#fff;font-size:clamp(34px,5vw,64px);font-weight:450;line-height:1.08}
.cxof-root .cxof-intro-text{margin:0;color:#bbb;font-size:16px;line-height:1.6}
/* Container-based breakpoints: independent of the browser viewport and Elementor columns. */
@supports (container-type:inline-size){
  .cxof-root{container-type:inline-size}
  @container (max-width:1050px){.cxof-list{grid-template-columns:repeat(min(2,var(--cxof-columns)),minmax(0,1fr))}}
  @container (max-width:650px){.cxof-list{grid-template-columns:minmax(0,1fr)}}
}
/* Card content responds to the real width of each card, not just screen width. */
@container (max-width:650px){
  .cxof-content{max-width:100%;padding:clamp(22px,6cqw,38px);gap:clamp(12px,2.5cqw,19px)}
  .cxof-root .cxof-title{font-size:clamp(25px,7cqw,44px)}
  .cxof-root .cxof-subtitle{font-size:clamp(15px,3.1cqw,19px)}
  .cxof-root .cxof-desc{font-size:clamp(12px,2.5cqw,14px)}
  .cxof-feature{font-size:clamp(10px,2.25cqw,12px);gap:8px}
  .cxof-root .cxof-button{min-width:0;width:auto;gap:15px;padding:10px 12px;min-height:49px}
  .cxof-tag{font-size:9px;letter-spacing:.12em}
}
@container (max-width:380px){
  .cxof-content{padding:24px 19px}
  .cxof-root .cxof-title{font-size:clamp(24px,8cqw,32px)}
  .cxof-feature{grid-template-columns:minmax(0,1fr);gap:3px}
  .cxof-feature-value{text-align:left}
}
/* Legacy browser fallback */
@supports not (container-type:inline-size){
  @media(max-width:1050px){.cxof-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(max-width:650px){.cxof-list{grid-template-columns:1fr}}
}
@media(max-width:767px){.cxof-list{gap:18px}.cxof-card{border-radius:25px}}
@media(prefers-reduced-motion:reduce){.cxof-root .cxof-button{transition:none}.cxof-root .cxof-button:hover{transform:none}}
