/* Charan product redesign. Component styles are isolated under .cxp-product-page. */
.cxp-product-page { --cxp-navy:#132d45; --cxp-ink:#18344a; --cxp-muted:#596a78; --cxp-blue:#1868cd; --cxp-coral:#e96e4b; --cxp-cream:#faf6ef; --cxp-line:#dce4e9; color:var(--cxp-ink); background:#fff; font-family:inherit; }
.cxp-product-page *, .cxp-product-page *::before, .cxp-product-page *::after { box-sizing:border-box; }
.cxp-product-page img { display:block; max-width:100%; height:auto; }
.cxp-product-page a { color:inherit; text-decoration:none; }
.cxp-product-page .cxp-heading { color:var(--cxp-ink); font-family:inherit; font-size:clamp(27px,3vw,43px); font-weight:600; line-height:1.16; letter-spacing:-.035em; margin:0; text-transform:none; overflow-wrap:anywhere; }
.cxp-product-page .cxp-heading--small { font-size:clamp(21px,2vw,28px); line-height:1.24; }
.cxp-product-page .cxp-text { font-size:15px; line-height:1.85; color:var(--cxp-muted); margin:0 0 18px; }
.cxp-product-page .cxp-eyebrow { display:flex; align-items:center; gap:10px; font-size:11px; font-weight:700; letter-spacing:.17em; line-height:1.6; color:var(--cxp-blue); margin-bottom:18px; }
.cxp-product-page .cxp-eyebrow::before { content:""; width:22px; height:3px; background:currentColor; flex-shrink:0; }
.cxp-product-page .cxp-eyebrow--light { color:#a5d9e9; }
.cxp-product-page .cxp-reading-progress { position:fixed; top:0; left:0; right:0; height:3px; pointer-events:none; z-index:90; }
.cxp-product-page .cxp-reading-progress span { display:block; width:100%; height:100%; background:var(--cxp-coral); transform:scaleX(0); transform-origin:left; }
.cxp-product-page .cxp-inner-hero { position:relative; isolation:isolate; min-height:470px; overflow:hidden; background:var(--cxp-navy); }
.cxp-product-page .cxp-inner-hero-image { position:absolute; inset:0 0 0 auto; width:61%; height:100%; object-fit:cover; z-index:-2; }
.cxp-product-page .cxp-inner-hero-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#132d45 0%,#132d45 28%,rgba(19,45,69,.85) 46%,rgba(19,45,69,.06) 100%); }
.cxp-product-page .cxp-inner-hero::after { content:""; position:absolute; right:5%; bottom:-170px; width:370px; height:370px; border:1px solid rgba(255,255,255,.32); border-radius:50%; pointer-events:none; }
.cxp-product-page .cxp-inner-hero-content { position:relative; padding-top:35px; padding-bottom:55px; }
.cxp-product-page .cxp-inner-breadcrumb { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:10px; margin:0 0 66px; font-size:12px; color:#e0e9ed; }
.cxp-product-page .cxp-inner-breadcrumb li+li::before { content:"/"; margin-right:10px; opacity:.5; }
.cxp-product-page .cxp-inner-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.cxp-product-page .cxp-inner-hero .cxp-heading { color:#fff; max-width:850px; font-size:clamp(44px,6.5vw,88px); letter-spacing:-.055em; }
.cxp-product-page .cxp-hero-explore { display:inline-flex; align-items:center; margin-top:30px; padding:12px 0; border-bottom:1px solid #9ab6c8; color:#fff; font-size:13px; }
.cxp-product-page .cxp-section { padding:88px 0; }
.cxp-product-page .cxp-pd-intro { background:var(--cxp-cream); position:relative; overflow:hidden; }
.cxp-product-page .cxp-pd-intro .cxp-heading { margin-bottom:26px; }
.cxp-product-page .cxp-pd-lead .cxp-text { font-size:16px; line-height:1.9; }
.cxp-product-page .cxp-product-text-link { display:inline-flex; align-items:center; gap:26px; font-size:14px; font-weight:600; padding-bottom:10px; border-bottom:1px solid var(--cxp-ink); margin-top:14px; }
.cxp-product-page .cxp-product-text-link span { color:var(--cxp-coral); font-size:24px; }
.cxp-product-page .cxp-pd-intro-image { position:relative; margin:15px 10px 15px 35px; background:#e5edf0; border-radius:90px 18px 18px 18px; box-shadow:18px 18px 0 #cfe5e3; }
.cxp-product-page .cxp-pd-intro-image::before { content:""; position:absolute; width:88px; height:88px; top:-24px; right:-20px; border-radius:50%; background:#f3b95e; z-index:0; }
.cxp-product-page .cxp-pd-intro-image img { position:relative; width:100%; aspect-ratio:1.15; object-fit:cover; border-radius:90px 18px 0 0; }
.cxp-product-page .cxp-pd-intro-image figcaption { position:relative; display:flex; justify-content:space-between; align-items:center; gap:16px; background:var(--cxp-navy); color:#fff; padding:20px 25px; border-radius:0 0 18px 18px; font-size:14px; }
.cxp-product-page .cxp-pd-intro-image figcaption span:last-child { color:#f7bf70; font-size:26px; }
.cxp-product-page .cxp-pd-information { background:linear-gradient(180deg,#fff,#f7fafb); }
.cxp-product-page .cxp-pd-sidebar { position:sticky; top:100px; }
.cxp-product-page .cxp-pd-menu { padding:24px 20px 12px; border:1px solid var(--cxp-line); background:#fff; border-radius:18px; box-shadow:0 12px 40px rgba(19,45,69,.04); }
.cxp-product-page .cxp-pd-menu .cxp-eyebrow { font-size:10px; letter-spacing:.1em; }
.cxp-product-page .cxp-pd-menu ul { list-style:none; padding:0; margin:0; }
.cxp-product-page .cxp-pd-menu li { margin:0; border-top:1px solid #edf0f2; }
.cxp-product-page .cxp-pd-menu a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 10px; font-size:13px; line-height:1.6; border-radius:8px; transition:background .2s,color .2s; }
.cxp-product-page .cxp-pd-menu a span:last-child { color:var(--cxp-blue); flex-shrink:0; }
.cxp-product-page .cxp-pd-menu a:hover { background:#edf5fc; }
.cxp-product-page .cxp-pd-menu a.is-active { background:var(--cxp-blue); color:#fff; margin:5px 0; }
.cxp-product-page .cxp-pd-menu a.is-active span:last-child { color:#fff; }
.cxp-product-page .cxp-pd-help { margin-top:22px; padding:27px 23px; background:#e3eeee; border-radius:18px; position:relative; overflow:hidden; }
.cxp-product-page .cxp-pd-help::after { content:""; position:absolute; width:100px; height:100px; border:1px solid #b6cece; border-radius:50%; right:-50px; top:-40px; pointer-events:none; }
.cxp-product-page .cxp-pd-help .cxp-heading { font-size:25px; margin:0 0 20px; }
.cxp-product-page .cxp-pd-help > a:not(.cxp-button) { display:block; font-size:15px; font-weight:600; margin-bottom:20px; }
.cxp-product-page .cxp-button { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; padding:15px 22px; color:#fff; background:var(--cxp-navy); border-radius:8px; font-size:13px; font-weight:600; transition:background .2s,transform .2s; }
.cxp-product-page .cxp-button:hover { background:#255478; color:#fff; transform:translateY(-2px); }
.cxp-product-page .cxp-button span { font-size:22px; }
.cxp-product-page .cxp-pd-jump { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:36px; padding:0 0 25px; border-bottom:1px solid var(--cxp-line); }
.cxp-product-page .cxp-pd-jump a { display:block; padding:9px 13px; border:1px solid #dae4ec; background:#f5f9fc; color:#315571; border-radius:7px; font-size:11px; font-weight:500; line-height:1.5; transition:background .2s,color .2s; }
.cxp-product-page .cxp-pd-jump a:hover, .cxp-product-page .cxp-pd-jump a[aria-current] { background:var(--cxp-navy); color:#fff; border-color:var(--cxp-navy); }
.cxp-product-page .cxp-pd-section { padding-bottom:50px; margin-bottom:50px; border-bottom:1px solid var(--cxp-line); scroll-margin-top:110px; }
.cxp-product-page .cxp-pd-section:last-child { margin-bottom:0; border:0; padding-bottom:0; }
.cxp-product-page .cxp-pd-section-heading { display:flex; align-items:flex-start; gap:18px; margin-bottom:26px; }
.cxp-product-page .cxp-pd-section-heading .cxp-heading { font-size:clamp(25px,2.6vw,36px); }
.cxp-product-page .cxp-pd-section-number { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex:0 0 44px; border-radius:12px; background:#e6f0fe; color:var(--cxp-blue); font-size:14px; font-weight:700; }
.cxp-product-page .cxp-pd-section:nth-child(3n+2) .cxp-pd-section-number { background:#ffeadf; color:#b8472a; }
.cxp-product-page .cxp-pd-section:nth-child(3n) .cxp-pd-section-number { background:#e3efde; color:#48613d; }
.cxp-product-page .cxp-pd-copy { padding-left:62px; }
.cxp-product-page .cxp-pd-content-image { margin:28px 0 0 62px; padding:12px; background:#e8f0f5; border-radius:18px; }
.cxp-product-page .cxp-pd-content-image img { width:100%; max-height:500px; object-fit:contain; border-radius:10px; }
.cxp-product-page .cxp-pd-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.cxp-product-page .cxp-pd-content-card { min-width:0; border-radius:16px; background:#eaf2ff; border:1px solid #d4e3f5; overflow:hidden; transition:transform .25s,box-shadow .25s; }
.cxp-product-page .cxp-pd-content-card:nth-child(4n+2) { background:#fff0e6; border-color:#f0dacb; }
.cxp-product-page .cxp-pd-content-card:nth-child(4n+3) { background:#eef3dc; border-color:#dfe5c8; }
.cxp-product-page .cxp-pd-content-card:nth-child(4n) { background:#f0ebf7; border-color:#e0d6ee; }
.cxp-product-page .cxp-pd-content-card:hover { transform:translateY(-4px); box-shadow:0 15px 28px rgba(19,45,69,.07); }
.cxp-product-page .cxp-pd-content-card-body { padding:28px; }
.cxp-product-page .cxp-card-index { display:block; margin-bottom:30px; font-size:12px; font-weight:700; color:#617183; letter-spacing:.12em; }
.cxp-product-page .cxp-pd-content-card .cxp-heading { margin-bottom:16px; font-size:23px; }
.cxp-product-page .cxp-pd-content-card .cxp-text { margin-bottom:0; font-size:14px; line-height:1.85; color:#435367; }
.cxp-product-page .cxp-product-cta { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:48px; margin-top:75px; background:var(--cxp-navy); border-radius:22px; position:relative; isolation:isolate; overflow:hidden; }
.cxp-product-page .cxp-product-cta::after { content:""; position:absolute; width:260px; height:260px; border:1px solid #365069; border-radius:50%; right:12%; top:-150px; z-index:-1; }
.cxp-product-page .cxp-product-cta .cxp-eyebrow { color:#9dd5d9; }
.cxp-product-page .cxp-product-cta .cxp-heading { color:#fff; font-size:clamp(26px,3vw,40px); max-width:650px; }
.cxp-product-page .cxp-product-cta .cxp-button { background:#f1ad7a; color:#132d45; flex-shrink:0; padding:17px 25px; }
.cxp-product-page a:focus-visible { outline:3px solid #df794f; outline-offset:5px; }
@media (max-width:1199.98px) {
 .cxp-product-page .cxp-pd-menu { padding:20px 12px 10px; }
 .cxp-product-page .cxp-pd-help { padding:24px 18px; }
}
@media (max-width:991.98px) {
 .cxp-product-page .cxp-section { padding:65px 0; }
 .cxp-product-page .cxp-pd-sidebar { position:static; }
 .cxp-product-page .cxp-pd-menu ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
 .cxp-product-page .cxp-pd-help { margin-bottom:10px; }
 .cxp-product-page .cxp-pd-help .cxp-button { width:auto; }
 .cxp-product-page .cxp-product-cta { padding:35px; }
}
@media (max-width:767.98px) {
 .cxp-product-page .cxp-inner-hero { min-height:390px; }
 .cxp-product-page .cxp-inner-hero-image { width:100%; opacity:.5; }
 .cxp-product-page .cxp-inner-hero-overlay { background:linear-gradient(90deg,rgba(19,45,69,.95),rgba(19,45,69,.4)); }
 .cxp-product-page .cxp-inner-breadcrumb { margin-bottom:45px; }
 .cxp-product-page .cxp-section { padding:45px 0; }
 .cxp-product-page .cxp-pd-intro-image { margin:20px 18px 20px 0; }
 .cxp-product-page .cxp-pd-copy { padding-left:0; }
 .cxp-product-page .cxp-pd-content-image { margin-left:0; }
 .cxp-product-page .cxp-product-cta { flex-direction:column; align-items:flex-start; margin-top:45px; padding:30px; }
 .cxp-product-page .cxp-pd-section { margin-bottom:35px; padding-bottom:35px; }
}
@media (max-width:575.98px) {
 .cxp-product-page .cxp-pd-card-grid { grid-template-columns:1fr; gap:16px; }
 .cxp-product-page .cxp-pd-content-card-body { padding:25px; }
 .cxp-product-page .cxp-card-index { margin-bottom:22px; }
 .cxp-product-page .cxp-pd-menu ul { grid-template-columns:1fr; }
 .cxp-product-page .cxp-pd-section-heading { gap:12px; }
 .cxp-product-page .cxp-pd-section-number { width:36px; height:36px; flex-basis:36px; font-size:12px; border-radius:9px; }
 .cxp-product-page .cxp-pd-section-heading .cxp-heading { font-size:26px; }
 .cxp-product-page .cxp-inner-hero::after { right:-180px; }
}
@media (prefers-reduced-motion:reduce) {
 .cxp-product-page *, .cxp-product-page *::before, .cxp-product-page *::after { transition:none!important; scroll-behavior:auto!important; }
}
/* Preview chrome only; these classes are not part of the WordPress body fragment. */
.cxp-preview-header, .cxp-preview-footer { font-family:'DM Sans',sans-serif; }
.cxp-preview-header { padding:20px 0; background:#fff; border-bottom:1px solid #e0e6eb; }
.cxp-preview-header > .container { display:flex; justify-content:space-between; align-items:center; gap:25px; }
.cxp-preview-logo img { display:block; width:255px; max-width:100%; height:auto; }
.cxp-preview-header ul { list-style:none; display:flex; align-items:center; gap:25px; margin:0; padding:0; }
.cxp-preview-header a { color:#18344a; text-decoration:none; font-size:13px; }
.cxp-preview-header li:last-child a { display:block; background:#edf3f5; border-radius:7px; padding:12px 16px; }
.cxp-preview-footer { background:#f2f5f7; padding:40px 0; color:#596a78; }
.cxp-preview-footer > .container { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:25px; }
.cxp-preview-footer a { color:#18344a; text-decoration:none; display:block; font-size:13px; margin-bottom:8px; }
.cxp-preview-footer .cxp-text { width:100%; font-size:13px; margin:0; }
@media (max-width:575.98px) {
 .cxp-preview-header > .container { flex-direction:column; align-items:flex-start; gap:15px; }
 .cxp-preview-logo img { width:230px; }
}
/* WYSIWYG support; preserves the original scoped typography. */
.cxp-product-page .cxp-richtext > :first-child { margin-top:0; }
.cxp-product-page .cxp-richtext > :last-child { margin-bottom:0; }
.cxp-product-page .cxp-richtext p { margin:0 0 18px; }
.cxp-product-page .cxp-richtext ul, .cxp-product-page .cxp-richtext ol { padding-left:22px; margin:0 0 18px; }
.cxp-product-page .cxp-richtext li { margin-bottom:8px; }
.cxp-product-page .cxp-richtext a { color:var(--cxp-blue); text-decoration:underline; text-underline-offset:3px; }
.cxp-product-page .cxp-richtext h2, .cxp-product-page .cxp-richtext h3, .cxp-product-page .cxp-richtext h4 { color:var(--cxp-ink); line-height:1.3; margin:25px 0 14px; }
.cxp-product-page .cxp-richtext img, .cxp-product-page .cxp-richtext figure { max-width:100%; height:auto; }
.cxp-product-page .cxp-richtext table { display:block; overflow-x:auto; max-width:100%; border-collapse:collapse; }
.cxp-product-page .cxp-richtext td, .cxp-product-page .cxp-richtext th { padding:10px; border:1px solid var(--cxp-line); }
.cxp-product-page .cxp-pd-copy + .cxp-pd-card-grid, .cxp-product-page .cxp-pd-content-image + .cxp-pd-card-grid { margin-top:25px; }
/* Optional image-card support; existing component classes retained. */
.cxp-product-page .cxp-pd-card-photo { overflow:hidden; background:#e6ebee; }
.cxp-product-page .cxp-pd-card-photo img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.cxp-product-page .cxp-pd-content-card--image .cxp-card-index { display:none; }
/* Alignment refinements for imported product detail pages. */
.cxp-product-page.cxp-imported-product .cxp-text,
.cxp-product-page.cxp-imported-product .cxp-richtext p,
.cxp-product-page.cxp-imported-product .cxp-richtext li { text-align:left!important; word-spacing:normal!important; letter-spacing:normal; }
.cxp-product-page.cxp-imported-product .cxp-pd-card-grid { align-items:stretch; gap:24px; }
.cxp-product-page.cxp-imported-product .cxp-pd-content-card { display:flex; flex-direction:column; box-shadow:none; }
.cxp-product-page.cxp-imported-product .cxp-pd-content-card-body { padding:25px; flex:1; }
.cxp-product-page.cxp-imported-product .cxp-pd-content-card .cxp-text { font-size:14px; line-height:1.8; }
.cxp-product-page.cxp-imported-product .cxp-pd-content-card .cxp-heading { font-size:22px; line-height:1.35; margin-bottom:14px; }
.cxp-product-page.cxp-imported-product .cxp-card-index { margin-bottom:16px; }
.cxp-product-page.cxp-imported-product .cxp-pd-content-card--image { background:#fff; border-color:#dde5ec; }
.cxp-product-page.cxp-imported-product .cxp-pd-content-card--image:nth-child(4n+1) { border-top:4px solid #497fd2; }
.cxp-product-page.cxp-imported-product .cxp-pd-content-card--image:nth-child(4n+2) { border-top:4px solid #d78b65; }
.cxp-product-page.cxp-imported-product .cxp-pd-content-card--image:nth-child(4n+3) { border-top:4px solid #82955d; }
.cxp-product-page.cxp-imported-product .cxp-pd-content-card--image:nth-child(4n) { border-top:4px solid #9982bb; }
.cxp-product-page.cxp-imported-product .cxp-pd-content-card--image .cxp-heading { font-size:24px; }
.cxp-product-page.cxp-imported-product .cxp-pd-section-heading { align-items:center; }
@media (max-width:575.98px) {
 .cxp-product-page.cxp-imported-product .cxp-pd-card-grid { gap:18px; }
 .cxp-product-page.cxp-imported-product .cxp-pd-content-card-body { padding:22px; }
}
/* Keep source line breaks in numbered pros/cons without justified spacing. */
.cxp-product-page.cxp-imported-product .cxp-pd-content-card .cxp-richtext p { white-space:pre-line; }
