/* Pulse Moments — guest post & sponsored content ordering page (dark luxury).
   dark.css loads last and colours bare <a> tags gold, so every anchor styled as a
   button here restates its colour with !important. */

.pm-gp{ max-width:1180px; margin:0 auto; padding:0 0 70px; font-family:'Inter',sans-serif; color:#f5efe0; }
.pm-gp *{ box-sizing:border-box; }
.pm-gp h1,.pm-gp h2,.pm-gp h3,.pm-gp h4{ font-family:'Fraunces',serif; color:#f5efe0; }

/* The theme prints a cream page hero above shortcode content — hide it here. */
body.pm-gp-page .entry-hero, body.pm-gp-page .page-title, body.pm-gp-page .entry-header{ display:none !important; }

/* ---------------- buttons ---------------- */
.pm-gp-btn{
	display:inline-block; cursor:pointer; border:none; text-decoration:none; text-align:center;
	font:800 15px 'Inter',sans-serif; padding:13px 26px; border-radius:12px;
	background:linear-gradient(135deg,#c9a24b,#e2c074); color:#11161f !important;
	box-shadow:0 14px 30px -14px rgba(201,162,75,.7);
	transition:transform .15s, filter .15s, opacity .15s;
}
.pm-gp-btn:hover{ transform:translateY(-2px); filter:brightness(1.06); color:#11161f !important; }
.pm-gp-btn:disabled{ opacity:.55; cursor:default; transform:none; }
.pm-gp-btn--ghost{
	background:transparent; border:1px solid rgba(201,162,75,.5);
	color:#e2c074 !important; box-shadow:none;
}
.pm-gp-btn--ghost:hover{ background:rgba(201,162,75,.1); color:#e2c074 !important; }

/* ---------------- hero ---------------- */
.pm-gp-hero{ text-align:center; padding:26px 16px 44px; }
.pm-gp-eyebrow{
	display:inline-block; font:700 12px 'Inter',sans-serif; letter-spacing:2.4px;
	text-transform:uppercase; color:#c9a24b; margin-bottom:14px;
}
.pm-gp-hero h1{ font-size:52px; line-height:1.1; margin:0 0 18px; font-weight:700; }
.pm-gp-hero h1 em{ color:#e2c074; font-style:italic; }
.pm-gp-lede{ color:#9aa3b2; font-size:17px; line-height:1.7; max-width:720px; margin:0 auto 26px; }
.pm-gp-hero-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:38px; }

/* Specificity is doubled here because the theme's `.entry-content ul` rule
   outranks a single class and was resetting the auto margins to the left. */
.pm-gp .pm-gp-stats{
	list-style:none; padding:0; display:grid; gap:14px;
	grid-template-columns:repeat(4,1fr);
	max-width:820px !important; margin:0 auto !important;
}
.pm-gp-stats li{
	background:linear-gradient(165deg,#1c2333,#141a27); border:1px solid rgba(201,162,75,.2);
	border-radius:14px; padding:18px 10px;
	display:flex; flex-direction:column; align-items:center; justify-content:center;
	text-align:center !important;
}
.pm-gp-stats strong{ display:block; font:700 20px 'Fraunces',serif; color:#e2c074; margin-bottom:4px; text-align:center; }
.pm-gp-stats span{ display:block; font-size:12.5px; color:#9aa3b2; text-align:center; }
/* interactive.css drops a decorative sparkle in the corner of cards — it pushes
   these short labels off-centre, so it is suppressed on the stat tiles. */
.pm-gp-stats li:before, .pm-gp-stats li:after{ content:none !important; }

/* ---------------- sections ---------------- */
.pm-gp-sec{ padding:52px 16px 0; }
.pm-gp-h2{ font-size:34px; margin:0 0 10px; text-align:center; font-weight:700; }
.pm-gp-h3{ font-size:22px; margin:46px 0 6px; text-align:center; font-weight:700; }
.pm-gp-h3 small{ font-family:'Inter',sans-serif; font-weight:400; font-size:14px; color:#9aa3b2; }
.pm-gp-sub{ text-align:center; color:#9aa3b2; font-size:15.5px; max-width:640px; margin:0 auto 32px; }
.pm-gp-note{ text-align:center; color:#9aa3b2; font-size:15px; margin-top:30px; }
.pm-gp-note a{ color:#e2c074; font-weight:600; }

/* ---------------- what you get ---------------- */
.pm-gp-offers{
	list-style:none; margin:0; padding:0; display:grid; gap:18px;
	grid-template-columns:repeat(3,1fr);
}
.pm-gp-offers li{
	display:flex; gap:14px; align-items:flex-start;
	background:linear-gradient(165deg,#1c2333,#141a27);
	border:1px solid rgba(255,255,255,.07); border-radius:16px; padding:22px 20px;
}
.pm-gp-tick{
	flex:0 0 30px; height:30px; border-radius:50%; display:grid; place-items:center;
	background:rgba(201,162,75,.15); color:#e2c074;
}
.pm-gp-offers h3{ font:700 16px 'Inter',sans-serif; margin:0 0 6px; color:#f5efe0; }
.pm-gp-offers p{ margin:0; font-size:13.8px; line-height:1.6; color:#9aa3b2; }

/* ---------------- rate cards ---------------- */
.pm-gp-rates{ display:grid; gap:22px; }
.pm-gp-rates--single{ grid-template-columns:repeat(2,1fr); max-width:820px; margin:0 auto; }
.pm-gp-rates--bulk{ grid-template-columns:repeat(3,1fr); margin-top:26px; }

.pm-gp-rate{
	position:relative; display:flex; flex-direction:column;
	background:linear-gradient(165deg,#1c2333,#141a27);
	border:1px solid rgba(255,255,255,.09); border-radius:20px; padding:30px 26px 26px;
	box-shadow:0 40px 90px -60px rgba(0,0,0,.9);
}
.pm-gp-rate.is-featured{ border-color:rgba(201,162,75,.45); box-shadow:0 40px 90px -50px rgba(201,162,75,.35); }
.pm-gp-tag{
	position:absolute; top:-11px; left:26px; font:700 11px 'Inter',sans-serif; letter-spacing:.6px;
	background:linear-gradient(135deg,#c9a24b,#e2c074); color:#11161f; padding:5px 12px; border-radius:999px;
}
.pm-gp-rate h3{ font-size:23px; margin:0 0 6px; font-weight:700; }
.pm-gp-rate-sub{ color:#9aa3b2; font-size:13.5px; line-height:1.55; margin:0 0 18px; min-height:40px; }
.pm-gp-price{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:18px;
	padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.08); }
.pm-gp-usd{ font:700 42px 'Fraunces',serif; color:#e2c074; line-height:1; }
.pm-gp-inr{ font-size:14px; color:#9aa3b2; }
.pm-gp-rate-list{ list-style:none; margin:0 0 22px; padding:0; flex:1; }
.pm-gp-rate-list li{ position:relative; padding:0 0 9px 22px; font-size:14px; color:#c8cdd8; }
.pm-gp-rate-list li:before{ content:'✓'; position:absolute; left:0; color:#c9a24b; font-weight:700; }
.pm-gp-rate--sm h3{ font-size:20px; }
.pm-gp-rate--sm .pm-gp-usd{ font-size:34px; }

/* ---------------- categories ---------------- */
.pm-gp-cats{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.pm-gp-cat{
	background:rgba(201,162,75,.08); border:1px solid rgba(201,162,75,.28);
	color:#e2c074; font-size:14px; font-weight:600; padding:11px 20px; border-radius:999px;
}

/* ---------------- steps ---------------- */
.pm-gp-steps{
	list-style:none; margin:0; padding:0; display:grid; gap:18px;
	grid-template-columns:repeat(4,1fr); counter-reset:none;
}
.pm-gp-steps li{
	background:linear-gradient(165deg,#1c2333,#141a27); border:1px solid rgba(255,255,255,.07);
	border-radius:16px; padding:24px 20px;
}
.pm-gp-step-n{
	display:grid; place-items:center; width:34px; height:34px; border-radius:10px; margin-bottom:12px;
	background:linear-gradient(135deg,#c9a24b,#e2c074); color:#11161f; font:800 15px 'Inter',sans-serif;
}
.pm-gp-steps h3{ font:700 16px 'Inter',sans-serif; margin:0 0 6px; }
.pm-gp-steps p{ margin:0; font-size:13.6px; line-height:1.6; color:#9aa3b2; }

/* ---------------- cards / forms ---------------- */
.pm-gp-card{
	background:linear-gradient(165deg,#1c2333,#141a27); border:1px solid rgba(201,162,75,.2);
	border-radius:20px; padding:28px; box-shadow:0 40px 90px -55px rgba(0,0,0,.9);
}
.pm-gp-order{ display:grid; grid-template-columns:1fr 350px; gap:24px; align-items:start; }

.pm-gp-fs{ border:none; margin:0 0 26px; padding:0; }
.pm-gp-fs legend{
	font:700 12px 'Inter',sans-serif; letter-spacing:1.6px; text-transform:uppercase;
	color:#c9a24b; margin-bottom:14px; padding:0;
}
.pm-gp-fs.is-optional legend:after{ content:' (optional)'; color:#6b7280; letter-spacing:.4px; }
.pm-gp-hint{ font-size:13.4px; line-height:1.6; color:#9aa3b2; margin:0 0 14px; }
.pm-gp-hint a{ color:#e2c074; }

.pm-gp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 18px; }
.pm-gp-full{ grid-column:1 / -1; }
.pm-gp label{ display:flex; flex-direction:column; gap:7px; font:600 13px 'Inter',sans-serif; color:#aeb6c4; }
.pm-gp label small{ color:#6b7280; font-weight:400; }
.pm-gp input, .pm-gp select, .pm-gp textarea{
	background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:11px;
	padding:12px 14px; color:#f5efe0; font-size:15px; font-family:inherit; outline:none; transition:.15s; width:100%;
}
.pm-gp input::placeholder, .pm-gp textarea::placeholder{ color:#5d6577; }
.pm-gp input:focus, .pm-gp select:focus, .pm-gp textarea:focus{ border-color:#c9a24b; background:rgba(201,162,75,.06); }
.pm-gp select option{ background:#11161f; }
.pm-gp textarea{ resize:vertical; line-height:1.6; }
.pm-gp input[type=file]{ padding:10px 12px; font-size:13.5px; color:#9aa3b2; }
.pm-gp input[type=file]::file-selector-button{
	background:rgba(201,162,75,.15); border:1px solid rgba(201,162,75,.35); color:#e2c074;
	border-radius:8px; padding:7px 13px; margin-right:12px; cursor:pointer; font:600 13px 'Inter',sans-serif;
}
.pm-gp-form.is-locked, form.is-locked{ opacity:.62; }

.pm-gp-check{
	display:flex; flex-direction:row !important; align-items:flex-start; gap:10px;
	margin:6px 0 4px; font-size:13px; color:#9aa3b2;
}
.pm-gp-check input{ width:18px; height:18px; margin-top:1px; accent-color:#c9a24b; flex:0 0 18px; }
.pm-gp-check a{ color:#e2c074; }

.pm-gp-msg{ min-height:18px; font-size:13.5px; margin:14px 0 0; line-height:1.5; }
.pm-gp-msg.err{ color:#ef6e6e; } .pm-gp-msg.ok{ color:#5fcf8e; }
.pm-gp-submit{ width:100%; margin-top:16px; }

/* ---------------- summary rail ---------------- */
.pm-gp-side{ position:sticky; top:110px; display:grid; gap:18px; }
.pm-gp-summary h3{ font-size:20px; margin:0 0 18px; font-weight:700; }
.pm-gp-sum-row{
	display:flex; justify-content:space-between; gap:12px; padding:9px 0;
	font-size:14px; color:#9aa3b2; border-bottom:1px dashed rgba(255,255,255,.09);
}
.pm-gp-sum-row strong{ color:#f5efe0; font-weight:600; text-align:right; }
.pm-gp-sum-total{ padding:18px 0 6px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.pm-gp-sum-total span{ font:700 38px 'Fraunces',serif; color:#e2c074; line-height:1; }
.pm-gp-sum-total small{ font-size:14px; color:#9aa3b2; }
.pm-gp-sum-note{ font-size:12.5px; color:#6b7280; margin:0; }

.pm-gp-pay{ margin-top:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); }
.pm-gp-ref{ font-size:13px; color:#9aa3b2; margin-bottom:14px; }
.pm-gp-ref strong{ color:#e2c074; letter-spacing:.5px; }
.pm-gp-pay .pm-gp-btn{ width:100%; }
.pm-gp-or{ position:relative; text-align:center; margin:16px 0; }
.pm-gp-or:before{ content:''; position:absolute; top:50%; left:0; right:0; height:1px; background:rgba(255,255,255,.12); }
.pm-gp-or span{ position:relative; background:#171d2b; padding:0 12px; font-size:12px; color:#6b7280; text-transform:uppercase; letter-spacing:1.4px; }
#pm-gp-pp{ min-height:46px; }
.pm-gp-secure{ font-size:11.8px; color:#6b7280; text-align:center; margin:14px 0 0; line-height:1.5; }

.pm-gp-done{ text-align:center; margin-top:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); }
.pm-gp-done-ico{
	width:50px; height:50px; margin:0 auto 12px; border-radius:50%; display:grid; place-items:center;
	background:rgba(95,207,142,.15); color:#5fcf8e; font-size:26px;
}
.pm-gp-done h4{ font-size:19px; margin:0 0 8px; }
.pm-gp-done p{ font-size:13.5px; color:#9aa3b2; line-height:1.6; margin:0; }
.pm-gp-done strong{ color:#e2c074; }

.pm-gp-trust h4{ font:700 15px 'Inter',sans-serif; margin:0 0 12px; }
.pm-gp-trust ul{ list-style:none; margin:0 0 16px; padding:0; }
.pm-gp-trust li{ position:relative; padding:0 0 8px 20px; font-size:13.4px; color:#9aa3b2; }
.pm-gp-trust li:before{ content:'✓'; position:absolute; left:0; color:#c9a24b; }
.pm-gp-trust-contact{ font-size:13px; color:#9aa3b2; line-height:1.8; margin:0; padding-top:14px; border-top:1px solid rgba(255,255,255,.08); }
.pm-gp-trust-contact a{ color:#e2c074; }

/* ---------------- custom quote ---------------- */
.pm-gp-quote{ display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start; }
.pm-gp-quote-copy h2{ font-size:30px; margin:0 0 14px; font-weight:700; }
.pm-gp-quote-copy p{ color:#9aa3b2; font-size:15px; line-height:1.75; margin:0; }
.pm-gp-quote form button{ width:100%; margin-top:16px; }

/* ---------------- faq ---------------- */
.pm-gp-faq{ max-width:820px; margin:0 auto; }
.pm-gp-faq details{
	background:linear-gradient(165deg,#1c2333,#141a27); border:1px solid rgba(255,255,255,.08);
	border-radius:14px; padding:18px 22px; margin-bottom:12px;
}
.pm-gp-faq summary{
	cursor:pointer; font:700 15.5px 'Inter',sans-serif; color:#f5efe0; list-style:none;
	display:flex; justify-content:space-between; align-items:center; gap:14px;
}
.pm-gp-faq summary::-webkit-details-marker{ display:none; }
.pm-gp-faq summary:after{ content:'+'; color:#c9a24b; font-size:22px; font-weight:400; line-height:1; }
.pm-gp-faq details[open] summary:after{ content:'–'; }
.pm-gp-faq p{ margin:14px 0 0; font-size:14px; line-height:1.75; color:#9aa3b2; }

/* ---------------- responsive ---------------- */
@media (max-width:1024px){
	.pm-gp-order{ grid-template-columns:1fr; }
	.pm-gp-side{ position:static; }
	.pm-gp-offers, .pm-gp-steps{ grid-template-columns:repeat(2,1fr); }
	.pm-gp-quote{ grid-template-columns:1fr; gap:24px; }
}
@media (max-width:760px){
	.pm-gp-hero h1{ font-size:36px; }
	.pm-gp-lede{ font-size:15.5px; }
	.pm-gp-h2{ font-size:27px; }
	/* must match the base rule's `.pm-gp .pm-gp-stats` specificity, otherwise the
	   4-column desktop grid keeps winning and the tiles squeeze to one letter wide */
	.pm-gp .pm-gp-stats{ grid-template-columns:repeat(2,1fr); }
	.pm-gp-stats li{ padding:16px 8px; }
	.pm-gp-stats strong{ font-size:18px; }
	.pm-gp-rates--single, .pm-gp-rates--bulk{ grid-template-columns:1fr; }
	.pm-gp-offers, .pm-gp-steps{ grid-template-columns:1fr; }
	.pm-gp-grid{ grid-template-columns:1fr; }
	.pm-gp-card{ padding:22px 18px; }
	.pm-gp-sec{ padding-top:42px; }
	.pm-gp-hero-btns .pm-gp-btn{ width:100%; }
}
