/* Peptidist Membership. Built on the peptidist theme palette (--ink, --type, --line, --coral and its fonts), with fallbacks if those variables are missing. --pdm-accent is set from the settings page. */
.pdm-offer, .pdm-landing, .pdm-account, .pdm-early, .pdm-hint, .pdm-badge, .pdm-savings-row {
	--pdm-ink: var(--ink, #122E3E);
	--pdm-ink-deep: var(--ink-deep, #0B1D26);
	--pdm-ink-lift: var(--ink-lift, #193C4F);
	--pdm-type: var(--type, #C7DAE4);
	--pdm-type-dim: var(--type-dim, #93ADBA);
	--pdm-line: var(--line, #264B5E);
	--pdm-on-accent: var(--ink-deep, #0B1D26);
	--pdm-display: var(--display, 'Archivo', 'Helvetica Neue', Arial, sans-serif);
	--pdm-data: var(--data, 'IBM Plex Mono', ui-monospace, monospace);
	--pdm-radius: 0;
}
.pdm-offer, .pdm-landing, .pdm-account, .pdm-early { color: var(--pdm-type); }

/* Shared labels: the theme's mono, uppercase, tracked style */
.pdm-tag, .pdm-badge, .pdm-eyebrow, .pdm-table thead th, .pdm-join.button {
	font-family: var(--pdm-data); text-transform: uppercase; letter-spacing: .08em;
}

/* Product page offer */
.pdm-offer { display: grid; gap: 10px; margin: 0 0 18px; }
.pdm-option {
	display: flex; gap: 12px; align-items: flex-start;
	padding: 14px 16px; border: 1px solid var(--pdm-line); border-radius: var(--pdm-radius);
	background: var(--pdm-ink-deep); cursor: pointer; transition: border-color .15s, background .15s;
}
.pdm-option:hover { border-color: var(--pdm-type-dim); }
.pdm-option.is-selected { border-color: var(--pdm-accent); background: var(--pdm-ink-lift); }
.pdm-option input[type="radio"] { margin-top: 4px; accent-color: var(--pdm-accent); flex: none; }
.pdm-option__body { display: grid; gap: 6px; flex: 1; min-width: 0; }
.pdm-option__head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
.pdm-option__title { font-family: var(--pdm-display); font-weight: 700; color: var(--pdm-type); }
.pdm-option__price { display: flex; gap: 8px; align-items: baseline; font-family: var(--pdm-data); font-size: 1.05em; }
.pdm-member-price { font-weight: 700; font-size: 1.25em; color: var(--pdm-accent); }
.pdm-list-price { color: var(--pdm-type-dim); }
.pdm-option__note { font-size: .9em; color: var(--pdm-type-dim); }
.pdm-tag, .pdm-badge {
	display: inline-block; padding: 3px 8px; border-radius: var(--pdm-radius);
	background: var(--pdm-accent); color: var(--pdm-on-accent); font-size: .7em; font-weight: 600; line-height: 1.4;
}
.pdm-hint { display: inline-block; margin-left: 6px; font-family: var(--pdm-data); font-size: .8em; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--pdm-accent); }
/* WooCommerce price spans carry the theme's own color; inside plugin elements they follow the plugin's. */
.pdm-hint .amount, .pdm-member-price .amount, .pdm-stats strong .amount, .pdm-strong .amount, .pdm-compare td .amount, .pdm-savings-row .amount { color: inherit; font-weight: inherit; }
.pdm-perks { margin: 4px 0 0; padding: 0; list-style: none; display: grid; gap: 4px; font-size: .9em; color: var(--pdm-type); }
.pdm-perks li { position: relative; padding-left: 20px; }
.pdm-perks li::before { content: "✓"; position: absolute; left: 0; color: var(--pdm-accent); font-weight: 700; }
.pdm-offer__today { margin: 0; font-size: .9em; color: var(--pdm-type-dim); }
.pdm-offer__today .amount, .pdm-today { color: var(--pdm-type); font-weight: 600; }

/* Cart, early access */
.pdm-savings-row th, .pdm-savings-row td { color: var(--pdm-accent); font-weight: 600; }
.pdm-early { padding: 14px 16px; border: 1px dashed var(--pdm-accent); border-radius: var(--pdm-radius); background: var(--pdm-ink-deep); margin: 0 0 16px; }
.pdm-early p { margin: 0 0 10px; }

/* Buttons and links */
.pdm-join.button, a.pdm-join.button {
	display: inline-block; background: var(--pdm-accent); color: var(--pdm-on-accent); border: 1px solid var(--pdm-accent);
	border-radius: var(--pdm-radius); font-weight: 600; padding: 15px 26px; text-decoration: none;
}
.pdm-join.button:hover, a.pdm-join.button:hover { background: transparent; color: var(--pdm-accent); }
.pdm-link { font-weight: 600; color: var(--pdm-accent); }

/* Landing page */
.pdm-landing { display: grid; gap: 48px; max-width: 1040px; margin: 0 auto; }
.pdm-landing h2, .pdm-landing h3 { font-family: var(--pdm-display); color: var(--pdm-type); }
/* The theme caps paragraph width, which pulls centered lines off center. */
.pdm-landing p { max-width: none; }
.pdm-table a { color: var(--pdm-type); text-decoration: none; border-bottom: 1px solid var(--pdm-line); }
.pdm-table a:hover { color: var(--pdm-accent); border-color: var(--pdm-accent); }
.pdm-hero { text-align: center; padding: 48px 16px; border: 1px solid var(--pdm-line); background: var(--pdm-ink-deep); }
.pdm-hero h2 { font-size: clamp(1.8rem, 4.5vw, 3rem); line-height: 1.1; margin: 8px 0 12px; }
.pdm-hero--end { padding: 36px 16px; }
.pdm-eyebrow { font-size: .78em; font-weight: 600; color: var(--pdm-accent); margin: 0; }
.pdm-landing .pdm-lead { font-size: 1.15em; max-width: 560px; margin: 0 auto 24px; color: var(--pdm-type-dim); }
.pdm-actions { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; align-items: center; }
.pdm-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.pdm-stats > div { padding: 20px; border: 1px solid var(--pdm-line); background: var(--pdm-ink-deep); display: grid; gap: 4px; }
.pdm-stats strong { font-family: var(--pdm-data); font-size: 1.8em; line-height: 1.1; color: var(--pdm-accent); }
.pdm-stats span { font-size: .9em; color: var(--pdm-type-dim); }
.pdm-section h3 { margin: 0 0 16px; }
.pdm-perk-grid { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.pdm-perk-grid li { padding: 16px 16px 16px 40px; border: 1px solid var(--pdm-line); background: var(--pdm-ink-deep); position: relative; }
.pdm-perk-grid li::before { content: "✓"; position: absolute; left: 16px; top: 16px; color: var(--pdm-accent); font-weight: 700; }
.pdm-steps { margin: 0; padding: 0; list-style: none; counter-reset: pdm; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.pdm-steps li { counter-increment: pdm; padding: 16px; border: 1px solid var(--pdm-line); background: var(--pdm-ink-lift); display: grid; gap: 6px; }
.pdm-steps li::before { content: counter(pdm, decimal-leading-zero); font-family: var(--pdm-data); font-weight: 600; color: var(--pdm-accent); font-size: 1.2em; }
.pdm-table-wrap { overflow-x: auto; }
.pdm-table { width: 100%; border-collapse: collapse; }
.pdm-table th, .pdm-table td { padding: 10px 12px; border-bottom: 1px solid var(--pdm-line); text-align: left; color: var(--pdm-type); }
.pdm-table td { font-variant-numeric: tabular-nums; }
.pdm-table thead th { font-size: .75em; font-weight: 500; color: var(--pdm-type-dim); }
.pdm-strong, .pdm-compare td:nth-child(2) { font-weight: 700; color: var(--pdm-accent); }
.pdm-faq details { border-bottom: 1px solid var(--pdm-line); padding: 12px 0; }
.pdm-faq summary { cursor: pointer; font-weight: 600; color: var(--pdm-type); }
.pdm-faq details p { margin: 8px 0 0; color: var(--pdm-type-dim); }
.pdm-small { font-size: .85em; color: var(--pdm-type-dim); }
.pdm-disclaimer { text-align: center; max-width: none; }

/* Account */
.pdm-account { display: grid; gap: 16px; }
.pdm-account .pdm-stats { margin: 0; }
