/* Phorestrokes Membership — Frontend CSS */

:root {
  --phm-or:   #e8550a;
  --phm-oh:   #f06020;
  --phm-olt:  #fff2ec;
  --phm-ink:  #1a1a1a;
  --phm-mid:  #666;
  --phm-brd:  #e8e8e8;
  --phm-bg:   #f7f7f7;
  --phm-wh:   #ffffff;
  --phm-grn:  #2e7d32;
  --phm-grn-lt:#e8f5e9;
  --phm-red:  #c62828;
  --phm-red-lt:#ffebee;
  --phm-amr:  #e65100;
  --phm-amr-lt:#fff3e0;
}

/* ── PRODUCT PAGE NOTICES ──────────────────────── */
.phm-product-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 13px 16px;
  border-radius: 8px;
  font-size: 13.5px;
  line-height: 1.55;
  margin-bottom: 18px;
  font-family: 'DM Sans', -apple-system, sans-serif;
}
.phm-product-notice svg { flex-shrink: 0; margin-top: 2px; }

.phm-notice-member {
  background: var(--phm-grn-lt);
  border: 1px solid rgba(46,125,50,0.25);
  color: var(--phm-grn);
}
.phm-notice-member a { color: var(--phm-grn); }

.phm-notice-quota {
  background: var(--phm-amr-lt);
  border: 1px solid rgba(230,81,0,0.25);
  color: var(--phm-amr);
}
.phm-notice-quota a { color: var(--phm-amr); }

.phm-notice-warning {
  background: var(--phm-red-lt);
  border: 1px solid rgba(198,40,40,0.2);
  color: var(--phm-red);
}
.phm-notice-warning a { color: var(--phm-red); }

.phm-notice-info {
  background: #e3f2fd;
  border: 1px solid rgba(21,101,192,0.2);
  color: #1565c0;
}
.phm-notice-info a { color: #1565c0; }

.phm-product-notice strong { font-weight: 700; }
.phm-product-notice em { font-style: normal; opacity: 0.75; margin-left: 4px; }
.phm-product-notice a { text-decoration: underline; font-weight: 600; }

/* Inline price note on product */
.phm-inline-note {
  display: block;
  margin-top: 6px;
  font-size: 12.5px;
  color: var(--phm-grn);
  font-weight: 500;
}

/* Cart free badge */
.phm-free-badge {
  font-weight: 700;
  color: var(--phm-grn);
  background: var(--phm-grn-lt);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 13px;
}
.phm-plan-note { font-size: 11px; color: var(--phm-mid); }

/* Upsell notice on product page */
.phm-upsell-notice {
  background: var(--phm-olt);
  border: 1px solid rgba(232,85,10,0.18);
  border-radius: 8px;
  padding: 13px 16px;
  margin: 14px 0;
}
.phm-upsell-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.phm-upsell-text { font-size: 13px; color: var(--phm-ink); }
.phm-upsell-text strong { color: var(--phm-or); }
.phm-upsell-btn {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--phm-or);
  text-decoration: none;
  border: 1.5px solid var(--phm-or);
  padding: 6px 16px;
  border-radius: 6px;
  white-space: nowrap;
  transition: background .2s, color .2s;
}
.phm-upsell-btn:hover { background: var(--phm-or); color: #fff; }

/* ── FRONTEND DASHBOARD ────────────────────────── */
.phm-dash {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--phm-ink);
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 0 60px;
}

/* Gate screen */
.phm-dash-gate {
  text-align: center;
  padding: 64px 24px;
  color: var(--phm-mid);
}
.phm-dash-gate svg { margin-bottom: 16px; }
.phm-dash-gate p { font-size: 15px; }
.phm-dash-gate a { color: var(--phm-or); font-weight: 600; }

/* HEADER */
.phm-dash-header {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 24px 28px;
  background: var(--phm-wh);
  border: 1px solid var(--phm-brd);
  border-radius: 12px;
  margin-bottom: 20px;
}
.phm-avatar { border-radius: 50%; display: block; }
.phm-dash-user h2 { font-size: 22px; font-weight: 700; margin: 0 0 4px; }
.phm-dash-email { font-size: 13px; color: var(--phm-mid); margin-right: 10px; }

/* Status pill */
.phm-status-pill {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.phm-status-ok  { background: var(--phm-grn-lt); color: var(--phm-grn); }
.phm-status-exp { background: #fff3cd; color: #856404; }
.phm-status-sus { background: var(--phm-red-lt); color: var(--phm-red); }

/* STAT GRID */
.phm-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 20px;
}
.phm-stat-card {
  background: var(--phm-wh);
  border: 1px solid var(--phm-brd);
  border-radius: 12px;
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.phm-stat-icon {
  width: 38px; height: 38px;
  background: var(--phm-olt);
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--phm-or);
  margin-bottom: 4px;
}
.phm-stat-plan .phm-stat-icon { background: var(--phm-grn-lt); color: var(--phm-grn); }
.phm-stat-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--phm-mid); }
.phm-stat-val { font-size: 28px; font-weight: 700; color: var(--phm-ink); font-family: Georgia, serif; line-height: 1; }
.phm-stat-sub { font-size: 12px; color: var(--phm-mid); }
.phm-stat-val.phm-orange { color: var(--phm-or); }
.phm-stat-val.phm-red    { color: var(--phm-red); }

/* QUOTA BAR */
.phm-quota-section {
  background: var(--phm-wh);
  border: 1px solid var(--phm-brd);
  border-radius: 12px;
  padding: 22px 24px;
  margin-bottom: 20px;
}
.phm-quota-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.phm-quota-title { font-size: 14px; font-weight: 600; }
.phm-quota-nums { font-size: 13px; color: var(--phm-mid); }
.phm-quota-bar-bg {
  height: 10px;
  background: var(--phm-bg);
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 10px;
}
.phm-quota-bar-fill {
  height: 100%;
  background: var(--phm-or);
  border-radius: 20px;
  transition: width 0.6s ease;
}
.phm-quota-bar-fill.phm-bar-full { background: var(--phm-red); }
.phm-quota-msg {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  padding: 9px 13px;
  border-radius: 7px;
  margin-top: 6px;
}
.phm-quota-msg a { font-weight: 600; }
.phm-quota-empty { background: var(--phm-red-lt); color: var(--phm-red); }
.phm-quota-empty a { color: var(--phm-red); }
.phm-quota-warn { background: var(--phm-amr-lt); color: var(--phm-amr); }

/* PLAN DETAILS */
.phm-plan-details {
  background: var(--phm-wh);
  border: 1px solid var(--phm-brd);
  border-radius: 12px;
  padding: 22px 24px;
  margin-bottom: 20px;
}
.phm-pd-header { font-size: 14px; font-weight: 700; margin-bottom: 14px; color: var(--phm-ink); }
.phm-pd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.phm-pd-row {
  display: flex;
  justify-content: space-between;
  padding: 9px 0;
  border-bottom: 1px solid var(--phm-brd);
  font-size: 13.5px;
  gap: 12px;
}
.phm-pd-row:last-child { border-bottom: none; }
.phm-pd-row span { color: var(--phm-mid); }
.phm-pd-row strong { color: var(--phm-ink); text-align: right; }
.phm-pd-actions { display: flex; gap: 12px; margin-top: 18px; }

/* BUTTONS */
.phm-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  padding: 10px 22px;
  border-radius: 8px;
  transition: all .2s;
  font-family: inherit;
}
.phm-btn-primary { background: var(--phm-or); color: #fff; }
.phm-btn-primary:hover { background: var(--phm-oh); color: #fff; transform: translateY(-1px); }
.phm-btn-outline { background: var(--phm-wh); color: var(--phm-or); border: 2px solid var(--phm-or); }
.phm-btn-outline:hover { background: var(--phm-olt); color: var(--phm-or); }

/* THIS PERIOD + HISTORY */
.phm-dl-section,
.phm-history-section {
  background: var(--phm-wh);
  border: 1px solid var(--phm-brd);
  border-radius: 12px;
  padding: 22px 24px;
  margin-bottom: 20px;
  overflow: hidden;
}
.phm-dl-header, .phm-history-header {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--phm-ink);
}
.phm-history-count {
  font-size: 12px;
  font-weight: 400;
  color: var(--phm-mid);
  background: var(--phm-bg);
  padding: 2px 8px;
  border-radius: 20px;
}

/* DL LIST */
.phm-dl-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--phm-brd);
}
.phm-dl-row:last-child { border-bottom: none; }
.phm-dl-thumb { flex-shrink: 0; width: 48px; height: 48px; border-radius: 7px; overflow: hidden; background: var(--phm-bg); }
.phm-dl-thumb img { width: 100%; height: 100%; object-fit: cover; }
.phm-dl-placeholder { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; }
.phm-dl-info { flex: 1; min-width: 0; }
.phm-dl-name { display: block; font-size: 13.5px; font-weight: 500; color: var(--phm-ink); text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.phm-dl-name:hover { color: var(--phm-or); }
.phm-dl-lic { display: block; font-size: 11.5px; color: var(--phm-mid); margin-top: 2px; }
.phm-dl-date { font-size: 12px; color: var(--phm-mid); flex-shrink: 0; }

/* HISTORY TABLE */
.phm-history-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.phm-history-table th { padding: 9px 12px; text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--phm-mid); border-bottom: 1px solid var(--phm-brd); }
.phm-history-table td { padding: 10px 12px; border-bottom: 1px solid var(--phm-brd); }
.phm-history-table tbody tr:last-child td { border-bottom: none; }
.phm-history-table a { color: var(--phm-or); text-decoration: none; }
.phm-history-table a:hover { text-decoration: underline; }

/* UPGRADE CTA */
.phm-upgrade-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: var(--phm-olt);
  border: 1px solid rgba(232,85,10,0.2);
  border-radius: 12px;
  padding: 22px 24px;
  margin-bottom: 20px;
}
.phm-uc-text { font-size: 14px; color: var(--phm-ink); }
.phm-uc-text strong { display: block; font-size: 16px; margin-bottom: 4px; color: var(--phm-or); }
.phm-uc-text span { font-size: 13px; color: var(--phm-mid); }

/* RESPONSIVE */
@media (max-width: 768px) {
  .phm-stat-grid { grid-template-columns: 1fr 1fr; }
  .phm-pd-grid { grid-template-columns: 1fr; }
  .phm-upgrade-cta { flex-direction: column; align-items: flex-start; }
  .phm-upsell-inner { flex-direction: column; align-items: flex-start; }
  .phm-pd-actions { flex-direction: column; }
}
@media (max-width: 480px) {
  .phm-stat-grid { grid-template-columns: 1fr; }
  .phm-dash-header { flex-direction: column; text-align: center; }
}

/* ── AUTH / LOGIN PAGE ─────────────────────────────── */
.phm-auth-wrap {
  max-width: 480px;
  margin: 0 auto;
  font-family: 'DM Sans', -apple-system, sans-serif;
}
.phm-auth-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 28px;
}
.phm-auth-brand { display: flex; align-items: baseline; gap: 2px; }
.phm-auth-p { font-family: 'UnifrakturMaguntia', cursive; font-size: 26px; color: #1a1d21; }
.phm-auth-s { font-family: 'UnifrakturMaguntia', cursive; font-size: 26px; color: #e8550a; }

.phm-auth-logged-in { text-align:center; padding:32px; background:#f7f7f7; border-radius:12px; }
.phm-auth-logged-in a { color:#e8550a; font-weight:600; }

/* Tabs */
.phm-auth-tabs {
  display: flex;
  border-bottom: 2px solid #e8e8e8;
  margin-bottom: 28px;
  gap: 0;
}
.phm-auth-tab {
  flex: 1;
  padding: 11px 8px;
  font-size: 13px;
  font-weight: 600;
  color: #999;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: color .2s, border-color .2s;
  font-family: inherit;
}
.phm-auth-tab:hover { color: #1a1a1a; }
.phm-auth-tab.active { color: #e8550a; border-bottom-color: #e8550a; }

/* Panels */
.phm-auth-panel { display: none; }
.phm-auth-panel.active { display: block; }
.phm-auth-panel h2 { font-size: 22px; font-weight: 700; margin: 0 0 6px; color: #1a1a1a; }
.phm-auth-sub { font-size: 14px; color: #888; margin-bottom: 24px; }

/* Form groups */
.phm-form-group { margin-bottom: 16px; }
.phm-form-group label { display: block; font-size: 13px; font-weight: 600; color: #444; margin-bottom: 6px; }
.phm-form-group input[type="text"],
.phm-form-group input[type="email"],
.phm-form-group input[type="password"],
.phm-form-group input[type="date"],
.phm-form-group textarea,
.phm-profile-section input[type="text"],
.phm-profile-section input[type="email"],
.phm-profile-section input[type="password"] {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid #e8e8e8;
  border-radius: 8px;
  font-size: 14.5px;
  color: #1a1a1a;
  background: #fff;
  font-family: inherit;
  transition: border-color .2s, box-shadow .2s;
}
.phm-form-group input:focus,
.phm-profile-section input:focus {
  outline: none;
  border-color: #e8550a;
  box-shadow: 0 0 0 3px rgba(232,85,10,.08);
}
.phm-form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.phm-pass-wrap { position: relative; }
.phm-pass-wrap input { padding-right: 42px; }
.phm-toggle-pass {
  position: absolute; right: 12px; top: 50%;
  transform: translateY(-50%);
  background: none; border: none; cursor: pointer;
  color: #aaa; display: flex; align-items: center;
}
.phm-toggle-pass:hover { color: #666; }
.phm-eye-open { opacity: .5; }
.phm-pass-strength { margin-top: 5px; min-height: 16px; }
.phm-checkbox-label {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 13px; color: #555; margin-bottom: 20px; cursor: pointer;
}
.phm-checkbox-label input { accent-color: #e8550a; margin-top: 2px; }
.phm-checkbox-label a { color: #e8550a; }

/* Auth button */
.phm-auth-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; height: 48px;
  background: #e8550a; color: #fff;
  border: none; border-radius: 9px;
  font-size: 15px; font-weight: 700;
  cursor: pointer; font-family: inherit;
  transition: background .2s, transform .15s;
  margin-bottom: 16px;
}
.phm-auth-btn:hover { background: #f06020; transform: translateY(-1px); }
.phm-auth-btn:disabled { opacity: .55; cursor: default; transform: none; }
.phm-auth-switch { font-size: 13px; color: #888; text-align: center; }
.phm-auth-switch a { color: #e8550a; font-weight: 600; text-decoration: none; }

/* Msg */
.phm-auth-msg {
  padding: 11px 14px;
  border-radius: 7px;
  font-size: 13.5px;
  margin-bottom: 16px;
}
.phm-msg-ok    { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.phm-msg-error { background: #ffebee; color: #c62828; border: 1px solid #ef9a9a; }

/* Spinner */
.phm-spin { animation: phm-rotate 0.7s linear infinite; }
@keyframes phm-rotate { to { transform: rotate(360deg); } }

/* ── LOGOUT BUTTON ───────────────────────────────── */
.phm-logout-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  color: #666;
  text-decoration: none;
  padding: 7px 16px;
  border: 1.5px solid #e8e8e8;
  border-radius: 8px;
  transition: all .2s;
  font-family: inherit;
  cursor: pointer;
  background: transparent;
}
.phm-logout-btn:hover { border-color: #e8550a; color: #e8550a; }

/* Dashboard header actions */
.phm-dash-header { align-items: center; }
.phm-dash-header-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; flex-shrink: 0; }
.phm-btn-sm { font-size: 12.5px; height: auto; padding: 8px 18px; }

/* Profile section */
.phm-profile-section {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 20px;
}
.phm-profile-header { font-size: 14px; font-weight: 700; margin-bottom: 18px; color: #1a1a1a; }
.phm-profile-pass-section { margin: 14px 0; }
.phm-profile-pass-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13.5px;
  font-weight: 600;
  color: #e8550a;
  cursor: pointer;
  padding: 6px 0;
}
.phm-pass-fields { margin-top: 14px; }

/* ── PLANS PAGE ──────────────────────────────────── */
.phm-plans-page { font-family: 'DM Sans', -apple-system, sans-serif; }
.phm-pp-hero {
  text-align: center;
  padding: 52px 24px 40px;
}
.phm-pp-eyebrow {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: #e8550a; background: #fff2ec;
  padding: 5px 14px; border-radius: 20px; margin-bottom: 18px;
}
.phm-pp-hero h2 { font-size: clamp(28px,4vw,44px); font-weight: 700; color: #1a1a1a; margin: 0 0 12px; font-family: Georgia, serif; }
.phm-pp-hero p  { font-size: 16px; color: #666; max-width: 520px; margin: 0 auto; line-height: 1.7; }

/* Plan cards */
.phm-plan-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 820px;
  margin: 0 auto 48px;
  padding: 0 20px;
}
.phm-plan-card-outer {
  position: relative;
  background: #fff;
  border: 2px solid #e8e8e8;
  border-radius: 16px;
  padding: 32px 28px 28px;
  text-align: center;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.phm-plan-card-outer:hover { border-color: #e8550a; box-shadow: 0 8px 32px rgba(232,85,10,.12); transform: translateY(-2px); }
.phm-plan-card-outer.phm-featured { border-color: #e8550a; box-shadow: 0 8px 32px rgba(232,85,10,.14); }
.phm-featured-tag {
  position: absolute; top: -13px; left: 50%;
  transform: translateX(-50%);
  background: #e8550a; color: #fff;
  font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  padding: 4px 16px; border-radius: 20px; white-space: nowrap;
  display: flex; align-items: center; gap: 5px;
}
.phm-current-tag {
  position: absolute; top: 12px; right: 12px;
  font-size: 10px; font-weight: 700;
  background: #e8f5e9; color: #2e7d32;
  padding: 3px 10px; border-radius: 20px;
}
.phm-plan-card-icon {
  width: 56px; height: 56px; border-radius: 14px;
  background: #fff2ec; color: #e8550a;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px;
  border: 1px solid rgba(232,85,10,.15);
}
.phm-plan-card-name { font-size: 18px; font-weight: 700; color: #1a1a1a; margin-bottom: 10px; }
.phm-plan-card-price {
  font-size: 40px; font-weight: 700; color: #e8550a;
  font-family: Georgia, serif; margin-bottom: 6px;
  display: flex; align-items: baseline; justify-content: center; gap: 4px;
}
.phm-plan-card-price span { font-size: 16px; font-weight: 400; color: #888; }
.phm-plan-card-saving { font-size: 12px; color: #2e7d32; background: #e8f5e9; padding: 3px 10px; border-radius: 20px; display: inline-block; margin-bottom: 10px; }
.phm-plan-card-desc { font-size: 13.5px; color: #888; margin-bottom: 20px; line-height: 1.6; }
.phm-plan-card-features {
  list-style: none; padding: 0; margin: 0 0 24px;
  border-top: 1px solid #e8e8e8; padding-top: 18px; text-align: left;
}
.phm-plan-card-features li {
  display: flex; align-items: flex-start; gap: 9px;
  font-size: 13.5px; color: #1a1a1a; padding: 5px 0;
}
.phm-plan-card-features li svg { flex-shrink: 0; color: #e8550a; margin-top: 1px; }
.phm-plan-card-btn {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  width: 100%; height: 46px;
  border-radius: 9px; font-size: 14px; font-weight: 700;
  text-decoration: none; transition: all .2s;
}
.phm-btn-primary { background: #e8550a; color: #fff; border: 2px solid #e8550a; }
.phm-btn-primary:hover { background: #f06020; color: #fff; border-color: #f06020; }
.phm-btn-outline { background: #fff; color: #e8550a; border: 2px solid #e8550a; }
.phm-btn-outline:hover { background: #fff2ec; }

/* Trust strip */
.phm-pp-trust {
  display: flex; justify-content: center; gap: 32px;
  flex-wrap: wrap;
  max-width: 700px; margin: 0 auto 48px;
  font-size: 13px; color: #666;
}
.phm-trust-item { display: flex; align-items: center; gap: 7px; }

/* Comparison table */
.phm-compare-section { max-width: 860px; margin: 0 auto 48px; padding: 0 20px; }
.phm-compare-section h3 { font-size: 22px; font-weight: 700; margin-bottom: 20px; color: #1a1a1a; text-align: center; }
.phm-compare-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.phm-compare-table th { padding: 12px 16px; text-align: center; font-size: 12px; letter-spacing: .07em; text-transform: uppercase; color: #888; border-bottom: 2px solid #e8e8e8; }
.phm-compare-table th:first-child { text-align: left; }
.phm-compare-table td { padding: 12px 16px; border-bottom: 1px solid #e8e8e8; text-align: center; }
.phm-compare-table td:first-child { text-align: left; color: #666; }
.phm-col-featured { background: #fff2ec !important; color: #e8550a; font-weight: 700; }
.phm-col-mid { color: #aaa; }

/* FAQ */
.phm-pp-faq { max-width: 680px; margin: 0 auto 48px; padding: 0 20px; }
.phm-pp-faq h3 { font-size: 22px; font-weight: 700; margin-bottom: 20px; color: #1a1a1a; text-align: center; }
.phm-faq-item { border: 1px solid #e8e8e8; border-radius: 10px; margin-bottom: 10px; overflow: hidden; }
.phm-faq-q {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; font-size: 14.5px; font-weight: 600; color: #1a1a1a;
  background: #fff; border: none; cursor: pointer; font-family: inherit; text-align: left;
  gap: 12px; transition: background .2s;
}
.phm-faq-q:hover { background: #fff8f5; }
.phm-faq-item.open .phm-faq-q { background: #fff2ec; color: #e8550a; }
.phm-faq-chev { flex-shrink: 0; transition: transform .25s; }
.phm-faq-item.open .phm-faq-chev { transform: rotate(180deg); }
.phm-faq-a {
  max-height: 0; overflow: hidden;
  font-size: 14px; color: #666; line-height: 1.7;
  padding: 0 20px; transition: max-height .3s ease, padding .3s;
}
.phm-faq-item.open .phm-faq-a { max-height: 200px; padding: 14px 20px 18px; }

/* Bottom CTA */
.phm-pp-cta-bottom {
  text-align: center; padding: 40px 20px;
  background: #f7f7f7; border-radius: 16px;
  max-width: 680px; margin: 0 auto 24px;
}
.phm-pp-cta-bottom h3 { font-size: 22px; font-weight: 700; color: #1a1a1a; margin-bottom: 10px; }
.phm-pp-cta-bottom p  { font-size: 15px; color: #666; }
.phm-pp-cta-bottom a  { color: #e8550a; font-weight: 600; }

/* Responsive */
@media (max-width: 600px) {
  .phm-plan-cards { grid-template-columns: 1fr; }
  .phm-form-row-2 { grid-template-columns: 1fr; }
  .phm-pp-trust { gap: 16px; }
  .phm-compare-table th:last-child, .phm-compare-table td:last-child { display: none; }
}
