/* InGoal content styling: articles (.blog-details-body) and CMS pages written as .ig-prose (About, Privacy, prices...).
   Uses the brand variables already defined by the layout (--base-color orange, --secondary-color navy). RTL/LTR safe (logical properties). */
.blog-details-body,
.ig-prose {
    --ig-accent: var(--base-color, #C0561F);
    --ig-navy: var(--secondary-color, #15273E);
    --ig-line: #e3e6ef;
    --ig-soft: #f6f7fb;
    font-size: 1.06rem;
    line-height: 1.95;
    color: #2a3347;
    overflow-wrap: anywhere;
}
.ig-prose { max-width: 920px; margin-inline: auto; padding: 56px 16px 72px; }

/* paragraphs and lead */
.blog-details-body p, .ig-prose p { margin: 0 0 1.15em; }
.ig-prose > p:first-child, .ig-prose .lead {
    font-size: 1.22rem; line-height: 1.9; color: var(--ig-navy);
    background: linear-gradient(135deg, #fff7f1, #f3f6fb);
    border: 1px solid var(--ig-line); border-inline-start: 5px solid var(--ig-accent);
    border-radius: 12px; padding: 22px 24px; margin-bottom: 1.6em; font-weight: 400;
}
.ig-prose .lead strong, .ig-prose > p:first-child strong { color: var(--ig-navy); }

/* headings */
.blog-details-body h2, .ig-prose h2 {
    font-size: 1.65rem; line-height: 1.4; color: var(--ig-navy); font-weight: 800;
    margin: 2.1em 0 .7em; padding-inline-start: 14px; border-inline-start: 5px solid var(--ig-accent);
}
.blog-details-body h3, .ig-prose h3 { font-size: 1.28rem; line-height: 1.5; color: var(--ig-navy); font-weight: 700; margin: 1.7em 0 .5em; }
.blog-details-body h4, .ig-prose h4 { font-size: 1.1rem; color: var(--ig-navy); font-weight: 700; margin: 1.4em 0 .4em; }
.blog-details-body h2:first-child, .ig-prose h2:first-child { margin-top: 0; }

/* links */
.blog-details-body a, .ig-prose a:not(.btn) { color: var(--ig-accent); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.blog-details-body a:hover, .ig-prose a:not(.btn):hover { color: var(--ig-navy); }
.blog-details-body strong, .ig-prose strong { color: var(--ig-navy); }

/* lists */
.blog-details-body ul, .blog-details-body ol, .ig-prose ul, .ig-prose ol { margin: 0 0 1.2em; padding-inline-start: 1.5em; }
.blog-details-body li, .ig-prose li { margin: .45em 0; padding-inline-start: .2em; }
.blog-details-body ul li::marker, .ig-prose ul li::marker { color: var(--ig-accent); }
.blog-details-body ol li::marker, .ig-prose ol li::marker { color: var(--ig-accent); font-weight: 700; }

/* service cards: <ul class="ig-cards"> */
.ig-prose ul.ig-cards { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.ig-prose ul.ig-cards li {
    margin: 0; padding: 18px 20px; background: #fff; border: 1px solid var(--ig-line); border-radius: 12px;
    border-top: 4px solid var(--ig-accent); box-shadow: 0 2px 10px rgba(21, 39, 62, .06); line-height: 1.85;
}
.ig-prose ul.ig-cards li > strong:first-child { display: block; font-size: 1.1rem; margin-bottom: 6px; color: var(--ig-navy); }

/* steps: <ol class="ig-steps"> */
.ig-prose ol.ig-steps { list-style: none; counter-reset: igs; padding: 0; display: grid; gap: 12px; }
.ig-prose ol.ig-steps li {
    counter-increment: igs; position: relative; margin: 0; background: #fff; border: 1px solid var(--ig-line); border-radius: 12px;
    padding: 14px 18px; padding-inline-start: 64px; min-height: 56px; display: flex; align-items: center;
}
.ig-prose ol.ig-steps li::before {
    content: counter(igs); position: absolute; inset-inline-start: 16px; top: 50%; transform: translateY(-50%);
    width: 34px; height: 34px; border-radius: 50%; background: var(--ig-accent); color: #fff; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
}
.ig-prose ol.ig-steps li::marker { content: ''; }

/* tables */
.blog-details-body table, .ig-prose table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 1.4em 0; border: 1px solid var(--ig-line); border-radius: 10px; overflow: hidden; font-size: .98rem; line-height: 1.7; }
.blog-details-body th, .ig-prose th { background: var(--ig-navy); color: #fff; font-weight: 700; padding: 11px 14px; text-align: start; }
.blog-details-body td, .ig-prose td { padding: 11px 14px; border-top: 1px solid var(--ig-line); vertical-align: top; text-align: start; }
.blog-details-body tbody tr:nth-child(even) td, .ig-prose tbody tr:nth-child(even) td { background: var(--ig-soft); }
.blog-details-body table th[style], .ig-prose table th[style] { background: var(--ig-navy) !important; color: #fff !important; }
@media (max-width: 767px) { .blog-details-body table, .ig-prose table { display: block; overflow-x: auto; } }

/* FAQ (<details>) */
.blog-details-body details, .ig-prose details { background: #fff; border: 1px solid var(--ig-line); border-radius: 10px; padding: 0 18px; margin: 10px 0; }
.blog-details-body details[open], .ig-prose details[open] { border-color: var(--ig-accent); box-shadow: 0 2px 12px rgba(192, 86, 31, .1); }
.blog-details-body summary, .ig-prose summary { cursor: pointer; font-weight: 700; color: var(--ig-navy); padding: 14px 0; list-style-position: inside; }
.blog-details-body details > *:not(summary), .ig-prose details > *:not(summary) { margin-bottom: 14px; }

/* quotes and notes */
.blog-details-body blockquote, .ig-prose blockquote, .ig-prose .note {
    margin: 1.4em 0; padding: 16px 20px; background: #fff7f1; border-inline-start: 5px solid var(--ig-accent); border-radius: 10px; color: var(--ig-navy);
}
.blog-details-body hr, .ig-prose hr { border: 0; border-top: 1px solid var(--ig-line); margin: 2em 0; }
.blog-details-body img { max-width: 100%; height: auto; border-radius: 10px; }
.blog-details-body pre, .blog-details-body code { direction: ltr; text-align: left; background: #f1f3f9; border-radius: 6px; }
.blog-details-body pre { padding: 14px; overflow-x: auto; }
.blog-details-body code { padding: 1px 6px; }

/* buttons inside CMS pages */
.ig-prose .btn, .ig-prose a.btn {
    display: inline-block; background: var(--ig-accent); color: #fff !important; text-decoration: none !important; font-weight: 700;
    padding: 13px 28px; border-radius: 8px; border: 0; transition: background .2s;
}
.ig-prose .btn:hover { background: var(--ig-navy); }

/* article-lead / offer boxes already carry inline styles; keep their spacing consistent */
.blog-details-body .ig-toc { background: var(--ig-soft); }
@media (max-width: 575px) {
    .ig-prose { padding: 32px 14px 48px; }
    .blog-details-body h2, .ig-prose h2 { font-size: 1.4rem; }
}

/* the theme sets a small fixed size on bare p/li/td (14px): make body text inherit the readable size set above */
.blog-details-body p, .blog-details-body li, .blog-details-body td, .blog-details-body th, .blog-details-body dd, .blog-details-body blockquote, .blog-details-body summary,
.ig-prose p, .ig-prose li, .ig-prose td, .ig-prose th, .ig-prose dd, .ig-prose blockquote, .ig-prose summary {
    font-size: inherit;
    line-height: inherit;
}
.ig-prose > p:first-child, .ig-prose .lead { font-size: 1.22rem; }
.blog-details-body table, .ig-prose table { font-size: .98rem; }
.blog-details-body table td, .blog-details-body table th, .ig-prose table td, .ig-prose table th { font-size: inherit; }

/* phone numbers and WhatsApp links keep their left-to-right digit order inside RTL text (+20 106 552 8542, not 8542 552 106 20+) */
.blog-details-body a[href^="tel:"], .blog-details-body a[href*="wa.me"],
.ig-prose a[href^="tel:"], .ig-prose a[href*="wa.me"] {
    direction: ltr;
    unicode-bidi: isolate;
    display: inline-block;
    white-space: nowrap;
}
