/* Trouwdag-planner · pixartweddings.com/planner/  (versie 3: wizard)
   Alles hangt onder .pl, zodat de rest van de site (style.css) er geen last van heeft en andersom.
   Opbouw: kop met belofte en beeld van de PDF (.pl-hero), zo werkt het (.pl-how), de wizard (.pl-wiz) met live voorbeeld
   (.pl-preview) op een groot scherm, het resultaat (.pl-result) met lead-stap (.pl-lead), en onderaan ingeklapt de
   planner per traditie (.pl-trad), uitleg (.pl-seo) en vragen (.pl-faq). */

.pl {
  --pl-paper: #f7f5f1;
  --pl-paper-2: #efebe4;
  --pl-white: #fffefb;
  --pl-ink: #141312;
  --pl-ink-2: #3a3733;
  --pl-muted: #6f6a62;
  --pl-gold: #b8954f;
  --pl-gold-text: #846429;
  --pl-gold-deep: #a07f3b;
  --pl-gold-soft: #d9c49a;
  --pl-line: rgba(20, 19, 18, .14);
  --pl-line-2: rgba(20, 19, 18, .3);
  --pl-serif: "Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;
  --pl-sans: "Jost", "Futura", "Helvetica Neue", Arial, sans-serif;
  --pl-gut: clamp(16px, 5vw, 56px);
  --pl-head: 84px;                      /* ruimte onder de vaste site-header bij scrollen */
  display: block;
  color: var(--pl-ink);
}
.pl *, .pl *::before, .pl *::after { box-sizing: border-box; }
.pl [hidden] { display: none !important; }
.pl :focus-visible { outline: 2px solid var(--pl-gold-deep); outline-offset: 3px; }
.pl em { font-style: italic; color: var(--pl-gold-deep); }
.pl-sr { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.pl-skip { position: absolute; left: -999px; top: 8px; z-index: 200; background: #141312; color: #f7f5f1; padding: 10px 16px; font: 500 13px/1 "Jost", Arial, sans-serif; }
.pl-skip:focus { left: 8px; }

.pl .pl-label { font: 500 11px/1.5 var(--pl-sans); font-style: normal; letter-spacing: .3em; text-transform: uppercase; color: var(--pl-gold-text); margin: 0 0 16px; max-width: none; }

/* knoppen en links */
.pl-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 15px 26px;
  border: 1px solid var(--pl-ink); border-radius: 0; cursor: pointer; text-decoration: none; white-space: nowrap;
  font: 500 12px/1.1 var(--pl-sans); letter-spacing: .18em; text-transform: uppercase;
  transition: background .25s, color .25s, border-color .25s;
}
.pl-btn svg { width: 17px; height: 17px; flex: none; fill: currentColor; }
.pl-btn svg path[fill="none"] { fill: none; }
.pl-btn-dark { background: var(--pl-ink); color: var(--pl-paper); }
.pl-btn-dark:hover { background: transparent; color: var(--pl-ink); }
.pl-btn-line { background: transparent; color: var(--pl-ink); border-color: var(--pl-line-2); }
.pl-btn-line:hover { border-color: var(--pl-ink); background: rgba(20, 19, 18, .04); }
.pl-btn-lg { min-height: 58px; padding: 18px 34px; font-size: 12.5px; letter-spacing: .2em; }
.pl-btn[aria-busy="true"], .pl-btn:disabled { cursor: progress; opacity: .72; }
.pl-link { background: none; border: 0; padding: 6px 0; cursor: pointer; font: 400 14px/1.4 var(--pl-sans); color: var(--pl-muted); text-decoration: underline; text-decoration-color: var(--pl-gold); text-underline-offset: 4px; }
.pl-link:hover { color: var(--pl-ink); }

/* ================================================================ 1. kop: belofte, beeld, knop */
.pl-hero { max-width: 1180px; margin: 0 auto; padding: clamp(28px, 5vw, 72px) var(--pl-gut) clamp(40px, 6vw, 72px); display: grid; gap: clamp(36px, 6vw, 56px); align-items: center; }
.pl-hero-copy { min-width: 0; }
.pl-hero h1 { font: 400 clamp(44px, 8.4vw, 92px)/1 var(--pl-serif); letter-spacing: -.01em; margin: 0; max-width: 11ch; }
.pl-lede { font: italic 400 clamp(19px, 2.1vw, 24px)/1.5 var(--pl-serif); color: var(--pl-ink-2); max-width: 520px; margin: 22px 0 0; }
.pl-lede::after { content: ""; display: block; width: 44px; height: 1px; background: var(--pl-gold); margin-top: 24px; }
.pl-hero-act { margin-top: 28px; }
.pl-hero-note { margin: 14px 0 0; font: 400 13.5px/1.55 var(--pl-sans); color: var(--pl-muted); }

.pl-hero-pdf { margin: 0; min-width: 0; }
.pl-stack { position: relative; display: grid; padding: 4% 6% 8%; }
.pl-pg { grid-area: 1 / 1; width: 68%; height: auto; background: #fff; border: 1px solid rgba(20, 19, 18, .08); box-shadow: 0 1px 2px rgba(20, 19, 18, .08), 0 36px 60px -34px rgba(20, 19, 18, .5); }
.pl-pg-2 { justify-self: end; align-self: start; transform: rotate(4deg); }
.pl-pg-1 { justify-self: start; align-self: end; transform: rotate(-3.5deg) translateY(2%); }
.pl-hero-pdf figcaption { margin: 10px 0 0; text-align: center; font: 400 12.5px/1.55 var(--pl-sans); color: var(--pl-muted); }
@media (min-width: 900px) {
  .pl-hero { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(40px, 6vw, 96px); }
  .pl-stack { padding: 6% 4% 10%; }
  .pl-hero-pdf figcaption { margin-top: 0; }
  .pl-pg-1 { animation: pl-in .9s cubic-bezier(.2, .7, .2, 1) .15s both; }
  .pl-pg-2 { animation: pl-in .9s cubic-bezier(.2, .7, .2, 1) both; }
}
@keyframes pl-in { from { opacity: 0; translate: 0 18px; } to { opacity: 1; translate: 0 0; } }

/* ================================================================ 2. zo werkt het */
.pl-how { max-width: 1180px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) var(--pl-gut) clamp(48px, 7vw, 96px); border-top: 1px solid var(--pl-line); }
.pl-how-head h2 { font: 400 clamp(32px, 4.6vw, 50px)/1.08 var(--pl-serif); margin: 0 0 clamp(26px, 4vw, 48px); max-width: 640px; }
.pl-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(30px, 5vw, 44px); counter-reset: stap; }
@media (min-width: 760px) { .pl-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 56px); } }
@media (max-width: 759px) { .pl-stage { aspect-ratio: 16 / 10; } }
.pl-step { min-width: 0; }
.pl-step-n { margin: 18px 0 8px; display: flex; align-items: center; gap: 12px; font: 500 11px/1 var(--pl-sans); letter-spacing: .24em; color: var(--pl-gold-text); }
.pl-step-n::after { content: ""; flex: 1; height: 1px; background: var(--pl-gold-soft); }
.pl-step h3 { margin: 0; font: 400 clamp(24px, 2.6vw, 29px)/1.15 var(--pl-serif); }
.pl-step p:last-child { margin: 8px 0 0; font: 400 15px/1.6 var(--pl-sans); color: var(--pl-muted); max-width: 360px; }

/* echte UI-fragmenten, rustig geanimeerd; zonder beweging staat alles in de eindstand */
.pl-stage { position: relative; aspect-ratio: 4 / 3; overflow: hidden; padding: 20px 20px 18px; background: var(--pl-paper-2); border: 1px solid var(--pl-gold-soft); display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.pl-stage-q { margin: 0; font: 400 clamp(19px, 2vw, 22px)/1.2 var(--pl-serif); color: var(--pl-ink); }
.pl-stage-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.pl-stage-chips span { display: inline-flex; align-items: center; min-height: 36px; padding: 7px 13px; border: 1px solid var(--pl-line-2); background: #fff; font: 400 13px/1.2 var(--pl-sans); color: var(--pl-ink-2); }
.pl-stage-chips .is-anim { background: var(--pl-ink); color: var(--pl-paper); border-color: var(--pl-ink); animation: pl-pick 8s ease-in-out infinite; }
.pl-stage-2 .is-anim { animation-delay: 1.4s; }
.pl-stage-time { margin: 0; font: 400 36px/1 var(--pl-serif); font-variant-numeric: tabular-nums; color: var(--pl-ink); animation: pl-type 8s ease-in-out infinite; }
.pl-stage-3 { align-items: center; justify-content: center; padding-top: 14px; }
.pl-stage-paper { width: 34%; max-width: 120px; background: #fff; border: 1px solid rgba(20, 19, 18, .08); box-shadow: 0 1px 2px rgba(20, 19, 18, .08), 0 22px 34px -22px rgba(20, 19, 18, .5); transform: rotate(-3deg); animation: pl-paper 8s ease-in-out infinite; }
.pl-stage-paper img { width: 100%; height: auto; display: block; }
.pl-stage-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 10px 16px; background: var(--pl-ink); color: var(--pl-paper); font: 500 10.5px/1 var(--pl-sans); letter-spacing: .16em; text-transform: uppercase; animation: pl-btn 8s ease-in-out infinite; }
@keyframes pl-pick { 0%, 22% { background: #fff; color: #3a3733; border-color: rgba(20, 19, 18, .3); } 30%, 100% { background: #141312; color: #f7f5f1; border-color: #141312; } }
@keyframes pl-type { 0%, 12% { opacity: .18; } 24%, 100% { opacity: 1; } }
@keyframes pl-paper { 0%, 28% { transform: rotate(-3deg) translateY(16px); opacity: 0; } 42%, 100% { transform: rotate(-3deg) translateY(0); opacity: 1; } }
@keyframes pl-btn { 0%, 48% { opacity: .25; } 58%, 100% { opacity: 1; } }

/* ================================================================ 3. de planner */
.pl-tool { max-width: 1180px; margin: 0 auto; padding: clamp(10px, 2vw, 24px) var(--pl-gut) clamp(56px, 8vw, 110px); scroll-margin-top: var(--pl-head); }
.pl-noscript { margin: 0 0 20px; }
.pl-form { display: grid; gap: clamp(36px, 5vw, 56px); align-items: start; min-width: 0; }
@media (min-width: 1000px) {
  .pl-form { grid-template-columns: minmax(0, 580px) minmax(320px, 1fr); gap: clamp(48px, 6vw, 88px); }
  .pl-form.is-result { grid-template-columns: minmax(0, 1fr); }
}

/* de wizard */
.pl-wiz { min-width: 0; }
.pl-wiz-head { padding: 14px 0 0; border-top: 1px solid var(--pl-ink); }
.pl-wiz-step { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 10px; font: 500 11px/1.4 var(--pl-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--pl-gold-text); }
.pl-wiz-name { color: var(--pl-muted); letter-spacing: .14em; }
.pl-bar { height: 2px; background: var(--pl-line); }
.pl-bar span { display: block; height: 100%; background: var(--pl-gold); transition: width .45s cubic-bezier(.2, .7, .2, 1); }

.pl-q { border: 0; margin: 0; padding: 26px 0 8px; min-width: 0; }
.pl-q-leg { float: left; width: 100%; padding: 0; margin: 0 0 14px; }
.pl-q-leg + * { clear: both; }
.pl-n { display: block; margin: 0 0 10px; font: 500 11px/1.4 var(--pl-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--pl-gold-text); }
.pl-q-h { display: block; font: 400 clamp(28px, 4.2vw, 38px)/1.1 var(--pl-serif); color: var(--pl-ink); outline: none; }
.pl-hint { font: 400 14px/1.55 var(--pl-sans); color: var(--pl-muted); margin: 0 0 18px; }
.pl-sub { margin-top: 28px; }
.pl-sub-h { display: block; margin: 0 0 10px; font: 400 21px/1.3 var(--pl-serif); color: var(--pl-ink); }
.pl-sub .pl-hint { margin: 10px 0 0; }
.pl-field { display: grid; gap: 7px; min-width: 0; }
.pl-field > label, .pl-g-lab { font: 500 11px/1.35 var(--pl-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--pl-muted); }
.pl-opt { letter-spacing: .04em; text-transform: none; font-weight: 400; }
.pl-field-inline { margin-top: 16px; max-width: 360px; }
.pl-field-date { max-width: 360px; }

.pl input[type="date"], .pl input[type="time"], .pl select,
.pl input[type="text"], .pl input[type="tel"], .pl input[type="email"], .pl input[type="number"], .pl input[type="search"], .pl textarea {
  -webkit-appearance: none; appearance: none; display: block; width: 100%; min-width: 0; min-height: 52px; margin: 0;
  padding: 12px 14px; border: 1px solid var(--pl-line-2); border-radius: 0; background-color: #fff;
  font: 400 17px/1.2 var(--pl-sans); color: var(--pl-ink); color-scheme: light;
}
.pl .pl-in-time { max-width: 220px; font: 400 26px/1 var(--pl-serif); font-variant-numeric: tabular-nums; min-height: 56px; }
.pl select {
  padding-right: 38px;
  background-image: linear-gradient(45deg, transparent 50%, var(--pl-gold-text) 50%), linear-gradient(-45deg, transparent 50%, var(--pl-gold-text) 50%);
  background-position: right 19px center, right 14px center; background-size: 5px 5px; background-repeat: no-repeat;
}
.pl input[type="date"]::-webkit-date-and-time-value, .pl input[type="time"]::-webkit-date-and-time-value { text-align: left; }
.pl input:hover, .pl select:hover, .pl textarea:hover { border-color: var(--pl-ink-2); }
.pl input:focus-visible, .pl select:focus-visible, .pl textarea:focus-visible { border-color: var(--pl-ink); outline-offset: 2px; }
.pl textarea { min-height: 120px; resize: vertical; line-height: 1.5; }
.pl input::placeholder, .pl textarea::placeholder { color: #9a948b; opacity: 1; }
.pl input[type="number"] { -moz-appearance: textfield; }
.pl input[type="number"]::-webkit-inner-spin-button, .pl input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.pl input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/* keuzes: radio's en vinkjes als grote, rustige knoppen; de echte invoer blijft bedienbaar met toetsenbord en schermlezer */
.pl-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.pl-choice, .pl-card { position: relative; display: block; cursor: pointer; min-width: 0; }
.pl-choice input, .pl-card input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.pl-choice span {
  display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 11px 18px; width: 100%;
  border: 1px solid var(--pl-line-2); background: #fff; font: 400 15px/1.3 var(--pl-sans); color: var(--pl-ink-2);
  transition: background .2s, color .2s, border-color .2s;
}
.pl-choice:hover span { border-color: var(--pl-ink-2); }
.pl-choice input:checked + span { background: var(--pl-ink); border-color: var(--pl-ink); color: var(--pl-paper); }
.pl-choice input:focus-visible + span, .pl-card input:focus-visible + span { outline: 2px solid var(--pl-gold-deep); outline-offset: 2px; }
.pl-check span::before { content: ""; flex: none; width: 13px; height: 13px; border: 1px solid currentColor; opacity: .55; }
.pl-check input:checked + span::before {
  opacity: 1; border-color: var(--pl-gold-soft);
  background: var(--pl-gold-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6l4.6-5' fill='none' stroke='%23141312' stroke-width='1.6'/%3E%3C/svg%3E") center / 11px no-repeat;
}
.pl-choice.is-off { cursor: not-allowed; }
.pl-choice.is-off span { opacity: .42; }
.pl-choice.is-off input { cursor: not-allowed; }

.pl-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pl-card span { display: block; height: 100%; padding: 16px 16px 15px; border: 1px solid var(--pl-line-2); background: #fff; transition: border-color .2s, box-shadow .2s, background .2s; }
.pl-card b { display: block; font: 400 22px/1.12 var(--pl-serif); color: var(--pl-ink); }
.pl-card small { display: block; margin-top: 6px; font: 400 12.5px/1.45 var(--pl-sans); color: var(--pl-muted); }
.pl-card:hover span { border-color: var(--pl-ink-2); }
.pl-card input:checked + span { border-color: var(--pl-ink); box-shadow: inset 0 0 0 1px var(--pl-ink), inset 0 3px 0 0 var(--pl-gold); background: var(--pl-white); }

/* stap 1: tradities */
.pl-cul-top { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pl-cul-top span { justify-content: flex-start; }
.pl-cul-picked { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0 0; }
.pl-cul-picked:empty { display: none; }
.pl-cul-pl { margin-right: 4px; font: 500 11px/1 var(--pl-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--pl-gold-text); }
.pl-chip { display: inline-flex; align-items: center; gap: 2px; min-height: 42px; padding: 4px 4px 4px 15px; background: var(--pl-ink); color: var(--pl-paper); font: 400 15px/1.2 var(--pl-sans); }
.pl-chip button { display: grid; place-items: center; width: 34px; height: 34px; border: 0; padding: 0; background: transparent; color: var(--pl-gold-soft); cursor: pointer; }
.pl-chip button:hover { color: #fff; }
.pl-chip svg { width: 11px; height: 11px; }
.pl-cul-count { margin: 10px 0 0; font: 400 13.5px/1.5 var(--pl-sans); color: var(--pl-gold-text); }
.pl-cul-count:empty { display: none; }
.pl-cul-more { margin-top: 20px; border-top: 1px solid var(--pl-line); border-bottom: 1px solid var(--pl-line); }
.pl-cul-more > summary, .pl-cul-g summary, .pl-trad-g summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 10px 2px; font: 400 20px/1.25 var(--pl-serif); color: var(--pl-ink); }
.pl-cul-more > summary::-webkit-details-marker, .pl-cul-g summary::-webkit-details-marker, .pl-trad-g summary::-webkit-details-marker { display: none; }
.pl-cul-more > summary:hover .pl-cul-gn, .pl-cul-g summary:hover .pl-cul-gn, .pl-trad-g summary:hover .pl-trad-gn { text-decoration: underline; text-decoration-color: var(--pl-gold); text-underline-offset: 4px; }
.pl-cul-gc { flex: none; min-width: 26px; padding: 4px 7px; border: 1px solid var(--pl-gold-soft); border-radius: 20px; text-align: center; font: 500 11px/1 var(--pl-sans); color: var(--pl-gold-text); }
.pl-cul-g:has(input:checked) .pl-cul-gc { background: var(--pl-ink); border-color: var(--pl-ink); color: var(--pl-paper); }
.pl-cul-gs { flex: none; position: relative; width: 13px; height: 13px; margin-left: auto;
  background: linear-gradient(var(--pl-gold-text), var(--pl-gold-text)) center / 13px 1px no-repeat, linear-gradient(var(--pl-gold-text), var(--pl-gold-text)) center / 1px 13px no-repeat; }
.pl-cul-more[open] > summary .pl-cul-gs, .pl-cul-g[open] .pl-cul-gs, .pl-trad-g[open] summary .pl-cul-gs { background: linear-gradient(var(--pl-gold-text), var(--pl-gold-text)) center / 13px 1px no-repeat; }
.pl-cul-more-b { padding: 4px 0 18px; }
.pl .pl-cul-search input {
  padding-left: 42px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='8.5' cy='8.5' r='5.5' fill='none' stroke='%23846429' stroke-width='1.4'/%3E%3Cpath d='m12.6 12.6 4.4 4.4' stroke='%23846429' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") 14px center / 18px no-repeat;
}
.pl-cul-list { margin-top: 16px; border-top: 1px solid var(--pl-line); outline: none; }
.pl-cul-g { border-bottom: 1px solid var(--pl-line); }
.pl-cul-g summary { min-height: 50px; font-size: 19px; }
.pl-cul-g .pl-choices { padding: 0 0 16px; }
.pl-cul-it span { min-height: 44px; padding: 9px 14px; font-size: 14.5px; width: auto; }
.pl-cul-none { margin: 0; padding: 14px 0; font: 400 14px/1.55 var(--pl-sans); color: var(--pl-muted); }

/* stap 5: onderdelen per moment */
.pl-og + .pl-og { margin-top: 22px; }
.pl-og-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin: 0 0 9px; font: 500 11px/1.4 var(--pl-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--pl-gold-text); }
.pl-og-h small { font-size: 12.5px; font-weight: 400; letter-spacing: .02em; text-transform: none; color: var(--pl-muted); }
.pl-og-list { display: grid; gap: 6px; }
.pl-od { background: #fff; border: 1px solid var(--pl-line-2); transition: border-color .2s, box-shadow .2s; }
.pl-od:hover { border-color: var(--pl-ink-2); }
.pl-od:has(> .pl-od-lab input:checked) { border-color: var(--pl-ink); box-shadow: inset 3px 0 0 var(--pl-gold); }
.pl-ods.is-compact .pl-od.is-off { display: none; }
.pl-od-lab { position: relative; display: block; padding: 12px 14px 13px; cursor: pointer; }
.pl-od-lab input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.pl-od-txt { position: relative; display: block; padding-left: 30px; }
.pl-od-txt::before { content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border: 1px solid var(--pl-ink-2); background: #fff; }
.pl-od-lab input:checked + .pl-od-txt::before {
  border-color: var(--pl-ink);
  background: var(--pl-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6l4.6-5' fill='none' stroke='%23d9c49a' stroke-width='1.6'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.pl-od-lab input:focus-visible + .pl-od-txt { outline: 2px solid var(--pl-gold-deep); outline-offset: 6px; }
.pl-od-n { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px; }
.pl-od-n b { font: 400 20px/1.25 var(--pl-serif); color: var(--pl-ink); }
.pl-od-lok { font: italic 400 17px/1.25 var(--pl-serif); color: var(--pl-gold-text); }
.pl-od-dur { font: 400 12px/1.6 var(--pl-sans); letter-spacing: .05em; color: var(--pl-muted); white-space: nowrap; }
.pl-od-u { display: block; margin-top: 3px; font: 400 13.5px/1.5 var(--pl-sans); color: var(--pl-muted); }
.pl-od-lab input:not(:checked) + .pl-od-txt .pl-od-u { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.pl-od-c { display: inline-block; margin-top: 6px; font: 500 10px/1 var(--pl-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--pl-gold-text); }
.pl-od-when { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 14px 14px 44px; }
.pl-od-when input { min-height: 44px; font-size: 16px; padding: 9px 10px; }
.pl-od-more { margin: 18px 0 0; }

/* stap 6: jullie gegevens */
.pl-g-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
.pl-g-row3 { grid-template-columns: 1fr 1fr 1fr; }
.pl-g-block + .pl-g-block { margin-top: 18px; }
.pl-g-h { margin: 0 0 -4px; font: 400 19px/1.3 var(--pl-serif); color: var(--pl-ink); }
.pl-g-date { align-content: start; }
.pl-g-datum { margin: 0; min-height: 52px; display: flex; align-items: center; gap: 8px; font: 400 17px/1.3 var(--pl-sans); color: var(--pl-ink); }
.pl-gd { margin-top: 18px; border-top: 1px solid var(--pl-line); }
.pl-gd + .pl-gd { margin-top: 0; }
.pl-gd:last-of-type { border-bottom: 1px solid var(--pl-line); }
.pl-gd summary { list-style: none; cursor: pointer; position: relative; padding: 16px 36px 16px 0; font: 400 21px/1.25 var(--pl-serif); color: var(--pl-ink); }
.pl-gd summary::-webkit-details-marker { display: none; }
.pl-gd summary span { display: block; margin-top: 2px; font: 400 13px/1.4 var(--pl-sans); color: var(--pl-muted); }
.pl-gd summary::after, .pl-adjust summary::after, .pl-faq-it summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 13px; height: 13px; transform: translateY(-50%);
  background: linear-gradient(var(--pl-gold-text), var(--pl-gold-text)) center / 13px 1px no-repeat, linear-gradient(var(--pl-gold-text), var(--pl-gold-text)) center / 1px 13px no-repeat; }
.pl-gd[open] summary::after, .pl-adjust[open] summary::after, .pl-faq-it[open] summary::after { background: linear-gradient(var(--pl-gold-text), var(--pl-gold-text)) center / 13px 1px no-repeat; }
.pl-gd-b { padding: 0 0 20px; }
.pl-gd-b > .pl-g-row:first-child, .pl-gd-b > .pl-g-block:first-child .pl-g-row { margin-top: 10px; }
.pl-g-foot { margin: 12px 0 0; }

/* Terug en Volgende: op een telefoon vast onderaan */
.pl-wiz-nav { display: flex; align-items: center; gap: 10px 18px; padding: 16px 0 0; margin-top: 22px; border-top: 1px solid var(--pl-line); }
.pl-wiz-nav #pl-next { margin-left: auto; min-width: 160px; }
.pl-skip { white-space: nowrap; }
@media (max-width: 999px) {
  /* de wizard heeft eigen knoppen onderaan; de zwevende WhatsApp-knop zit dan alleen in de weg (WhatsApp staat bij resultaat en intake) */
  body:has(.pl-wiz-nav) .float-wa { display: none; }
  .pl-wiz-nav { position: sticky; bottom: 0; z-index: 5; margin: 22px calc(var(--pl-gut) * -1) 0; padding: 12px var(--pl-gut) max(12px, env(safe-area-inset-bottom)) var(--pl-gut); background: var(--pl-paper); box-shadow: 0 -1px 0 var(--pl-line), 0 -18px 24px -18px rgba(20, 19, 18, .25); }
  .pl-wiz-nav #pl-next { flex: 1; }
}

/* live voorbeeld (alleen op een groot scherm) */
.pl-preview { display: none; }
@media (min-width: 1000px) {
  .pl-preview { display: block; position: sticky; top: var(--pl-head); min-width: 0; max-height: calc(100vh - var(--pl-head) - 24px); overflow: auto; background: #fff; border: 1px solid var(--pl-line); padding: 30px 32px 28px; box-shadow: 0 34px 70px -42px rgba(20, 19, 18, .42); }
  .pl-preview::before { content: ""; position: absolute; left: 32px; top: -1px; width: 64px; height: 2px; background: var(--pl-gold); }
}
.pl-preview .pl-label { margin-bottom: 12px; }
.pl-pv-t { margin: 0; font: 400 30px/1.08 var(--pl-serif); }
.pl-meta { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 12px 0 0; font: 400 13.5px/1.6 var(--pl-sans); color: var(--pl-muted); }
.pl-meta span:not(:last-child)::after { content: "·"; margin: 0 10px; color: var(--pl-gold); }
.pl-pv-list { list-style: none; margin: 18px 0 0; padding: 0; }
.pl-pv-list li { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 10px; padding: 7px 0; border-top: 1px solid var(--pl-line); font: 400 17px/1.3 var(--pl-serif); color: var(--pl-ink); }
.pl-pv-list li.is-ph { display: block; margin-top: 14px; padding: 0 0 6px; border: 0; font: 500 10px/1.4 var(--pl-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--pl-gold-text); }
.pl-pv-list time { font-variant-numeric: lining-nums tabular-nums; color: var(--pl-ink-2); }
.pl-pv-list li.is-foto span::before { content: ""; display: inline-block; width: 7px; height: 7px; margin: 0 9px 2px 0; border-radius: 50%; background: var(--pl-gold); }
.pl-pv-list li.is-gold span::before { background: #fff; border: 2px solid var(--pl-gold); box-sizing: border-box; width: 9px; height: 9px; }
.pl-pv-foot { margin: 14px 0 0; font: italic 400 15px/1.5 var(--pl-serif); color: var(--pl-muted); }
.pl-pv-foot:empty { display: none; }

/* ================================================================ 4. resultaat */
.pl-result { position: relative; min-width: 0; max-width: 880px; margin: 0 auto; width: 100%; padding-top: 14px; border-top: 1px solid var(--pl-ink); scroll-margin-top: var(--pl-head); }
.pl-sum h2 { font: 400 clamp(34px, 5vw, 56px)/1.04 var(--pl-serif); margin: 0; outline: none; }
.pl-share { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 24px 0 0; max-width: 620px; }
.pl-share .pl-btn { min-height: 48px; padding: 11px 12px; font-size: 11px; letter-spacing: .12em; text-align: center; white-space: normal; }
.pl-share .pl-btn-lg { grid-column: 1 / -1; min-height: 60px; font-size: 12.5px; letter-spacing: .18em; }
.pl-res-links { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 12px 0 0; }
.pl-status { min-height: 1.6em; margin: 10px 0 0; font: 400 14px/1.6 var(--pl-sans); color: var(--pl-gold-text); }
.pl-pdf-done { margin: 2px 0 0; font: 400 13.5px/1.55 var(--pl-sans); color: var(--pl-ink-2); }
.pl-pdf-done a { color: var(--pl-ink); text-decoration: underline; text-decoration-color: var(--pl-gold); text-underline-offset: 3px; }
.pl-pdf-done .pl-link { font-size: 13.5px; padding: 0; color: var(--pl-ink); }

/* de zachte vraag om een intakegesprek */
.pl-lead { display: grid; gap: 18px; margin: 26px 0 0; padding: clamp(22px, 4vw, 34px); background: var(--pl-paper-2); border: 1px solid var(--pl-gold-soft); scroll-margin-top: var(--pl-head); }
.pl-lead-img { display: none; }
@media (min-width: 760px) {
  .pl-lead { grid-template-columns: 200px minmax(0, 1fr); gap: 30px; }
  .pl-lead-img { display: block; }
  .pl-lead-img img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center 30%; }
}
.pl-lead-b { min-width: 0; }
.pl-lead h3 { margin: 0; font: 400 clamp(26px, 3.4vw, 34px)/1.12 var(--pl-serif); outline: none; max-width: 520px; }
.pl-lead-p { margin: 10px 0 2px; font: italic 400 17px/1.5 var(--pl-serif); color: var(--pl-ink-2); max-width: 520px; }
.pl-lead .pl-field { margin-top: 14px; }
.pl-lead .pl-g-row .pl-field { margin-top: 0; }
.pl-consent { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; margin: 16px 0 0; cursor: pointer; font: 400 14px/1.5 var(--pl-sans); color: var(--pl-ink-2); }
.pl-consent input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--pl-ink); }
.pl-consent a { color: var(--pl-ink); text-decoration: underline; text-decoration-color: var(--pl-gold); text-underline-offset: 3px; }
.pl-lead-err { margin: 12px 0 0; padding: 10px 14px; border-left: 2px solid #b5563a; background: #fbf2ee; font: 400 14px/1.5 var(--pl-sans); color: var(--pl-ink-2); }
.pl-lead-act { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 18px; }
.pl-lead-act .pl-btn { white-space: normal; text-align: center; }

/* de tijdlijn */
.pl-tl { margin-top: 10px; }
.pl-warn { list-style: none; margin: 16px 0 0; padding: 12px 16px; border-left: 2px solid #b5563a; background: #fbf2ee; font: 400 14px/1.55 var(--pl-sans); color: var(--pl-ink-2); }
.pl-warn li + li { margin-top: 6px; }
.pl-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 22px 0 0; padding: 12px 0 0; border-top: 1px solid var(--pl-line); font: 400 12.5px/1.5 var(--pl-sans); color: var(--pl-muted); }
.pl-legend span { display: inline-flex; align-items: center; gap: 7px; }
.pl-legend svg { width: 15px; height: 15px; color: var(--pl-gold-text); }
.pl-lg-buf::before { content: ""; width: 14px; border-top: 1px dashed var(--pl-gold); }

.pl-phase { margin-top: 26px; }
.pl-phase h3, .pl-phase h4 { display: flex; align-items: center; gap: 14px; margin: 0 0 4px; font: 500 11px/1.4 var(--pl-sans); letter-spacing: .28em; text-transform: uppercase; color: var(--pl-gold-text); }
.pl-phase h3::after, .pl-phase h4::after { content: ""; flex: 1; height: 1px; background: var(--pl-line); }
.pl-phase ol { list-style: none; margin: 0; padding: 0; }

.pl-it { display: grid; grid-template-columns: 58px 26px minmax(0, 1fr); align-items: start; padding: 13px 0; }
.pl-it time { font: 400 25px/1 var(--pl-serif); font-variant-numeric: lining-nums tabular-nums; color: var(--pl-ink); padding-top: 2px; white-space: nowrap; }
.pl-dot { position: relative; align-self: stretch; margin: -13px 0; }
.pl-dot::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--pl-gold-soft); transform: translateX(-50%); }
.pl-dot::after { content: ""; position: absolute; left: 50%; top: 22px; width: 9px; height: 9px; border-radius: 50%; background: #fff; border: 1px solid var(--pl-ink-2); transform: translate(-50%, -50%); }
.pl-phase li:first-child .pl-dot::before { top: 22px; }
.pl-phase li:last-child .pl-dot::before { bottom: auto; height: 22px; }
.pl-phase li:only-child .pl-dot::before { display: none; }
.pl-it.is-foto .pl-dot::after { width: 11px; height: 11px; background: var(--pl-gold); border-color: var(--pl-gold); box-shadow: 0 0 0 4px rgba(184, 149, 79, .2); }
.pl-b { min-width: 0; padding-left: 4px; }
.pl-h { margin: 0; font: 400 21px/1.25 var(--pl-serif); color: var(--pl-ink); }
.pl-d { display: inline-block; margin-left: 10px; font: 400 12px/1 var(--pl-sans); letter-spacing: .06em; color: var(--pl-muted); vertical-align: 2px; white-space: nowrap; }
.pl-tip { margin: 5px 0 0; font: 400 14px/1.55 var(--pl-sans); color: var(--pl-muted); }
.pl-tag { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font: 500 10.5px/1 var(--pl-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--pl-gold-text); }
.pl-tag svg { width: 14px; height: 14px; }
.pl-lok { margin-left: 8px; font-style: italic; font-size: .86em; color: var(--pl-gold-text); }
.pl-ftip, .pl-parts { margin: 6px 0 0; font: italic 400 16.5px/1.45 var(--pl-serif); color: var(--pl-gold-text); }
.pl-parts { color: var(--pl-ink-2); }
.pl-ftip span, .pl-parts span { margin-right: 6px; font: 500 10px/1 var(--pl-sans); font-style: normal; letter-spacing: .16em; text-transform: uppercase; color: var(--pl-gold-text); vertical-align: 2px; }

/* dagen vóór de trouwdag */
.pl-day { margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--pl-ink); }
.pl-day-head h3 { margin: 0; font: 400 clamp(28px, 3.4vw, 36px)/1.08 var(--pl-serif); }
.pl-day-head h3 span { font-style: italic; font-size: .66em; color: var(--pl-gold-text); margin-left: 6px; }
.pl .pl-day-k { margin: 0 0 8px; font: 500 11px/1.4 var(--pl-sans); letter-spacing: .28em; text-transform: uppercase; color: var(--pl-gold-text); }
.pl-day-d { margin: 8px 0 0; font: 400 13.5px/1.55 var(--pl-sans); color: var(--pl-muted); }
.pl-day-u { margin: 10px 0 0; font: italic 400 17px/1.5 var(--pl-serif); color: var(--pl-ink-2); max-width: 620px; }

/* marges en reistijd: klein, cursief, gestippelde lijn */
.pl-it.is-buf, .pl-it.is-reis { padding: 8px 0; }
.pl-it.is-buf .pl-dot, .pl-it.is-reis .pl-dot { margin: -8px 0; }
.pl-it.is-buf .pl-dot::before, .pl-it.is-reis .pl-dot::before { background: none; border-left: 1px dashed var(--pl-gold); width: 0; }
.pl-it.is-buf .pl-dot::after, .pl-it.is-reis .pl-dot::after { top: 15px; width: 5px; height: 5px; border: 0; background: var(--pl-gold); }
.pl-it.is-buf time, .pl-it.is-reis time { font-size: 18px; color: var(--pl-muted); padding-top: 3px; }
.pl-it.is-buf .pl-h, .pl-it.is-reis .pl-h { font: italic 400 18px/1.3 var(--pl-serif); color: var(--pl-ink-2); }
.pl-it.is-buf .pl-tip, .pl-it.is-reis .pl-tip { font-size: 13px; margin-top: 2px; }
.pl-phase li.is-buf:first-child .pl-dot::before, .pl-phase li.is-reis:first-child .pl-dot::before { top: 15px; }
.pl-phase li.is-buf:last-child .pl-dot::before, .pl-phase li.is-reis:last-child .pl-dot::before { height: 15px; }
.pl-it.is-mark .pl-h { font-size: 19px; color: var(--pl-ink-2); }
.pl-it.is-gold, .pl-it.is-foto.is-gold { background: linear-gradient(90deg, rgba(217, 196, 154, .34), rgba(217, 196, 154, 0) 85%); }
.pl-it.is-gold .pl-dot::after { background: #fff; border: 2px solid var(--pl-gold); box-shadow: 0 0 0 5px rgba(217, 196, 154, .45); }
.pl-tag-gold { color: var(--pl-gold-text); }

/* tips, fijnafstelling, kleine letters */
.pl-tips { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--pl-ink); }
.pl-tips:empty { display: none; }
.pl-tips h3 { font: 400 clamp(26px, 3vw, 32px)/1.1 var(--pl-serif); margin: 0 0 18px; }
.pl-tips ol { counter-reset: tip; list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.pl-tips li { counter-increment: tip; display: grid; grid-template-columns: 34px minmax(0, 1fr); font: 400 15px/1.6 var(--pl-sans); color: var(--pl-ink-2); }
.pl-tips li::before { content: counter(tip, decimal-leading-zero); font: 500 11px/2.2 var(--pl-sans); letter-spacing: .12em; color: var(--pl-gold-text); }
.pl-adjust { margin-top: 30px; border-top: 1px solid var(--pl-line); border-bottom: 1px solid var(--pl-line); }
.pl-adjust summary { list-style: none; cursor: pointer; position: relative; padding: 18px 36px 18px 0; font: 500 12px/1.4 var(--pl-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--pl-ink); }
.pl-adjust summary::-webkit-details-marker { display: none; }
.pl-adjust summary span { display: block; margin-top: 3px; font-weight: 400; letter-spacing: .04em; text-transform: none; color: var(--pl-muted); font-size: 13px; }
.pl-adjust > .pl-hint { margin: 0 0 14px; }
.pl-adj-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 12px; padding-bottom: 22px; }
.pl-adj-grid select { min-height: 46px; font-size: 16px; }
.pl-fine { margin: 26px 0 0; font: italic 400 15px/1.55 var(--pl-serif); color: var(--pl-muted); }
.pl-print-head { display: none; }

/* volgende stap: foto en vraag */
.pl-cta { display: grid; margin-top: clamp(36px, 5vw, 56px); border: 1px solid var(--pl-gold-soft); background: var(--pl-paper-2); overflow: hidden; }
.pl-cta-img { aspect-ratio: 16 / 10; min-width: 0; }
.pl-cta-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.pl-cta-copy { padding: clamp(28px, 4vw, 48px) clamp(20px, 4vw, 48px); }
.pl-cta h2 { font: 400 clamp(30px, 4vw, 44px)/1.08 var(--pl-serif); margin: 0; max-width: 460px; }
.pl-cta p { font: italic 400 18px/1.55 var(--pl-serif); color: var(--pl-ink-2); max-width: 460px; margin: 14px 0 0; }
.pl-cta p.pl-day-note { font: 400 14px/1.55 var(--pl-sans); font-style: normal; color: var(--pl-ink-2); border-top: 1px solid var(--pl-line); padding-top: 14px; }
.pl-cta-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
@media (min-width: 760px) {
  .pl-cta { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  .pl-cta-img { aspect-ratio: auto; }
}

/* ================================================================ 5. onderaan: per traditie, uitleg, vragen */
.pl-trad { max-width: 760px; margin: 0 auto; padding: clamp(48px, 7vw, 88px) var(--pl-gut) clamp(10px, 2vw, 20px); border-top: 1px solid var(--pl-line); }
.pl-trad h2 { margin: 0 0 14px; font: 400 clamp(32px, 4.6vw, 50px)/1.08 var(--pl-serif); }
.pl-trad-lede { margin: 0 0 clamp(22px, 3vw, 32px); font: 400 18px/1.65 var(--pl-serif); color: var(--pl-ink-2); }
.pl-trad-groups { border-top: 1px solid var(--pl-ink); }
.pl-trad-g { border-bottom: 1px solid var(--pl-line); }
.pl-trad-g summary { font-size: 21px; }
.pl-trad-g ul { list-style: none; margin: 0; padding: 0 0 10px; }
.pl-trad-g li { padding: 12px 0 13px; border-top: 1px solid var(--pl-line); }
.pl-trad-a { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; color: var(--pl-ink); text-decoration: none; }
.pl-trad-n { font: 400 21px/1.25 var(--pl-serif); text-decoration: underline; text-decoration-color: var(--pl-gold-soft); text-decoration-thickness: 1px; text-underline-offset: 5px; transition: text-decoration-color .2s; }
.pl-trad-a:hover .pl-trad-n, .pl-trad-a:focus-visible .pl-trad-n { text-decoration-color: var(--pl-gold); }
.pl-trad-o { font: italic 400 15.5px/1.35 var(--pl-serif); color: var(--pl-gold-text); }
.pl-trad-g li p { margin: 5px 0 0; font: 400 14px/1.6 var(--pl-sans); color: var(--pl-muted); }
.pl-trad-gids { color: var(--pl-ink); text-decoration: underline; text-decoration-color: var(--pl-gold); text-underline-offset: 3px; white-space: nowrap; }

.pl-seo, .pl-faq { max-width: 760px; margin: 0 auto; padding: 0 var(--pl-gut); }
.pl-seo { padding-top: clamp(48px, 7vw, 88px); }
.pl-seo h2, .pl-faq h2 { font: 400 clamp(28px, 3.8vw, 40px)/1.1 var(--pl-serif); margin: 0 0 16px; }
.pl-seo h2 + p { margin-top: 0; }
.pl-seo p + h2 { margin-top: clamp(32px, 4vw, 48px); }
.pl-seo p { font: 400 18px/1.7 var(--pl-serif); color: var(--pl-ink-2); margin: 0 0 1em; }
.pl-seo a, .pl-faq a { color: var(--pl-ink); text-decoration: underline; text-decoration-color: var(--pl-gold); text-underline-offset: 4px; text-decoration-thickness: 1px; }
.pl-seo a:hover, .pl-faq a:hover { color: var(--pl-gold-text); }
.pl-faq { padding-top: clamp(36px, 5vw, 64px); padding-bottom: clamp(70px, 10vw, 130px); }
.pl-faq-it { border-top: 1px solid var(--pl-line); }
.pl-faq-it:last-child { border-bottom: 1px solid var(--pl-line); }
.pl-faq-it summary { list-style: none; cursor: pointer; position: relative; padding: 18px 40px 18px 0; font: 400 21px/1.3 var(--pl-serif); color: var(--pl-ink); }
.pl-faq-it summary::-webkit-details-marker { display: none; }
.pl-faq-it p { margin: 0 0 22px; font: 400 17.5px/1.7 var(--pl-serif); color: var(--pl-ink-2); }

/* ================================================================ smal scherm */
@media (max-width: 480px) {
  .pl-hero { padding-top: 22px; }
  .pl-hero-act .pl-btn { width: 100%; }
  .pl-stack { padding: 2% 2% 6%; }
  .pl-pg { width: 70%; }
  .pl-cards { grid-template-columns: 1fr; }
  .pl-it { grid-template-columns: 54px 22px minmax(0, 1fr); }
  .pl-it time { font-size: 23px; }
  .pl-h { font-size: 20px; }
  .pl-share .pl-btn { font-size: 10.5px; letter-spacing: .1em; padding: 10px 8px; }
  .pl-cta-row .pl-btn { width: 100%; }
  .pl-adj-grid { grid-template-columns: 1fr; }
  .pl-g-block .pl-g-row { grid-template-columns: 1fr; gap: 10px; }
  .pl-g-row3 > :first-child { grid-column: 1 / -1; }
  .pl-gd-b .pl-g-row:not(.pl-g-row3) { grid-template-columns: 1.35fr 1fr; }
  .pl-gd-b .pl-g-block .pl-g-row { grid-template-columns: 1fr; }
  .pl-lead .pl-g-row { grid-template-columns: 1fr; }
  .pl-lead-act .pl-btn { width: 100%; }
  .pl-od-when { padding-left: 14px; }
  .pl-od-n b { font-size: 19px; }
  .pl-trad-n { font-size: 20px; }
}

/* ================================================================ minder beweging */
@media (prefers-reduced-motion: reduce) {
  .pl *, .pl *::before, .pl *::after { transition: none !important; animation: none !important; }
}

/* ================================================================ printen: alleen de tijdlijn */
@media print {
  @page { margin: 14mm 14mm 16mm; }
  html, body { background: #fff !important; }
  body { padding: 0 !important; }
  body::after, body::before { display: none !important; }
  body > *:not(main), .pl-hero, .pl-how, .pl-wiz, .pl-preview, .pl-share, .pl-res-links, .pl-status, .pl-pdf-done, .pl-lead, .pl-adjust, .pl-cta, .pl-seo, .pl-faq, .pl-tag, .pl-trad, .pl-noscript { display: none !important; }
  .pl-ftip, .pl-parts { font-size: 11.5px; margin-top: 2px; }
  .pl-day { margin-top: 16px; padding-top: 12px; break-before: auto; }
  .pl-day-head h3 { font-size: 22px; }
  .pl-day-u, .pl-day-d { font-size: 11px; margin-top: 4px; }
  .pl-legend { margin-top: 10px; padding-top: 8px; font-size: 10.5px; }
  main.pl { animation: none !important; }
  .pl-tool { display: block; padding: 0; max-width: none; }
  .pl-form { display: block; }
  .pl-result { display: block !important; box-shadow: none; border: 0; padding: 0; margin: 0; max-width: none; }
  .pl-print-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 14px; margin-bottom: 18px; border-bottom: 1px solid #b8954f; }
  .pl-print-head img { width: 110px; height: auto; }
  .pl-print-head p { margin: 0; text-align: right; font: 400 13px/1.5 "Jost", Arial, sans-serif; color: #3a3733; }
  .pl-print-head small { color: #6f6a62; }
  .pl-sum .pl-label { display: none; }
  .pl-sum h2 { font-size: 30px; }
  .pl-it { break-inside: avoid; padding: 6px 0; }
  .pl-dot { margin: -6px 0; }
  .pl-dot::after { top: 16px; }
  .pl-phase li:first-child .pl-dot::before { top: 16px; }
  .pl-phase li:last-child .pl-dot::before { height: 16px; }
  .pl-it.is-buf, .pl-it.is-reis { padding: 4px 0; }
  .pl-it.is-buf .pl-dot, .pl-it.is-reis .pl-dot { margin: -4px 0; }
  .pl-it time { font-size: 19px; }
  .pl-h { font-size: 17px; }
  .pl-tip { font-size: 10.5px; margin-top: 2px; line-height: 1.45; }
  .pl-phase { margin-top: 12px; break-inside: auto; }
  .pl-phase h3 { break-after: avoid; }
  .pl-it.is-buf .pl-tip, .pl-it.is-reis .pl-tip { font-size: 10.5px; }
  .pl-it.is-buf time, .pl-it.is-reis time { font-size: 16px; }
  .pl-it.is-buf .pl-h, .pl-it.is-reis .pl-h { font-size: 16px; }
  .pl-tips { margin-top: 22px; padding-top: 16px; }
  .pl-tips h3 { break-after: avoid; font-size: 22px; margin-bottom: 10px; }
  .pl-tips ol { gap: 6px; }
  .pl-tips li { font-size: 11.5px; break-inside: avoid; }
  .pl-fine { font-size: 12px; margin-top: 14px; }
  .pl, .pl * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
