/*
 * Custom HTML islands are author-owned.
 * Theme tag/typography rules (body fonts, a/h*/section) must not restyle island content.
 * Bootstrap / utility class rules still apply (higher specificity than these reverts).
 */
.cms-custom-html-island {
    all: revert;
    display: block;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    color: #212529;
    line-height: 1.5;
}

.cms-custom-html-island :where(h1, h2, h3, h4, h5, h6) {
    font-family: inherit;
    color: inherit;
    line-height: revert;
}

.cms-custom-html-island :where(a:not(.btn):not(.dropdown-item):not(.nav-link):not(.navbar-brand)) {
    color: revert;
    text-decoration: revert;
}

.cms-custom-html-island a.btn {
    text-decoration: none;
}

.cms-custom-html-island .cms-product-prices a {
    text-decoration: none !important;
}

.cms-custom-html-island :where(section, .section) {
    color: revert;
    background-color: revert;
    padding-block: revert;
    overflow: revert;
}

.cms-custom-html-island img,
.cms-custom-html-island svg,
.cms-custom-html-island video {
    display: inline-block;
    vertical-align: middle;
    max-width: 100%;
    height: auto;
}

.cms-product-prices {
    width: 100%;
}
.cms-product-prices__head,
.cms-product-prices__row {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1.5fr) minmax(0, 0.9fr) minmax(0, 0.7fr) minmax(0, 0.8fr);
    align-items: center;
    gap: 0.75rem 1rem;
}
.cms-product-prices__head {
    padding: 0 1rem 0.35rem;
    font-weight: 600;
    color: #64748b;
}
.cms-product-prices__row {
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 1px 8px rgba(15, 23, 42, 0.08);
    padding: 0.85rem 1rem;
    margin: 1rem 0;
    min-height: 3.5rem;
}
.cms-product-prices__icon-col {
    display: flex;
    align-items: center;
    justify-content: center;
}
.cms-product-prices__name {
    font-weight: 700;
    min-width: 0;
}
.cms-product-prices__name a {
    color: inherit;
    text-decoration: none !important;
}
.cms-product-prices__name a:hover {
    text-decoration: none !important;
    opacity: 0.85;
}
.cms-product-prices a.cms-product-prices__alt {
    text-decoration: none;
}
.cms-product-prices__price,
.cms-product-prices__success,
.cms-product-prices__speed {
    min-width: 0;
}
.cms-product-prices__alt {
    font-weight: 700;
}
.cms-product-prices__empty {
    text-align: center;
    color: #64748b;
    padding: 1.5rem 0;
}
@media (max-width: 767px) {
    .cms-product-prices__head {
        display: none;
    }
    .cms-product-prices__row {
        grid-template-columns: 2.75rem minmax(0, 1fr);
        grid-template-areas:
            "icon name"
            "icon price"
            "icon success"
            "icon speed";
    }
    .cms-product-prices__icon-col { grid-area: icon; }
    .cms-product-prices__name { grid-area: name; }
    .cms-product-prices__price { grid-area: price; }
    .cms-product-prices__success { grid-area: success; }
    .cms-product-prices__speed { grid-area: speed; }
}
