/* The decorative diagonal creates the dark wedge above the blue section. */
.fip-treatment-section > div[style*="clip-path"] {
    display: none !important;
}

.fip-treatment-grid {
    align-items: stretch;
}

/* Distinguish early (green), mid (amber), and late (existing red) stages. */
.fip-treatment-grid > .fip-treatment-card:nth-child(1) > div:first-child svg circle {
    fill: #22c55e !important;
}

.fip-treatment-grid > .fip-treatment-card:nth-child(1) > div:first-child > div {
    color: #052e16 !important;
}

.fip-treatment-grid > .fip-treatment-card:nth-child(2) > div:first-child svg circle {
    fill: #f59e0b !important;
}

.fip-treatment-grid > .fip-treatment-card:nth-child(2) > div:first-child > div {
    color: #451a03 !important;
}

.fip-treatment-card {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    min-width: 0;
}

.fip-treatment-card > p {
    width: 100%;
}

.fip-treatment-card > .fip-treatment-btn {
    margin-top: auto !important;
    align-self: center;
    flex-shrink: 0;
}

/* Keep the portrait cat's face within the short guarantee image area. */
[style*="images/relapse-guarantee.jpg"] {
    background-position: center 10% !important;
}

[data-fip-personal-stat] {
    font-size: clamp(22px, 2.5vw, 32px) !important;
    line-height: 1.25;
}

[data-fip-consultation-label] {
    max-width: 185px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.45;
    text-wrap: balance;
}
/* Calculator: spacious desktop row, compact responsive controls. */
body.page-id-103 main .wp-block-post-title { margin: 36px 0 24px !important; }
body.page-id-103 main .entry-content { max-width: none !important; width: 100%; margin-inline: auto !important; }
.fip-dose-section { position: relative; isolation: isolate; overflow: hidden; padding: 70px 24px; background: #eef0fb; }
.fip-dose-section::before, .fip-dose-section::after { content: ''; position: absolute; inset-block: 0; width: 33%; z-index: -1; background-size: cover; background-repeat: no-repeat; }
.fip-dose-section::before { left: 0; background-image: linear-gradient(90deg,rgba(238,240,251,.12),#eef0fb),url('images/result-guarantee.jpg'); background-position: 35% center; }
.fip-dose-section::after { right: 0; background-image: linear-gradient(270deg,rgba(238,240,251,.12),#eef0fb),url('images/relapse-guarantee.jpg'); background-position: center 25%; }
.fip-dose-card { box-sizing: border-box; max-width: 1120px; margin: 0 auto; padding: 36px; border: 1px solid #e1e3f4; border-radius: 24px; background: rgba(255,255,255,.96); color: #20243e; box-shadow: 0 18px 55px #34386718; }
.fip-dose-eyebrow { margin: 0 0 10px; font-size: 11px; letter-spacing: 1.8px; font-weight: 700; color: #6654ac; }
.fip-dose-card h2 { margin: 0 0 12px; font-size: clamp(24px,2.6vw,34px); line-height: 1.2; color: #252b49; }
.fip-dose-intro { max-width: 720px; margin: 0 0 28px; color: #5e647b; font-size: 16px; line-height: 1.6; }
.fip-dose-row { display: grid; grid-template-columns: 1.3fr 1.15fr .9fr 1.1fr; align-items: stretch; gap: 18px; }
.fip-dose-field { min-width: 0; padding-top: 14px; }
.fip-dose-row label { display: block; margin: 0 0 10px; font-weight: 600; font-size: 14px; line-height: 1.4; }
.fip-dose-field select, .fip-dose-field input { box-sizing: border-box; width: 100%; min-height: 50px; border: 1px solid #cbd0e5; border-radius: 10px; background: #fff; color: #252b49; padding: 10px 12px; font: inherit; font-size: 15px; }
.fip-dose-field :is(select,input):focus-visible { outline: 3px solid #8b83ec; outline-offset: 2px; }
.fip-dose-field input[aria-invalid=true] { border-color: #b42318; }
.fip-dose-result { padding: 14px 16px; border-radius: 14px; background: linear-gradient(135deg,#697beb,#7750aa); color: white; }
.fip-dose-result output { font-size: 34px; line-height: 1.3; font-weight: 750; font-variant-numeric: tabular-nums; }
.fip-dose-result span { font-size: 16px; }
.fip-dose-message { min-height: 24px; margin: 18px 0 0; font-size: 14px; color: #525b79; }
.fip-dose-note { margin: 18px 0 0; padding-top: 18px; border-top: 1px solid #e6e8f2; font-size: 12px; color: #71758a; }
@media(min-width:1500px) { .fip-dose-section { padding-block: 100px; } }
@media(max-width:950px) { .fip-dose-row { grid-template-columns: 1fr 1fr; } .fip-dose-card { padding: 28px; } }
@media(max-width:540px) { .fip-dose-section { padding: 28px 14px; } .fip-dose-card { padding: 24px 18px; } .fip-dose-row { grid-template-columns: 1fr; gap: 14px; } .fip-dose-field { padding-top: 0; } }
/* Real WooCommerce catalog cards; no editor-generated paragraph grid cells. */
.fip-shop-section { box-sizing: border-box; max-width: 1240px; margin: 0 auto; padding: 48px 24px; color: #20243e; }
.fip-shop-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.fip-shop-heading h2 { margin: 0; font-size: 28px; }
.fip-cart-link, .fip-shop-checkout a { color: #6553ae; font-weight: 650; }
.fip-shop-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.fip-shop-card { display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid #e1e4ef; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px #20243e08; }
.fip-shop-image { height: 180px; display: flex; align-items: center; justify-content: center; background: #f5f6fb; border-radius: 10px; margin-bottom: 18px; }
.fip-shop-image img { width: 100%; height: 160px; object-fit: contain; }
.fip-shop-card h3 { font-size: 17px; line-height: 1.4; margin: 0 0 10px; color: #252b49; }
.fip-shop-card p { margin: 0 0 18px; font-size: 13px; line-height: 1.6; color: #656b80; }
.fip-shop-price { margin-top: auto; margin-bottom: 18px; font-size: 23px; font-weight: 700; color: #167960; }
.fip-shop-card .button { display: block; text-align: center; padding: 12px; background: linear-gradient(120deg,#697beb,#7750aa); color: white; border: 0; border-radius: 8px; font-size: 14px; font-weight: 650; text-decoration: none; }
.fip-shop-card .added_to_cart { margin-top: 10px; text-align: center; font-size: 14px; }
.fip-shop-checkout { display: flex; justify-content: flex-end; gap: 24px; margin-top: 28px; }
@media(max-width:1000px) { .fip-shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .fip-shop-grid { grid-template-columns: 1fr; } .fip-shop-heading { align-items: flex-start; } .fip-shop-heading h2 { font-size: 23px; } }
