.dnx-irofix{--dnx-red:#d70036;--dnx-light:#edebec;direction:ltr;width:100%;max-width:1190px;margin:0 auto;padding:0 24px 60px;font-family:inherit;color:#333;box-sizing:border-box}
.dnx-irofix *, .dnx-irofix *::before,.dnx-irofix *::after{box-sizing:border-box}
.dnx-irofix-feature[hidden]{display:none!important}
.dnx-irofix-feature{display:grid;grid-template-columns:42% minmax(0,58%);align-items:center;gap:32px;min-height:340px;margin:30px 0 54px;scroll-margin-top:110px}
.dnx-irofix-feature-image{position:relative;min-height:320px;display:flex;align-items:center;justify-content:center;isolation:isolate}
.dnx-irofix-feature-image::before{content:"";position:absolute;z-index:-1;left:20%;top:20%;width:65%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#ffd3da 0%,#ffe9eb 50%,rgba(255,255,255,0) 72%)}
.dnx-irofix-feature-image img{max-width:100%;max-height:390px;width:auto;height:auto;object-fit:contain}
.dnx-irofix-feature-title{font-size:clamp(23px,2.6vw,37px)!important;line-height:1.16!important;color:var(--dnx-red)!important;font-weight:700!important;margin:0 0 12px!important;text-transform:none}
.dnx-irofix-feature-description{font-size:14px;line-height:1.6;color:#555;margin:0 0 20px}
.dnx-irofix-feature-description p{margin:0 0 8px}.dnx-irofix-feature-description :last-child{margin-bottom:0}
.dnx-irofix-accordions{display:grid;gap:6px}
.dnx-irofix-accordion{background:#c4c4c4;border-radius:5px;overflow:hidden;border:0}
.dnx-irofix-accordion summary{display:block;cursor:pointer;list-style:none;padding:11px 14px;color:#fff;font-size:14px;line-height:1.3;font-weight:600}

.dnx-irofix-accordion summary::-webkit-details-marker{display:none}
.dnx-irofix-accordion summary:focus-visible,.dnx-irofix-card:focus-visible{outline:3px solid #d70036;outline-offset:3px}
.dnx-irofix-accordion[open]{background:#f5f3f4;border:1px solid #d2d2d2}
.dnx-irofix-accordion[open] summary{background:#c4c4c4;color:var(--dnx-red)}
.dnx-irofix-accordion-content{padding:16px 18px;font-size:14px;line-height:1.6;color:#333;overflow-wrap:anywhere}
.dnx-irofix-accordion-content :first-child{margin-top:0}.dnx-irofix-accordion-content :last-child{margin-bottom:0}
.dnx-irofix-accordion-content table{width:100%;border-collapse:collapse}.dnx-irofix-accordion-content td,.dnx-irofix-accordion-content th{border:1px solid #ddd;padding:7px}
.dnx-irofix-divider{height:1px;background:var(--dnx-red);margin:45px 0 55px}
.dnx-irofix:not(.has-selection) .dnx-irofix-divider{display:none}
.dnx-irofix-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 42px;max-width:930px;margin:0 auto}
.dnx-irofix-card{appearance:none;display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;min-width:0;min-height:310px;padding:18px 12px 12px!important;border:1px solid transparent!important;border-radius:15px!important;background:#eeeced!important;box-shadow:none!important;color:#222!important;cursor:pointer;text-align:center;transition:border-color .18s ease,transform .18s ease}
.dnx-irofix-card:hover{transform:translateY(-2px);border-color:#eba0ae!important}
.dnx-irofix-card.is-selected{border-color:var(--dnx-red)!important}
.dnx-irofix-card-name{font-weight:700;font-size:17px;line-height:1.3;min-height:41px;text-align:center;color:#222}
.dnx-irofix-card-photo{position:relative;isolation:isolate;display:flex;flex:1;justify-content:center;align-items:center;width:100%;min-height:235px}
.dnx-irofix-card-photo::before{content:"";position:absolute;z-index:-1;width:75%;aspect-ratio:1;top:5%;left:13%;background:radial-gradient(circle,#f7cbd0 0%,#f5dadd 50%,rgba(255,255,255,0) 75%);border-radius:50%}
.dnx-irofix-card-photo img{display:block;width:100%;height:235px;object-fit:contain;object-position:center}
@media(max-width:900px){.dnx-irofix-grid{gap:22px}.dnx-irofix-feature{grid-template-columns:40% minmax(0,60%);gap:18px}.dnx-irofix-feature-image{min-height:230px}.dnx-irofix-card{min-height:245px}.dnx-irofix-card-photo img{height:185px}}
@media(max-width:650px){.dnx-irofix{padding:0 15px 35px}.dnx-irofix-feature{display:flex;flex-direction:column;align-items:stretch;margin:22px 0 35px;gap:14px}.dnx-irofix-feature-image{min-height:220px}.dnx-irofix-feature-image img{max-height:270px}.dnx-irofix-feature-title{font-size:26px!important}.dnx-irofix-feature-description{font-size:14px}.dnx-irofix-divider{margin:26px 0 30px}.dnx-irofix-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.dnx-irofix-card{padding:11px 7px!important;min-height:215px;border-radius:12px!important}.dnx-irofix-card-name{font-size:13px;min-height:36px}.dnx-irofix-card-photo{min-height:120px}.dnx-irofix-card-photo img{height:155px}}
@media(max-width:360px){.dnx-irofix-grid{gap:10px}.dnx-irofix-card-name{font-size:12px}.dnx-irofix-card-photo img{height:115px}}

.dnx-irofix-variant{color:var(--dnx-red)}.dnx-irofix-brand{color:#222}

/* More portrait-oriented rectangular cards; responsive images and tabular content. */
.dnx-irofix-card{aspect-ratio:0.85;min-height:0;}
.dnx-irofix-card-photo{min-height:0;width:100%;}
.dnx-irofix-card-photo img{height:100%;max-height:255px;object-fit:contain;}
.dnx-irofix-accordion-content{overflow-x:auto;}
.dnx-irofix-accordion-content img{max-width:100%;height:auto;}
.dnx-irofix-accordion-content table{display:table;width:100%;min-width:0;}
@media(max-width:650px){.dnx-irofix-card{aspect-ratio:0.82}.dnx-irofix-card-photo img{max-height:180px}}

/* WooCommerce Shop and product category page wrapper; same inner classes preserve custom CSS. */
.dnx-irofix-archive{width:100%;max-width:none;margin:0 auto;padding:35px 16px 65px;min-height:45vh}
.dnx-irofix-pagination{margin:44px auto 10px;text-align:center}
.dnx-irofix-pagination ul{display:flex;justify-content:center;gap:10px;list-style:none;padding:0;margin:0;flex-wrap:wrap}
.dnx-irofix-pagination a,.dnx-irofix-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;border:1px solid #ddd;border-radius:7px;text-decoration:none;color:#222;padding:0 10px}
.dnx-irofix-pagination .current{background:#d70036;color:white;border-color:#d70036}

/* Card links behave like former buttons and preserve existing card styling. */
.dnx-irofix a.dnx-irofix-card,
.dnx-irofix a.dnx-irofix-card:hover,
.dnx-irofix a.dnx-irofix-card:focus { text-decoration:none!important; }
.dnx-irofix a.dnx-irofix-card:focus-visible { outline:3px solid #d70036; outline-offset:3px; }


/* v1.5: banner, back link and uniform media boxes; existing custom CSS remains intact. */
.dnx-irofix-banner{width:100%;min-height:210px;aspect-ratio:2048 / 450;background-color:#dc0035;background-image:var(--dnx-banner-image);background-position:center;background-size:cover;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;padding:25px 28px;text-align:center;box-sizing:border-box}
.dnx-irofix-banner-title{font-family:Manrope,sans-serif!important;color:#fff!important;font-weight:800!important;font-size:clamp(30px,4vw,60px)!important;line-height:1.2!important;letter-spacing:-.03em;margin:0!important;text-shadow:0 2px 14px rgba(70,0,16,.17);overflow-wrap:anywhere}
.dnx-irofix-feature{position:relative;padding-top:45px}
.dnx-irofix-back{position:absolute;top:0;left:0;display:inline-flex;align-items:center;gap:8px;color:#d70036!important;font-family:Manrope,sans-serif;font-size:14px;font-weight:700;text-decoration:none!important}
.dnx-irofix-back:hover{text-decoration:underline!important}
.dnx-irofix-feature-image{height:390px;min-height:390px!important;align-self:start!important;align-items:flex-start!important;justify-content:center!important}
.dnx-irofix-feature-image img{height:390px!important;width:100%!important;max-height:390px!important;max-width:100%!important;object-fit:contain!important;object-position:top center!important}
@media(max-width:650px){.dnx-irofix-banner{min-height:125px;aspect-ratio:3 / 1;padding:18px 14px}.dnx-irofix-banner-title{font-size:clamp(23px,6vw,34px)!important}.dnx-irofix-feature{padding-top:38px}.dnx-irofix-feature-image{height:270px;min-height:270px!important}.dnx-irofix-feature-image img{height:270px!important;max-height:270px!important}.dnx-irofix-back{font-size:13px}}

/* v1.6 - Banner breaks out of any Elementor / shortcode max-width container. */
.dnx-irofix-banner-wide{position:relative;width:100vw;max-width:none!important;margin-inline:calc(50% - 50vw)!important;box-sizing:border-box;overflow:hidden}
.dnx-irofix-banner-wide > .dnx-irofix-banner{width:100%;max-width:none!important}
.dnx-irofix-elementor-banner .elementor{width:100%}
.dnx-irofix-dynamic-title{font:inherit;color:inherit}
@supports(width:100dvw){.dnx-irofix-banner-wide{width:100dvw;margin-inline:calc(50% - 50dvw)!important}}
