/* Part-Time Agent Alliance theme styles. Colors, fonts and sizes live in theme.json. */

:root {
	--ptaa-navy: var(--wp--preset--color--navy, #13213F);
	--ptaa-blue: var(--wp--preset--color--blue, #19469D);
	--ptaa-orange: var(--wp--preset--color--orange, #F5821F);
	--ptaa-muted: var(--wp--preset--color--muted, #4A5468);
	--ptaa-mist: var(--wp--preset--color--mist, #F3F5F9);
	--ptaa-sky: var(--wp--preset--color--sky, #E8EEFA);
	--ptaa-line: var(--wp--preset--color--line, #E3E7EF);
	--ptaa-field: #8A95AA;
	--ptaa-radius: 14px;
	--ptaa-shadow: 0 1px 2px rgba(19, 33, 63, 0.06), 0 16px 40px rgba(19, 33, 63, 0.08);
	--ptaa-display: var(--wp--preset--font-family--display, "Archivo", system-ui, sans-serif);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
[id] { scroll-margin-top: 1.5rem; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--ptaa-orange);
	outline-offset: 2px;
}
[hidden] { display: none !important; }

/* Full-width sections sit flush against each other and the footer. */
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }

/* Eyebrow labels */
.ptaa-eyebrow {
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1.4;
}
:where(.is-layout-flow, .is-layout-constrained) > .ptaa-eyebrow + * { margin-block-start: 0.75rem; }

/* Hero */
.ptaa-hero-title strong {
	font-weight: inherit;
	box-shadow: inset 0 -0.2em 0 var(--ptaa-orange);
}
.ptaa-hero-sub {
	font-size: clamp(1.25rem, 2.2vw, 1.625rem);
	font-weight: 700;
	line-height: 1.3;
}
.ptaa-hero .wp-block-buttons { margin-block-start: 2rem; }

/* Buttons */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--ptaa-blue);
	border: 2px solid var(--ptaa-blue);
	padding-top: calc(0.95rem - 2px);
	padding-bottom: calc(0.95rem - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--ptaa-blue);
	color: #fff;
}
.wp-block-button.ptaa-btn-dark > .wp-block-button__link:hover {
	background: var(--ptaa-blue) !important;
	color: #fff !important;
}
.has-navy-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background: #fff;
	color: var(--ptaa-navy);
}

/* Header */
.ptaa-logo a,
.ptaa-logo {
	font-family: var(--ptaa-display);
	font-weight: 800;
	font-size: 1.125rem;
	letter-spacing: -0.01em;
	color: var(--ptaa-navy);
	text-decoration: none;
}
.ptaa-logo a {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
}
.ptaa-logo a::before {
	content: "";
	width: 34px;
	height: 24px;
	flex: 0 0 34px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%2319469D'/%3E%3Ccircle cx='22' cy='12' r='10' fill='%23F5821F' fill-opacity='.92'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ptaa-logo.is-light a { color: #fff; }
.ptaa-logo.is-light a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%234A78D0'/%3E%3Ccircle cx='22' cy='12' r='10' fill='%23F5821F' fill-opacity='.92'/%3E%3C/svg%3E");
}
.ptaa-nav a {
	color: var(--ptaa-navy);
	font-weight: 500;
	font-size: 0.9375rem;
	text-decoration: none;
}
.ptaa-nav a:hover { color: var(--ptaa-blue); }
.ptaa-nav .ptaa-nav-cta > a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 1.25rem;
	border-radius: 8px;
	background: var(--ptaa-orange);
	color: var(--ptaa-navy);
	font-weight: 700;
}
.ptaa-nav .ptaa-nav-cta > a:hover { background: var(--ptaa-navy); color: #fff; }
.ptaa-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: #fff;
	color: var(--ptaa-navy);
	padding: 1.5rem;
}
.ptaa-nav .wp-block-navigation__responsive-container.is-menu-open a { font-size: 1.25rem; }

/* Footer */
.ptaa-footer a { color: var(--wp--preset--color--cloud); text-decoration: none; }
.ptaa-footer a:hover { color: #fff; }
.ptaa-footer p { margin: 0; }
.ptaa-footer-brand { max-width: 30rem; }
.ptaa-footer-nav a { font-size: 0.9375rem; }
.ptaa-footer-bottom {
	padding-top: 1.25rem;
	border-top: 1px solid #2A3A60;
	color: #A9B6CF;
}

/* Cards */
.ptaa-card {
	border-radius: var(--ptaa-radius);
	padding: clamp(1.5rem, 3vw, 2rem);
}
.ptaa-card:where(.is-layout-flow, .is-layout-constrained) > * + * { margin-block-start: 0.75rem; }
.ptaa-card:where(.is-layout-flow, .is-layout-constrained) > .wp-block-buttons { margin-block-start: 1.5rem; }
.ptaa-card.is-outline { background: #fff; border: 1px solid var(--ptaa-line); }
.ptaa-card.is-featured { background: #fff; border: 2px solid var(--ptaa-orange); }
.ptaa-card.is-dark { padding: clamp(1.75rem, 3.5vw, 2.5rem); }
.ptaa-card .wp-block-heading { margin-block-start: 0; }
.ptaa-card-cols { gap: var(--wp--preset--spacing--30); }
.ptaa-bar::before {
	content: "";
	display: block;
	width: 40px;
	height: 4px;
	border-radius: 2px;
	background: var(--ptaa-orange);
	margin-bottom: 1.25rem;
}
.ptaa-bar.is-blue::before { background: var(--ptaa-blue); }

/* Small icons above card titles */
.ptaa-icon::before {
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	margin-bottom: 1.125rem;
	background: var(--ptaa-sky) center / 26px no-repeat;
}
.ptaa-icon.has-mist-background-color::before { background-color: #fff; }
.ptaa-icon.is-clock::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2319469D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.ptaa-icon.is-chat::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2319469D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8.5 8.5 0 0 1-12.4 7.5L3.5 21l1.5-4.6A8.5 8.5 0 1 1 21 12z'/%3E%3Cpath d='M8.5 12h.01M12 12h.01M15.5 12h.01'/%3E%3C/svg%3E"); }
.ptaa-icon.is-people::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2319469D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c0-3.6 2.9-6.5 6.5-6.5s6.5 2.9 6.5 6.5M16 4.6a3.5 3.5 0 0 1 0 6.8M18 14c2 .9 3.5 3 3.5 6'/%3E%3C/svg%3E"); }
.ptaa-icon.is-calendar::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2319469D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E"); }

/* Badges */
.ptaa-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	width: fit-content;
	background: var(--ptaa-sky);
	color: var(--ptaa-blue);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.4;
	padding: 0.3rem 0.8rem;
	border-radius: 999px;
}

/* Arrow links */
.ptaa-arrow-link a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 44px;
	font-weight: 700;
	text-decoration: none;
}
.ptaa-arrow-link a::after {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.15s ease;
}
.ptaa-arrow-link a:hover::after { transform: translateX(3px); }

/* Numbered lists */
ol.ptaa-num-list {
	list-style: none;
	padding-left: 0;
	counter-reset: ptaa-num;
}
ol.ptaa-num-list > li {
	counter-increment: ptaa-num;
	position: relative;
	padding-left: 3rem;
	min-height: 2rem;
	padding-top: 0.15rem;
	color: var(--ptaa-navy);
}
ol.ptaa-num-list > li + li { margin-top: 0.875rem; }
ol.ptaa-num-list > li::before {
	content: counter(ptaa-num);
	position: absolute;
	left: 0;
	top: 0;
	width: 2rem;
	height: 2rem;
	display: grid;
	place-items: center;
	border-radius: 999px;
	background: #fff;
	color: var(--ptaa-blue);
	box-shadow: inset 0 0 0 2px var(--ptaa-blue);
	font: 800 0.9375rem/1 var(--ptaa-display);
}
ol.ptaa-num-list.is-filled > li { padding-left: 3.25rem; }
ol.ptaa-num-list.is-filled > li + li { margin-top: 1.25rem; }
ol.ptaa-num-list.is-filled > li::before {
	width: 2.25rem;
	height: 2.25rem;
	background: var(--ptaa-blue);
	color: #fff;
	box-shadow: none;
}
ol.ptaa-num-list.is-filled > li strong { color: var(--ptaa-navy); }

/* Check and cross lists */
ul.ptaa-checks,
ul.ptaa-crosses {
	list-style: none;
	padding-left: 0;
}
ul.ptaa-checks > li,
ul.ptaa-crosses > li {
	position: relative;
	padding-left: 2.25rem;
}
ul.ptaa-checks > li + li,
ul.ptaa-crosses > li + li { margin-top: 0.875rem; }
ul.ptaa-checks > li::before,
ul.ptaa-crosses > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.15rem;
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: var(--ptaa-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat;
}
ul.ptaa-crosses > li::before {
	background: var(--ptaa-line) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A5468' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / 12px no-repeat;
}

/* Pricing */
.ptaa-price {
	font-family: var(--ptaa-display);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--price);
	line-height: 1.1;
	color: var(--ptaa-navy);
}
.ptaa-price em {
	font-family: var(--wp--preset--font-family--body);
	font-style: normal;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--ptaa-muted);
}

/* What stays yours */
.ptaa-keep-item::before {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	margin-bottom: 1rem;
	background: var(--ptaa-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313213F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 20px no-repeat;
}
.ptaa-keep-item > * + * { margin-block-start: 0.5rem; }

/* Four steps */
.ptaa-steps { counter-reset: ptaa-step; }
.ptaa-steps > .wp-block-column { counter-increment: ptaa-step; }
.ptaa-steps > .wp-block-column::before {
	content: counter(ptaa-step);
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: var(--ptaa-blue);
	color: #fff;
	font: 800 1.125rem/1 var(--ptaa-display);
	margin-bottom: 1rem;
}
.ptaa-steps > .wp-block-column > * + * { margin-block-start: 0.5rem; }

/* About */
.ptaa-headshot img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 16px;
}
.ptaa-facts {
	flex-wrap: wrap !important;
	gap: 1.25rem 2.5rem !important;
	margin-top: 2rem !important;
	padding-top: 1.5rem;
	border-top: 1px solid #D5DBE6;
}
.ptaa-facts > .wp-block-column { flex: 0 1 auto !important; }
.ptaa-facts > .wp-block-column > * { margin: 0; }
.ptaa-fact {
	font-family: var(--ptaa-display);
	font-weight: 800;
	font-size: 1.625rem;
	line-height: 1.2;
	color: var(--ptaa-navy);
}

/* Orange call to action band */
.ptaa-cta-title { font-size: clamp(1.875rem, 3.6vw, 2.75rem) !important; }
@media (max-width: 781px) {
	.ptaa-cta-buttons { justify-content: flex-start !important; }
}

/* Weekly call agenda */
.ptaa-agenda { margin: 0.5rem 0 0; }
.ptaa-agenda table { border-collapse: collapse; width: 100%; }
.ptaa-agenda td {
	border: 0;
	border-bottom: 1px solid var(--ptaa-line);
	padding: 1.1rem 0;
	vertical-align: top;
	color: var(--ptaa-muted);
}
.ptaa-agenda tr:last-child td { border-bottom: 0; padding-bottom: 0; }
.ptaa-agenda td:first-child {
	width: 4.5rem;
	padding-right: 1rem;
	font: 700 0.9375rem/1.7 var(--ptaa-display);
	color: var(--ptaa-blue);
}
.ptaa-agenda td strong { color: var(--ptaa-navy); }

/* Coverage rules */
.ptaa-rules { counter-reset: ptaa-rule; }
.ptaa-rule {
	counter-increment: ptaa-rule;
	position: relative;
	padding-left: clamp(4.5rem, 9vw, 6.5rem) !important;
}
.ptaa-rule::before {
	content: counter(ptaa-rule);
	position: absolute;
	left: clamp(1.5rem, 3vw, 2.25rem);
	top: clamp(1.4rem, 3vw, 1.9rem);
	font: 800 2.5rem/1 var(--ptaa-display);
	color: var(--ptaa-blue);
}
.ptaa-rule h3 { font-size: 1.375rem; }

/* First 90 days */
.ptaa-phases > .wp-block-column::before {
	content: "";
	display: block;
	height: 8px;
	border-radius: 4px;
	background: var(--ptaa-orange);
	margin-bottom: 1.5rem;
}
.ptaa-phases > .wp-block-column:nth-child(2)::before { background: #7FA0DE; }
.ptaa-phases > .wp-block-column:nth-child(3)::before { background: var(--ptaa-blue); }
.ptaa-phases > .wp-block-column > * + * { margin-block-start: 0.5rem; }

/* FAQ */
.ptaa-faq-item h2 {
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3;
}

/* Example week */
.ptaa-week {
	margin: 0;
	background: #fff;
	border: 1px solid var(--ptaa-line);
	border-radius: 16px;
	padding: clamp(1rem, 2.5vw, 1.5rem);
	box-shadow: var(--ptaa-shadow);
}
.ptaa-week-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin-bottom: 1.125rem;
}
.ptaa-week-title {
	font: 700 1.125rem/1.3 var(--ptaa-display);
	color: var(--ptaa-navy);
}
.ptaa-week .ptaa-badge::before {
	content: "";
	width: 14px;
	height: 14px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2319469D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ptaa-week-scroll { overflow-x: auto; }
.ptaa-week-grid {
	display: grid;
	grid-template-columns: 76px repeat(7, minmax(0, 1fr));
	gap: 6px;
	min-width: 360px;
}
.ptaa-week-day {
	text-align: center;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ptaa-muted);
}
.ptaa-week-slot {
	display: flex;
	align-items: center;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--ptaa-muted);
}
.ptaa-week-cell {
	height: 58px;
	border-radius: 8px;
	background: var(--ptaa-mist);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
}
.ptaa-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	border-radius: 6px;
	font: 800 0.6875rem/1 var(--ptaa-display);
}
.ptaa-chip.is-you { background: var(--ptaa-orange); color: var(--ptaa-navy); }
.ptaa-chip.is-parent { background: #C9D8F5; color: var(--ptaa-navy); }
.ptaa-chip.is-nurse { background: var(--ptaa-blue); color: #fff; }
.ptaa-chip.is-retiree { background: #fff; color: var(--ptaa-blue); box-shadow: inset 0 0 0 2px var(--ptaa-blue); }
.ptaa-week-legend {
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 1.25rem;
	font-size: 0.8125rem;
	color: var(--ptaa-muted);
}
.ptaa-week-legend li { display: inline-flex; align-items: center; gap: 0.5rem; }
@media (max-width: 480px) {
	.ptaa-week-grid { grid-template-columns: 58px repeat(7, minmax(0, 1fr)); gap: 4px; min-width: 0; }
	.ptaa-week-cell { height: 50px; }
	.ptaa-week-grid .ptaa-chip { width: 18px; height: 18px; flex-basis: 18px; font-size: 0.625rem; border-radius: 5px; }
	.ptaa-week-day { font-size: 0.6875rem; letter-spacing: 0; }
	.ptaa-week-slot { font-size: 0.6875rem; }
}
.ptaa-week figcaption {
	margin-top: 0.875rem;
	padding-top: 0.875rem;
	border-top: 1px solid var(--ptaa-line);
	font-size: 0.875rem;
	color: var(--ptaa-muted);
}

/* Application form */
.ptaa-apply,
.ptaa-apply-fallback {
	background: #fff;
	border-radius: 16px;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	box-shadow: var(--ptaa-shadow);
}
.ptaa-apply-fallback { box-shadow: none; padding: 0; }
.ptaa-apply-fallback h2,
.ptaa-apply-done h2,
.ptaa-apply-heading h2 {
	font-size: var(--wp--preset--font-size--feature);
	margin: 0;
}
.ptaa-apply-fallback > * + * { margin-top: 1rem; }
.ptaa-apply-form { display: flex; flex-direction: column; gap: 1.5rem; }
.ptaa-apply-heading {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.25rem 1rem;
}
.ptaa-step-label { font-size: 0.875rem; font-weight: 600; color: var(--ptaa-muted); }
.ptaa-progress {
	margin-top: 0.875rem;
	height: 6px;
	border-radius: 999px;
	background: var(--ptaa-line);
	overflow: hidden;
}
.ptaa-progress span {
	display: block;
	width: 50%;
	height: 100%;
	border-radius: 999px;
	background: var(--ptaa-orange);
	transition: width 0.25s ease;
}
html:not(.ptaa-js) .ptaa-js-only { display: none !important; }
.ptaa-step { display: flex; flex-direction: column; gap: 1.5rem; }
.ptaa-row { display: flex; flex-wrap: wrap; gap: 1rem; }
.ptaa-row > .ptaa-field { flex: 1 1 220px; min-width: 0; }
.ptaa-field label,
.ptaa-choices legend {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--ptaa-navy);
	margin-bottom: 0.4rem;
	padding: 0;
}
.ptaa-req { color: var(--wp--preset--color--orange-text); }
.ptaa-field input,
.ptaa-field select,
.ptaa-field textarea {
	width: 100%;
	min-height: 48px;
	padding: 0.625rem 0.875rem;
	border: 1px solid var(--ptaa-field);
	border-radius: 8px;
	font: inherit;
	font-size: 1rem;
	color: var(--ptaa-navy);
	background: #fff;
	box-sizing: border-box;
}
.ptaa-field textarea { min-height: 7rem; resize: vertical; }
.ptaa-choices { margin: 0; padding: 0; border: 0; min-width: 0; }
.ptaa-choice-row { display: flex; flex-wrap: wrap; gap: 0.625rem; }
.ptaa-choice {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	min-height: 44px;
	padding: 0 1rem;
	border: 1px solid var(--ptaa-field);
	border-radius: 999px;
	font-size: 0.9375rem;
	color: var(--ptaa-navy);
	cursor: pointer;
	background: #fff;
}
.ptaa-choices.is-card .ptaa-choice { flex: 1 1 220px; border-radius: 10px; min-height: 48px; }
.ptaa-choice input { width: 18px; height: 18px; margin: 0; accent-color: var(--ptaa-blue); }
.ptaa-choice:has(input:checked) { border-color: var(--ptaa-blue); background: var(--ptaa-sky); }
.ptaa-btn {
	width: 100%;
	min-height: 56px;
	border: 0;
	border-radius: 10px;
	background: var(--ptaa-blue);
	color: #fff;
	font: inherit;
	font-weight: 700;
	font-size: 1.0625rem;
	cursor: pointer;
}
.ptaa-btn:hover { background: var(--ptaa-navy); }
.ptaa-btn:disabled { opacity: 0.7; cursor: progress; }
.ptaa-btn.is-outline {
	width: auto;
	padding: 0 1.5rem;
	background: #fff;
	color: var(--ptaa-blue);
	box-shadow: inset 0 0 0 2px var(--ptaa-blue);
}
.ptaa-btn.is-outline:hover { background: var(--ptaa-sky); }
.ptaa-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.ptaa-actions .ptaa-btn[type="submit"] { flex: 1 1 220px; width: auto; }
.ptaa-apply-note { margin: 0; text-align: center; font-size: 0.875rem; color: var(--ptaa-muted); }
.ptaa-apply-error {
	margin: 0;
	padding: 0.75rem 1rem;
	border-radius: 8px;
	background: #FEF3F2;
	color: #A3241A;
	font-size: 0.9375rem;
}
.ptaa-apply-done { display: flex; flex-direction: column; gap: 1rem; outline: none; }
.ptaa-apply-done p { margin: 0; color: var(--ptaa-muted); font-size: 1.125rem; }
.ptaa-done-icon {
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: var(--ptaa-sky) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2319469D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 28px no-repeat;
}
.ptaa-editor-hint {
	margin: 1rem 0 0;
	padding: 0.75rem 1rem;
	border: 1px dashed #C7A35A;
	border-radius: 8px;
	background: #FFF8E5;
	color: #5C4813;
	font-size: 0.875rem;
}

/* Cities map */
.ptaa-map-card {
	background: #fff;
	border-radius: 16px;
	padding: clamp(1rem, 3vw, 2rem);
	box-shadow: var(--ptaa-shadow);
}
.ptaa-map-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	margin-bottom: 1.25rem;
}
.ptaa-map-title { margin: 0; font-size: 1.375rem; }
.ptaa-map-legend {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	font-size: 0.875rem;
	color: var(--ptaa-muted);
}
.ptaa-map-legend li { display: inline-flex; align-items: center; gap: 0.5rem; }
.ptaa-dot { display: inline-block; width: 16px; height: 16px; border-radius: 999px; flex: 0 0 16px; }
.ptaa-dot.is-active { background: var(--ptaa-orange); }
.ptaa-dot.is-forming { background: var(--ptaa-blue); }
.ptaa-dot.is-looking { background: #fff; box-shadow: inset 0 0 0 2px var(--ptaa-blue); }
.ptaa-map-frame { position: relative; }
.ptaa-map-frame img { display: block; width: 100%; height: auto; }
.ptaa-markers { position: absolute; inset: 0; }
.ptaa-marker {
	position: absolute;
	transform: translate(-50%, -50%);
	width: 28px;
	height: 28px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	font: 800 0.8125rem/1 var(--ptaa-display);
	box-shadow: 0 0 0 3px #fff, 0 2px 8px rgba(19, 33, 63, 0.25);
}
.ptaa-marker.is-active { background: var(--ptaa-orange); color: var(--ptaa-navy); }
.ptaa-marker.is-forming { background: var(--ptaa-blue); color: #fff; }
.ptaa-marker.is-looking { background: #fff; color: var(--ptaa-blue); box-shadow: inset 0 0 0 2px var(--ptaa-blue), 0 2px 8px rgba(19, 33, 63, 0.2); }
.ptaa-marker.is-inline { position: static; transform: none; flex: 0 0 28px; box-shadow: none; }
.ptaa-marker.is-inline.is-looking { box-shadow: inset 0 0 0 2px var(--ptaa-blue); }
@media (max-width: 600px) {
	.ptaa-markers .ptaa-marker { width: 20px; height: 20px; font-size: 0.625rem; box-shadow: 0 0 0 2px #fff; }
	.ptaa-markers .ptaa-marker.is-looking { box-shadow: inset 0 0 0 2px var(--ptaa-blue); }
}
.ptaa-city-lists { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-top: 1.5rem; }
.ptaa-city-group {
	flex: 1 1 280px;
	min-width: 0;
	background: #fff;
	border-radius: var(--ptaa-radius);
	padding: 1.5rem 1.75rem;
}
.ptaa-city-group-head { display: flex; align-items: center; gap: 0.625rem; margin-bottom: 1rem; }
.ptaa-city-group-head h2 { margin: 0; font-size: 1.25rem; }
.ptaa-count { margin-left: auto; font-size: 0.875rem; font-weight: 700; color: var(--ptaa-muted); }
.ptaa-city-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.875rem; }
.ptaa-city-list li { display: flex; gap: 0.75rem; align-items: center; }
.ptaa-city-list strong { display: block; color: var(--ptaa-navy); line-height: 1.3; }
.ptaa-city-list li span span { display: block; font-size: 0.9375rem; color: var(--ptaa-muted); }
.ptaa-city-empty { margin: 0; color: var(--ptaa-muted); }

/* Long-form pages */
.ptaa-prose { font-size: 1.125rem; }
