:root {
    --czipms-ink: #172033;
    --czipms-body: #3d4b60;
    --czipms-muted: #6b778c;
    --czipms-line: #e2e7ef;
    --czipms-soft: #f7f9fc;
    --czipms-blue: #3656d4;
    --czipms-blue-soft: #eef2ff;
    --czipms-green: #08775f;
    --czipms-green-soft: #edfdf7;
    --czipms-amber: #996515;
    --czipms-amber-soft: #fff9e8;
    --czipms-red: #a6342b;
    --czipms-red-soft: #fff3f1;
    --czipms-radius: 16px;
    --czipms-shadow: 0 12px 32px rgba(22, 32, 51, .06);
}

.czipms-wrap,
.czipms-wrap * { box-sizing: border-box; }

.czipms-wrap {
    width: min(1160px, calc(100% - 32px));
    margin: 0 auto;
    color: var(--czipms-body);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 17px;
    line-height: 1.72;
}

.czipms-wrap a { color: var(--czipms-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.czipms-wrap h1,
.czipms-wrap h2,
.czipms-wrap h3 { color: var(--czipms-ink); letter-spacing: -.026em; line-height: 1.16; }
.czipms-wrap h1 { max-width: 980px; margin: 0; font-size: clamp(2.25rem, 5vw, 4rem); }
.czipms-wrap h2 { margin: 0 0 18px; font-size: clamp(1.55rem, 3vw, 2.35rem); }
.czipms-wrap h3 { margin: 28px 0 10px; font-size: 1.24rem; }
.czipms-wrap p { margin: 0 0 18px; }

.czipms-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin: 28px 0 18px;
    color: var(--czipms-muted);
    font-size: .82rem;
}
.czipms-breadcrumb a { color: var(--czipms-muted); text-decoration: none; }
.czipms-breadcrumb a:hover { color: var(--czipms-blue); }

.czipms-hero {
    margin: 0 0 14px;
    padding: clamp(18px, 4vw, 40px) 0 24px;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.czipms-kicker {
    margin: 0 0 11px !important;
    color: var(--czipms-blue);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.czipms-lead {
    max-width: 880px;
    margin: 20px 0 20px !important;
    color: #4c5a6f;
    font-size: clamp(1.03rem, 2vw, 1.2rem);
}
.czipms-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.czipms-chips span {
    padding: 6px 11px;
    border: 1px solid #d9e0ff;
    border-radius: 999px;
    background: var(--czipms-blue-soft);
    color: #2e439f;
    font-size: .76rem;
    font-weight: 700;
}
.czipms-reviewed { margin: 0 !important; color: var(--czipms-muted); font-size: .8rem; }

.czipms-answer {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    margin: 28px 0;
    overflow: hidden;
    border: 1px solid #d6dde8;
    border-radius: var(--czipms-radius);
    background: #fff;
    box-shadow: var(--czipms-shadow);
}
.czipms-answer-label {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 25px;
    border-right: 1px solid var(--czipms-line);
    background: var(--czipms-soft);
    color: var(--czipms-ink);
}
.czipms-answer-label span { font-size: .94rem; font-weight: 800; }
.czipms-answer-label small { color: var(--czipms-muted); font-size: .75rem; }
.czipms-answer-body { padding: 29px 33px; }
.czipms-answer-body h2 { margin-bottom: 12px; font-size: clamp(1.38rem, 2.5vw, 1.95rem); }
.czipms-answer-body > p { color: #38465a; font-size: 1.02rem; }
.czipms-answer-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}
.czipms-answer-actions div { padding: 15px 17px; border: 1px solid var(--czipms-line); border-radius: 13px; background: var(--czipms-soft); }
.czipms-answer-actions span { display: block; color: var(--czipms-muted); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.czipms-answer-actions strong { display: block; margin-top: 4px; color: var(--czipms-ink); font-size: .93rem; line-height: 1.43; }

.czipms-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 28px;
}
.czipms-facts article { padding: 22px; border: 1px solid var(--czipms-line); border-radius: 15px; background: #fff; }
.czipms-facts span { display: block; color: var(--czipms-muted); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.czipms-facts strong { display: block; margin: 7px 0; color: var(--czipms-ink); font-size: 1.18rem; line-height: 1.3; }
.czipms-facts p { margin: 0; color: var(--czipms-muted); font-size: .85rem; line-height: 1.52; }

.czipms-tool {
    margin: 30px 0 42px;
    padding: clamp(24px, 5vw, 40px);
    border: 1px solid #cfd8f8;
    border-radius: 22px;
    background: #f8f9ff;
}
.czipms-tool-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 24px; }
.czipms-tool-head h2 { margin-bottom: 9px; }
.czipms-tool-head > div > p:last-child { max-width: 760px; margin: 0; color: var(--czipms-muted); }
.czipms-tool-head > span { flex: 0 0 auto; padding: 7px 11px; border: 1px solid var(--czipms-line); border-radius: 999px; background: #fff; color: #526077; font-size: .73rem; font-weight: 700; }
.czipms-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.czipms-form-grid label { display: block; }
.czipms-form-grid label > span { display: block; margin-bottom: 7px; color: var(--czipms-ink); font-size: .82rem; font-weight: 750; }
.czipms-form-grid select,
.czipms-form-grid input,
.czipms-controls select,
.czipms-controls input {
    width: 100%;
    min-height: 49px;
    padding: 0 14px;
    border: 1px solid #cbd4e1;
    border-radius: 11px;
    background: #fff;
    color: var(--czipms-ink);
    font: inherit;
    font-size: .91rem;
    outline: none;
}
.czipms-form-grid select:focus,
.czipms-form-grid input:focus,
.czipms-controls select:focus,
.czipms-controls input:focus { border-color: var(--czipms-blue); box-shadow: 0 0 0 4px rgba(54, 86, 212, .1); }
.czipms-input-unit { position: relative; }
.czipms-input-unit input { padding-right: 72px; }
.czipms-input-unit small { position: absolute; top: 50%; right: 14px; transform: translateY(-50%); color: var(--czipms-muted); font-size: .74rem; font-weight: 700; }
.czipms-tool-result {
    margin-top: 20px;
    padding: 22px 24px;
    border: 1px solid #cbd4e1;
    border-radius: 14px;
    background: #fff;
}
.czipms-tool-result[data-status="good"] { border-color: #9fd4c8; background: #fbfffd; }
.czipms-tool-result[data-status="warn"] { border-color: #ebcf94; background: #fffdfa; }
.czipms-tool-result[data-status="bad"] { border-color: #e5b4ae; background: #fffafa; }
.czipms-tool-result > span { display: block; color: var(--czipms-muted); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.czipms-tool-result > strong { display: block; margin: 4px 0 5px; color: var(--czipms-ink); font-size: 1.18rem; line-height: 1.35; }
.czipms-tool-result > p { margin: 0; color: #536076; }
.czipms-tool-result ul { margin: 12px 0 0; padding-left: 20px; }
.czipms-tool-result li { margin: 5px 0; }

.czipms-live {
    margin: 38px 0 48px;
    padding: clamp(24px, 4vw, 36px);
    border: 1px solid var(--czipms-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--czipms-shadow);
}
.czipms-section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 22px; }
.czipms-section-head h2 { margin-bottom: 7px; }
.czipms-section-head p:last-child { max-width: 720px; margin: 0; color: var(--czipms-muted); font-size: .9rem; }
.czipms-refresh {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid #cbd4e1;
    border-radius: 10px;
    background: #fff;
    color: var(--czipms-ink);
    font: inherit;
    font-size: .84rem;
    font-weight: 750;
    cursor: pointer;
}
.czipms-refresh:hover { border-color: var(--czipms-blue); color: var(--czipms-blue); }
.czipms-controls { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 14px; margin-bottom: 18px; }
.czipms-controls label > span { display: block; margin-bottom: 6px; color: var(--czipms-ink); font-size: .78rem; font-weight: 750; }
.czipms-status { padding: 14px 16px; border-radius: 11px; background: var(--czipms-soft); color: var(--czipms-muted); font-size: .87rem; }
.czipms-groups { display: grid; gap: 26px; margin-top: 20px; }
.czipms-group-head { display: flex; justify-content: space-between; gap: 18px; align-items: end; margin-bottom: 12px; }
.czipms-group-head h3 { margin: 0; font-size: 1.18rem; }
.czipms-group-head p { margin: 0; color: var(--czipms-muted); font-size: .79rem; }
.czipms-products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.czipms-product {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--czipms-line);
    border-radius: 14px;
    background: #fff;
}
.czipms-product-media { display: grid; place-items: center; height: 120px; margin-bottom: 12px; border-radius: 10px; background: var(--czipms-soft); overflow: hidden; }
.czipms-product-media img { width: 100%; height: 100%; object-fit: contain; }
.czipms-product-kicker { margin: 0 0 5px !important; color: var(--czipms-muted); font-size: .69rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.czipms-product h4 { margin: 0 0 9px; color: var(--czipms-ink); font-size: .91rem; line-height: 1.42; }
.czipms-product-price { display: flex; align-items: baseline; gap: 8px; margin: auto 0 7px; }
.czipms-product-price strong { color: var(--czipms-ink); font-size: 1.23rem; }
.czipms-product-price del { color: var(--czipms-muted); font-size: .76rem; }
.czipms-product-meta { margin: 0 0 12px !important; color: var(--czipms-muted); font-size: .76rem; line-height: 1.45; }
.czipms-product a {
    display: block;
    margin-top: auto;
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--czipms-blue);
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 800;
}
.czipms-product a:hover { background: #2947bd; color: #fff; }
.czipms-empty { padding: 22px; border: 1px dashed #cbd4e1; border-radius: 12px; color: var(--czipms-muted); text-align: center; }
.czipms-price-note { margin: 18px 0 0 !important; color: var(--czipms-muted); font-size: .76rem; }

.czipms-content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 52px; align-items: start; }
.czipms-content-grid > * { min-width: 0; }
.czipms-section { padding: 15px 0 34px; scroll-margin-top: 90px; border-bottom: 1px solid var(--czipms-line); }
.czipms-section + .czipms-section { padding-top: 40px; }
.czipms-section p { color: #405066; }
.czipms-list { margin: 0 0 22px; padding-left: 23px; }
.czipms-list li { margin: 9px 0; padding-left: 4px; }
.czipms-numbered li::marker { color: var(--czipms-blue); font-weight: 800; }
.czipms-callout { margin: 24px 0; padding: 20px 22px; border: 1px solid var(--czipms-line); border-radius: 14px; }
.czipms-callout strong { display: block; margin-bottom: 5px; color: var(--czipms-ink); }
.czipms-callout p { margin: 0; }
.czipms-callout-info { background: var(--czipms-blue-soft); border-color: #cbd5ff; }
.czipms-callout-warning { background: var(--czipms-amber-soft); border-color: #f1d995; }
.czipms-callout-danger { background: var(--czipms-red-soft); border-color: #efc0bb; }
.czipms-callout-success { background: var(--czipms-green-soft); border-color: #a9ddcf; }
.czipms-steps { display: grid; gap: 12px; margin: 23px 0; }
.czipms-steps article { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 13px; padding: 18px; border: 1px solid var(--czipms-line); border-radius: 13px; background: #fff; }
.czipms-steps article > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--czipms-blue-soft); color: var(--czipms-blue); font-weight: 850; }
.czipms-steps h3 { margin: 1px 0 5px; font-size: 1.02rem; }
.czipms-steps p { margin: 0; font-size: .92rem; }
.czipms-table-wrap { max-width: 100%; margin: 23px 0; overflow-x: auto; border: 1px solid var(--czipms-line); border-radius: 13px; background: #fff; -webkit-overflow-scrolling: touch; }
.czipms-table-wrap table { width: 100%; min-width: 620px; border-collapse: collapse; }
.czipms-table-wrap th,
.czipms-table-wrap td { padding: 13px 15px; border-bottom: 1px solid var(--czipms-line); text-align: left; vertical-align: top; }
.czipms-table-wrap th { background: var(--czipms-soft); color: var(--czipms-ink); font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }
.czipms-table-wrap td { font-size: .89rem; line-height: 1.5; }
.czipms-table-wrap tr:last-child td { border-bottom: 0; }

.czipms-sidebar { position: sticky; top: 28px; }
.czipms-toc { padding: 19px; border: 1px solid var(--czipms-line); border-radius: 15px; background: #fff; }
.czipms-toc > p { margin: 0 0 10px; color: var(--czipms-ink); font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.czipms-toc ol { margin: 0; padding-left: 20px; }
.czipms-toc li { margin: 8px 0; color: var(--czipms-muted); font-size: .81rem; line-height: 1.4; }
.czipms-toc a { color: #4c5b70; text-decoration: none; }
.czipms-toc a:hover { color: var(--czipms-blue); }
.czipms-sidebar-cta { display: block; margin-top: 15px; padding: 10px 12px; border-radius: 10px; background: var(--czipms-blue-soft); color: #2d45a2 !important; text-align: center; font-size: .78rem; font-weight: 800; text-decoration: none !important; }

.czipms-sources,
.czipms-faq,
.czipms-related,
.czipms-method { margin: 52px 0; }
.czipms-sources { display: grid; grid-template-columns: .8fr 1.2fr; gap: 34px; padding: 28px; border: 1px solid var(--czipms-line); border-radius: 18px; background: var(--czipms-soft); }
.czipms-sources h2 { font-size: 1.7rem; }
.czipms-sources > div > p:last-child { margin: 0; color: var(--czipms-muted); font-size: .9rem; }
.czipms-sources ul { margin: 0; padding: 0; list-style: none; }
.czipms-sources li { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--czipms-line); font-size: .88rem; }
.czipms-sources li:last-child { border-bottom: 0; }
.czipms-sources li span { color: var(--czipms-muted); font-size: .69rem; font-weight: 800; text-transform: uppercase; }
.czipms-faq-list { border-top: 1px solid var(--czipms-line); }
.czipms-faq details { border-bottom: 1px solid var(--czipms-line); }
.czipms-faq summary { padding: 18px 3px; color: var(--czipms-ink); font-weight: 780; cursor: pointer; }
.czipms-faq details p { padding: 0 3px 20px; margin: 0; max-width: 900px; }
.czipms-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.czipms-related-grid a { display: flex; flex-direction: column; min-height: 155px; padding: 19px; border: 1px solid var(--czipms-line); border-radius: 14px; background: #fff; text-decoration: none; }
.czipms-related-grid span { color: var(--czipms-muted); font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.czipms-related-grid strong { margin-top: 8px; color: var(--czipms-ink); font-size: .94rem; line-height: 1.4; }
.czipms-related-grid em { margin-top: auto; color: var(--czipms-blue); font-size: .78rem; font-style: normal; font-weight: 750; }
.czipms-method { padding: 25px 27px; border: 1px solid var(--czipms-line); border-radius: 16px; background: var(--czipms-soft); }
.czipms-method h2 { font-size: 1.45rem; }
.czipms-method p { margin-bottom: 10px; font-size: .86rem; color: var(--czipms-muted); }
.czipms-method p:last-child { margin-bottom: 0; }


/* Cloudzat theme integration: collapse duplicate title/breadcrumb wrappers and excess top spacing. */
body.czipms-page .entry-header,
body.czipms-page .page-header,
body.czipms-page .post-header,
body.czipms-page .single-header,
body.czipms-page .page-title-wrap,
body.czipms-page .page-title-area,
body.czipms-page .titlebar,
body.czipms-page .page-title { margin: 0 !important; padding: 0 !important; min-height: 0 !important; }
body.czipms-page .entry-content,
body.czipms-page .site-content,
body.czipms-page .content-area,
body.czipms-page .site-main,
body.czipms-page main#primary,
body.czipms-page .wp-site-blocks > main { margin-top: 0 !important; padding-top: 0 !important; }
body.czipms-page .czipms-wrap { margin-top: 0 !important; padding-top: 0 !important; }
.czipms-theme-gap-collapsed { display: none !important; margin: 0 !important; padding: 0 !important; min-height: 0 !important; height: 0 !important; }

/* Theme integration: hide only duplicated page chrome, never the site header. */
.czipms-theme-chrome-hidden { display: none !important; }

@media (max-width: 980px) {
    .czipms-content-grid { grid-template-columns: 1fr; gap: 0; }
    .czipms-sidebar { display: none; }
    .czipms-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .czipms-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .czipms-wrap { width: min(100% - 24px, 1160px); font-size: 16px; line-height: 1.68; }
    .czipms-breadcrumb { margin-top: 20px; }
    .czipms-hero { padding-top: 12px; }
    .czipms-answer { grid-template-columns: 1fr; box-shadow: none; }
    .czipms-answer-label { flex-direction: row; padding: 15px 18px; border-right: 0; border-bottom: 1px solid var(--czipms-line); }
    .czipms-answer-body { padding: 23px 20px; }
    .czipms-answer-actions { grid-template-columns: 1fr; }
    .czipms-facts { grid-template-columns: 1fr; }
    .czipms-tool { padding: 22px 18px; border-radius: 17px; }
    .czipms-tool-head { display: block; }
    .czipms-tool-head > span { display: inline-block; margin-top: 13px; }
    .czipms-form-grid { grid-template-columns: 1fr; }
    .czipms-section-head { display: block; }
    .czipms-refresh { margin-top: 14px; }
    .czipms-controls { grid-template-columns: 1fr; }
    .czipms-products { grid-template-columns: 1fr; }
    .czipms-live { padding: 22px 18px; }
    .czipms-group-head { align-items: flex-start; flex-direction: column; gap: 4px; }
    .czipms-sources { grid-template-columns: 1fr; padding: 22px 19px; }
    .czipms-related-grid { grid-template-columns: 1fr; }
    .czipms-related-grid a { min-height: 125px; }
    .czipms-table-wrap { width: 100%; max-width: calc(100vw - 24px); }
            }

@media (max-width: 420px) {
    .czipms-wrap { width: min(100% - 20px, 1160px); }
    .czipms-wrap h1 { font-size: clamp(2rem, 11vw, 2.65rem); }
    .czipms-answer-body,
    .czipms-live,
    .czipms-tool { padding-left: 16px; padding-right: 16px; }
    .czipms-table-wrap { max-width: calc(100vw - 20px); }
}
