/**
 * Campaign builder, campaign models and the client wallet.
 *
 * One stylesheet for the three because they are one product to the client:
 * the same cards, chips, toggles and estimate boxes appear in the builder,
 * the pay-per-lead calculator, the custom campaign form and the wallet.
 * Logical properties throughout, so Arabic and English share every rule.
 */

/* ================================================================ tokens */

.pcm-wz,
.pcm-md,
.pcm-wl {
	--wz-blue: var(--pcm-blue, #0175fe);
	--wz-royal: var(--pcm-royal, #0032e3);
	--wz-ink: var(--pcm-ink, #0b1230);
	--wz-muted: var(--pcm-muted, #5a6587);
	--wz-line: #e3e9f5;
	--wz-soft: #eef4ff;
	--wz-softer: #f5f8ff;
	--wz-navy: #0a1240;
	--wz-ok: #12855a;
	--wz-bad: #d42b54;
	--wz-radius: 20px;
	--wz-radius-sm: 14px;
	--wz-shadow: 0 14px 40px -22px rgba(0, 50, 227, .28);
	font-family: var(--pcm-font, inherit);
	color: var(--wz-ink);
}

.pcm-wz *,
.pcm-md *,
.pcm-wl * { box-sizing: border-box; }

.pcm-wz .pcm-icon,
.pcm-md .pcm-icon,
.pcm-wl .pcm-icon { width: 1.15em; height: 1.15em; flex: none; }

/* ================================================================ layout */

.pcm-wz {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 24px;
	align-items: start;
}

.pcm-wz__main { min-width: 0; }

.pcm-wz__panel {
	background: #fff;
	border: 1px solid var(--wz-line);
	border-radius: var(--wz-radius);
	padding: clamp(22px, 3vw, 40px);
	box-shadow: var(--wz-shadow);
}

.pcm-wz__head { padding-block-end: 22px; border-block-end: 1px solid var(--wz-line); }
.pcm-wz__title { margin: 0 0 6px; font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 800; line-height: 1.3; }
.pcm-wz__lead { margin: 0; color: var(--wz-muted); font-size: .95rem; }

.pcm-wz__restored {
	display: flex; align-items: center; gap: 8px;
	margin: 18px 0 0; padding: 10px 14px;
	font-size: .85rem; color: var(--wz-royal);
	background: var(--wz-soft); border-radius: 12px;
}

.pcm-wz__sec { padding-block: 26px; border-block-end: 1px solid var(--wz-line); }
.pcm-wz__sec:last-child { border-block-end: 0; padding-block-end: 4px; }
.pcm-wz__body > .pcm-wz__sec:first-child { padding-block-start: 24px; }
.pcm-wz__h { margin: 0 0 14px; font-size: 1.05rem; font-weight: 800; }

/* ================================================================ fields */

.pcm-wz__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.pcm-wz__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pcm-wz__grid--mt { margin-block-start: 16px; }

.pcm-wz__field { margin: 0; display: grid; gap: 8px; align-content: start; min-width: 0; }
.pcm-wz__field.is-full { grid-column: 1 / -1; }
.pcm-wz__field > label,
.pcm-wz__label { font-size: .86rem; font-weight: 700; color: var(--wz-ink); }
.pcm-wz__req { color: var(--wz-bad); }
.pcm-wz__opt { color: var(--wz-muted); font-weight: 500; }

.pcm-wz input[type="text"],
.pcm-wz input[type="tel"],
.pcm-wz input[type="url"],
.pcm-wz input[type="email"],
.pcm-wz input[type="date"],
.pcm-wz input[type="number"],
.pcm-wz select,
.pcm-wz textarea,
.pcm-md input[type="text"],
.pcm-md input[type="tel"],
.pcm-md input[type="email"],
.pcm-md input[type="date"],
.pcm-md select,
.pcm-md textarea,
.pcm-wl input[type="text"],
.pcm-wl select {
	width: 100%;
	padding: 14px 18px;
	font: inherit; font-size: .96rem; color: var(--wz-ink);
	background: #fff;
	border: 1.5px solid var(--wz-line);
	border-radius: var(--wz-radius-sm);
	outline: none;
	transition: border-color .25s, box-shadow .25s;
}

/* The spam trap is a text input too: the rule above gave it full width, and
   from its hidden spot it scrolled the join dialog sideways. */
.pcm-wz input.pcm-form__trap,
.pcm-md input.pcm-form__trap,
.pcm-wl input.pcm-form__trap { width: 1px; height: 1px; padding: 0; border: 0; }

.pcm-wz textarea,
.pcm-md textarea { resize: vertical; min-height: 110px; line-height: 1.7; }

.pcm-wz select,
.pcm-md select,
.pcm-wl select {
	appearance: none; cursor: pointer;
	padding-inline-end: 44px;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6587' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-size: 18px;
	background-position: right 16px center;
}
[dir="rtl"] .pcm-wz select,
[dir="rtl"] .pcm-md select,
[dir="rtl"] .pcm-wl select { background-position: left 16px center; }

.pcm-wz select:disabled { color: var(--wz-ink); background-color: var(--wz-softer); cursor: default; }

.pcm-wz input:focus,
.pcm-wz select:focus,
.pcm-wz textarea:focus,
.pcm-md input:focus,
.pcm-md select:focus,
.pcm-md textarea:focus,
.pcm-wl input:focus,
.pcm-wl select:focus { border-color: var(--wz-blue); box-shadow: 0 0 0 4px rgba(1, 117, 254, .12); }

.pcm-wz .has-error,
.pcm-md .has-error { border-color: var(--wz-bad) !important; box-shadow: 0 0 0 4px rgba(212, 43, 84, .1) !important; }

.pcm-wz__hint { display: block; font-size: .8rem; color: var(--wz-muted); line-height: 1.7; margin: 0; }
.pcm-wz__sec > .pcm-wz__hint { margin-block-start: 12px; }
.pcm-wz__err { display: block; font-size: .8rem; font-weight: 700; color: var(--wz-bad); }
.pcm-wz__count { color: var(--wz-muted); font-weight: 500; float: inline-end; }

/* ================================================================= cards */

.pcm-wz__cards { display: grid; gap: 14px; }
.pcm-wz__cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pcm-wz__cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pcm-wz__cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.pcm-wz__card {
	display: flex; align-items: flex-start; gap: 12px;
	width: 100%; min-height: 96px;
	padding: 18px 20px;
	text-align: start; font: inherit; color: var(--wz-ink);
	background: #fff;
	border: 1.5px solid var(--wz-line);
	border-radius: 16px;
	cursor: pointer;
	transition: border-color .25s, background-color .25s, box-shadow .25s, transform .25s;
}
.pcm-wz__card:hover { border-color: rgba(1, 117, 254, .45); transform: translateY(-2px); }
.pcm-wz__card.is-on { background: var(--wz-soft); border-color: var(--wz-blue); box-shadow: 0 0 0 3px rgba(1, 117, 254, .1); }
.pcm-wz__card[disabled] { opacity: .55; cursor: not-allowed; transform: none; }

.pcm-wz__cardicon {
	display: grid; place-items: center;
	width: 38px; height: 38px; flex: none;
	border-radius: 11px;
	color: var(--wz-blue); background: var(--wz-softer);
	font-size: 1.05rem;
}
.pcm-wz__card.is-on .pcm-wz__cardicon { color: #fff; background: var(--wz-blue); }
.pcm-wz__cardtext { display: grid; gap: 4px; min-width: 0; }
.pcm-wz__cardtext b { font-size: 1rem; font-weight: 800; line-height: 1.4; }
.pcm-wz__cardtext small { font-size: .82rem; color: var(--wz-muted); line-height: 1.6; }

/* ================================================================= chips */

.pcm-wz__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.pcm-wz__chips--mt { margin-block-start: 14px; }

.pcm-wz__chip {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 9px 18px;
	font: inherit; font-size: .88rem; font-weight: 600; color: var(--wz-ink);
	background: #fff;
	border: 1.5px solid var(--wz-line);
	border-radius: 999px;
	cursor: pointer;
	transition: all .2s;
}
.pcm-wz__chip:hover { border-color: rgba(1, 117, 254, .5); color: var(--wz-royal); }
.pcm-wz__chip.is-on { color: #fff; background: var(--wz-blue); border-color: var(--wz-blue); }

/* ============================================================= segmented */

.pcm-wz__seg {
	display: inline-flex; flex-wrap: wrap; gap: 4px;
	padding: 4px;
	background: #fff;
	border: 1.5px solid var(--wz-line);
	border-radius: 999px;
	max-width: 100%;
}
.pcm-wz__seg button {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 9px 18px;
	font: inherit; font-size: .88rem; font-weight: 600; color: var(--wz-muted);
	background: transparent; border: 0; border-radius: 999px;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}
.pcm-wz__seg button:hover { color: var(--wz-ink); }
.pcm-wz__seg button.is-on { color: #fff; background: var(--wz-blue); box-shadow: 0 6px 16px -8px rgba(1, 117, 254, .7); }

/* ============================================================== platforms */

.pcm-wz__rule { margin: 0 0 16px; font-size: .84rem; line-height: 1.8; color: var(--wz-muted); }

.pcm-wz__notice {
	margin: 14px 0 0; padding: 10px 14px;
	font-size: .84rem; font-weight: 600; color: #8a5a00;
	background: #fff6e0; border-radius: 12px;
}

.pcm-wz__plats {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(176px, 1fr));
	gap: 12px;
	margin-block-start: 16px;
}

.pcm-wz__plat {
	display: flex; align-items: center; gap: 12px;
	padding: 16px;
	min-height: 74px;
	text-align: start; font: inherit; color: var(--wz-ink);
	background: #fff;
	border: 1.5px solid var(--wz-line);
	border-radius: 16px;
	cursor: pointer;
	transition: border-color .25s, background-color .25s, transform .25s;
}
.pcm-wz__plat:hover { border-color: rgba(1, 117, 254, .45); transform: translateY(-2px); }
.pcm-wz__plat.is-on { background: var(--wz-soft); border: 2px solid var(--wz-blue); padding: 15.5px; }

.pcm-wz__platicon {
	display: grid; place-items: center;
	width: 40px; height: 40px; flex: none;
	border-radius: 12px;
	font-size: 1.15rem;
	color: var(--wz-blue);
	background: var(--wz-softer);
}
.pcm-wz__platicon--facebook { color: #1877f2; }
.pcm-wz__platicon--instagram { color: #d6249f; }
.pcm-wz__platicon--messenger { color: #0084ff; }
.pcm-wz__platicon--whatsapp { color: #1fa855; }
.pcm-wz__platicon--tiktok { color: #111; }
.pcm-wz__platicon--snapchat { color: #e6c800; }
.pcm-wz__platicon--x { color: #111; }
.pcm-wz__platicon--linkedin { color: #0a66c2; }
.pcm-wz__platicon--youtube { color: #ff0000; }
.pcm-wz__platicon--pinterest { color: #e60023; }
.pcm-wz__platicon--google { color: #4285f4; }
.pcm-wz__platicon--chatgpt { color: #10a37f; }

.pcm-wz__plattext { display: grid; gap: 3px; min-width: 0; }
.pcm-wz__plattext b { font-size: .95rem; font-weight: 800; }
.pcm-wz__plattext small { display: flex; flex-wrap: wrap; gap: 6px; font-size: .74rem; color: var(--wz-muted); }
.pcm-wz__tag { font-style: normal; }
.pcm-wz__tag.is-reco { color: var(--wz-blue); font-weight: 700; }
.pcm-wz__tag + .pcm-wz__tag::before { content: "·"; margin-inline-end: 6px; color: var(--wz-muted); font-weight: 400; }

/* ================================================================ budget */

.pcm-wz__total {
	display: flex; align-items: center; justify-content: space-between; gap: 14px;
	margin-block-start: 18px;
	padding: 18px 22px;
	background: var(--wz-soft);
	border-radius: 16px;
}
.pcm-wz__total:empty { display: none; }
.pcm-wz__total span { font-size: .92rem; color: var(--wz-ink); }
.pcm-wz__total b { font-size: 1.25rem; font-weight: 800; color: var(--wz-royal); white-space: nowrap; }
.pcm-wz__total + .pcm-wz__hint { margin-block-start: 10px; }

.pcm-wz__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pcm-wz__stats:empty { display: none; }
.pcm-wz__stats > div {
	padding: 16px 18px;
	background: #fff;
	border: 1.5px solid var(--wz-line);
	border-radius: 16px;
	min-width: 0;
}
.pcm-wz__stats small { display: block; font-size: .78rem; color: var(--wz-muted); margin-block-end: 8px; }
.pcm-wz__stats b { display: block; font-size: 1.12rem; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.pcm-wz__stats em { font-style: normal; font-size: .8rem; font-weight: 600; color: var(--wz-muted); }
.pcm-wz__stats + .pcm-wz__hint { margin-block-start: 12px; }
.pcm-wz__stats .pcm-wz__peak { display: block; margin: 6px 0 0; font-size: .74rem; color: var(--wz-muted); }

/* No number where the price depends on the goal — a sentence and WhatsApp. */
.pcm-wz__stats > .pcm-wz__ask-cost {
	grid-column: 1 / -1;
	display: grid; gap: 10px; justify-items: start;
	background: var(--wz-softer, #F4F7FF); border-color: var(--wz-blue, #0A5CFF);
}
.pcm-wz__ask-cost b { font-size: 1rem; }
.pcm-wz__ask-cost p { margin: 0; font-size: .9rem; line-height: 1.75; color: var(--wz-ink); }

/* =============================================================== content */

.pcm-wz__modebody { margin-block-start: 20px; }
.pcm-wz__empty { margin: 0; padding: 22px; text-align: center; color: var(--wz-muted); background: var(--wz-softer); border-radius: 16px; }

.pcm-wz__tpls { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }

.pcm-wz__tpl {
	display: grid; gap: 8px;
	padding: 0 0 14px;
	text-align: start; font: inherit; color: var(--wz-ink);
	background: #fff;
	border: 1.5px solid var(--wz-line);
	border-radius: 16px;
	overflow: hidden;
	cursor: pointer;
	transition: border-color .25s, transform .25s, box-shadow .25s;
}
.pcm-wz__tpl:hover { transform: translateY(-3px); border-color: rgba(1, 117, 254, .45); }
.pcm-wz__tpl.is-on { border: 2px solid var(--wz-blue); box-shadow: 0 0 0 3px rgba(1, 117, 254, .12); }
.pcm-wz__tplimg { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--wz-softer); }
.pcm-wz__tplimg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pcm-wz__badge {
	position: absolute; inset-block-start: 10px; inset-inline-end: 10px;
	display: inline-flex; align-items: center; gap: 5px;
	padding: 4px 9px;
	font-style: normal; font-size: .72rem; font-weight: 700; color: #fff;
	background: rgba(5, 10, 38, .72); border-radius: 999px;
}
.pcm-wz__tplcheck {
	position: absolute; inset-block-start: 10px; inset-inline-start: 10px;
	display: grid; place-items: center;
	width: 30px; height: 30px; border-radius: 50%;
	color: #fff; background: var(--wz-blue);
}
.pcm-wz__tpltitle { padding-inline: 14px; font-size: .9rem; font-weight: 700; line-height: 1.5; }
.pcm-wz__tpluse { padding-inline: 14px; font-size: .78rem; font-weight: 700; color: var(--wz-blue); }

.pcm-wz__drop {
	display: grid; justify-items: center; gap: 8px;
	padding: 34px 20px;
	text-align: center; color: var(--wz-muted); font-size: .92rem;
	border: 2px dashed #c9d5ee; border-radius: 18px;
	background: var(--wz-softer);
	cursor: pointer;
	transition: border-color .2s, background-color .2s;
}
.pcm-wz__drop:hover,
.pcm-wz__drop.is-over { border-color: var(--wz-blue); background: var(--wz-soft); }
.pcm-wz__drop u { color: var(--wz-blue); text-decoration: none; font-weight: 700; }
.pcm-wz__drop small { font-size: .78rem; }
.pcm-wz__dropicon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; font-size: 1.5rem; color: var(--wz-blue); background: #fff; box-shadow: var(--wz-shadow); }

.pcm-wz__files { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.pcm-wz__files li {
	display: flex; align-items: center; gap: 12px;
	padding: 10px 12px;
	border: 1px solid var(--wz-line); border-radius: 14px; background: #fff;
}
.pcm-wz__files li.is-busy { opacity: .65; }
.pcm-wz__filethumb { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 10px; overflow: hidden; color: var(--wz-blue); background: var(--wz-softer); }
.pcm-wz__filethumb img { width: 100%; height: 100%; object-fit: cover; }
.pcm-wz__filename { flex: 1; min-width: 0; font-size: .88rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pcm-wz__filename em { color: var(--wz-muted); font-style: normal; }
.pcm-wz__fileremove { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 10px; color: var(--wz-bad); background: rgba(212, 43, 84, .08); cursor: pointer; }

.pcm-wz__teamnote {
	display: flex; align-items: flex-start; gap: 12px;
	margin: 0; padding: 18px 20px;
	line-height: 1.8; color: var(--wz-ink);
	background: var(--wz-soft); border-radius: 16px;
}
.pcm-wz__teamnote .pcm-icon { color: var(--wz-blue); margin-block-start: 4px; }

.pcm-wz__copyhead { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-block-end: 14px; }
.pcm-wz__copyhead .pcm-wz__h { margin: 0; }
.pcm-wz__suggest {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 8px 14px;
	font: inherit; font-size: .86rem; font-weight: 700; color: #b06a00;
	background: #fff6e0; border: 0; border-radius: 999px; cursor: pointer;
}
.pcm-wz__suggest:hover { background: #ffecbf; }

/* ================================================================ review */

.pcm-wz__tablewrap { overflow-x: auto; border: 1px solid var(--wz-line); border-radius: 16px; }
.pcm-wz__table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.pcm-wz__table th,
.pcm-wz__table td { padding: 13px 18px; text-align: start; border-block-end: 1px solid var(--wz-line); vertical-align: top; }
.pcm-wz__table tr:nth-child(odd) { background: var(--wz-softer); }
.pcm-wz__table tr:last-child th,
.pcm-wz__table tr:last-child td { border-block-end: 0; }
.pcm-wz__table th { width: 34%; color: var(--wz-muted); font-weight: 500; }
.pcm-wz__table td { font-weight: 700; overflow-wrap: anywhere; }

.pcm-wz__paycard { display: grid; gap: 8px; }
.pcm-wz__topup { display: inline-flex; align-items: center; gap: 6px; font-size: .84rem; font-weight: 700; color: var(--wz-blue); }

.pcm-wz__consent { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0 0; font-size: .8rem; color: var(--wz-muted); line-height: 1.8; }
.pcm-wz__consent .pcm-icon { color: var(--wz-ok); margin-block-start: 3px; }

/* ==================================================================== nav */

.pcm-wz__formerr {
	margin: 18px 0 0; padding: 12px 16px;
	font-size: .88rem; font-weight: 700; color: var(--wz-bad);
	background: rgba(212, 43, 84, .08); border-radius: 12px;
}

.pcm-wz__nav {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
	margin-block-start: 26px; padding-block-start: 22px;
	border-block-start: 1px solid var(--wz-line);
}
.pcm-wz__navstart,
.pcm-wz__navend { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.pcm-wz__count { font-size: .84rem; color: var(--wz-muted); }

.pcm-wz__btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	padding: 14px 28px;
	font: inherit; font-size: .95rem; font-weight: 700; line-height: 1;
	border-radius: 999px; border: 1.5px solid transparent;
	cursor: pointer; text-decoration: none; white-space: nowrap;
	transition: transform .25s, box-shadow .25s, background-color .25s, color .25s, border-color .25s;
}
.pcm-wz__btn--primary { color: #fff; background: var(--pcm-grad, linear-gradient(118deg, #0175fe 0%, #0032e3 100%)); box-shadow: 0 12px 26px -12px rgba(0, 50, 227, .6); }
.pcm-wz__btn--primary:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 16px 32px -12px rgba(0, 50, 227, .7); }
.pcm-wz__btn--ghost { color: var(--wz-ink); background: #fff; border-color: var(--wz-line); }
.pcm-wz__btn--ghost:hover { color: var(--wz-royal); border-color: var(--wz-blue); }
.pcm-wz__btn[disabled] { opacity: .6; cursor: progress; transform: none; }
[dir="rtl"] .pcm-wz__arrow { transform: scaleX(-1); }

/* ================================================================== aside */

.pcm-wz__side { position: sticky; inset-block-start: 24px; display: grid; gap: 18px; }
.pcm-is-app .pcm-wz__side { inset-block-start: 22px; }
body:not(.pcm-is-app) .pcm-wz__side { inset-block-start: calc(var(--pcm-header-h, 84px) + 18px); }

.pcm-wz__box {
	padding: 22px;
	background: #fff;
	border: 1px solid var(--wz-line);
	border-radius: var(--wz-radius);
}
.pcm-wz__boxtitle { margin: 0 0 14px; font-size: .8rem; font-weight: 800; color: var(--wz-muted); letter-spacing: .02em; }

.pcm-wz__bar { display: block; height: 6px; margin-block-end: 18px; border-radius: 999px; background: #e7edf8; overflow: hidden; }
.pcm-wz__bar i { display: block; height: 100%; border-radius: inherit; background: var(--wz-blue); transition: width .4s ease; }

.pcm-wz__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pcm-wz__steps button {
	display: flex; align-items: center; gap: 14px;
	width: 100%;
	padding: 12px 14px;
	text-align: start; font: inherit; color: var(--wz-ink);
	background: transparent;
	border: 1.5px solid transparent;
	border-radius: 16px;
	cursor: pointer;
}
.pcm-wz__steps button[disabled] { cursor: default; }
.pcm-wz__steps button[data-goto]:hover { background: var(--wz-softer); }
.pcm-wz__steps .is-on button { background: var(--wz-soft); border-color: var(--wz-blue); }

.pcm-wz__dot {
	display: grid; place-items: center;
	width: 42px; height: 42px; flex: none;
	border-radius: 50%;
	font-size: .9rem; font-weight: 800;
	color: var(--wz-muted);
	border: 1.5px solid var(--wz-line);
	background: #fff;
}
.pcm-wz__steps .is-on .pcm-wz__dot { color: #fff; background: var(--wz-blue); border-color: var(--wz-blue); }
.pcm-wz__steps .is-done .pcm-wz__dot { color: #fff; background: var(--wz-navy); border-color: var(--wz-navy); }
.pcm-wz__steps .is-done.is-on .pcm-wz__dot { background: var(--wz-blue); border-color: var(--wz-blue); }
.pcm-wz__steptext { display: grid; gap: 2px; }
.pcm-wz__steptext small { font-size: .74rem; color: var(--wz-muted); }
.pcm-wz__steptext b { font-size: .98rem; font-weight: 800; }

.pcm-wz__livebox { background: var(--wz-softer); }
.pcm-wz__live { margin: 0; display: grid; gap: 4px; }
.pcm-wz__live > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-block: 9px; border-block-end: 1px dashed #dbe4f4; }
.pcm-wz__live > div:last-child { border-block-end: 0; }
.pcm-wz__live dt { font-size: .86rem; color: var(--wz-muted); }
.pcm-wz__live dd { margin: 0; font-size: .95rem; font-weight: 800; white-space: nowrap; }

.pcm-wz__helpbox { background: var(--wz-soft); border-color: transparent; }
.pcm-wz__helptitle { margin: 0 0 8px; font-size: 1.05rem; font-weight: 800; }
.pcm-wz__helptext { margin: 0 0 16px; font-size: .86rem; color: var(--wz-muted); line-height: 1.8; }
.pcm-wz__ask {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 11px 22px;
	font: inherit; font-size: .9rem; font-weight: 700; color: var(--wz-ink);
	background: #fff; border: 1.5px solid var(--wz-line); border-radius: 999px;
	cursor: pointer;
}
.pcm-wz__ask:hover { color: var(--wz-royal); border-color: var(--wz-blue); }

/* =================================================================== done */

.pcm-wz--done { display: block; }
.pcm-wz__done {
	max-width: 640px; margin-inline: auto;
	padding: clamp(32px, 5vw, 60px) 24px;
	text-align: center;
	background: #fff; border: 1px solid var(--wz-line); border-radius: var(--wz-radius);
	box-shadow: var(--wz-shadow);
}
.pcm-wz__doneicon {
	display: grid; place-items: center;
	width: 72px; height: 72px; margin: 0 auto 20px;
	border-radius: 50%; font-size: 2rem; color: #fff;
	background: var(--pcm-grad, linear-gradient(118deg, #0175fe 0%, #0032e3 100%));
}
.pcm-wz__done h2 { margin: 0 0 10px; font-size: 1.6rem; }
.pcm-wz__done p { margin: 0 auto 12px; max-width: 480px; color: var(--wz-muted); line-height: 1.8; }
.pcm-wz__donepaid { display: inline-flex; align-items: center; gap: 8px; color: var(--wz-ok) !important; font-weight: 700; }
.pcm-wz__doneref { display: inline-block; margin-block: 6px 22px !important; padding: 8px 18px; font-weight: 800; letter-spacing: .06em; color: var(--wz-royal) !important; background: var(--wz-soft); border-radius: 999px; }
.pcm-wz__doneactions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

/* ============================================================= responsive */

@media (max-width: 1180px) {
	.pcm-wz { grid-template-columns: minmax(0, 1fr) 290px; }
	.pcm-wz__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
	.pcm-wz { grid-template-columns: minmax(0, 1fr); }

	/* The side cards become rows of the page: the steps first, then the
	   form, then the estimate and the help card. */
	.pcm-wz__side { display: contents; }
	.pcm-wz__stepsbox { order: -1; }
	.pcm-wz__main { order: 0; }
	.pcm-wz__livebox { order: 1; }
	.pcm-wz__helpbox { order: 2; }

	.pcm-wz__stepsbox { padding: 16px; }
	.pcm-wz__steps { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
	.pcm-wz__steps::-webkit-scrollbar { display: none; }
	.pcm-wz__steps li { flex: 1 0 auto; }
	.pcm-wz__steps button { padding: 8px 10px; gap: 10px; }
	.pcm-wz__steps li:not(.is-on) .pcm-wz__steptext { display: none; }
	.pcm-wz__dot { width: 36px; height: 36px; font-size: .82rem; }
}

@media (max-width: 760px) {
	.pcm-wz__grid,
	.pcm-wz__grid--3,
	.pcm-wz__cards--2,
	.pcm-wz__cards--3,
	.pcm-wz__cards--4 { grid-template-columns: minmax(0, 1fr); }

	.pcm-wz__plats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pcm-wz__plat { padding: 12px; gap: 10px; }
	.pcm-wz__plat.is-on { padding: 11.5px; }
	.pcm-wz__platicon { width: 34px; height: 34px; }
	.pcm-wz__tpls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pcm-wz__card { min-height: 0; }
	.pcm-wz__seg { display: flex; border-radius: 16px; }
	.pcm-wz__seg button { flex: 1 1 auto; justify-content: center; border-radius: 12px; padding: 9px 12px; }

	.pcm-wz__nav { flex-direction: column-reverse; align-items: stretch; }
	.pcm-wz__navstart,
	.pcm-wz__navend { justify-content: space-between; }
	.pcm-wz__navend .pcm-wz__btn { flex: 1; }
	.pcm-wz__btn { padding: 13px 20px; }
}

@media (max-width: 420px) {
	.pcm-wz__plats,
	.pcm-wz__tpls,
	.pcm-wz__stats { grid-template-columns: minmax(0, 1fr); }
}

/* ======================================================= campaign models */

.pcm-md-hero .pcm-page-hero__lead { max-width: 720px; }

.pcm-md__models {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
}

.pcm-md__model {
	position: relative;
	display: flex; flex-direction: column; gap: 12px;
	padding: 28px 26px 24px;
	color: var(--wz-ink); text-decoration: none;
	background: #fff;
	border: 1px solid var(--wz-line);
	border-radius: 22px;
	transition: transform .35s, box-shadow .35s, border-color .35s;
}
.pcm-md__model:hover { color: var(--wz-ink); transform: translateY(-6px); border-color: rgba(1, 117, 254, .4); box-shadow: var(--wz-shadow); }
.pcm-md__modelicon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; font-size: 1.4rem; color: #fff; background: var(--pcm-grad, linear-gradient(118deg, #0175fe, #0032e3)); }
.pcm-md__badge {
	position: absolute; inset-block-start: 22px; inset-inline-end: 22px;
	padding: 6px 13px;
	font-size: .74rem; font-weight: 800; color: #0b2d6b;
	background: #ffd84d; border-radius: 999px;
}
.pcm-md__model h3 { margin: 6px 0 0; font-size: 1.25rem; font-weight: 800; }
.pcm-md__model p { margin: 0; color: var(--wz-muted); font-size: .94rem; line-height: 1.8; flex: 1; }
.pcm-md__go { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: var(--wz-blue); }
[dir="rtl"] .pcm-md__go .pcm-icon { transform: scaleX(-1); }

.pcm-md__compare { overflow-x: auto; border: 1px solid var(--wz-line); border-radius: 20px; background: #fff; }
.pcm-md__compare table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: .92rem; }
.pcm-md__compare th,
.pcm-md__compare td { padding: 16px 18px; text-align: start; border-block-end: 1px solid var(--wz-line); vertical-align: top; }
.pcm-md__compare thead th { font-size: .95rem; font-weight: 800; background: var(--wz-softer); }
.pcm-md__compare tbody th { width: 22%; color: var(--wz-muted); font-weight: 600; }
.pcm-md__compare tr:last-child th,
.pcm-md__compare tr:last-child td { border-block-end: 0; }

.pcm-md__steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px; counter-reset: md; list-style: none; margin: 0; padding: 0; }
.pcm-md__steps li { position: relative; padding: 24px 22px; background: #fff; border: 1px solid var(--wz-line); border-radius: 20px; counter-increment: md; }
.pcm-md__steps li::before { content: counter(md, decimal-leading-zero); display: block; margin-block-end: 12px; font-size: 1.6rem; font-weight: 800; color: var(--wz-blue); }
.pcm-md__steps b { display: block; margin-block-end: 6px; font-size: 1.02rem; }
.pcm-md__steps span { color: var(--wz-muted); font-size: .9rem; line-height: 1.8; }

/* The calculators reuse the builder's layout; a few model-specific blocks. */
.pcm-md__price {
	display: grid; gap: 4px;
	padding: 22px;
	color: #fff;
	background:
		radial-gradient(420px 240px at 100% 0%, rgba(91, 168, 255, .35), transparent 60%),
		linear-gradient(150deg, #050a26 0%, #0a1240 100%);
	border-radius: var(--wz-radius);
}
.pcm-md__price small { color: #a7b4de; font-size: .8rem; }
.pcm-md__price b { font-size: 2rem; font-weight: 800; line-height: 1.2; }
.pcm-md__price span { color: #cfe2ff; font-size: .86rem; }

.pcm-md__lines { margin: 0; display: grid; gap: 2px; }
.pcm-md__lines > div { display: flex; justify-content: space-between; gap: 12px; padding-block: 9px; border-block-end: 1px dashed #dbe4f4; font-size: .9rem; }
.pcm-md__lines > div:last-child { border-block-end: 0; }
.pcm-md__lines dt { color: var(--wz-muted); }
.pcm-md__lines dd { margin: 0; font-weight: 800; }
.pcm-md__lines .is-total dd { color: var(--wz-royal); font-size: 1.05rem; }
.pcm-md__lines .is-off dd { color: var(--wz-ok); }

.pcm-md__toggle {
	display: flex; align-items: flex-start; gap: 14px;
	padding: 18px 20px;
	border: 1.5px solid var(--wz-line); border-radius: 16px; background: #fff;
	cursor: pointer;
}
.pcm-md__toggle.is-on { border-color: var(--wz-blue); background: var(--wz-soft); }
.pcm-md__toggle.is-off { opacity: .5; cursor: not-allowed; }
.pcm-md__toggle input { position: absolute; opacity: 0; pointer-events: none; }
.pcm-md__switch { position: relative; width: 44px; height: 26px; flex: none; border-radius: 999px; background: #d5ddec; transition: background-color .2s; margin-block-start: 2px; }
.pcm-md__switch::after { content: ""; position: absolute; inset-block-start: 3px; inset-inline-start: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .2); transition: inset-inline-start .2s; }
.pcm-md__toggle.is-on .pcm-md__switch { background: var(--wz-blue); }
.pcm-md__toggle.is-on .pcm-md__switch::after { inset-inline-start: 21px; }
.pcm-md__toggletext { display: grid; gap: 4px; }
.pcm-md__toggletext b { font-size: .98rem; }
.pcm-md__toggletext small { color: var(--wz-muted); font-size: .84rem; line-height: 1.7; }
.pcm-md__toggletext em { font-style: normal; font-weight: 800; color: var(--wz-blue); }

.pcm-md__range { width: 100%; accent-color: var(--wz-blue); margin-block-start: 14px; }

/* ======================================================= shared campaigns */

.pcm-md__filters { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-block-end: 26px; }
.pcm-md__filters .pcm-wz__label { margin-inline-end: 4px; }

.pcm-md__shared { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 22px; }

.pcm-md__sh {
	display: flex; flex-direction: column;
	background: #fff;
	border: 1px solid var(--wz-line);
	border-radius: 22px;
	overflow: hidden;
	transition: transform .35s, box-shadow .35s;
}
.pcm-md__sh:hover { transform: translateY(-5px); box-shadow: var(--wz-shadow); }
.pcm-md__shimg { position: relative; aspect-ratio: 16 / 9; background: var(--wz-softer); }
.pcm-md__shimg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pcm-md__shstate { position: absolute; inset-block-start: 14px; inset-inline-start: 14px; padding: 5px 12px; font-size: .74rem; font-weight: 800; border-radius: 999px; color: #fff; background: rgba(18, 133, 90, .92); }
.pcm-md__shstate.is-soon { background: rgba(176, 106, 0, .92); }
.pcm-md__shstate.is-full,
.pcm-md__shstate.is-closed { background: rgba(5, 10, 38, .75); }
.pcm-md__shbody { display: flex; flex-direction: column; gap: 12px; padding: 20px 22px 22px; flex: 1; }
.pcm-md__shbody h3 { margin: 0; font-size: 1.12rem; font-weight: 800; }
.pcm-md__shmeta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0; color: var(--wz-muted); font-size: .84rem; }
.pcm-md__shmeta span { display: inline-flex; align-items: center; gap: 5px; }
.pcm-md__shsummary { margin: 0; color: var(--wz-muted); font-size: .88rem; line-height: 1.8; }
.pcm-md__shprice { display: flex; align-items: baseline; gap: 8px; }
.pcm-md__shprice b { font-size: 1.6rem; font-weight: 800; color: var(--wz-royal); }
.pcm-md__shprice span { color: var(--wz-muted); font-size: .84rem; }
.pcm-md__shstats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pcm-md__shstats div { padding: 10px 12px; background: var(--wz-softer); border-radius: 12px; }
.pcm-md__shstats small { display: block; color: var(--wz-muted); font-size: .74rem; }
.pcm-md__shstats b { font-size: 1rem; }
.pcm-md__seats { display: grid; gap: 6px; font-size: .8rem; color: var(--wz-muted); }
.pcm-md__seats i { display: block; height: 6px; border-radius: 999px; background: #e7edf8; overflow: hidden; }
.pcm-md__seats i span { display: block; height: 100%; background: var(--wz-blue); }
.pcm-md__sh .pcm-wz__btn { width: 100%; margin-block-start: auto; }

.pcm-md__modal { position: fixed; inset: 0; z-index: 9990; display: grid; place-items: center; padding: 16px; background: rgba(5, 10, 38, .55); }
.pcm-md__modal[hidden] { display: none; }
.pcm-md__dialog {
	position: relative;
	width: min(560px, 100%); max-height: calc(100vh - 32px); overflow-y: auto;
	padding: clamp(22px, 4vw, 34px);
	background: #fff; border-radius: 24px;
	box-shadow: 0 30px 80px -20px rgba(5, 10, 38, .5);
}
.pcm-md__close { position: absolute; inset-block-start: 14px; inset-inline-end: 14px; display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 12px; color: var(--wz-muted); background: var(--wz-softer); cursor: pointer; }
.pcm-md__dialog h2 { margin: 0 0 6px; padding-inline-end: 40px; font-size: 1.35rem; }
.pcm-md__dialog .pcm-wz__lead { margin-block-end: 18px; }
.pcm-md__check { display: flex; align-items: flex-start; gap: 10px; font-size: .86rem; line-height: 1.7; color: var(--wz-ink); cursor: pointer; }
.pcm-md__check input { margin-block-start: 5px; width: 18px; height: 18px; accent-color: var(--wz-blue); flex: none; }

/* ================================================================= wallet */

.pcm-wl__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-block-end: 24px; }
.pcm-wl__card { display: grid; gap: 8px; padding: 22px 24px; background: #fff; border: 1px solid var(--wz-line); border-radius: 20px; }
.pcm-wl__card small { display: flex; align-items: center; gap: 8px; color: var(--wz-muted); font-size: .86rem; }
.pcm-wl__card small .pcm-icon { width: 34px; height: 34px; padding: 7px; border-radius: 50%; color: var(--wz-blue); background: var(--wz-soft); }
.pcm-wl__card b { font-size: 1.85rem; font-weight: 800; line-height: 1.2; }
.pcm-wl__card b span { font-size: .95rem; font-weight: 600; color: var(--wz-muted); }
.pcm-wl__card em { font-style: normal; font-size: .78rem; color: var(--wz-muted); }
.pcm-wl__card--main { color: #fff; border-color: transparent; background: radial-gradient(360px 200px at 100% 0%, rgba(91, 168, 255, .35), transparent 60%), linear-gradient(150deg, #0a1240 0%, #0b2556 100%); }
.pcm-wl__card--main small,
.pcm-wl__card--main em { color: #a7b4de; }
.pcm-wl__card--main small .pcm-icon { color: #fff; background: rgba(255, 255, 255, .14); }
.pcm-wl__card--main b span { color: #cfe2ff; }

.pcm-wl__presets { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-block-end: 14px; }
.pcm-wl__preset {
	padding: 16px 12px;
	font: inherit; font-size: 1rem; font-weight: 800; color: var(--wz-ink);
	background: #fff; border: 1.5px solid var(--wz-line); border-radius: 14px; cursor: pointer;
}
.pcm-wl__preset:hover { border-color: rgba(1, 117, 254, .5); }
.pcm-wl__preset.is-on { border: 2px solid var(--wz-navy); background: var(--wz-softer); }

.pcm-wl__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.pcm-wl__row input { direction: ltr; text-align: start; }
.pcm-wl__methods { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 16px; }
.pcm-wl__fees { margin: 16px 0 0; padding: 16px 20px; background: var(--wz-softer); border-radius: 16px; }
.pcm-wl__fees > div { display: flex; justify-content: space-between; gap: 12px; padding-block: 7px; font-size: .9rem; }
.pcm-wl__fees > div.is-total { margin-block-start: 6px; padding-block-start: 12px; border-block-start: 1px solid var(--wz-line); font-weight: 800; }
.pcm-wl__fees dt { color: var(--wz-muted); }
.pcm-wl__fees .is-total dt { color: var(--wz-ink); }
.pcm-wl__fees dd { margin: 0; font-weight: 700; }
.pcm-wl__note { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; font-size: .8rem; color: var(--wz-muted); }
.pcm-wl__note .pcm-icon { color: var(--wz-ok); }
.pcm-wl__msg { margin: 14px 0 0; padding: 12px 16px; font-size: .9rem; font-weight: 700; border-radius: 12px; }
.pcm-wl__msg.is-error { color: var(--wz-bad); background: rgba(212, 43, 84, .08); }
.pcm-wl__msg.is-ok { color: var(--wz-ok); background: rgba(18, 133, 90, .08); }
.pcm-wl__pay { margin-block-start: 18px; padding: 18px 20px; border: 1.5px dashed var(--wz-blue); border-radius: 16px; background: #fff; }
.pcm-wl__pay p { margin: 0 0 10px; line-height: 1.8; }
.pcm-wl__target { display: inline-block; padding: 8px 14px; font-weight: 800; letter-spacing: .03em; color: var(--wz-royal); background: var(--wz-soft); border-radius: 10px; direction: ltr; }
.pcm-wl__refform { display: flex; flex-wrap: wrap; gap: 10px; margin-block-start: 12px; }
.pcm-wl__refform input { flex: 1 1 220px; }
.pcm-wl__amount-in { color: var(--wz-ok); font-weight: 800; }
.pcm-wl__amount-out { color: var(--wz-bad); font-weight: 800; }
.pcm-wl__pending { display: grid; gap: 12px; margin: 0 0 6px; padding: 0; list-style: none; }
.pcm-wl__pending li { padding: 16px 18px; border: 1px solid var(--wz-line); border-radius: 16px; background: #fff; }
.pcm-wl__pendinghead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.pcm-wl__linkbtn { padding: 0; font: inherit; font-size: .84rem; font-weight: 700; color: var(--wz-bad); background: none; border: 0; cursor: pointer; }

@media (max-width: 900px) {
	.pcm-wl__cards { grid-template-columns: minmax(0, 1fr); }
	.pcm-wl__presets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
	.pcm-wl__row { grid-template-columns: minmax(0, 1fr); }
	.pcm-md__shstats { grid-template-columns: minmax(0, 1fr); }
}

@media print {
	.pcm-wz__side,
	.pcm-wz__nav,
	.pcm-md__filters { display: none !important; }
	.pcm-wz { grid-template-columns: 1fr; }
}

/* Page frames. */
.pcm-section--campaign { padding-block-start: clamp(36px, 5vw, 64px); }
.pcm-campaign-more { margin-block-start: clamp(56px, 7vw, 96px); }


/* ============================================================== packages */

.pcm-pk__types {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
	margin: 0 auto clamp(22px, 3vw, 32px);
}
.pcm-pk__type {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 10px 18px 10px 12px; font: inherit; font-size: .95rem; font-weight: 700;
	color: var(--wz-ink); background: #fff;
	border: 1.5px solid var(--wz-line); border-radius: 999px; cursor: pointer;
	transition: border-color .2s, background .2s, color .2s;
}
.pcm-pk__type:hover { border-color: var(--wz-blue); }
.pcm-pk__type.is-on { color: #fff; background: linear-gradient(135deg, var(--wz-blue), var(--wz-royal)); border-color: transparent; }
.pcm-pk__typeicon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--wz-soft); color: var(--wz-blue); }
.pcm-pk__type.is-on .pcm-pk__typeicon { background: rgba(255, 255, 255, .18); color: #fff; }

.pcm-pk__about {
	display: grid; grid-template-columns: 1.1fr 1.3fr 1fr; gap: 18px 28px;
	margin: 0 0 clamp(22px, 3vw, 30px); padding: clamp(18px, 2.4vw, 28px);
	background: var(--wz-softer); border: 1px solid var(--wz-line); border-radius: var(--wz-radius);
}
.pcm-pk__about[hidden] { display: none; }
.pcm-pk__about h2 { margin: 0 0 6px; font-size: 1.3rem; font-weight: 800; }
.pcm-pk__about b { display: block; margin-block-end: 6px; font-size: .86rem; color: var(--wz-royal); }
.pcm-pk__about p { margin: 0; font-size: .92rem; line-height: 1.8; color: var(--wz-muted); }
.pcm-pk__about .pcm-pk__desc { color: var(--wz-ink); }

.pcm-pk__terms {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px;
	margin: 0 0 clamp(22px, 3vw, 30px);
}
.pcm-pk__termslabel { margin-inline-end: 6px; font-size: .9rem; font-weight: 700; color: var(--wz-muted); }
.pcm-pk__term {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 9px 16px; font: inherit; font-size: .9rem; font-weight: 700;
	color: var(--wz-ink); background: #fff; border: 1.5px solid var(--wz-line); border-radius: 12px; cursor: pointer;
}
.pcm-pk__term i { font-style: normal; font-size: .76rem; color: var(--wz-ok); }
.pcm-pk__term.is-on { border-color: var(--wz-blue); background: var(--wz-soft); color: var(--wz-royal); }

.pcm-pk__plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.pcm-pk__plan {
	position: relative; display: flex; flex-direction: column; gap: 12px;
	padding: 26px 22px 22px; background: #fff;
	border: 1.5px solid var(--wz-line); border-radius: var(--wz-radius); box-shadow: var(--wz-shadow);
}
.pcm-pk__plan.is-featured { border-color: var(--wz-blue); box-shadow: 0 22px 60px -26px rgba(1, 117, 254, .55); }
.pcm-pk__badge {
	position: absolute; inset-block-start: -13px; inset-inline-start: 22px;
	padding: 4px 12px; font-size: .76rem; font-weight: 800; color: #fff;
	background: linear-gradient(135deg, var(--wz-blue), var(--wz-royal)); border-radius: 999px;
}
.pcm-pk__name { margin: 0; font-size: 1.15rem; font-weight: 800; line-height: 1.35; text-align: start; }
.pcm-pk__name span { color: var(--wz-blue); }
.pcm-pk__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 0; }
.pcm-pk__price b { font-size: clamp(1.7rem, 2.6vw, 2.2rem); font-weight: 900; line-height: 1.1; }
.pcm-pk__price span { font-size: .85rem; font-weight: 700; color: var(--wz-muted); }
.pcm-pk__total { margin: -6px 0 0; font-size: .82rem; color: var(--wz-ok); font-weight: 700; }
.pcm-pk__total:empty { display: none; }
.pcm-pk__fee { margin: 0; padding-block-end: 12px; font-size: .8rem; line-height: 1.6; color: var(--wz-muted); border-block-end: 1px solid var(--wz-line); }
.pcm-pk__plan ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.pcm-pk__plan li { display: flex; align-items: flex-start; gap: 8px; font-size: .9rem; line-height: 1.6; }
.pcm-pk__plan li .pcm-icon { margin-block-start: .2em; color: var(--wz-blue); }
.pcm-pk__limits li { font-weight: 700; }
.pcm-pk__for { padding: 12px 14px; background: var(--wz-softer); border-radius: 14px; }
.pcm-pk__for[hidden] { display: none; }
.pcm-pk__for b { display: block; margin-block-end: 8px; font-size: .84rem; color: var(--wz-royal); }
.pcm-pk__for li .pcm-icon { color: #f5a524; }
.pcm-pk__features { flex: 1; }
.pcm-pk__choose { justify-content: center; width: 100%; margin-block-start: 6px; }
.pcm-pk__note { margin: 22px auto 0; max-width: 760px; text-align: center; font-size: .84rem; color: var(--wz-muted); }

@media (max-width: 1180px) {
	.pcm-pk__plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.pcm-pk__about { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
	.pcm-pk__plans { grid-template-columns: minmax(0, 1fr); }
	.pcm-pk__types { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding-block-end: 6px; scrollbar-width: thin; }
	.pcm-pk__type { flex: none; }
}

/* ======================================================= models, explained */

.pcm-md__explain { display: grid; gap: 22px; }
.pcm-md__ex {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 20px 34px;
	padding: clamp(20px, 3vw, 34px); background: #fff;
	border: 1px solid var(--wz-line); border-radius: var(--wz-radius); box-shadow: var(--wz-shadow);
}
.pcm-md__exhead { display: grid; gap: 10px; align-content: start; }
.pcm-md__exhead h3 { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 1.35rem; font-weight: 800; }
.pcm-md__exhead h3 .pcm-icon { width: 44px; height: 44px; padding: 10px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--wz-blue), var(--wz-royal)); }
.pcm-md__exhead p { margin: 0; font-size: .98rem; line-height: 1.85; color: var(--wz-ink); }
.pcm-md__exhead .pcm-btn { justify-self: start; margin-block-start: 6px; }
.pcm-md__exbody { display: grid; gap: 16px; }
.pcm-md__exbody b { display: block; margin-block-end: 6px; font-size: .86rem; color: var(--wz-royal); }
.pcm-md__exbody p { margin: 0; font-size: .92rem; line-height: 1.8; color: var(--wz-muted); }
.pcm-md__exsteps { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: exstep; }
.pcm-md__exsteps li { display: flex; gap: 10px; font-size: .92rem; line-height: 1.7; counter-increment: exstep; }
.pcm-md__exsteps li::before {
	content: counter(exstep); display: grid; place-items: center; flex: none;
	width: 24px; height: 24px; margin-block-start: 2px; font-size: .76rem; font-weight: 800;
	color: var(--wz-royal); background: var(--wz-soft); border-radius: 50%;
}
.pcm-md__exnote { padding: 10px 14px; background: var(--wz-softer); border-radius: 12px; }

/* The same explanation, short, on each model's own page. */
.pcm-md__how { margin-block-end: clamp(26px, 3.6vw, 40px); }

@media (max-width: 900px) {
	.pcm-md__ex { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------ 2.11: proof + print */
.pcm-wz__proofbox { background: linear-gradient(160deg, var(--pcm-night, #050a26), var(--pcm-night-2, #0a1240)); color: #fff; border-color: transparent; }
.pcm-wz__proofbox .pcm-wz__boxtitle { color: var(--pcm-muted-light, #a7b4de); }
.pcm-wz__prooftitle { margin: 0 0 8px; font-weight: 700; font-size: .98rem; line-height: 1.5; }
.pcm-wz__prooftitle span { margin-inline-end: 8px; font-family: var(--pcm-serif); font-weight: 300; color: rgba(255,255,255,.55); }
.pcm-wz__proofresult { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; font-size: .84rem; font-weight: 600; color: #9cc8ff; }
.pcm-wz__proofresult .pcm-icon { width: 15px; height: 15px; flex: none; }
.pcm-wz__prooftext { margin: 0 0 10px; font-size: .84rem; line-height: 1.75; color: #c9d6ff; }
.pcm-wz__prooflink { display: inline-flex; align-items: center; gap: 6px; font-size: .84rem; font-weight: 700; color: #fff; }
.pcm-wz__prooflink .pcm-icon { width: 15px; height: 15px; }
.pcm-wz__print {
	display: inline-flex; align-items: center; gap: 8px; margin-top: 12px;
	padding: 8px 14px; border: 1px solid var(--pcm-line, #e2eafb); border-radius: 999px;
	background: #fff; color: var(--pcm-ink, #0b1230); font: inherit; font-size: .84rem; font-weight: 600; cursor: pointer;
}
.pcm-wz__print .pcm-icon { width: 16px; height: 16px; color: var(--pcm-blue, #0175fe); }

/* The brief on paper: the summary and the contact details, nothing else. */
@media print {
	.pcm-header, .pcm-footer, .pcm-progress, .pcm-cursor, .pcm-preloader,
	.pcm-wz__side, .pcm-wz__nav, .pcm-wz__print, .pcm-wz__consent,
	.pcm-chat, .pcm-chat-btn, .pcm-whatsapp-fab, .pcm-totop, .pcm-page-hero .pcm-crumbs { display: none !important; }
	.pcm-wz { display: block !important; }
	.pcm-wz__main { box-shadow: none !important; border: 0 !important; }
	body { background: #fff !important; }
}
