.afr-section {
    --afr-effect-color: var(--e-global-color-accent, #0cb1e8);
    position: relative;
    overflow: hidden;
    padding: 80px 20px;
    background: var(--e-global-color-background, transparent);
    color: var(--e-global-color-text, inherit);
    font-family: inherit;
}
.afr-section, .afr-section * { box-sizing: border-box; font-family: inherit; }
.afr-section::before, .afr-section::after { content: ""; position: absolute; pointer-events: none; z-index: 0; }
.afr-effect-none::before, .afr-effect-none::after { display:none; }
.afr-effect-corners::before { width:520px; height:520px; top:-220px; left:-170px; border-radius:42% 58% 53% 47%; background:radial-gradient(circle, color-mix(in srgb, var(--afr-effect-color) 13%, transparent), transparent 68%); }
.afr-effect-corners::after { width:620px; height:620px; right:-220px; bottom:-260px; border-radius:58% 42% 47% 53%; background:radial-gradient(circle, color-mix(in srgb, var(--afr-effect-color) 10%, transparent), transparent 70%); }
.afr-effect-rings::before, .afr-effect-rings::after { border-radius:50%; background:transparent; border:1px solid color-mix(in srgb, var(--afr-effect-color) 10%, transparent); box-shadow:inset 0 0 70px color-mix(in srgb, var(--afr-effect-color) 4%, transparent); }
.afr-effect-rings::before { width:700px; height:700px; top:-260px; left:-240px; }
.afr-effect-rings::after { width:780px; height:780px; bottom:-300px; right:-280px; }
.afr-effect-dots { background-image:radial-gradient(color-mix(in srgb, var(--afr-effect-color) 16%, transparent) 1px, transparent 1px); background-size:24px 24px; }
.afr-effect-dots::before, .afr-effect-dots::after { display:none; }
.afr-container { max-width:1140px; margin:0 auto; position:relative; z-index:1; }
.afr-header { text-align:center; max-width:820px; margin:0 auto 50px; }
.afr-badge { display:inline-flex; align-items:center; justify-content:center; gap:8px; margin-bottom:18px; padding:8px 16px; border:1px solid currentColor; border-radius:999px; color:var(--e-global-color-accent, currentColor); font-size:13px; font-weight:600; line-height:1; }
.afr-badge svg, .afr-badge i { width:16px; height:16px; font-size:16px; fill:currentColor; flex:0 0 auto; }
.afr-title { margin:0; color:var(--e-global-color-primary, currentColor); font-size:clamp(32px, 5vw, 56px); font-weight:700; line-height:1.1; letter-spacing:-0.03em; }
.afr-desc { max-width:720px; margin:18px auto 0; color:var(--e-global-color-text, inherit); font-size:15.5px; line-height:1.7; }
.afr-desc p:last-child { margin-bottom:0; }
.afr-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:24px; }
.afr-card { position:relative; display:block; min-height:280px; padding:30px; border:1px solid var(--e-global-color-secondary, currentColor); border-radius:18px; background:var(--e-global-color-background, #fff); color:var(--e-global-color-text, inherit); text-decoration:none; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.afr-card:hover { transform:translateY(-6px); box-shadow:0 18px 45px color-mix(in srgb, var(--e-global-color-text, #000) 8%, transparent); border-color:var(--e-global-color-accent, currentColor); color:inherit; text-decoration:none; }
.afr-icon { width:58px; height:58px; display:inline-flex; align-items:center; justify-content:center; margin-bottom:24px; border-radius:16px; background:color-mix(in srgb, var(--e-global-color-accent, currentColor) 12%, transparent); color:var(--e-global-color-accent, currentColor); }
.afr-icon svg, .afr-icon i { width:30px; height:30px; font-size:30px; fill:currentColor; }
.afr-card-title { margin:0 0 12px; color:var(--e-global-color-primary, currentColor); font-size:21px; font-weight:700; line-height:1.25; }
.afr-card-desc { margin:0; color:var(--e-global-color-text, inherit); font-size:15px; line-height:1.7; }
@media (max-width:1024px) { .afr-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:767px) { .afr-section { padding:60px 16px; } .afr-header { margin-bottom:35px; } .afr-grid { grid-template-columns:1fr; gap:18px; } .afr-card { min-height:auto; padding:24px; } .afr-title br { display:none; } }

/* =========================
   Aurex Category Section Widget
========================= */
.afc-section {
    --afc-effect-color: var(--e-global-color-accent, #0cb1e8);
    position: relative;
    overflow: hidden;
    padding: 80px 20px 100px;
    background: color-mix(in srgb, var(--e-global-color-accent, currentColor) 7%, transparent);
    color: var(--e-global-color-text, inherit);
    font-family: inherit;
}
.afc-section, .afc-section * { box-sizing: border-box; font-family: inherit; }
.afc-section a { color: inherit; }
.afc-section::before, .afc-section::after { content:""; position:absolute; pointer-events:none; z-index:0; }
.afc-effect-none::before, .afc-effect-none::after { display:none; }
.afc-effect-rings::before, .afc-effect-rings::after { border-radius:50%; background:transparent; border:1px solid color-mix(in srgb, var(--afc-effect-color) 10%, transparent); }
.afc-effect-rings::before { width:800px; height:800px; top:-200px; right:-200px; box-shadow:inset 0 0 80px color-mix(in srgb, var(--afc-effect-color) 6%, transparent); }
.afc-effect-rings::after { width:600px; height:600px; bottom:-150px; left:-300px; box-shadow:inset 0 0 60px color-mix(in srgb, var(--afc-effect-color) 6%, transparent); }
.afc-effect-glow::before { width:620px; height:620px; top:-220px; right:-180px; border-radius:45% 55% 52% 48%; background:radial-gradient(circle, color-mix(in srgb, var(--afc-effect-color) 15%, transparent), transparent 68%); filter:blur(4px); }
.afc-effect-glow::after { width:520px; height:520px; bottom:-180px; left:-180px; border-radius:55% 45% 48% 52%; background:radial-gradient(circle, color-mix(in srgb, var(--afc-effect-color) 10%, transparent), transparent 70%); filter:blur(6px); }
.afc-effect-dots { background-image:radial-gradient(color-mix(in srgb, var(--afc-effect-color) 16%, transparent) 1px, transparent 1px); background-size:26px 26px; }
.afc-effect-dots::before, .afc-effect-dots::after { display:none; }
.afc-container { max-width:1200px; margin:0 auto; position:relative; z-index:1; }
.afc-header { text-align:center; margin-bottom:50px; }
.afc-badge { display:inline-flex; align-items:center; justify-content:center; gap:8px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; color:var(--e-global-color-accent, currentColor); margin-bottom:15px; }
.afc-badge svg, .afc-badge i { width:18px; height:18px; font-size:18px; fill:currentColor; }
.afc-title { margin:0; font-family:inherit; font-size:clamp(34px, 5vw, 48px); font-weight:700; color:var(--e-global-color-primary, currentColor); line-height:1.2; letter-spacing:-0.5px; }
.afc-desc { max-width:720px; margin:18px auto 0; color:var(--e-global-color-text, inherit); font-size:15.5px; line-height:1.7; }
.afc-desc p:last-child { margin-bottom:0; }
.afc-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:30px; }
.afc-card { background:var(--e-global-color-background, #ffffff); border-radius:20px; padding:20px 30px 20px 20px; display:flex; align-items:center; gap:25px; text-decoration:none; border:1px solid color-mix(in srgb, var(--e-global-color-secondary, currentColor) 18%, transparent); box-shadow:0 10px 30px color-mix(in srgb, var(--e-global-color-text, #000000) 6%, transparent); transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.afc-card:hover { transform:translateY(-5px); border-color:var(--e-global-color-accent, currentColor); box-shadow:0 15px 40px color-mix(in srgb, var(--e-global-color-text, #000000) 10%, transparent); color:inherit; text-decoration:none; }
.afc-image { flex:0 0 40%; display:flex; align-items:center; justify-content:center; border-radius:12px; overflow:hidden; background:color-mix(in srgb, var(--e-global-color-accent, currentColor) 8%, transparent); aspect-ratio:1 / 1; }
.afc-image img { width:100%; height:100%; object-fit:cover; display:block; }
.afc-content { flex:1; display:block; }
.afc-icon { color:var(--e-global-color-accent, currentColor); margin-bottom:15px; display:inline-flex; align-items:center; justify-content:center; }
.afc-icon svg, .afc-icon i { width:32px; height:32px; font-size:32px; }
.afc-card-title { display:block; margin:0 0 10px; font-family:inherit; font-size:28px; font-weight:700; color:var(--e-global-color-primary, currentColor); line-height:1.2; }
.afc-card-desc { display:block; margin:0; font-size:14.5px; color:var(--e-global-color-text, inherit); line-height:1.5; }
@media (max-width:992px) { .afc-grid { grid-template-columns:1fr; max-width:700px; margin:0 auto; } }
@media (max-width:600px) { .afc-section { padding:60px 15px 80px; } .afc-card { flex-direction:column; text-align:center; padding:30px 20px; gap:20px; } .afc-image { width:100%; max-width:250px; flex:none; } .afc-icon { display:flex; justify-content:center; } }
