/* Asiri Core functional form affordances only; theme owns overall form presentation. */
.asiri-consent-block{margin-top:1.1rem;padding:1rem 1.1rem;border:1px solid rgba(15,23,42,.14);border-radius:14px;background:rgba(248,250,252,.72)}
.asiri-consent-row{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:.75rem;align-items:start;font-size:.9rem;line-height:1.5;font-weight:500!important;cursor:pointer}
.asiri-consent-row input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;margin:.16rem 0 0!important;padding:0!important;border-radius:3px!important;box-shadow:none!important}
.asiri-consent-row span{display:block;min-width:0}
.asiri-consent-help{margin:.6rem 0 0 30px!important;font-size:.82rem!important;line-height:1.45!important;color:#5b6472!important}
.asiri-consent-help a{text-decoration:underline}
@media (max-width:620px){.asiri-consent-block{padding:.9rem}.asiri-consent-row{grid-template-columns:20px minmax(0,1fr);gap:.65rem}.asiri-consent-help{margin-left:27px!important}}

/* Stable shortcode icon rendering. Layout/theme colors remain theme-owned. */
.asiri-feature-icon,.asiri-mini-icon,.asiri-check-icon,.asiri-arch-icon,.asiri-auto-car-icon,.asiri-clinic-icon,.asiri-security-icon,.asiri-node-icon,.asiri-about-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;color:currentColor}
.asiri-feature-icon svg,.asiri-mini-icon svg,.asiri-check-icon svg,.asiri-arch-icon svg,.asiri-auto-car-icon svg,.asiri-clinic-icon svg,.asiri-security-icon svg,.asiri-node-icon svg,.asiri-about-icon svg{display:block;width:100%;height:100%}

/* Approved industry icon assets: exact high-resolution transparent PNGs. */
.asiri-approved-icon{overflow:visible}
.asiri-approved-icon>img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}

/* Approved PNG icon color bridge (4.3.6).
 * The original PNG remains in the DOM as a fallback. Where CSS masking is
 * supported, its alpha channel is filled with currentColor so the active
 * presentation layer can use distinct accessible tile colors. */
.asiri-approved-icon{position:relative;isolation:isolate}
@supports ((-webkit-mask-image:url("")) or (mask-image:url(""))){
  .asiri-approved-icon>img{opacity:0!important}
  .asiri-approved-icon::before{
    content:"";position:absolute;inset:0;background:currentColor;
    -webkit-mask-image:var(--asiri-approved-icon-url);mask-image:var(--asiri-approved-icon-url);
    -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
    -webkit-mask-position:center;mask-position:center;
    -webkit-mask-size:contain;mask-size:contain;
  }
}

.asiri-recent-posts .asiri-resource-item a{text-underline-offset:3px}

/* 4.3.8 category-first resource library. Theme controls final colors/layout. */
.asiri-resource-library .asiri-resource-category-nav a,.asiri-resource-library .asiri-resource-read{text-underline-offset:3px}
.asiri-resource-library .asiri-resource-category-nav small{font-variant-numeric:tabular-nums}


/* 4.3.9: size ownership contract. Specialized visual icon wrappers are sized by the active theme. */
.asiri-icon{width:34px;height:34px}
.wp-block-asiri-visual{width:100%}
