/* Only the helper on page 558. Approved hero, directory and shared chrome are untouched. */
#pp-planner .pt-helper {font-family:'PSV Manrope',Arial,sans-serif;color:#244d40;--pt-green:#315e4f;--pt-line:#dddccd}
#pp-planner .pt-helper *,#pp-planner .pt-helper *::before,#pp-planner .pt-helper *::after {box-sizing:border-box}
#pp-planner .pt-helper [hidden] {display:none!important}
#pp-planner .pt-form {background:#fff;border:1px solid var(--pt-line);box-shadow:0 8px 25px rgba(36,77,64,.035);padding:36px;min-width:0}
#pp-planner .pt-form h2 {font-size:30px;max-width:580px;line-height:1.3;margin-bottom:14px}
#pp-planner .pt-form .pp-form-intro {font-size:15px;line-height:1.8;margin-bottom:30px}
#pp-planner .pt-form fieldset {margin:0 0 27px;padding:0;border:0}
#pp-planner .pt-form legend {font-size:15px;font-weight:800;margin-bottom:15px;display:flex;gap:11px;align-items:baseline}
#pp-planner .pt-form legend>span {color:#839071;font-size:12px;letter-spacing:.06em}
#pp-planner .pt-experiences {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#pp-planner .pt-choice {position:relative;display:flex;align-items:center;gap:12px;margin:0;border:1px solid var(--pt-line);border-radius:12px;background:#fffdf8;padding:15px;cursor:pointer;min-height:70px;transition:border-color .16s,background .16s;line-height:1.5}
#pp-planner .pt-choice input {width:17px;height:17px;accent-color:var(--pt-green);margin:0;flex:none;cursor:pointer}
#pp-planner .pt-choice strong {display:block;font-size:14px;font-weight:800;color:#244d40}
#pp-planner .pt-choice small {display:block;font-size:11px;line-height:1.6;color:#657465;margin-top:5px;font-weight:400}
#pp-planner .pt-choice:hover {border-color:#9ba98f;background:#f7f8ef}
#pp-planner .pt-choice:has(input:checked) {background:#edf2e5;border-color:#749069;box-shadow:inset 0 0 0 1px #749069}
#pp-planner .pt-choice:has(input:focus-visible) {outline:2px solid var(--pt-green);outline-offset:3px}
#pp-planner .pt-periods {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
#pp-planner .pt-periods .pt-choice {justify-content:center;padding:12px 7px;gap:0;text-align:center}
#pp-planner .pt-periods input {position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%)}
#pp-planner .pt-periods strong {font-size:12px}
#pp-planner .pt-periods small {font-size:10px;margin-top:3px;white-space:nowrap}
#pp-planner .pt-durations {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#pp-planner .pt-choice-compact {min-height:54px;padding:13px}
#pp-planner .pt-choice-compact strong {font-size:12px}
#pp-planner .pt-budget-label {display:block;font-size:12px;font-weight:700;margin-bottom:9px;color:#506557}
#pp-planner .pt-budget-input {position:relative;max-width:340px}
#pp-planner .pt-budget-input input {width:100%;min-height:52px;background:#fff;border:1px solid #cfd7c5;border-radius:10px;padding:12px 52px 12px 15px;color:#244d40;font:500 16px/1.6 'PSV Manrope',Arial,sans-serif}
#pp-planner .pt-budget-input>span {position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:13px;color:#647269;pointer-events:none}
#pp-planner .pt-budget-input input::-webkit-inner-spin-button {appearance:none}
#pp-planner .pt-budget-shortcuts {display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
#pp-planner .pt-budget-shortcuts button {background:#fff;border:1px solid var(--pt-line);border-radius:7px;font:700 11px/1.5 'PSV Manrope',Arial,sans-serif;color:#315e4f;padding:9px 12px;min-height:38px;cursor:pointer}
#pp-planner .pt-budget-shortcuts button[aria-pressed=true] {background:#edf2e5;border-color:#749069}
#pp-planner .pt-hint {font-size:12px;color:#657465;line-height:1.8;margin:12px 0 0;max-width:530px}
#pp-planner .pt-form-actions {display:flex;justify-content:space-between;gap:15px;padding-top:24px}
#pp-planner .pt-form-actions .pt-submit {background:var(--pt-green);color:#fff;cursor:pointer;font:800 14px/1.5 'PSV Manrope',Arial,sans-serif;min-height:52px;padding:15px 22px;border-radius:10px;display:inline-flex;gap:25px;justify-content:space-between;align-items:center}
#pp-planner .pt-form-actions .pt-submit:hover {background:#244d40}
#pp-planner .pt-form-actions .pt-submit:disabled {opacity:.65;cursor:wait}
#pp-planner .pt-reset {font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px;padding-block:12px;color:#5b6d5e}
#pp-planner .pt-status {min-height:0;font-size:13px;line-height:1.8;color:#315e4f;margin:14px 0 0}
#pp-planner .pt-status:empty {display:none}
#pp-planner .pt-status[data-error=true] {color:#9b3229}
#pp-planner .pt-aside {background:#f0ead9;min-width:0;padding:29px}
#pp-planner .pt-aside h3 {font-size:27px;line-height:1.35}
#pp-planner .pt-aside .pp-aside-photo {height:200px;margin-top:24px}
#pp-planner .pt-aside .pp-link {margin-top:22px;gap:9px}
#pp-planner .pt-aside .pt-aside-footnote {font-size:11px;line-height:1.8;margin:20px 0 0;color:#647269;padding-top:18px;border-top:1px solid #ded9c8}
#pp-planner .pt-results {padding-top:54px;scroll-margin-top:30px}
#pp-planner .pt-result-heading>p:not(.pp-kicker) {max-width:810px;font-size:15px;line-height:1.8;color:#60705f;margin:0 0 18px}
#pp-planner .pt-result-heading h2 {font-size:34px;margin-bottom:14px}
#pp-planner .pt-recap {list-style:none;display:flex;gap:9px;flex-wrap:wrap;padding:0;margin:0 0 28px}
#pp-planner .pt-recap li {padding:7px 11px;border:1px solid #dedfd0;border-radius:7px;background:#f1f0e4;color:#4e6654;font-size:11px;font-weight:700;line-height:1.6}
#pp-planner .pt-result-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
#pp-planner .pt-result-grid[data-pt-count="2"] {grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
#pp-planner .pt-result-grid[data-pt-count="1"] {grid-template-columns:minmax(0,1fr);max-width:500px}
#pp-planner .pt-country {background:#fff;border:1px solid #e2ddce;border-radius:20px;overflow:hidden;min-width:0;display:flex;flex-direction:column;box-shadow:0 6px 20px rgba(36,77,64,.035)}
#pp-planner .pt-country-picture {display:block;flex:none;height:210px;overflow:hidden}
#pp-planner .pt-country-picture img {width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
#pp-planner .pt-country-picture:hover img {transform:scale(1.025)}
#pp-planner .pt-country-copy {padding:25px;display:flex;flex-direction:column;flex:1;min-width:0}
#pp-planner .pt-country-label {display:flex;gap:9px;align-items:center;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#758268;margin:0 0 10px}
#pp-planner .pt-flag {display:inline-flex;align-items:center;flex:none}
#pp-planner .pt-country-label .pt-flag img {width:24px!important;height:24px!important;max-width:none!important;max-height:none!important;object-fit:contain;margin:0!important}
#pp-planner .pt-country h3 {font-size:28px;margin:0 0 13px;line-height:1.25}
#pp-planner .pt-country h3 a {text-decoration:none;color:#244d40}
#pp-planner .pt-country h3 a:hover {text-decoration:underline;text-underline-offset:4px}
#pp-planner .pt-country-reason {font-size:14px;line-height:1.85;color:#5c6e5f;margin:0 0 20px}
#pp-planner .pt-country-areas {font-size:12px;line-height:1.8;color:#486450;margin:0 0 18px}
#pp-planner .pt-country-areas strong {display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#7a856c;margin-bottom:4px}
#pp-planner .pt-season-note {font-size:12px;line-height:1.8;padding:14px 15px;border-radius:10px;background:#f4f2e8;color:#63715f;margin:0 0 23px}
#pp-planner .pt-country-actions {margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:7px}
#pp-planner .pt-country-actions .pp-button {font-size:13px;gap:18px;justify-content:space-between}
#pp-planner .pt-country-actions .pp-link {justify-content:center;gap:8px;font-size:12px}
#pp-planner .pt-result-note {font-size:12px;color:#647465;line-height:1.85;max-width:900px;margin:23px 0 0}
#pp-planner .pt-empty {max-width:760px;padding:30px;background:#f0ead9;border-radius:20px}
#pp-planner .pt-empty p {font-size:15px;line-height:1.85;color:#60705f;margin-bottom:22px}
#pp-planner .pt-helper :is(a,button,input):focus-visible {outline:2px solid var(--pt-green);outline-offset:3px}
@media(max-width:1100px) {#pp-planner .pt-periods {grid-template-columns:repeat(3,minmax(0,1fr))} #pp-planner .pt-country-copy {padding:20px} #pp-planner .pt-country h3 {font-size:25px}}
@media(max-width:991px) {#pp-planner .pp-planner-layout {grid-template-columns:minmax(0,1fr) 280px} #pp-planner .pt-form {padding:27px} #pp-planner .pt-experiences {grid-template-columns:1fr} #pp-planner .pt-aside {padding:25px} #pp-planner .pt-result-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px) {#pp-planner .pp-planner-layout {display:block} #pp-planner .pt-form {padding:27px 22px} #pp-planner .pt-form h2 {font-size:27px} #pp-planner .pt-experiences {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px} #pp-planner .pt-choice-experience {display:block;padding:14px 12px} #pp-planner .pt-choice-experience input {margin-bottom:9px} #pp-planner .pt-choice strong {font-size:13px} #pp-planner .pt-choice-compact strong {font-size:11px} #pp-planner .pt-choice small {font-size:10px} #pp-planner .pt-periods {grid-template-columns:repeat(3,minmax(0,1fr))} #pp-planner .pt-form-actions {flex-wrap:wrap} #pp-planner .pt-form-actions .pt-submit {width:100%;font-size:15px} #pp-planner .pt-reset {display:inline-flex;padding-top:4px} #pp-planner .pt-aside {margin-top:24px} #pp-planner .pt-aside .pp-aside-photo {height:210px} #pp-planner .pt-results {padding-top:38px} #pp-planner .pt-result-heading h2 {font-size:29px} #pp-planner .pt-result-grid,#pp-planner .pt-result-grid[data-pt-count="2"],#pp-planner .pt-result-grid[data-pt-count="1"] {grid-template-columns:1fr;max-width:none} #pp-planner .pt-country-copy {padding:25px} #pp-planner .pt-country h3 {font-size:29px} #pp-planner .pt-country-picture {height:220px}}
@media(prefers-reduced-motion:reduce) {#pp-planner .pt-helper * {scroll-behavior:auto!important;transition:none!important}}

/* Expanded planner: seven readable groups, not hidden advanced questions. */
#pp-planner .pt-form fieldset {padding-bottom:28px;border-bottom:1px solid #ece8dc;scroll-margin-top:25px}
#pp-planner .pt-field-title {font-size:13px;font-weight:800;color:#315e4f;margin:23px 0 12px;line-height:1.7}
#pp-planner .pt-chip-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#pp-planner .pt-chip-grid-three {grid-template-columns:repeat(3,minmax(0,1fr))}
#pp-planner .pt-chip-grid .pt-choice {min-height:59px}
#pp-planner .pt-people-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#pp-planner .pt-number-control {display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;max-width:250px}
#pp-planner .pt-number-control button {display:flex;align-items:center;justify-content:center;border:1px solid #cfd7c5;background:#f7f8ef;border-radius:9px;color:#315e4f;min-height:48px;cursor:pointer;font:700 22px/1 'PSV Manrope',Arial,sans-serif;padding:0}
#pp-planner .pt-number-control button:hover {background:#edf2e5;border-color:#749069}
#pp-planner .pt-number-control input {width:100%;min-width:0;border:1px solid #cfd7c5;border-radius:9px;text-align:center;background:#fff;color:#244d40;padding:8px 2px;font:700 17px/1.5 'PSV Manrope',Arial,sans-serif;appearance:textfield;-moz-appearance:textfield}
#pp-planner .pt-number-control input::-webkit-inner-spin-button {appearance:none}
#pp-planner .pt-children-ages {margin-top:22px;padding:20px;border:1px solid #e0e4d4;border-radius:12px;background:#f6f8ee}
#pp-planner .pt-children-ages .pt-field-title {margin-top:0}
#pp-planner .pt-age-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#pp-planner .pt-age-grid label {font-size:12px;font-weight:700;color:#506557}
#pp-planner .pt-age-grid input {display:block;min-width:0;width:100%;margin-top:7px;border:1px solid #cfd7c5;border-radius:9px;background:#fff;padding:10px;font:500 16px/1.5 'PSV Manrope',Arial,sans-serif;color:#244d40}
#pp-planner .pt-month-label {display:block;margin:23px 0 10px;font-size:13px;font-weight:800;line-height:1.7}
#pp-planner .pt-month-label span {font-size:11px;font-weight:400;color:#738069;margin-left:8px}
#pp-planner .pt-month {display:block;width:100%;max-width:340px;min-height:52px;padding:11px 14px;border:1px solid #cfd7c5;border-radius:10px;background:#fff;font:500 16px/1.5 'PSV Manrope',Arial,sans-serif;color:#315e4f}
#pp-planner .pt-aside {position:static}
#pp-planner .pt-section-nav ol {counter-reset:plan;list-style:none;padding:0;margin:22px 0}
#pp-planner .pt-section-nav li {counter-increment:plan;margin:0;border-bottom:1px solid #ded9c8}
#pp-planner .pt-section-nav a {display:flex;align-items:center;gap:13px;min-height:47px;padding:8px 0;font-size:13px;font-weight:700;color:#315e4f;text-decoration:none}
#pp-planner .pt-section-nav a::before {content:counter(plan,decimal-leading-zero);color:#829072;font-size:10px;font-weight:800}
#pp-planner .pt-section-nav a:hover {text-decoration:underline;text-underline-offset:4px}
#pp-planner .pt-plan-notes {margin-top:30px;padding:27px 30px;border-radius:18px;background:#eef2e4;border:1px solid #dfe6d2}
#pp-planner .pt-plan-notes h3 {font-size:23px;margin:0 0 16px}
#pp-planner .pt-plan-notes ul {margin:0;padding-left:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 34px}
#pp-planner .pt-plan-notes li {font-size:13px;line-height:1.85;color:#5b6d5d;padding-right:6px}
@media(max-width:991px) {#pp-planner .pt-chip-grid-three {grid-template-columns:1fr} #pp-planner .pt-people-grid {gap:15px} #pp-planner .pt-number-control {grid-template-columns:37px minmax(0,1fr) 37px;gap:5px} #pp-planner .pt-age-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px) {#pp-planner .pt-aside {position:static} #pp-planner .pt-chip-grid .pt-choice {display:flex;min-height:60px} #pp-planner .pt-chip-grid .pt-choice strong {font-size:12px} #pp-planner .pt-chip-grid .pt-choice input {margin-bottom:0} #pp-planner .pt-form fieldset {padding-bottom:24px} #pp-planner .pt-form legend {font-size:15px} #pp-planner .pt-number-control {grid-template-columns:35px minmax(0,1fr) 35px;gap:5px} #pp-planner .pt-people-grid {gap:14px} #pp-planner .pt-people-grid .pt-budget-label {font-size:11px} #pp-planner .pt-children-ages {padding:17px} #pp-planner .pt-plan-notes {padding:24px 22px} #pp-planner .pt-plan-notes ul {grid-template-columns:1fr} #pp-planner .pt-month {max-width:none}}
