
/* ============================================================
   PUBLIC MOBILE REFERRALS - pm-page scoped CSS
   All selectors namespaced under .pm-page to avoid
   Elementor/Hello theme collisions
   ============================================================ */

/* RESET & WRAPPER */
.pm-page { width:100%; max-width:100%; overflow-x:hidden; box-sizing:border-box; font-family:'Instrument Sans',sans-serif; font-size:16px; line-height:1.6; color:#1A2636; background:#F5EFE3; -webkit-font-smoothing:antialiased; }
.pm-page *, .pm-page *::before, .pm-page *::after { box-sizing:border-box; }
.pm-page img, .pm-page iframe, .pm-page table, .pm-page svg, .pm-page video { max-width:100%; height:auto; }

/* CSS VARS */
.pm-page {
  --navy:#2E3A4E; --navy-mid:#3A4A60;
  --coral:#E8805A; --coral-dk:#C9673F; --coral-lt:#FDEEE7;
  --cream:#F5EFE3; --cream-dk:#EDE7D9;
  --white:#FFFFFF; --text:#1A2636; --text-md:#3A4A60; --text-muted:#5E6E82;
  --border:rgba(46,58,78,0.1);
  --r-sm:8px; --r-md:12px; --r-lg:20px; --r-xl:28px;
  --font-head:'Bricolage Grotesque',sans-serif;
  --font-body:'Instrument Sans',sans-serif;
  --t:0.18s ease;
}


/* THEME SCROLLBAR - right-side browser slider */
html, body {
  scrollbar-width: thin;
  scrollbar-color: #E8805A #F5EFE3;
}

::-webkit-scrollbar {
  width: 13px;
  height: 13px;
}

::-webkit-scrollbar-track {
  background: #F5EFE3;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #F4A882 0%, #E8805A 45%, #C9673F 100%);
  border: 3px solid #F5EFE3;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(46, 58, 78, 0.10);
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #E8805A 0%, #C9673F 58%, #2E3A4E 100%);
}

::-webkit-scrollbar-corner {
  background: #F5EFE3;
}

.pm-page .pm-table-wrap {
  scrollbar-width: thin;
  scrollbar-color: #E8805A #EDE7D9;
}

/* LAYOUT RAILS */
.pm-page .pm-container { width:100%; max-width:1100px; margin:0 auto; padding-left:24px; padding-right:24px; }
.pm-page .pm-narrow { width:100%; max-width:820px; margin:0 auto; }

/* SECTIONS */
.pm-page .pm-section { padding:64px 0; }
.pm-page .pm-section-white { background:var(--white); }
.pm-page .pm-section-cream { background:var(--cream); }
.pm-page .pm-section-cream-dk { background:var(--cream-dk); }
.pm-page .pm-section-navy { background:var(--navy); }
.pm-page .pm-section-tag { display:inline-block; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--coral); margin-bottom:.75rem; }
.pm-page .pm-section-tag-light { color:#F4A882; }
.pm-page .pm-section-title { font-family:var(--font-head); font-size:clamp(1.5rem,3vw,2.2rem); font-weight:800; letter-spacing:-0.03em; color:var(--text); line-height:1.12; margin-bottom:.75rem; }
.pm-page .pm-section-title-light { color:#fff; }
.pm-page .pm-section-desc { font-size:16px; color:var(--text-muted); max-width:540px; line-height:1.7; margin-bottom:0; }
.pm-page .pm-section-desc-light { color:rgba(255,255,255,.72); }
.pm-page .pm-section-header { margin-bottom:2.5rem; }

/* NAV */
.pm-page .pm-nav { position:sticky; top:0; z-index:100; background:var(--navy); padding:0 24px; box-shadow:0 2px 12px rgba(0,0,0,.2); }
.pm-page .pm-nav-inner { max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; height:62px; gap:1rem; }
.pm-page .pm-logo { font-family:var(--font-head); font-size:16px; font-weight:800; color:#fff; text-decoration:none; letter-spacing:-0.02em; white-space:nowrap; min-width:0; overflow-wrap:anywhere; word-break:break-word; }
.pm-page .pm-logo span { color:var(--coral); }
.pm-page .pm-nav-links { display:flex; align-items:center; gap:.1rem; list-style:none; flex-wrap:wrap; }
.pm-page .pm-nav-links a { font-size:13px; color:rgba(255,255,255,.7); text-decoration:none; padding:5px 11px; border-radius:var(--r-sm); transition:var(--t); white-space:nowrap; }
.pm-page .pm-nav-links a:hover { color:#fff; background:rgba(255,255,255,.1); }
.pm-page .pm-nav-cta { background:var(--coral)!important; color:#fff!important; font-weight:600!important; padding:7px 18px!important; border-radius:99px!important; }
.pm-page .pm-nav-cta:hover { background:var(--coral-dk)!important; }
@media(max-width:900px) { .pm-page .pm-nav-links { display:none; } }

/* HERO (homepage) */
.pm-page .pm-hero { background:var(--navy); padding:72px 0 80px; text-align:center; position:relative; overflow:hidden; }
.pm-page .pm-hero::before { content:''; position:absolute; top:-100px; right:-120px; width:600px; height:600px; background:radial-gradient(circle,rgba(232,128,90,.12) 0%,transparent 65%); pointer-events:none; overflow:hidden; }
.pm-page .pm-hero::after  { content:''; position:absolute; bottom:-80px; left:-80px; width:400px; height:400px; background:radial-gradient(circle,rgba(78,203,204,.08) 0%,transparent 65%); pointer-events:none; overflow:hidden; }
.pm-page .pm-eyebrow { display:inline-flex; align-items:center; gap:7px; background:rgba(232,128,90,.18); border:1px solid rgba(232,128,90,.35); color:#F4A882; font-size:12px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; padding:5px 14px; border-radius:99px; margin-bottom:1.75rem; }
.pm-page .pm-eyebrow::before { content:''; width:7px; height:7px; background:var(--coral); border-radius:50%; animation:pm-pulse 2s infinite; }
@keyframes pm-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.75)} }
.pm-page .pm-hero h1 { font-family:var(--font-head); font-size:clamp(2.1rem,5vw,3.5rem); font-weight:800; color:#fff; line-height:1.08; letter-spacing:-0.04em; margin:0 auto 1.25rem; }
.pm-page .pm-hero h1 .pm-highlight { color:var(--coral); }
.pm-page .pm-hero-sub { font-size:17px; color:rgba(255,255,255,.62); margin:0 auto 2.5rem; line-height:1.6; }
.pm-page .pm-code-card { display:inline-flex; flex-direction:column; align-items:center; gap:1rem; background:rgba(255,255,255,.06); border:1.5px solid rgba(232,128,90,.3); border-radius:var(--r-xl); padding:2rem 3rem; margin-bottom:2rem; box-shadow:0 4px 40px rgba(232,128,90,.12); max-width:calc(100vw - 3rem); }
.pm-page .pm-code-label { font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.4); }
.pm-page .pm-code-value { font-family:var(--font-head); font-size:clamp(2.5rem,10vw,4.8rem); font-weight:800; color:var(--coral); letter-spacing:.1em; line-height:1; }
.pm-page .pm-hero-actions { display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; }
.pm-page .pm-hero-trust { display:flex; align-items:center; justify-content:center; gap:1.5rem; margin-top:2.5rem; flex-wrap:wrap; }
.pm-page .pm-trust-item { display:flex; align-items:center; gap:6px; font-size:13px; color:rgba(255,255,255,.5); }
.pm-page .pm-trust-item::before { content:'✓'; color:var(--coral); font-weight:700; }
.pm-page .pm-trust-dot { width:4px; height:4px; background:rgba(255,255,255,.15); border-radius:50%; }

/* INNER PAGE HERO */
.pm-page .pm-page-hero { background:var(--navy); padding:52px 0 60px; position:relative; overflow:hidden; }
.pm-page .pm-page-hero::before { content:''; position:absolute; top:-80px; right:-100px; width:500px; height:500px; background:radial-gradient(circle,rgba(232,128,90,.1) 0%,transparent 65%); pointer-events:none; }
.pm-page .pm-breadcrumb { font-size:12px; color:rgba(255,255,255,.4); margin-bottom:1rem; }
.pm-page .pm-breadcrumb a { color:rgba(255,255,255,.4); text-decoration:none; }
.pm-page .pm-breadcrumb a:hover { color:rgba(255,255,255,.7); }
.pm-page .pm-page-hero h1 { font-family:var(--font-head); font-size:clamp(1.7rem,4vw,2.9rem); font-weight:800; color:#fff; line-height:1.1; letter-spacing:-0.035em; margin-bottom:1rem; }
.pm-page .pm-page-hero h1 .pm-highlight { color:var(--coral); }
.pm-page .pm-page-hero-sub { font-size:16px; color:rgba(255,255,255,.62); line-height:1.65; margin-bottom:1.75rem; max-width:680px; }
.pm-page .pm-meta-row { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.pm-page .pm-meta-tag { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.pm-page .pm-meta-tag::before { content:''; width:6px; height:6px; background:var(--coral); border-radius:50%; }

/* BUTTONS */
.pm-page .pm-btn { display:inline-flex; align-items:center; gap:8px; padding:13px 26px; border-radius:99px; font-family:var(--font-body); font-size:15px; font-weight:600; text-decoration:none; border:none; cursor:pointer; transition:background var(--t); }
.pm-page .pm-btn-coral { background:var(--coral); color:#fff!important; }
.pm-page .pm-btn-coral:hover { background:var(--coral-dk); }
.pm-page .pm-btn-dark { background:var(--text); color:#fff!important; }
.pm-page .pm-btn-dark:hover { background:var(--navy-mid); }
.pm-page .pm-btn-outline { background:transparent; color:rgba(255,255,255,.78); border:1.5px solid rgba(255,255,255,.25); }
.pm-page .pm-btn-outline:hover { background:rgba(255,255,255,.08); color:#fff; }
.pm-page .pm-btn-copy { background:var(--coral); color:#fff!important; cursor:pointer; }
.pm-page .pm-btn-copy:hover { background:var(--coral-dk); }

/* PROSE */
.pm-page .pm-prose h2 { font-family:var(--font-head); font-size:1.4rem; font-weight:800; color:var(--text); letter-spacing:-0.025em; margin:2.25rem 0 .75rem; text-align:left; }
.pm-page .pm-prose h3 { font-family:var(--font-head); font-size:1.1rem; font-weight:700; color:var(--text-md); margin:1.75rem 0 .5rem; text-align:left; }
.pm-page .pm-prose p { font-size:15.5px; color:var(--text-muted); line-height:1.8; margin-bottom:1.1rem; }
.pm-page .pm-prose ul, .pm-page .pm-prose ol { margin:.75rem 0 1.1rem 1.25rem; }
.pm-page .pm-prose li { font-size:15.5px; color:var(--text-muted); line-height:1.75; margin-bottom:.4rem; }
.pm-page .pm-prose a { color:var(--coral-dk); text-decoration:underline; text-decoration-color:rgba(201,103,63,.3); }
.pm-page .pm-prose a:hover { color:var(--coral); }
.pm-page .pm-prose strong { color:var(--text); font-weight:600; }
.pm-page .pm-callout { background:var(--coral-lt); border-left:3px solid var(--coral); border-radius:0 var(--r-md) var(--r-md) 0; padding:1rem 1.25rem; margin:1.5rem 0; }
.pm-page .pm-callout p { color:var(--coral-dk); margin:0; font-size:15px; }

/* STEPS */
.pm-page .pm-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1.25rem; }
.pm-page .pm-step { background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); padding:1.75rem; }
.pm-page .pm-step-num { font-family:var(--font-head); font-size:44px; font-weight:800; color:var(--coral-lt); -webkit-text-stroke:2px rgba(232,128,90,.25); line-height:1; margin-bottom:1rem; }
.pm-page .pm-step h3 { font-family:var(--font-head); font-size:16px; font-weight:700; color:var(--text); margin-bottom:.5rem; }
.pm-page .pm-step p { font-size:14px; color:var(--text-muted); line-height:1.65; }
.pm-page .pm-code-badge { display:inline-block; background:var(--coral-lt); color:var(--coral-dk); font-weight:700; font-size:13px; padding:3px 12px; border-radius:99px; margin-top:.75rem; letter-spacing:.04em; }

/* PLANS */
.pm-page .pm-plans-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.25rem; }
.pm-page .pm-plan-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); padding:1.75rem; display:flex; flex-direction:column; gap:1rem; }
.pm-page .pm-plan-badge { display:inline-block; font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; padding:4px 10px; border-radius:99px; align-self:flex-start; }
.pm-page .pm-badge-value { background:var(--coral-lt); color:var(--coral-dk); }
.pm-page .pm-badge-travel { background:#EBF3FF; color:#1A4FA0; }
.pm-page .pm-badge-basic { background:var(--cream-dk); color:var(--text-muted); }
.pm-page .pm-price { display:flex; align-items:baseline; gap:4px; }
.pm-page .pm-price-amt { font-family:var(--font-head); font-size:2.2rem; font-weight:800; color:var(--text); letter-spacing:-0.04em; }
.pm-page .pm-price-mo { font-size:14px; color:var(--text-muted); }
.pm-page .pm-plan-data { font-size:24px; font-family:var(--font-head); font-weight:700; color:var(--navy); }
.pm-page .pm-plan-data span { font-size:14px; font-weight:400; color:var(--text-muted); }
.pm-page .pm-plan-features { list-style:none; display:flex; flex-direction:column; gap:8px; flex:1; padding:0; }
.pm-page .pm-plan-features li { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--text-muted); }
.pm-page .pm-plan-features li::before { content:'✓'; color:var(--coral); font-weight:700; font-size:13px; flex-shrink:0; }
.pm-page .pm-plan-link { display:block; text-align:center; background:var(--coral); color:#fff!important; text-decoration:none; padding:12px; border-radius:var(--r-md); font-size:14px; font-weight:600; transition:background var(--t); margin-top:auto; }
.pm-page .pm-plan-link:hover { background:var(--coral-dk); }
.pm-page .pm-plans-note { margin-top:1.25rem; font-size:13px; color:var(--text-muted); text-align:center; line-height:1.6; }
.pm-page .pm-plans-note a { color:var(--coral-dk); }

/* COMPARISON TABLE */
.pm-page .pm-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1.5rem 0; border-radius:var(--r-sm); }
.pm-page .pm-comparison-table { width:100%; border-collapse:collapse; font-size:14px; min-width:420px; }
.pm-page .pm-comparison-table th { background:var(--navy); color:#fff; font-family:var(--font-head); font-weight:700; padding:11px 16px; text-align:left; font-size:13px; }
.pm-page .pm-comparison-table td { padding:10px 16px; border-bottom:1px solid var(--border); color:var(--text-muted); vertical-align:top; }
.pm-page .pm-comparison-table tr:last-child td { border-bottom:none; }
.pm-page .pm-comparison-table tr:nth-child(even) td { background:var(--cream); }
.pm-page .pm-td-good { color:#1A7F50; font-weight:600; }
.pm-page .pm-td-bad { color:#C9673F; }

/* POINTS CARDS */
.pm-page .pm-points-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.pm-page .pm-points-card { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:var(--r-lg); padding:1.75rem; }
.pm-page .pm-points-icon { font-size:26px; margin-bottom:.875rem; }
.pm-page .pm-points-card h3 { font-family:var(--font-head); font-size:16px; font-weight:700; color:#fff; margin-bottom:.4rem; }
.pm-page .pm-points-card p { font-size:14px; color:rgba(255,255,255,.72); line-height:1.65; }

/* VERDICT / REVIEW BOXES */
.pm-page .pm-verdict-box { display:flex; align-items:flex-start; gap:1.5rem; background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); padding:1.75rem; margin:1.5rem 0; }
.pm-page .pm-verdict-score { font-family:var(--font-head); font-size:3rem; font-weight:800; color:var(--coral); letter-spacing:-0.04em; line-height:1; flex-shrink:0; }
.pm-page .pm-verdict-label { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); margin-bottom:.5rem; }
.pm-page .pm-verdict-title { font-family:var(--font-head); font-size:1.1rem; font-weight:700; color:var(--text); margin-bottom:.5rem; }
.pm-page .pm-verdict-text { font-size:14px; color:var(--text-muted); line-height:1.65; }

/* FAQ - native details/summary, no JS */
.pm-page .pm-faq-list { display:flex; flex-direction:column; }
.pm-page .pm-faq-item { border-bottom:1px solid var(--border); }
.pm-page .pm-faq-item:first-of-type { border-top:1px solid var(--border); }
.pm-page .pm-faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 0; cursor:pointer; list-style:none; font-family:var(--font-body); font-size:15px; font-weight:500; color:var(--text); -webkit-tap-highlight-color:transparent; }
.pm-page .pm-faq-item summary::-webkit-details-marker { display:none; }
.pm-page .pm-faq-item summary::marker { display:none; }
.pm-page .pm-faq-icon { width:22px; height:22px; border-radius:50%; border:1.5px solid var(--border); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:16px; color:var(--text-muted); transition:all var(--t); font-weight:400; line-height:1; }
.pm-page .pm-faq-item[open] summary .pm-faq-icon { background:var(--coral); border-color:var(--coral); color:#fff; transform:rotate(45deg); }
.pm-page .pm-faq-item summary:hover { color:var(--text); }
.pm-page .pm-faq-item summary:hover .pm-faq-icon { border-color:var(--coral); color:var(--coral); }
.pm-page .pm-faq-a { font-size:15px; color:var(--text-muted); line-height:1.75; padding:.1rem 0 1.2rem; }
.pm-page .pm-faq-a a { color:var(--coral-dk); }

/* CTA BANNER */
.pm-page .pm-cta-banner { background:var(--navy); border-radius:var(--r-xl); padding:2.5rem 2rem; text-align:center; position:relative; overflow:hidden; margin:2.5rem 0; }
.pm-page .pm-cta-banner::before { content:''; position:absolute; top:-40px; right:-40px; width:200px; height:200px; background:radial-gradient(circle,rgba(232,128,90,.15) 0%,transparent 70%); pointer-events:none; }
.pm-page .pm-cta-code { font-family:var(--font-head); font-size:2.2rem; font-weight:800; color:var(--coral); letter-spacing:.1em; margin:.5rem 0; }
.pm-page .pm-cta-banner h3 { font-family:var(--font-head); font-size:1.2rem; font-weight:800; color:#fff; margin-bottom:.4rem; }
.pm-page .pm-cta-banner p { color:rgba(255,255,255,.62); font-size:14px; margin:.5rem 0 1.5rem; }

/* GUIDES & RELATED */
.pm-page .pm-guides-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:1rem; }
.pm-page .pm-guide-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-md); padding:1.25rem 1.5rem; text-decoration:none; display:flex; align-items:center; justify-content:space-between; gap:1rem; transition:all var(--t); }
.pm-page .pm-guide-card:hover { border-color:var(--coral); box-shadow:0 0 0 3px rgba(232,128,90,.1); }
.pm-page .pm-guide-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--coral); margin-bottom:3px; }
.pm-page .pm-guide-title { font-family:var(--font-head); font-size:15px; font-weight:700; color:var(--text); }
.pm-page .pm-guide-arrow { color:var(--text-muted); font-size:18px; flex-shrink:0; }
.pm-page .pm-related-grid { display:flex; flex-wrap:wrap; gap:.6rem; }
.pm-page .pm-related-pill { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--coral-dk); text-decoration:none; background:var(--coral-lt); padding:6px 14px; border-radius:99px; border:1px solid rgba(201,103,63,.2); transition:all var(--t); }
.pm-page .pm-related-pill:hover { background:var(--coral); color:#fff; }

/* AUTHORITY LINKS */
.pm-page .pm-authority-list { list-style:none; display:flex; flex-direction:column; gap:.6rem; padding:0; }
.pm-page .pm-authority-list a { color:var(--coral-dk); text-decoration:none; font-size:14px; font-weight:500; }
.pm-page .pm-authority-list a:hover { color:var(--coral); }
.pm-page .pm-authority-title { font-family:var(--font-head); font-size:1rem; font-weight:700; color:var(--text); margin-bottom:.75rem; }

/* FOOTER */
.pm-page .pm-footer { background:var(--navy); padding:3rem 24px 2rem; border-top:3px solid var(--coral); }
.pm-page .pm-footer-inner { max-width:1100px; margin:0 auto; }
.pm-page .pm-footer-top { display:flex; align-items:flex-start; justify-content:space-between; gap:2rem; flex-wrap:wrap; margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.08); }
.pm-page .pm-footer-logo { font-family:var(--font-head); font-size:18px; font-weight:800; color:#fff; letter-spacing:-0.02em; margin-bottom:.5rem; }
.pm-page .pm-footer-logo span { color:var(--coral); }
.pm-page .pm-footer-tagline { font-size:13px; color:rgba(255,255,255,.35); }
.pm-page .pm-footer-links { display:flex; gap:1.5rem; flex-wrap:wrap; }
.pm-page .pm-footer-links a { font-size:13px; color:rgba(255,255,255,.45); text-decoration:none; transition:color var(--t); }
.pm-page .pm-footer-links a:hover { color:rgba(255,255,255,.85); }
.pm-page .pm-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.pm-page .pm-disclaimer { font-size:12px; color:rgba(255,255,255,.25); max-width:640px; line-height:1.6; }
.pm-page .pm-disclaimer a { color:rgba(255,255,255,.3); }
.pm-page .pm-footer-copy { font-size:12px; color:rgba(255,255,255,.2); white-space:nowrap; }

/* MOBILE */
@media(max-width:768px) {
  .pm-page .pm-container { padding-left:20px; padding-right:20px; }
  .pm-page .pm-section { padding:48px 0; }
  .pm-page .pm-hero { padding:50px 0 58px; }
  .pm-page .pm-page-hero { padding:40px 0 48px; }
  .pm-page .pm-hero h1 { font-size:clamp(1.8rem,8vw,2.8rem); }
  .pm-page .pm-hero-sub { font-size:15px; }
  .pm-page .pm-code-card { padding:1.5rem 1.25rem; }
  .pm-page .pm-code-value { font-size:clamp(2rem,12vw,3.5rem); }
  .pm-page .pm-hero-actions { flex-direction:column; align-items:stretch; max-width:320px; margin-left:auto; margin-right:auto; gap:8px; }
  .pm-page .pm-trust-dot { display:none; }
  .pm-page .pm-steps { grid-template-columns:1fr; }
  .pm-page .pm-plans-grid { grid-template-columns:1fr; }
  .pm-page .pm-points-grid { grid-template-columns:1fr; }
  .pm-page .pm-guides-grid { grid-template-columns:1fr 1fr; }
  .pm-page .pm-verdict-box { flex-direction:column; gap:1rem; }
  .pm-page .pm-footer-top { flex-direction:column; gap:1.25rem; }
}
@media(max-width:400px) {
  .pm-page .pm-code-card { padding:1.25rem 1rem; }
  .pm-page .pm-guides-grid { grid-template-columns:1fr; }
  .pm-page .pm-hero-actions { max-width:100%; }
}


/* WordPress integration refinements */
body.pmr-theme-body { margin:0; background:#F5EFE3; }
.pm-page .screen-reader-text { position:absolute; left:-999em; }
.pm-page .pm-nav-links { margin:0; padding:0; }
.pm-page .pm-content-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); padding:2rem; }
.pm-page .pm-article-date { color:rgba(255,255,255,.5); font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.pm-page .pm-post-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem; }
.pm-page .pm-post-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-md); padding:1.35rem; text-decoration:none; color:var(--text); transition:all var(--t); }
.pm-page .pm-post-card:hover { border-color:var(--coral); box-shadow:0 0 0 3px rgba(232,128,90,.1); }
.pm-page .pm-post-card h2, .pm-page .pm-post-card h3 { font-family:var(--font-head); font-size:1.05rem; margin:.25rem 0 .5rem; color:var(--text); line-height:1.22; }
.pm-page .pm-post-card p { color:var(--text-muted); font-size:14px; line-height:1.65; margin:0; }
.pm-page .pm-primary-menu { display:flex; align-items:center; gap:.1rem; list-style:none; flex-wrap:wrap; margin:0; padding:0; }
.pm-page .pm-primary-menu li { margin:0; padding:0; }
.pm-page .pm-primary-menu a { font-size:13px; color:rgba(255,255,255,.7); text-decoration:none; padding:5px 10px; border-radius:var(--r-sm); transition:var(--t); white-space:nowrap; }
.pm-page .pm-primary-menu a:hover { color:#fff; background:rgba(255,255,255,.1); }
.pm-page .pm-primary-menu .pm-nav-cta a, .pm-page .pm-primary-menu a.pm-nav-cta { background:var(--coral)!important; color:#fff!important; font-weight:600!important; padding:7px 16px!important; border-radius:99px!important; }
.pm-page .pm-primary-menu .pm-nav-cta a:hover, .pm-page .pm-primary-menu a.pm-nav-cta:hover { background:var(--coral-dk)!important; }
.pm-page .pm-prose .wp-block-image img, .pm-page .pm-prose img { border-radius:var(--r-md); }
.pm-page .pm-prose blockquote { background:var(--coral-lt); border-left:3px solid var(--coral); border-radius:0 var(--r-md) var(--r-md) 0; padding:1rem 1.25rem; margin:1.5rem 0; color:var(--coral-dk); }
.pm-page .pm-prose table { width:100%; border-collapse:collapse; font-size:14px; margin:1.5rem 0; background:#fff; }
.pm-page .pm-prose th { background:var(--navy); color:#fff; font-family:var(--font-head); padding:11px 16px; text-align:left; }
.pm-page .pm-prose td { padding:10px 16px; border-bottom:1px solid var(--border); color:var(--text-muted); }
.pm-page .pm-prose tr:nth-child(even) td { background:var(--cream); }
@media(max-width:900px) { .pm-page .pm-primary-menu { display:none; } }


/* SEO featured images */
.pm-page .pm-featured-image { margin:0 0 2rem; border-radius:var(--r-xl); overflow:hidden; border:1px solid var(--border); background:var(--cream); box-shadow:0 20px 45px rgba(46,58,78,.10); }
.pm-page .pm-featured-image img { display:block; width:100%; height:auto; }
.pm-page .pm-featured-image figcaption { font-size:12px; color:var(--text-muted); padding:.75rem 1rem; background:rgba(255,255,255,.82); }

/* Inline SEO images seeded into post/page content for Rank Math analysis */
.pm-page .pm-inline-image { margin:1.5rem 0 2rem; border-radius:var(--r-xl); overflow:hidden; border:1px solid var(--border); background:var(--cream); box-shadow:0 20px 45px rgba(46,58,78,.10); }
.pm-page .pm-inline-image img { display:block; width:100%; height:auto; }
.pm-page .pm-inline-image figcaption { font-size:12px; color:var(--text-muted); padding:.75rem 1rem; background:rgba(255,255,255,.82); }


/* Final polish: active menu, readable dark CTA, clickable images */
.pm-page .pm-primary-menu li.current-menu-item > a,
.pm-page .pm-primary-menu li.current_page_item > a,
.pm-page .pm-primary-menu li.current-menu-ancestor > a,
.pm-page .pm-primary-menu li.current_page_parent > a,
.pm-page .pm-primary-menu li.pmr-active-menu-item > a,
.pm-page .pm-nav-links a.pm-active {
  color:#fff !important;
  background:rgba(232,128,90,.22) !important;
  box-shadow:inset 0 0 0 1px rgba(232,128,90,.35);
}
.pm-page .pm-primary-menu li.current-menu-item > a:hover,
.pm-page .pm-primary-menu li.pmr-active-menu-item > a:hover,
.pm-page .pm-nav-links a.pm-active:hover { background:rgba(232,128,90,.32) !important; }
.pm-page .pm-primary-menu .pm-nav-cta.current-menu-item > a,
.pm-page .pm-primary-menu .pm-nav-cta.pmr-active-menu-item > a,
.pm-page .pm-nav-links a.pm-nav-cta.pm-active { background:var(--coral) !important; box-shadow:0 0 0 3px rgba(232,128,90,.18); }
.pm-page .pm-cta-banner h2,
.pm-page .pm-cta-banner h3 { color:#fff !important; text-align:center !important; }
.pm-page .pm-cta-banner p { color:rgba(255,255,255,.76) !important; text-align:center; }
.pm-page .pm-cta-banner strong { color:#fff !important; }
.pm-page .pm-inline-image a,
.pm-page .pm-featured-image a { display:block; text-decoration:none; }
.pm-page .pm-inline-image a img,
.pm-page .pm-featured-image a img { transition:transform .25s ease, filter .25s ease; }
.pm-page .pm-inline-image a:hover img,
.pm-page .pm-featured-image a:hover img { transform:scale(1.012); filter:saturate(1.06) contrast(1.02); }
.pm-page .pm-post-card-image { margin:-1.25rem -1.5rem 1rem; border-radius:var(--r-md) var(--r-md) 0 0; overflow:hidden; }
.pm-page .pm-post-card-image img { display:block; width:100%; height:auto; }


/* Final 1.3 hard fixes */
.pm-page .pm-page-hero h1 span.pm-highlight { color:var(--coral) !important; }
.pm-page .pm-primary-menu li.pmr-active-menu-item > a,
.pm-page .pm-nav-links a.pm-active { border-color:rgba(232,128,90,.5) !important; }
.pm-page .pm-cta-banner .pm-section-title,
.pm-page .pm-cta-banner h2,
.pm-page .pm-cta-banner h3 { color:#fff !important; }
.pm-page .pm-cta-banner .pm-btn { color:#fff !important; }

/* 1.4 new/Beast post content fix */
.pm-page .pm-live-post-content > *:first-child { margin-top:0; }
.pm-page .pm-live-post-content > *:last-child { margin-bottom:0; }
.pm-page .pm-editor-notice {
  background:#FFF4ED;
  border:1px solid rgba(232,128,90,.35);
  border-left:4px solid var(--coral);
  color:#7A3D25;
  border-radius:var(--r-md);
  padding:1rem 1.15rem;
  margin:0 0 1.25rem;
  font-size:14px;
  line-height:1.55;
}


/* HARD POST CONTENT FIX */
.pm-page .pm-actual-post-content,
.pm-page .pm-live-post-content {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
.pm-page .pm-actual-post-content > *:first-child { margin-top:0; }
.pm-page .pm-editor-notice {
  background:#FDEEE7;
  color:#C9673F;
  border:1px solid rgba(201,103,63,.25);
  border-radius:12px;
  padding:16px 18px;
  margin:0 0 24px;
  font-weight:600;
}
.pm-page .pm-clickable-featured-image a { display:block; }
.pm-page .pm-clickable-featured-image img { display:block; width:100%; border-radius:20px; }


/* 1.5 article polish: wider reading area, fewer cramped blocks, cleaner CTAs */
.pm-page .pm-single-post-main .pm-container {
  max-width:1120px;
}
.pm-page .pm-article-wrap {
  width:100%;
  max-width:920px;
  margin:0 auto;
}
.pm-page .pm-single-post-main .pm-section-white {
  padding-top:70px;
  padding-bottom:70px;
}
.pm-page .pm-single-post-main .pm-content-card {
  padding:3rem 3.25rem;
  border-radius:24px;
  border-color:rgba(46,58,78,.09);
  box-shadow:0 24px 70px rgba(46,58,78,.08);
}
.pm-page .pm-single-post-main .pm-prose p {
  font-size:16.25px;
  line-height:1.86;
  margin-bottom:1.25rem;
}
.pm-page .pm-single-post-main .pm-prose h2 {
  font-size:clamp(1.35rem,2.5vw,1.85rem);
  margin-top:3rem;
  margin-bottom:.9rem;
  padding-top:1.4rem;
  border-top:1px solid rgba(46,58,78,.09);
}
.pm-page .pm-single-post-main .pm-prose h2:first-child,
.pm-page .pm-single-post-main .pm-actual-post-content > h2:first-child {
  margin-top:0;
  padding-top:0;
  border-top:0;
}
.pm-page .pm-single-post-main .pm-prose h3 {
  font-size:1.18rem;
  margin-top:2rem;
  margin-bottom:.55rem;
}
.pm-page .pm-single-post-main .pm-prose ul,
.pm-page .pm-single-post-main .pm-prose ol {
  margin:1rem 0 1.35rem 1.4rem;
}
.pm-page .pm-single-post-main .pm-prose li {
  font-size:16px;
  line-height:1.78;
  margin-bottom:.55rem;
}
.pm-page .pm-single-post-main .pm-inline-image,
.pm-page .pm-single-post-main .pm-featured-image {
  margin:2rem 0 2.5rem;
  border-radius:22px;
  box-shadow:0 24px 55px rgba(46,58,78,.11);
}
.pm-page .pm-single-post-main .pm-inline-image:first-child,
.pm-page .pm-single-post-main .pm-featured-image:first-child {
  margin-top:0;
}
.pm-page .pm-single-post-main .pm-cta-banner {
  max-width:760px;
  margin:3rem auto;
  padding:2.25rem 2rem;
  border-radius:22px;
  box-shadow:0 22px 60px rgba(46,58,78,.16);
}
.pm-page .pm-single-post-main .pm-cta-banner .pm-cta-code {
  font-size:clamp(2rem,5vw,2.8rem);
}
.pm-page .pm-single-post-main .pm-cta-banner p {
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
}
.pm-page .pm-single-post-main .pm-table-wrap {
  margin:2rem 0;
  border:1px solid rgba(46,58,78,.10);
  border-radius:14px;
  box-shadow:0 14px 32px rgba(46,58,78,.05);
}
.pm-page .pm-single-post-main .pm-prose table {
  margin:0;
}
.pm-page .pm-single-post-main .pm-prose th,
.pm-page .pm-single-post-main .pm-prose td {
  padding:13px 16px;
}
.pm-page .pm-single-post-main .pm-related-grid {
  max-width:920px;
}
.pm-page .pm-single-post-main + .pm-section-cream-dk .pm-container,
.pm-page .pm-section-cream-dk .pm-container {
  max-width:1120px;
}
@media(max-width:900px) {
  .pm-page .pm-single-post-main .pm-content-card {
    padding:2rem;
    border-radius:20px;
  }
  .pm-page .pm-single-post-main .pm-section-white {
    padding-top:48px;
    padding-bottom:48px;
  }
}
@media(max-width:600px) {
  .pm-page .pm-single-post-main .pm-content-card {
    padding:1.35rem;
  }
  .pm-page .pm-single-post-main .pm-prose p,
  .pm-page .pm-single-post-main .pm-prose li {
    font-size:15.5px;
  }
  .pm-page .pm-single-post-main .pm-cta-banner {
    padding:1.75rem 1.25rem;
  }
}

/* 1.7 dynamic Guides hub - non-destructive latest posts grid */
.pm-page .pm-guides-latest-header {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1.5rem;
}
.pm-page .pm-guides-header-btn {
  flex-shrink:0;
  margin-bottom:.25rem;
}
.pm-page .pm-latest-posts-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.25rem;
}
.pm-page .pm-latest-post-card {
  background:var(--white);
  border:1px solid rgba(46,58,78,.10);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(46,58,78,.07);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.pm-page .pm-latest-post-card:hover {
  transform:translateY(-3px);
  border-color:rgba(232,128,90,.45);
  box-shadow:0 26px 65px rgba(46,58,78,.12);
}
.pm-page .pm-latest-post-link {
  display:flex;
  flex-direction:column;
  min-height:100%;
  color:inherit;
  text-decoration:none;
}
.pm-page .pm-latest-post-media {
  aspect-ratio:16/9;
  background:linear-gradient(135deg,var(--navy),var(--navy-mid));
  overflow:hidden;
}
.pm-page .pm-latest-post-media img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .28s ease, filter .28s ease;
}
.pm-page .pm-latest-post-card:hover .pm-latest-post-media img {
  transform:scale(1.035);
  filter:saturate(1.06) contrast(1.02);
}
.pm-page .pm-latest-post-fallback {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at 25% 20%,rgba(232,128,90,.36),transparent 35%),linear-gradient(135deg,var(--navy),var(--navy-mid));
}
.pm-page .pm-latest-post-fallback span {
  font-family:var(--font-head);
  font-size:4rem;
  font-weight:800;
  color:rgba(255,255,255,.82);
}
.pm-page .pm-latest-post-body {
  padding:1.25rem 1.35rem 1.4rem;
  display:flex;
  flex-direction:column;
  flex:1;
}
.pm-page .pm-latest-post-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.7rem;
  color:var(--coral-dk);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pm-page .pm-latest-post-meta span:last-child {
  color:var(--text-muted);
  font-weight:700;
}
.pm-page .pm-latest-post-body h3 {
  font-family:var(--font-head);
  font-size:1.14rem;
  line-height:1.18;
  color:var(--text);
  margin:0 0 .65rem;
  letter-spacing:-.025em;
}
.pm-page .pm-latest-post-body p {
  color:var(--text-muted);
  font-size:14px;
  line-height:1.65;
  margin:0 0 1rem;
}
.pm-page .pm-latest-read-more {
  margin-top:auto;
  color:var(--coral-dk);
  font-size:13px;
  font-weight:800;
}
.pm-page .pm-guides-scheduled-admin {
  border-top:1px solid rgba(46,58,78,.08);
}
@media(max-width:760px) {
  .pm-page .pm-guides-latest-header {
    display:block;
  }
  .pm-page .pm-guides-header-btn {
    margin-top:1rem;
  }
}
