/* ---------- Calculator page title + full width ----------------------
   Loaded after restyle.css. Gives every gp_calculator page a styled
   header and makes the calculator span the full page width. */
.gp-tools-child .entry-content:has(.gp-calc-wrap),
.gp-tools-child .inside-article:has(.gp-calc-wrap),
.gp-tools-child .gp-calc-wrap,
.gp-tools-child .entry-content:has(.gp-tool-page),
.gp-tools-child .inside-article:has(.gp-tool-page),
.gp-tools-child .gp-tool-page { max-width: none !important; width: 100% !important; }
.gp-calc-wrap { padding: 0; }
.gp-calc__head {
	display: flex; align-items: center; gap: 18px;
	background: linear-gradient(120deg, var(--gp-primary), var(--gp-secondary));
	color: #fff; border-radius: var(--gp-radius-card);
	padding: clamp(18px, 2.4vw, 30px) clamp(18px, 2.8vw, 36px);
	box-shadow: var(--gp-shadow); margin-bottom: 18px;
}
.gp-calc__icon {
	flex: 0 0 auto; width: 56px; height: 56px; border-radius: 16px;
	background: rgba(255, 255, 255, .18);
	display: inline-flex; align-items: center; justify-content: center;
}
.gp-calc__headtext { min-width: 0; }
.gp-calc__badge {
	display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .08em;
	text-transform: uppercase; background: rgba(255, 255, 255, .2);
	border-radius: 999px; padding: 4px 10px; margin-bottom: 8px;
}
.gp-tools-child .gp-calc__title {
	color: #fff; font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 800;
	line-height: 1.15; margin: 0 0 6px; letter-spacing: -.01em;
}
.gp-calc__lede { margin: 0; opacity: .92; font-size: .98rem; max-width: 70ch; }
.gp-calc { width: 100%; max-width: none; }
.gp-tools-child .gp-calc .gp-calc__btn {
	background: var(--gp-primary) !important; color: #fff !important;
	border: 1px solid transparent !important;
	box-shadow: 0 2px 8px color-mix(in srgb, var(--gp-primary) 30%, transparent);
}
.gp-tools-child .gp-calc .gp-calc__btn--ghost {
	background: var(--gp-card) !important; color: var(--gp-primary) !important;
	border: 1px solid color-mix(in srgb, var(--gp-primary) 35%, var(--gp-card)) !important;
	box-shadow: none;
}
@media (max-width: 600px) { .gp-calc__head { flex-direction: column; align-items: flex-start; } }

/* ---------- SEO article under each calculator ---------------------- */
.gp-calc-article { margin: 28px 0 8px; background: var(--gp-card); border: 1px solid var(--gp-border); border-radius: var(--gp-radius-card); padding: clamp(18px, 2.4vw, 32px); box-shadow: var(--gp-shadow); max-width: none; }
.gp-calc-article h2 { font-size: 1.35rem; margin: 22px 0 8px; color: var(--gp-text); }
.gp-calc-article h2:first-child { margin-top: 0; }
.gp-calc-article h3 { font-size: 1.02rem; margin: 14px 0 4px; color: var(--gp-text); }
.gp-calc-article p, .gp-calc-article li { color: var(--gp-muted); line-height: 1.65; max-width: 80ch; }
.gp-calc-article__steps { padding-left: 20px; margin: 0; }
.gp-calc-article__searches { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.gp-calc-article__chip { display: inline-block; font-size: .85rem; padding: 6px 12px; border-radius: 999px; background: color-mix(in srgb, var(--gp-primary) 9%, var(--gp-card)); color: var(--gp-primary); border: 1px solid color-mix(in srgb, var(--gp-primary) 22%, var(--gp-card)); }
.gp-calc-article__related { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 8px; }
.gp-calc-article__related a { display: block; padding: 10px 14px; border: 1px solid var(--gp-border); border-radius: var(--gp-radius-btn); color: var(--gp-primary); text-decoration: none; font-weight: 600; }
.gp-calc-article__related a:hover { border-color: var(--gp-primary); background: color-mix(in srgb, var(--gp-primary) 6%, var(--gp-card)); }

/* ---------- Pro panel: charts and tools ----------------------------- */
.gp-calc-pro { margin: 18px 0 8px; background: var(--gp-card); border: 1px solid var(--gp-border); border-radius: var(--gp-radius-card); padding: clamp(14px, 2vw, 24px); box-shadow: var(--gp-shadow); width: 100%; box-sizing: border-box; }
.gp-calc-pro__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; justify-content: space-between; margin-bottom: 12px; }
.gp-calc-pro__label { font-weight: 700; color: var(--gp-text); }
.gp-calc-pro__types, .gp-calc-pro__tools { display: flex; flex-wrap: wrap; gap: 6px; }
.gp-calc-pro__type, .gp-calc-pro__tool {
	border: 1px solid var(--gp-border); background: var(--gp-card); color: var(--gp-text);
	border-radius: 999px; padding: 7px 14px; min-height: 36px; font: inherit; font-size: .85rem; cursor: pointer;
}
.gp-calc-pro__type:hover, .gp-calc-pro__tool:hover { border-color: var(--gp-primary); color: var(--gp-primary); }
.gp-calc-pro__type.is-active { background: var(--gp-primary); border-color: var(--gp-primary); color: #fff; }
.gp-calc-pro__type:disabled, .gp-calc-pro__tool:disabled { opacity: .45; cursor: not-allowed; }
.gp-calc-pro__stage { min-height: 200px; display: flex; justify-content: center; align-items: center; color: var(--gp-text); }
.gp-calc-pro__svg { width: 100%; height: auto; max-height: 340px; display: block; }
.gp-calc-pro__svg--donut { max-width: 300px; margin: 0 auto; }
.gp-calc-pro__donut { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: center; width: 100%; }
.gp-calc-pro__legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; min-width: 200px; }
.gp-calc-pro__legend li { display: flex; align-items: center; gap: 8px; font-size: .9rem; color: var(--gp-text); }
.gp-calc-pro__sw { width: 12px; height: 12px; border-radius: 4px; flex: 0 0 auto; }
.gp-calc-pro__note { margin: 10px 0 0; color: var(--gp-muted); font-size: .85rem; }
@media print { .gp-calc-pro__bar, .gp-calc-pro__note, .gp-calc__btn, .gp-calc__btn--ghost, .gp-calc-article, .gp-tools-child .site-header, .gp-header, .gp-bottomnav, .gp-drawer, .gp-announce { display: none !important; } }

/* ---------- Mobile ---------------------------------------------------- */
@media (max-width: 600px) {
	.gp-calc-wrap { padding: 0 2px; }
	.gp-calc__head { padding: 16px; gap: 12px; }
	.gp-calc__icon { width: 44px; height: 44px; border-radius: 12px; }
	.gp-tools-child .gp-calc__title { font-size: 1.45rem; }
	.gp-calc, .gp-calc__form, .gp-calc__result { padding: 14px; }
	.gp-calc__form { grid-template-columns: 1fr; }
	.gp-calc__actions .gp-calc__btn { flex: 1 1 140px; }
	.gp-calc__main strong { font-size: 1.35rem; }
	.gp-calc__row { font-size: .88rem; }
	.gp-calc-pro__bar { flex-direction: column; align-items: stretch; }
	.gp-calc-pro__types, .gp-calc-pro__tools { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
	.gp-calc-pro__type, .gp-calc-pro__tool { flex: 0 0 auto; }
	.gp-calc-article { padding: 16px; }
	.gp-calc-article__related { grid-template-columns: 1fr; }
}
