/*!
 * Jane Clair Dental - Implant Cost Calculator
 * Shared stylesheet: loaded by the WordPress plugin AND by the standalone index.html preview.
 * Everything is namespaced under .jcd-root so it cannot leak into (or be clobbered by) a theme.
 * Site chrome (header/footer) lives in preview/site-chrome.css - the plugin ships no chrome,
 * because the theme supplies the real header and footer around the shortcode.
 */

.jcd-root{
  --jcd-navy:#000000;
  --jcd-blue:#52c1ec;
  --jcd-blue-text:#2aa3d6;
  --jcd-blue-light:#dcf3fb;
  --jcd-ink:#0a0a0a;
  --jcd-grey:#5b6b76;
  --jcd-line:#e3ecf1;
  --jcd-green:#1c8a4f;
  --jcd-amber:#b8860b;
  --jcd-red:#b3261e;
  --jcd-radius:14px;
  --jcd-dark:#141517;
  --jcd-dark2:#1f2124;
  --jcd-font:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;

  font-family:var(--jcd-font);
  color:var(--jcd-ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.jcd-root *,.jcd-root *::before,.jcd-root *::after{box-sizing:border-box;}
.jcd-root a{color:var(--jcd-blue-text);}
.jcd-root img{max-width:100%;height:auto;}
.jcd-wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

/* Screen-reader-only text */
.jcd-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ---------------------------------------------------------------- HERO -- */
/* Generous top padding on desktop: the shortcode sits directly under the theme header,
   and 48px read as cramped against it on wide screens. */
.jcd-hero{background:#fff;padding:72px 0 28px;}
.jcd-kicker{display:inline-block;background:var(--jcd-blue-light);color:var(--jcd-blue-text);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin-bottom:14px;}
.jcd-hero h1{font-size:38px;line-height:1.15;color:#000;font-weight:800;margin:0 0 14px;max-width:820px;}
.jcd-hero .jcd-lead{font-size:17px;color:var(--jcd-grey);max-width:680px;margin:0 0 22px;}
.jcd-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px;}

.jcd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:999px;font-family:inherit;font-weight:700;font-size:15px;line-height:1.2;text-align:center;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
/* Anchor-qualified so these beat the `.jcd-root a` link colour above. Without the `a`
   the specificity ties lose and every <a class="jcd-btn"> renders with link-blue text
   on its solid fill. */
.jcd-btn-primary,.jcd-root a.jcd-btn-primary{background:var(--jcd-blue);color:#fff;}
.jcd-btn-primary:hover,.jcd-root a.jcd-btn-primary:hover{background:#3fb3e0;color:#fff;}
.jcd-btn-outline,.jcd-root a.jcd-btn-outline{background:#000;color:#fff;border-color:#000;}
.jcd-btn-outline:hover,.jcd-root a.jcd-btn-outline:hover{background:#1c1c1c;color:#fff;}
.jcd-btn-ghost,.jcd-root a.jcd-btn-ghost{background:#fff;border:1.5px solid var(--jcd-line);color:var(--jcd-ink);}
.jcd-btn-ghost:hover,.jcd-root a.jcd-btn-ghost:hover{border-color:var(--jcd-blue);}
.jcd-btn:focus-visible{outline:3px solid var(--jcd-blue-text);outline-offset:2px;}
.jcd-btn[disabled]{opacity:.55;cursor:not-allowed;}

.jcd-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:8px;}
.jcd-trust div{background:var(--jcd-blue-light);border-radius:12px;padding:16px 18px;}
.jcd-trust strong{display:block;color:var(--jcd-blue);font-size:20px;}
.jcd-trust span{font-size:13px;color:var(--jcd-grey);}

/* ---------------------------------------------------------- CALCULATOR -- */
.jcd-calc-section{padding:40px 0 10px;}
/* align-items:stretch (the default) is deliberate: the dark result panel matches the
   height of the form card beside it on both steps, instead of ending halfway down and
   leaving a slab of white. The steps are balanced in the template to keep that height
   roughly constant as the patient moves between them. */
.jcd-calc-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:stretch;}
.jcd-card{background:#fff;border:1px solid var(--jcd-line);border-radius:var(--jcd-radius);box-shadow:0 2px 10px rgba(15,58,95,.05);}
.jcd-form-card{padding:28px;border-top:3px solid var(--jcd-blue);}
/* Compact live range for phones/tablets. The full dark result card remains below the form
   for the detailed breakdown; this simply makes the changing number obvious while answering. */
.jcd-mobile-estimate{display:none;}
.jcd-head-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;}
.jcd-form-card h2{font-size:21px;margin:0 0 4px;color:var(--jcd-navy);font-weight:800;}
.jcd-pill{background:var(--jcd-blue-light);color:var(--jcd-blue-text);font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap;}
.jcd-step-indicator{font-size:13px;font-weight:700;color:var(--jcd-blue-text);margin:0;text-transform:uppercase;letter-spacing:.04em;}
.jcd-step-bar{display:flex;gap:7px;margin:0 0 20px;}
.jcd-step-bar .jcd-seg{height:5px;flex:1;border-radius:4px;background:var(--jcd-line);transition:background .2s;}
.jcd-step-bar .jcd-seg.is-active{background:var(--jcd-blue);}
.jcd-sub{color:var(--jcd-grey);font-size:14px;margin-bottom:22px;}

.jcd-field{margin:0 0 22px;border:0;padding:0;min-inline-size:auto;}
.jcd-field .jcd-q{display:block;font-weight:700;font-size:14.5px;margin-bottom:10px;color:var(--jcd-ink);padding:0;}
.jcd-field .jcd-hint{font-weight:400;color:var(--jcd-grey);font-size:12.5px;display:block;margin-top:2px;}
.jcd-option-row{display:flex;flex-wrap:wrap;gap:8px;}
.jcd-opt{border:1.5px solid var(--jcd-line);background:#fff;padding:10px 16px;border-radius:9px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--jcd-ink);transition:.15s;}
.jcd-opt:hover{border-color:var(--jcd-blue);}
.jcd-opt[aria-pressed="true"]{border-color:var(--jcd-blue);background:var(--jcd-blue);color:#fff;}
.jcd-root select,
.jcd-root input[type=text],
.jcd-root input[type=email],
.jcd-root input[type=tel]{width:100%;padding:12px 14px;border:1.5px solid var(--jcd-line);border-radius:9px;font-family:inherit;font-size:14px;color:var(--jcd-ink);background-color:#fff;}
.jcd-root select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%235b6b76' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;}
.jcd-root select:focus-visible,
.jcd-opt:focus-visible,
.jcd-root input:focus-visible{outline:3px solid var(--jcd-blue-text);outline-offset:1px;}

.jcd-toggle-list{display:flex;flex-direction:column;gap:4px;}
.jcd-toggle-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1.5px solid var(--jcd-line);border-radius:9px;transition:.15s;cursor:pointer;}
.jcd-toggle-item.is-checked{border-color:var(--jcd-blue);background:var(--jcd-blue-light);}
.jcd-toggle-item .jcd-tlabel{font-size:14px;font-weight:500;color:var(--jcd-ink);}
.jcd-switch{position:relative;width:42px;height:24px;flex:none;display:block;}
.jcd-switch input{opacity:0;width:0;height:0;position:absolute;}
.jcd-switch .jcd-track{position:absolute;inset:0;background:#d7dfe4;border-radius:999px;cursor:pointer;transition:.15s;}
.jcd-switch .jcd-track::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.2);}
.jcd-switch input:checked + .jcd-track{background:var(--jcd-blue);}
.jcd-switch input:checked + .jcd-track::before{transform:translateX(18px);}
.jcd-switch input:focus-visible + .jcd-track{outline:3px solid var(--jcd-blue-text);outline-offset:2px;}

.jcd-conditional{border-left:3px solid var(--jcd-blue);margin-top:10px;background:var(--jcd-blue-light);border-radius:0 9px 9px 0;padding:12px 14px;}
.jcd-conditional .jcd-note{font-size:12px;color:var(--jcd-grey);margin:8px 0 0;}
.jcd-nav-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;}

/* ------------------------------------------------------- RESULT SIDEBAR -- */
/* Flex column + flexed inner: the panel fills its grid cell and the disclaimer sits on the
   bottom edge, so the two cards end level whatever step the patient is on. */
.jcd-result-card{padding:0;overflow:hidden;background:linear-gradient(160deg,var(--jcd-dark) 0%,var(--jcd-dark2) 100%);border:none;color:#fff;display:flex;flex-direction:column;}
.jcd-result-inner{padding:24px;flex:1 1 auto;display:flex;flex-direction:column;}
.jcd-result-ctas{margin-top:auto;}
.jcd-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#9fc4dd;font-weight:700;margin-bottom:6px;}
.jcd-range{font-size:30px;font-weight:800;color:#fff;margin-bottom:2px;}
.jcd-range-label{font-size:12.5px;color:#9fb3c4;margin-bottom:14px;}

/* Confidence meter - tells the patient how firm the number is */
.jcd-confidence{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 12px;margin-bottom:16px;}
.jcd-conf-bars{display:flex;gap:3px;flex:none;}
.jcd-conf-bars i{width:16px;height:6px;border-radius:3px;background:rgba(255,255,255,.18);display:block;}
.jcd-confidence[data-level="low"] .jcd-conf-bars i:nth-child(1){background:#f2b544;}
.jcd-confidence[data-level="medium"] .jcd-conf-bars i:nth-child(-n+2){background:#f2b544;}
.jcd-confidence[data-level="high"] .jcd-conf-bars i{background:#4ade80;}
.jcd-conf-text{font-size:11.5px;color:#cfe0ea;line-height:1.4;}
.jcd-conf-text strong{display:block;color:#fff;font-size:12.5px;font-weight:700;}

/* Tabs: Breakdown / Analysis */
.jcd-tabs{display:flex;gap:4px;background:rgba(255,255,255,.06);padding:4px;border-radius:10px;margin-bottom:14px;}
.jcd-tab{flex:1;border:0;background:transparent;color:#9fb3c4;font-family:inherit;font-size:12.5px;font-weight:700;padding:8px 6px;border-radius:7px;cursor:pointer;transition:.15s;}
.jcd-tab[aria-selected="true"]{background:rgba(255,255,255,.14);color:#fff;}
.jcd-tab:focus-visible{outline:2px solid #9fc4dd;outline-offset:1px;}
.jcd-tabpanel[hidden]{display:none;}

.jcd-breakdown .jcd-row{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.12);color:#cfe0ea;}
.jcd-breakdown .jcd-row:last-child{border-bottom:none;}
.jcd-breakdown .jcd-row .jcd-val{font-weight:700;color:#fff;text-align:right;white-space:nowrap;}
.jcd-breakdown .jcd-row .jcd-val.is-dim{color:#7d93a3;font-weight:600;}
.jcd-breakdown .jcd-row.jcd-total{border-top:1px solid rgba(255,255,255,.2);border-bottom:none;margin-top:6px;padding-top:12px;font-weight:700;color:#fff;}
.jcd-sublist{margin:2px 0 8px;padding:0 0 0 14px;list-style:none;}
.jcd-sublist li{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#9fb3c4;padding:3px 0;}
.jcd-sublist li span:last-child{white-space:nowrap;}

/* Analysis panel */
.jcd-analysis .jcd-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 14px;margin-bottom:10px;}
.jcd-analysis .jcd-slabel{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:#9fb3c4;font-weight:700;}
.jcd-analysis .jcd-sval{font-size:19px;font-weight:800;color:#fff;margin-top:2px;}
.jcd-analysis .jcd-sval.jcd-good{color:#4ade80;}
.jcd-analysis .jcd-sfoot{font-size:11.5px;color:#9fb3c4;margin-top:3px;line-height:1.45;}
.jcd-compare{margin-top:4px;}
.jcd-crow{display:flex;align-items:center;gap:10px;font-size:12.5px;color:#cfe0ea;padding:6px 0;}
.jcd-cname{flex:none;width:74px;color:#9fb3c4;}
.jcd-cbar{flex:1;height:8px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden;}
/* Bar colour marks WHICH option is being priced, never whether it is the good one.
   Painting the longest (most expensive) bar green would read as a recommendation. */
.jcd-cbar i{display:block;height:100%;border-radius:4px;background:rgba(255,255,255,.34);transition:width .3s;}
.jcd-crow.is-implant .jcd-cbar i{background:var(--jcd-blue);}
.jcd-crow.is-implant .jcd-cname,.jcd-crow.is-implant .jcd-cval{color:#fff;}
.jcd-cval{flex:none;width:80px;text-align:right;font-weight:700;color:#fff;white-space:nowrap;}
.jcd-flags{list-style:none;margin:10px 0 0;padding:0;}
.jcd-flags li{font-size:12px;color:#cfe0ea;padding:5px 0 5px 18px;position:relative;line-height:1.45;}
.jcd-flags li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;border-radius:50%;background:var(--jcd-blue);}
.jcd-flags li.is-warn::before{background:#f2b544;}

.jcd-monthly-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-top:16px;}
.jcd-monthly-card .jcd-m-label{font-size:12px;color:#9fb3c4;margin-bottom:4px;}
.jcd-monthly-card .jcd-m-val{font-size:26px;font-weight:800;color:#4ade80;}
.jcd-monthly-card .jcd-m-val span{font-size:14px;font-weight:600;color:#9fb3c4;}
.jcd-monthly-card .jcd-m-foot{font-size:11px;color:#7d93a3;margin-top:4px;}
.jcd-result-ctas{display:flex;flex-direction:column;gap:10px;padding-top:18px;}
.jcd-result-ctas .jcd-btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.35);}
.jcd-result-ctas .jcd-btn-outline:hover{background:transparent;border-color:#fff;}
.jcd-disclaimer{font-size:11.5px;color:#9fb3c4;padding:14px 24px;border-top:1px solid rgba(255,255,255,.1);}

/* -------------------------------------------------------- LEAD CAPTURE -- */
/* Sits in column 1 of the calculator grid, directly under the form card, so its inputs are
   the same width as the fields above them rather than stretched across the whole page. */
.jcd-lead-card{grid-column:1;padding:26px;margin-top:2px;display:none;}
.jcd-lead-card.is-open{display:block;}
.jcd-lead-card h3{margin:0 0 4px;color:var(--jcd-navy);font-size:19px;font-weight:800;}
.jcd-lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.jcd-lead-grid .jcd-full{grid-column:1/-1;}
/* Consent rows read as part of the form, not as leftover browser furniture: the whole row
   is a hit target and the box is sized to match the inputs above it. */
/* Margin on the top of every row rather than :first-of-type - the honeypot and the field
   grid are also divs, so :first-of-type would never match the first consent row. */
.jcd-check-line{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;margin:14px 0 0;padding:11px 14px;border:1.5px solid var(--jcd-line);border-radius:9px;cursor:pointer;transition:.15s;}
.jcd-check-line:hover{border-color:var(--jcd-blue);}
.jcd-lead-card [data-act="submit"]{margin-top:20px;}
.jcd-check-line input[type=checkbox]{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--jcd-blue);cursor:pointer;}
.jcd-check-line label{cursor:pointer;}
.jcd-check-line input:focus-visible{outline:3px solid var(--jcd-blue-text);outline-offset:2px;}
.jcd-consent{font-size:12.5px;color:var(--jcd-grey);}
/* Honeypot - stays in the DOM, invisible to humans, not display:none (bots skip that) */
.jcd-hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.jcd-note-error{display:none;color:var(--jcd-red);font-size:13px;font-weight:600;margin-top:10px;}
.jcd-note-error.is-open{display:block;}
.jcd-note-success{display:none;background:#eafaf0;border:1px solid #bfe8cf;color:var(--jcd-green);border-radius:9px;padding:14px;font-size:14px;font-weight:600;margin-top:14px;}
.jcd-note-success.is-open{display:block;}
.jcd-invalid{border-color:var(--jcd-red)!important;}

/* ------------------------------------------------------------- CONTENT -- */
.jcd-content{padding:56px 0;}
/* Headings need room to breathe before the block they introduce - at 6px the card grids
   and tables were reading as part of the heading rather than as a new section. */
.jcd-content h2{color:var(--jcd-navy);font-size:26px;margin:0 0 14px;font-weight:800;}
/* Qualified with h2: `.jcd-mt` alone loses the specificity tie against `.jcd-content h2`
   above, whose margin shorthand resets margin-top to 0 - which is why section headings were
   sitting right on top of the block before them. */
.jcd-content h2.jcd-mt{margin-top:56px;}
.jcd-body{color:var(--jcd-ink);font-size:15px;max-width:860px;margin:0 0 16px;}
.jcd-body.jcd-small{font-size:13px;color:var(--jcd-grey);}
.jcd-body a{font-weight:600;}
.jcd-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;}
.jcd-grid-2 .jcd-box{background:var(--jcd-blue-light);border-radius:12px;padding:20px;}
.jcd-grid-2 .jcd-box h4{margin:0 0 10px;color:var(--jcd-navy);font-size:16px;}
.jcd-grid-2 ul{margin:0;padding-left:18px;font-size:14px;}
.jcd-grid-2 li{margin-bottom:8px;}

.jcd-price-hero{background:var(--jcd-navy);color:#fff;border-radius:16px;padding:28px 30px;margin:24px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.jcd-price-hero .jcd-big{font-size:34px;font-weight:800;}
.jcd-price-hero p{margin:4px 0 0;opacity:.85;font-size:14px;max-width:520px;}
.jcd-price-hero .jcd-btn{background:#fff;color:var(--jcd-blue-text);border-color:#fff;}
.jcd-price-hero .jcd-btn:hover{background:#f0f9fd;color:var(--jcd-blue-text);}

.jcd-byline{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--jcd-grey);margin:6px 0 26px;padding:10px 14px;background:var(--jcd-blue-light);border-radius:9px;}
.jcd-byline strong{color:var(--jcd-navy);}

.jcd-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:26px;}
.jcd-table{width:100%;border-collapse:collapse;margin:0 0 8px;font-size:13.5px;min-width:520px;}
/* Headings and cells centred, vertically middled - column widths vary a lot between these
   tables and ragged left-aligned cells looked unfinished against the black header row. */
.jcd-table th{background:var(--jcd-navy);color:#fff;text-align:center;padding:12px 14px;font-weight:700;vertical-align:middle;}
.jcd-table td{padding:12px 14px;border-bottom:1px solid var(--jcd-line);text-align:center;vertical-align:middle;}
.jcd-table tbody tr:nth-child(even) td{background:#f7fafc;}
.jcd-table .jcd-hi{color:var(--jcd-blue-text);font-weight:700;white-space:nowrap;}

.jcd-callout{background:#fff7e6;border:1px solid #f0dcae;border-radius:12px;padding:20px 22px;margin:26px 0;}
.jcd-callout h5{margin:0 0 10px;color:#8a5a00;font-size:14.5px;}
.jcd-callout ul{margin:0;padding-left:18px;font-size:13.5px;}
.jcd-callout li{margin-bottom:6px;}

/* Two columns on desktop. As a single stacked list the steps used barely half the content
   width and left a long empty gutter down the right-hand side. */
.jcd-timeline{margin-top:28px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px 24px;}
.jcd-timeline .jcd-t{position:relative;background:#fff;border:1px solid var(--jcd-line);border-radius:12px;padding:18px 20px 18px 64px;}
.jcd-timeline .jcd-t::before{content:attr(data-n);position:absolute;left:18px;top:18px;width:32px;height:32px;background:var(--jcd-blue);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;}
.jcd-timeline .jcd-t h5{margin:4px 0 6px;color:var(--jcd-navy);font-size:15px;}
.jcd-timeline .jcd-t p{margin:0;color:var(--jcd-grey);font-size:13.5px;}
/* An odd number of steps: let the last one run the full width rather than leave a hole. */
.jcd-timeline .jcd-t:last-child:nth-child(odd){grid-column:1/-1;}

.jcd-cand{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;}
.jcd-cand .jcd-box{border-radius:12px;padding:18px;}
.jcd-cand .jcd-yes{background:#eafaf0;border:1px solid #bfe8cf;}
.jcd-cand .jcd-talk{background:#fff7e6;border:1px solid #f0dcae;}
.jcd-cand h5{margin:0 0 10px;color:var(--jcd-navy);font-size:14.5px;}
.jcd-cand ul{margin:0;padding-left:18px;font-size:13.5px;}
.jcd-cand li{margin-bottom:6px;}

.jcd-pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px;}
.jcd-pros-cons .jcd-box{border-radius:12px;padding:16px 18px;font-size:13.5px;}
.jcd-pros-cons .jcd-pros{background:#eafaf0;border:1px solid #bfe8cf;}
.jcd-pros-cons .jcd-cons{background:#fdeceb;border:1px solid #f3c6c2;}
.jcd-pros-cons h6{margin:0 0 8px;font-size:13.5px;}

.jcd-badges{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px;}
.jcd-badges .jcd-badge{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--jcd-line);border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600;}
.jcd-badges .jcd-badge .jcd-dot{width:8px;height:8px;border-radius:50%;background:var(--jcd-green);flex:none;}
.jcd-badges .jcd-badge.is-tbd .jcd-dot{background:var(--jcd-amber);}

/* FAQ accordion. Built on native <details>/<summary>: keyboard-operable, findable by the
   browser's in-page search, and it still opens if JavaScript never loads. The +/- marker is
   drawn with CSS so there is no icon font or image to fetch. */
.jcd-faq-section{max-width:860px;margin-top:56px;}
.jcd-faq-section h2{margin-top:0;}
.jcd-faq{margin-top:20px;border-top:1px solid var(--jcd-line);}
.jcd-faq-item{border-bottom:1px solid var(--jcd-line);}
.jcd-faq-item > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 4px;margin:0;font-size:15.5px;font-weight:700;color:var(--jcd-navy);transition:color .15s;}
.jcd-faq-item > summary::-webkit-details-marker{display:none;}
.jcd-faq-item > summary::marker{content:"";}
.jcd-faq-item > summary:hover{color:var(--jcd-blue-text);}
.jcd-faq-item > summary:focus-visible{outline:3px solid var(--jcd-blue-text);outline-offset:2px;border-radius:6px;}
.jcd-faq-item > summary::after{
  content:"";flex:none;width:26px;height:26px;border-radius:50%;
  background-color:var(--jcd-blue-light);background-repeat:no-repeat;background-position:center;background-size:13px 13px;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232aa3d6' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  transition:background-color .15s;
}
.jcd-faq-item[open] > summary{color:var(--jcd-blue-text);}
.jcd-faq-item[open] > summary::after{
  background-color:var(--jcd-blue);
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
}
.jcd-faq-item > p{margin:0;padding:0 4px 20px;color:var(--jcd-grey);font-size:14px;max-width:900px;}

/* --------------------------------------------------------- RESPONSIVE -- */
@media (max-width:920px){
  .jcd-calc-grid{grid-template-columns:1fr;}
  .jcd-mobile-estimate{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    margin:0 0 18px;padding:12px 14px;border-radius:11px;
    background:linear-gradient(160deg,var(--jcd-dark) 0%,var(--jcd-dark2) 100%);
    color:#fff;box-shadow:0 2px 8px rgba(15,58,95,.08);
  }
  .jcd-mobile-estimate__label{
    flex:none;font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.055em;
    font-weight:700;color:#9fc4dd;
  }
  .jcd-mobile-estimate__range{
    min-width:0;text-align:right;font-size:clamp(18px,4.7vw,24px);line-height:1.15;
    font-weight:800;color:#fff;white-space:nowrap;
  }
  .jcd-trust{grid-template-columns:repeat(2,1fr);}
  .jcd-grid-2,.jcd-cand,.jcd-pros-cons,.jcd-timeline{grid-template-columns:1fr;}
  .jcd-hero{padding-top:48px;}
  .jcd-hero h1{font-size:28px;}
}
@media (max-width:720px){
  /* Wide desktop tables become compact labelled cards on phones. This keeps every value
     readable without forcing a horizontal scrollbar across the page. */
  .jcd-table-scroll{overflow:visible;margin-top:20px;}
  .jcd-table{display:block;width:100%;min-width:0;border-collapse:separate;border-spacing:0;font-size:13px;}
  .jcd-table thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;}
  .jcd-table tbody{display:grid;gap:12px;width:100%;}
  .jcd-table tbody tr{display:block;width:100%;border:1px solid var(--jcd-line);border-radius:12px;overflow:hidden;background:#fff;}
  .jcd-table td,
  .jcd-table tbody tr:nth-child(even) td{display:grid;grid-template-columns:minmax(118px,42%) minmax(0,1fr);gap:12px;align-items:start;width:100%;padding:10px 12px;border-bottom:1px solid var(--jcd-line);background:#fff;text-align:right;white-space:normal;overflow-wrap:anywhere;}
  .jcd-table td::before{content:attr(data-label);font-weight:700;color:var(--jcd-navy);text-align:left;}
  .jcd-table td:first-child,
  .jcd-table tbody tr:nth-child(even) td:first-child{display:block;padding:12px 14px;background:#f7fafc;text-align:center;font-size:14px;font-weight:700;color:var(--jcd-navy);}
  .jcd-table td:first-child::before{content:none;}
  .jcd-table td:last-child{border-bottom:0;}
  .jcd-table .jcd-hi{white-space:normal;}
}
@media (max-width:600px){
  .jcd-wrap{padding:0 16px;}
  .jcd-mobile-estimate{padding:11px 13px;gap:10px;}
  .jcd-mobile-estimate__label{font-size:10.5px;}
  .jcd-mobile-estimate__range{font-size:clamp(18px,5.5vw,22px);}
  .jcd-form-card{--jcd-mobile-card-pad:20px;}
  .jcd-form-card,.jcd-lead-card{padding:20px;}
  .jcd-hero{padding:32px 0 16px;}
  .jcd-hero h1{font-size:24px;}
  .jcd-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:24px;}
  .jcd-actions .jcd-btn{width:100%;min-width:0;padding:13px 18px;white-space:normal;}
  .jcd-lead-grid{grid-template-columns:1fr;}
  .jcd-trust{grid-template-columns:1fr;}
  .jcd-trust div{text-align:center;}
  .jcd-head-row{align-items:flex-start;margin-bottom:11px;}
  .jcd-pill{margin-top:0;}
  .jcd-range{font-size:26px;}
  .jcd-price-hero{padding:22px;text-align:center;justify-content:center;}
  .jcd-price-hero > *{width:100%;}
  .jcd-price-hero .jcd-btn{width:100%;}
  .jcd-nav-row .jcd-btn{flex:1;text-align:center;}
  .jcd-faq-section{max-width:none;margin-top:48px;}
  .jcd-faq-item > summary{padding:16px 0;font-size:14.5px;}
  .jcd-faq-item > p{padding:0 0 18px;}
}
@media (prefers-reduced-motion:reduce){
  .jcd-root *{transition:none!important;animation:none!important;}
}
@media print{
  .jcd-form-card,.jcd-lead-card,.jcd-result-ctas,.jcd-actions{display:none!important;}
  .jcd-result-card{background:#fff!important;color:#000!important;border:1px solid #000!important;}
  .jcd-range,.jcd-breakdown .jcd-row .jcd-val,.jcd-analysis .jcd-sval{color:#000!important;}
}

/* -------------------------------------------------- DESKTOP CONTENT BALANCE -- */
/* Desktop-only refinement built on the stable 1.0.2 mobile layout. The full-treatment
   table now uses the entire content width, so there is no horizontal scroller on desktop. */
@media (min-width:921px){
  .jcd-treatment-intro{text-align:center;}
  .jcd-treatment-intro .jcd-body{max-width:820px;margin-left:auto;margin-right:auto;}

  .jcd-treatment-cost-row{display:block;width:100%;margin-top:26px;}
  .jcd-treatment-cost-main{width:100%;min-width:0;}
  .jcd-treatment-cost-main .jcd-table-scroll{width:100%;margin-top:0;overflow:visible;}
  .jcd-treatment-cost-main .jcd-table{width:100%;min-width:0;table-layout:fixed;}
  .jcd-treatment-cost-main .jcd-table th,
  .jcd-treatment-cost-main .jcd-table td{padding-left:10px;padding-right:10px;white-space:normal;overflow-wrap:break-word;}
  .jcd-treatment-cost-main .jcd-table th:nth-child(1){width:27%;}
  .jcd-treatment-cost-main .jcd-table th:nth-child(2){width:9%;}
  .jcd-treatment-cost-main .jcd-table th:nth-child(3){width:18%;}
  .jcd-treatment-cost-main .jcd-table th:nth-child(4){width:25%;}
  .jcd-treatment-cost-main .jcd-table th:nth-child(5){width:21%;}
  .jcd-treatment-cost-main .jcd-table .jcd-hi{white-space:normal;}
  .jcd-treatment-cost-main .jcd-body.jcd-small{max-width:none;margin-bottom:0;}

  /* Eight FAQs remain split into two independent desktop columns: four per column. */
  .jcd-faq-section{max-width:none;}
  .jcd-faq{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 30px;
    border-top:0;
  }
  .jcd-faq-col{min-width:0;border-top:1px solid var(--jcd-line);}
}

/* ----------------------------------------------------- PAGE-SCOPED PWA -- */
/* This stylesheet is already loaded only on pages containing the calculator shortcode. */
.jcd-pwa-install{
  position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:99990;width:min(440px,calc(100% - 28px));
  transform:translate(-50%,calc(100% + 34px));opacity:0;pointer-events:none;
  transition:transform .22s ease,opacity .22s ease;
  font-family:inherit;color:#12202b;
}
.jcd-pwa-install.is-visible{transform:translate(-50%,0);opacity:1;pointer-events:auto;}
.jcd-pwa-install__inner{
  position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;
  padding:12px 42px 12px 12px;border:1px solid #cde9f4;border-radius:14px;background:#fff;
  box-shadow:0 12px 34px rgba(18,32,43,.18);
}
.jcd-pwa-install__icon{
  display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#dff5fc;
  color:#249fd1;font-size:26px;font-weight:500;line-height:1;
}
.jcd-pwa-install__copy{display:grid;gap:2px;min-width:0;line-height:1.3;}
.jcd-pwa-install__copy strong{font-size:13.5px;color:#12202b;}
.jcd-pwa-install__copy span{font-size:11.5px;color:#5d6d78;}
.jcd-pwa-install__actions{display:flex;align-items:center;}
.jcd-pwa-install__primary{
  appearance:none;border:0;border-radius:9px;padding:9px 13px;background:#45b9e5;color:#fff;
  font:inherit;font-size:12px;font-weight:750;line-height:1;cursor:pointer;white-space:nowrap;
}
.jcd-pwa-install__primary:focus-visible,.jcd-pwa-install__close:focus-visible{outline:3px solid #89daf5;outline-offset:2px;}
.jcd-pwa-install__close{
  position:absolute;top:7px;right:8px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;
  background:transparent;color:#6c7c87;font:inherit;font-size:23px;line-height:1;cursor:pointer;
}
@media (min-width:921px){.jcd-pwa-install{display:none!important;}}
@media (max-width:480px){
  .jcd-pwa-install{bottom:max(14px,env(safe-area-inset-bottom));width:calc(100% - 20px);}
  .jcd-pwa-install__inner{grid-template-columns:38px minmax(0,1fr);padding:11px 38px 11px 11px;gap:9px;}
  .jcd-pwa-install__icon{width:38px;height:38px;border-radius:10px;font-size:23px;}
  .jcd-pwa-install__actions{grid-column:2;margin-top:4px;}
  .jcd-pwa-install__primary{padding:9px 15px;}
}
@media (prefers-reduced-motion:reduce){.jcd-pwa-install{transition:none;}}

/* ========================================================= v1.0.9 APP / CF7 */
/* Hidden in a normal browser. It becomes the lightweight native-style header only when the
   calculator is launched from an installed PWA icon. */
.jcd-pwa-appbar{display:none;}

/* Contact Form 7 replaces the plugin's old custom lead form. Everything stays inside the
   calculator namespace so existing CF7 forms elsewhere on the site are untouched. */
.jcd-cf7-wrap{margin-top:18px;}
.jcd-cf7-wrap .wpcf7{margin:0;}
.jcd-cf7-wrap .wpcf7-form{margin:0;}
.jcd-cf7-wrap .wpcf7-form > p{margin:0 0 14px;}
.jcd-cf7-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.jcd-cf7-field{display:block;min-width:0;}
.jcd-cf7-field--full{grid-column:1/-1;}
.jcd-cf7-field > span:first-child,
.jcd-cf7-field > label{display:block;}
.jcd-cf7-label{display:block;margin:0 0 7px;color:var(--jcd-ink);font-size:13.5px;font-weight:700;}
.jcd-cf7-wrap .wpcf7-form-control-wrap{display:block;width:100%;}
.jcd-cf7-wrap input[type="text"],
.jcd-cf7-wrap input[type="email"],
.jcd-cf7-wrap input[type="tel"]{
  width:100%;min-height:46px;padding:11px 13px;border:1.5px solid var(--jcd-line);border-radius:9px;
  background:#fff;color:var(--jcd-ink);font:inherit;font-size:14px;box-shadow:none;
}
.jcd-cf7-wrap input[type="text"]:focus,
.jcd-cf7-wrap input[type="email"]:focus,
.jcd-cf7-wrap input[type="tel"]:focus{border-color:var(--jcd-blue);outline:3px solid rgba(82,193,236,.22);outline-offset:0;}
.jcd-cf7-consent{margin:14px 0 0;padding:11px 13px;border:1.5px solid var(--jcd-line);border-radius:9px;background:#fff;}
.jcd-cf7-consent .wpcf7-list-item{margin:0;display:block;}
.jcd-cf7-consent label{display:flex;align-items:flex-start;gap:10px;color:var(--jcd-grey);font-size:12.5px;line-height:1.45;cursor:pointer;}
.jcd-cf7-consent input[type="checkbox"]{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--jcd-blue);}
.jcd-cf7-wrap .wpcf7-submit{
  appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:16px;
  padding:12px 24px;border:2px solid transparent;border-radius:999px;background:var(--jcd-blue);color:#fff;
  font:inherit;font-size:14px;font-weight:700;line-height:1.2;cursor:pointer;box-shadow:none;
}
.jcd-cf7-wrap .wpcf7-submit:hover{background:#3fb3e0;}
.jcd-cf7-wrap .wpcf7-spinner{margin:16px 0 0 10px;vertical-align:middle;}
.jcd-cf7-wrap .wpcf7-not-valid-tip{margin-top:5px;color:var(--jcd-red);font-size:12px;}
.jcd-cf7-wrap .wpcf7-response-output{margin:16px 0 0!important;padding:11px 13px!important;border-radius:9px;font-size:13px;line-height:1.45;}
.jcd-cf7-missing{margin-top:16px;padding:14px;border:1px dashed var(--jcd-line);border-radius:10px;background:#f8fbfc;color:var(--jcd-grey);font-size:13px;}
.jcd-cf7-missing strong{color:var(--jcd-ink);}
.jcd-cf7-missing p{margin:6px 0 0;}

@media (max-width:920px){
  /* Only the calculator page gets this class. These selectors are deliberately narrow and are
     backed up by JS detection for custom theme hamburger buttons with different class names. */
  body.jcd-calculator-page header .menu-toggle,
  body.jcd-calculator-page header .mobile-menu-toggle,
  body.jcd-calculator-page header .hamburger,
  body.jcd-calculator-page header .nav-toggle,
  body.jcd-calculator-page header .navbar-toggler,
  body.jcd-calculator-page header .menu-btn,
  body.jcd-calculator-page header .elementor-menu-toggle,
  body.jcd-calculator-page #masthead .menu-toggle,
  body.jcd-calculator-page #masthead .mobile-menu-toggle,
  body.jcd-calculator-page .site-header .menu-toggle,
  body.jcd-calculator-page .site-header .mobile-menu-toggle{display:none!important;}

  /* When the hamburger is removed, collapse its old grid/flex slot instead of leaving a blank
     quarter of the header. JS adds these classes only after it finds the phone, logo and
     language switcher inside the same mobile header row. */
  body.jcd-calculator-page .jcd-mobile-header-row{
    display:grid!important;
    grid-template-columns:minmax(48px,1fr) auto minmax(48px,1fr)!important;
    align-items:center!important;
    column-gap:12px!important;
    width:100%!important;
  }
  body.jcd-calculator-page .jcd-mobile-header-phone{grid-column:1!important;justify-self:start!important;min-width:0!important;}
  body.jcd-calculator-page .jcd-mobile-header-logo{grid-column:2!important;justify-self:center!important;min-width:0!important;}
  body.jcd-calculator-page .jcd-mobile-header-language{grid-column:3!important;justify-self:end!important;min-width:0!important;margin-left:0!important;margin-right:0!important;}
  body.jcd-calculator-page .jcd-mobile-header-menu-slot{display:none!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important;}
  body.jcd-calculator-page .jcd-mobile-header-actions-compact{
    width:auto!important;min-width:0!important;max-width:none!important;flex:0 0 auto!important;
    margin-left:auto!important;margin-right:0!important;gap:0!important;
  }

  /* The page itself remains the scroll container. This avoids trapping a visitor inside the
     calculator card and lets them continue to the SEO/content sections below. The estimate
     stays visible only while the form card is passing through the viewport. */
  .jcd-form-card{
    --jcd-mobile-card-pad:28px;
    position:relative;
    height:auto;
    min-height:0;
    overflow:visible;
  }
  .jcd-mobile-estimate{
    position:sticky;
    top:var(--jcd-mobile-sticky-top,10px);
    z-index:99970;
    width:calc(100% + (var(--jcd-mobile-card-pad) * 2));
    margin-left:calc(var(--jcd-mobile-card-pad) * -1);
    margin-right:calc(var(--jcd-mobile-card-pad) * -1);
    margin-bottom:18px;
    padding-left:var(--jcd-mobile-card-pad);
    padding-right:var(--jcd-mobile-card-pad);
    border-radius:0;
    background:#17191c;
    box-shadow:0 10px 24px rgba(10,17,22,.24);
    isolation:isolate;
  }
  .jcd-form-card [data-step]{scroll-margin-top:calc(var(--jcd-mobile-sticky-top,10px) + 86px);}

  .jcd-cf7-grid{grid-template-columns:1fr;gap:12px;}
  .jcd-cf7-field--full{grid-column:auto;}
}

@media (max-width:600px){
  .jcd-form-card{--jcd-mobile-card-pad:20px;}
  .jcd-cf7-wrap .wpcf7-submit{width:100%;}
}

/* Installed PWA mode. This is intentionally calculator-page-only: the rest of Jane Clair's
   WordPress site remains a normal website and is outside this service worker's scope. */
@media (display-mode:standalone){
  body.jcd-calculator-page{background:#f4f8fa!important;}
  body.jcd-calculator-page > header,
  body.jcd-calculator-page #masthead,
  body.jcd-calculator-page .site-header,
  body.jcd-calculator-page .main-header,
  body.jcd-calculator-page > footer,
  body.jcd-calculator-page #colophon,
  body.jcd-calculator-page .site-footer{display:none!important;}
  body.jcd-calculator-page .jcd-hero,
  body.jcd-calculator-page .jcd-content{display:none!important;}
  body.jcd-calculator-page .joinchat,
  body.jcd-calculator-page .ht-ctc,
  body.jcd-calculator-page #qlwapp,
  body.jcd-calculator-page .wa__btn_popup,
  body.jcd-calculator-page .gt_float_switcher,
  body.jcd-calculator-page .gtranslate_wrapper{display:none!important;}
  body.jcd-calculator-page .jcd-pwa-appbar{
    position:sticky;top:0;z-index:99980;display:flex;align-items:center;justify-content:space-between;gap:14px;
    min-height:64px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--jcd-line);box-shadow:0 2px 10px rgba(15,58,95,.06);
  }
  .jcd-pwa-appbar__copy{display:grid;min-width:0;line-height:1.25;}
  .jcd-pwa-appbar__copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--jcd-grey);font-size:10.5px;font-weight:600;}
  .jcd-pwa-appbar__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--jcd-ink);font-size:15px;font-weight:800;}
  .jcd-root a.jcd-pwa-appbar__call{flex:none;padding:8px 13px;border-radius:999px;background:var(--jcd-blue);color:#fff;text-decoration:none;font-size:12px;font-weight:750;}
  body.jcd-calculator-page .jcd-calc-section{padding:10px 0 24px;}
  body.jcd-calculator-page .jcd-wrap{padding:0 10px;}
  body.jcd-calculator-page .jcd-form-card{height:auto;min-height:0;overflow:visible;border-radius:14px;}
  body.jcd-calculator-page .jcd-mobile-estimate{top:var(--jcd-mobile-sticky-top,74px);}
}

/* iOS standalone mode does not consistently expose the display-mode media query on older
   versions, so JS also adds this class. Keep these rules equivalent to the core shell rules. */
html.jcd-pwa-standalone body.jcd-calculator-page{background:#f4f8fa!important;}
html.jcd-pwa-standalone body.jcd-calculator-page > header,
html.jcd-pwa-standalone body.jcd-calculator-page #masthead,
html.jcd-pwa-standalone body.jcd-calculator-page .site-header,
html.jcd-pwa-standalone body.jcd-calculator-page .main-header,
html.jcd-pwa-standalone body.jcd-calculator-page > footer,
html.jcd-pwa-standalone body.jcd-calculator-page #colophon,
html.jcd-pwa-standalone body.jcd-calculator-page .site-footer{display:none!important;}
html.jcd-pwa-standalone body.jcd-calculator-page .jcd-hero,
html.jcd-pwa-standalone body.jcd-calculator-page .jcd-content{display:none!important;}
html.jcd-pwa-standalone body.jcd-calculator-page .jcd-pwa-appbar{
  position:sticky;top:0;z-index:99980;display:flex;align-items:center;justify-content:space-between;gap:14px;
  min-height:64px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--jcd-line);box-shadow:0 2px 10px rgba(15,58,95,.06);
}
html.jcd-pwa-standalone body.jcd-calculator-page .jcd-pwa-appbar__copy{display:grid;min-width:0;line-height:1.25;}
html.jcd-pwa-standalone body.jcd-calculator-page .jcd-pwa-appbar__copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--jcd-grey);font-size:10.5px;font-weight:600;}
html.jcd-pwa-standalone body.jcd-calculator-page .jcd-pwa-appbar__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--jcd-ink);font-size:15px;font-weight:800;}
html.jcd-pwa-standalone body.jcd-calculator-page .jcd-pwa-appbar__call{flex:none;padding:8px 13px;border-radius:999px;background:var(--jcd-blue);color:#fff!important;text-decoration:none;font-size:12px;font-weight:750;}
html.jcd-pwa-standalone body.jcd-calculator-page .jcd-calc-section{padding:10px 0 24px;}
html.jcd-pwa-standalone body.jcd-calculator-page .jcd-wrap{padding:0 10px;}
html.jcd-pwa-standalone body.jcd-calculator-page .jcd-form-card{height:auto;min-height:0;overflow:visible;}
html.jcd-pwa-standalone body.jcd-calculator-page .jcd-mobile-estimate{top:var(--jcd-mobile-sticky-top,74px);}
html.jcd-pwa-standalone body.jcd-calculator-page .joinchat,
html.jcd-pwa-standalone body.jcd-calculator-page .ht-ctc,
html.jcd-pwa-standalone body.jcd-calculator-page #qlwapp,
html.jcd-pwa-standalone body.jcd-calculator-page .wa__btn_popup,
html.jcd-pwa-standalone body.jcd-calculator-page .gt_float_switcher,
html.jcd-pwa-standalone body.jcd-calculator-page .gtranslate_wrapper{display:none!important;}

/* ========================================================= v1.0.12 PWA APP POLISH */
/* The normal web page keeps its SEO H1. Only the installed standalone app removes the
   WordPress/theme page-title chrome so the app opens directly into its compact app bar. */
@media (display-mode:standalone){
  body.jcd-calculator-page .entry-title,
  body.jcd-calculator-page .page-title,
  body.jcd-calculator-page .wp-block-post-title,
  body.jcd-calculator-page .post-title,
  body.jcd-calculator-page .single-post-title,
  body.jcd-calculator-page .elementor-widget-theme-post-title,
  body.jcd-calculator-page .elementor-page-title,
  body.jcd-calculator-page .page-header,
  body.jcd-calculator-page .entry-header{display:none!important;}
}
html.jcd-pwa-standalone body.jcd-calculator-page .entry-title,
html.jcd-pwa-standalone body.jcd-calculator-page .page-title,
html.jcd-pwa-standalone body.jcd-calculator-page .wp-block-post-title,
html.jcd-pwa-standalone body.jcd-calculator-page .post-title,
html.jcd-pwa-standalone body.jcd-calculator-page .single-post-title,
html.jcd-pwa-standalone body.jcd-calculator-page .elementor-widget-theme-post-title,
html.jcd-pwa-standalone body.jcd-calculator-page .elementor-page-title,
html.jcd-pwa-standalone body.jcd-calculator-page .page-header,
html.jcd-pwa-standalone body.jcd-calculator-page .entry-header{display:none!important;}
