/* Compact subscription layout. No clipping or hidden plan content. */
/* Consistent font across the home page */
body,
body :where(
  header, nav, main, section, article, aside, footer,
  div, h1, h2, h3, h4, h5, h6,
  p, a, span, label, input, textarea, select, option, button,
  ul, ol, li, table, th, td, small, strong, em, b,
  summary, blockquote
):not(
  .fa, .fas, .far, .fab, .fal, .fad, .fat,
  .fa-solid, .fa-regular, .fa-brands,
  .material-icons, .material-symbols-outlined
) {
  font-family: "Avenir Next", "Segoe UI", system-ui,
    -apple-system, "Helvetica Neue", Arial, sans-serif !important;
}

html.midess_subscription_document {
    block-size: 100%;
}

/* Apply the requested stack to page text, including header/footer and controls.
   Icon fonts and their pseudo-elements retain their own font families. */
.midess_subscription_body,
.midess_subscription_body :where(h1, h2, h3, h4, h5, h6, p, a, li, strong, b,
    label, button, input, select, textarea, div, span, small, summary):not(
    [class*="fa-"], [class*="icon"], [class*="material-symbols"], [class*="material-icons"]) {
    font-family: "Avenir Next", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif !important;
}
.midess_subscription_body {
    margin: 0;
    display: flex;
    flex-direction: column;
    min-block-size: 100%;
    background: linear-gradient(125deg, #f4f3fc, #f0f7fc);
}

.midess_subscription_main {
    flex: 1 0 auto;
    padding: clamp(12px, 1.4vw, 20px);
    line-height: 1.3;
    color: #0d1536;
    font-family: "Avenir Next", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    overflow-wrap: anywhere;
}

.midess_subscription_main *,
.midess_subscription_main *::before,
.midess_subscription_main *::after {
    box-sizing: border-box;
}

.midess_subscription_expired_box {
    margin: 0 0 10px;
    padding: 8px 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 12px;
    border: 1px solid #f0cdd2;
    border-left: 3px solid #c43b46;
    border-radius: 10px;
    background: #fff4f5;
}

.midess_subscription_expired_title {
    color: #a72836;
    font-size: clamp(15px, 1.2vw, 18px);
    font-weight: 600;
}

.midess_subscription_expired_sub {
    margin-top: 0;
    color: #53627c;
    font-size: 13px;
}

.midess_subscription_notice_info,
.midess_subscription_notice_upgrade {
    border-color: #cfddfc;
    border-left-color: #2554ed;
    background: #edf3ff;
}

.midess_subscription_notice_active {
    border-color: #cce5d8;
    border-left-color: #25825b;
    background: #f0f8f4;
}

.midess_subscription_notice_info .midess_subscription_expired_title,
.midess_subscription_notice_upgrade .midess_subscription_expired_title {
    color: #2347a9;
}

.midess_subscription_notice_active .midess_subscription_expired_title {
    color: #216a4a;
}

.midess_subscription_pricing_section,
.midess_subscription_pricing_container {
    margin: 0;
    padding: 0;
}

.midess_subscription_pricing_grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(12px, 1.2vw, 18px);
}

.midess_subscription_pricing_card {
    --midess_subscription_accent: #3056be;
    display: flex;
    flex-direction: column;
    padding: clamp(14px, 1.3vw, 20px);
    border: 1px solid #dce3f2;
    border-radius: 18px;
    background: linear-gradient(145deg, #e9edfc 0%, #f1f7ff 25%, #fff 58%);
    box-shadow: 0 8px 24px #27356809;
    text-align: left;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.midess_subscription_pricing_card:nth-child(2) {
    --midess_subscription_accent: #5747b4;
    border-color: #c8c2ec;
    background: linear-gradient(145deg, #eae5fb 0%, #f4f2fd 25%, #fff 58%);
}

.midess_subscription_pricing_card:nth-child(3) {
    --midess_subscription_accent: #236486;
    background: linear-gradient(145deg, #e2f0f7 0%, #f0f8fb 25%, #fff 58%);
}

.midess_subscription_pricing_card:hover {
    border-color: var(--midess_subscription_accent);
    box-shadow: 0 10px 28px #27356814;
}

.midess_subscription_tier_badge {
    align-self: flex-start;
    margin: 0 0 8px;
    padding: 0;
    color: var(--midess_subscription_accent);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .01em;
}

.midess_subscription_tier_price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px;
    margin: 0 0 14px;
}

.midess_subscription_price_amount {
    color: #17264b;
    font-size: clamp(25px, 2.2vw, 34px);
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: -.04em;
    font-variant-numeric: tabular-nums;
}

.midess_subscription_price_period {
    color: #68748d;
    font-size: 12px;
}

.midess_subscription_tier_divider {
    border-top: 1px solid #cfd9ee;
}

.midess_subscription_tier_features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 5px 12px;
    list-style: none;
    padding: 0;
    margin: 14px 0 18px;
}

.midess_subscription_feat_row {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 7px;
    padding: 7px 0;
}

.midess_subscription_feat_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 1px 5px;
    border-radius: 50%;
    font-size: 11px;
    line-height: 1.5;
    font-weight: 600;
    font-family: "Avenir Next", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
}

.midess_subscription_check {
    color: var(--midess_subscription_accent);
    background: #e9edf9;
}

.midess_subscription_cross {
    color: #718099;
    background: #edf0f5;
}

.midess_subscription_feat_content { flex: 1; }

.midess_subscription_feat_content strong {
    display: block;
    color: #33415e;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
}

/* Keep inclusion status available to assistive technology without repeating
   the same label visually beside every feature. Check/cross icons stay visible. */
.midess_subscription_feat_desc {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.midess_subscription_feat_na .midess_subscription_feat_content strong {
    color: #748099;
    font-weight: 400;
    text-decoration: line-through;
    text-decoration-color: #aeb8ca;
}

.midess_subscription_tier_cta {
    display: block;
    width: 100%;
    margin-top: auto;
    padding: 10px 12px;
    border: 1px solid var(--midess_subscription_accent);
    border-radius: 8px;
    background: var(--midess_subscription_accent);
    color: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s ease, box-shadow .2s ease;
}

.midess_subscription_tier_cta:hover {
    filter: brightness(.94);
    box-shadow: 0 4px 12px #2554ed20;
}

.midess_subscription_tier_cta:focus-visible {
    outline: 3px solid #8eafff;
    outline-offset: 3px;
}

.midess_subscription_tier_cta:disabled {
    background: #edf1f8;
    border-color: #d9e2f1;
    color: #64728a;
    cursor: not-allowed;
    box-shadow: none;
    filter: none;
}

@media (prefers-reduced-motion: reduce) {

    .midess_subscription_pricing_card,
    .midess_subscription_tier_cta {
        transition: none;
    }
}
/* Stack cards when three columns would make feature text difficult to read. */
@media (width < 760px) {
    .midess_subscription_pricing_grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Compact laptop windows retain all features and purchase actions. */
@media (width >= 760px) and (height < 740px) {
    .midess_subscription_main { padding: 8px 12px; }
    .midess_subscription_feat_row { padding-block: 3px; }
    .midess_subscription_tier_badge { margin-bottom: 4px; }
    .midess_subscription_expired_box { margin-bottom: 7px; padding-block: 6px; }
}

/* Keep feature names readable in narrower three-card layouts. */
@media (760px <= width < 1100px) {
    .midess_subscription_tier_features {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }
    .midess_subscription_feat_row { padding-block: 4px; }
}
@media (width < 380px) {
    .midess_subscription_tier_features { grid-template-columns: minmax(0, 1fr); }
}
