/* PasteTheme section classes: the look of the plugin's own sections. Opt-in: only a <section
   class="pt-s"> and what is inside it. Palette presets, so light and dark follow html[data-theme].
   Layered so the owner's own CSS (Additional CSS) wins. The unlayered block at the end holds only what
   unlayered CSS would otherwise overrule (core's theme.json heading size and line height and link
   colour, the theme's focus ring over the ghost button's edge), at the weight the sections' own style
   blocks had. Phones first, one step at 700px. The box, the balanced rows, the numbered steps and the
   one-picture-per-scheme classes are the PasteTheme theme's too: here they sit in the layer at no
   weight, so with that theme its own unlayered rules decide and nothing changes, and on any other theme
   a section still gets them. */
@layer pastetheme {
.pt-s{padding-block:var(--wp--preset--spacing--60,5rem)}
.pt-s :is(h1,h2,h3){margin:0 0 .6em}
.pt-s p{margin:0 0 1em;line-height:1.6}
.pt-s img{max-width:100%;height:auto;display:block}
.pt-s blockquote{margin:0}
/* The theme trims a .pt-wrap's last margin; the sections' own spacing kept it. */
.pt-s .pt-wrap>p:last-child{margin-bottom:1em}
.pt-s .btn{display:inline-block;min-height:44px;padding:.9em 1.8em;border-radius:999px;background:var(--wp--preset--color--accent,var(--wp--preset--color--contrast,#111));font-weight:700;text-decoration:none;line-height:1.2}
.pt-s .btn--ghost{background:transparent}
@media (prefers-reduced-motion:no-preference){.pt-s .btn{transition:transform .15s ease}.pt-s .btn:hover{transform:translateY(-2px)}}
.pt-s .pt-btn-plain{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.9rem;line-height:inherit}
.pt-s .pt-btn-still{transition:0s}
.pt-s .pt-btn-still:hover{transform:none}
.pt-s .pt-btn-quiet{background:transparent;border:1px solid color-mix(in srgb,currentColor 30%,transparent)}

.pt-s.pt-hero{padding-top:var(--wp--preset--spacing--50,3rem)}
.pt-s.pt-pad-sm{padding-block:3rem}
.pt-s.pt-pad-md{padding-block:3.5rem}
.pt-s.pt-end-sm{padding-bottom:1rem}
.pt-s.pt-center,.pt-s .pt-center{text-align:center}
:is(.pt-s.pt-center,.pt-s .pt-center) :where(p){margin-inline:auto}
.pt-s.pt-col,.pt-s .pt-col{max-width:44rem;margin-inline:auto;padding-inline:1.25rem}
.pt-s.pt-col--wide,.pt-s .pt-col--wide{max-width:60rem}

.pt-s .pt-split{display:grid;gap:2rem;align-items:center}
.pt-s .pt-split--form{align-items:normal}
.pt-s .pt-media{border-radius:1.5rem;background:var(--wp--preset--color--subtle,color-mix(in srgb,currentColor 7%,transparent))}
.pt-s .pt-lead{font-size:1.125rem}
.pt-s .pt-lead--lg{font-size:1.15rem}
.pt-s .pt-narrow{max-width:40rem}
.pt-s .pt-actions{display:flex;flex-wrap:wrap;gap:.75rem}
:is(.pt-s.pt-center,.pt-s .pt-center) .pt-actions{justify-content:center}
.pt-s .pt-box{padding:2.5rem 1.75rem;border-radius:2rem}
.pt-s .pt-box :where(p){max-width:44ch;opacity:.9}
.pt-s .pt-cards{display:grid;gap:1.25rem;margin-top:2rem}
.pt-s .pt-plans{max-width:52rem;margin-inline:auto}
.pt-s :is(.pt-card,.pt-quote){padding:1.5rem;border-radius:1.25rem;background:var(--wp--preset--color--subtle,color-mix(in srgb,currentColor 7%,transparent));color:var(--wp--preset--color--contrast,#111)}
/* On a shaded ground (the theme's every-other-section shade, or pt-tone-subtle) a card would vanish into it, so it takes the page colour there. */
:is(.pt-edge-shade .wp-block-post-content>.pt-section:nth-child(even of .pt-section):not(.pt-section--boxed)>.pt-s:not(.pt-tone-base,.pt-tone-contrast),.pt-s.pt-tone-subtle,.pt-s .pt-tone-subtle) :is(.pt-card,.pt-quote){background:var(--wp--preset--color--base,#fff)}
.pt-s .pt-card :where(p){margin:0;opacity:.85}
.pt-s .pt-card--round{border-radius:1.75rem}
.pt-s .pt-card--round :where(h3){margin-bottom:.5rem}
.pt-s .pt-card--large :where(p){font-size:1rem;opacity:1}
.pt-s .pt-item :where(h3){margin-bottom:.4rem}
.pt-s .pt-item :where(p){margin:0;opacity:.9}
.pt-s .pt-quote :where(p){font-size:1.05rem}
.pt-s .pt-quote :where(cite){font-style:normal;font-weight:700;opacity:.85}
.pt-s .pt-quote--quiet{max-width:44rem}
.pt-s .pt-quote--quiet :where(p){font-size:inherit;margin-bottom:.6rem}
.pt-s .pt-quote--quiet :where(cite){font-weight:600;opacity:.75}
.pt-s .pt-plan{padding:2rem;border-radius:1.5rem;background:var(--wp--preset--color--subtle,color-mix(in srgb,currentColor 7%,transparent));display:flex;flex-direction:column;gap:1rem}
.pt-s .pt-plan--main{box-shadow:inset 0 0 0 2px var(--wp--preset--color--accent,var(--wp--preset--color--contrast,#111))}
.pt-s .pt-plan :where(h3){margin:0}
.pt-s .pt-plan :where(ul){margin:0;padding-left:1.2rem;line-height:1.7}
.pt-s .pt-plan .btn{align-self:flex-start;margin-top:auto}
.pt-s .pt-plan-price{font-size:2.25rem;font-weight:700;margin:0}
.pt-s .pt-plan-price :where(span){font-size:1rem;font-weight:400;opacity:.8}
.pt-s .pt-rows{list-style:none;margin:1.5rem 0 0;padding:0;max-width:44rem}
.pt-s .pt-rows :where(li){display:grid;grid-template-columns:1fr auto;gap:.5rem 1.5rem;padding:1rem 0;border-top:1px solid color-mix(in srgb,currentColor 15%,transparent)}
.pt-s .pt-rows :where(h3){margin:0}
.pt-s .pt-rows :where(p){margin:.25rem 0 0;opacity:.8;grid-column:1}
.pt-s .pt-row-price{font-weight:700;white-space:nowrap}
.pt-s .pt-faq{max-width:46rem;margin-top:1.5rem}
.pt-s .pt-faq :where(details){border-top:1px solid color-mix(in srgb,currentColor 15%,transparent)}
.pt-s .pt-faq :where(details:last-child){border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent)}
.pt-s .pt-faq :where(summary){cursor:pointer;padding:1rem 0;font-weight:700;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;min-height:44px;align-items:center}
.pt-s .pt-faq :where(summary)::after{content:'+';font-size:1.5rem;line-height:1}
.pt-s .pt-faq :where(details[open] summary)::after{content:'\2212'}
.pt-s .pt-faq :where(p){padding-bottom:1rem;max-width:60ch}
.pt-s .pt-checks{margin:0 0 2rem;padding:0;list-style:none;display:grid;gap:.9rem;max-width:44rem}
.pt-s .pt-checks :where(li){position:relative;padding-left:1.8rem}
.pt-s .pt-checks :where(li)::before{content:"";position:absolute;left:.2rem;top:.55em;width:.75rem;height:.4rem;border-left:2.5px solid var(--wp--preset--color--accent,var(--wp--preset--color--contrast,#111));border-bottom:2.5px solid var(--wp--preset--color--accent,var(--wp--preset--color--contrast,#111));transform:rotate(-45deg)}
.pt-s .pt-facts{margin:0;display:grid;gap:.6rem}
.pt-s .pt-facts :where(div){display:flex;gap:.6rem;flex-wrap:wrap}
.pt-s .pt-facts :where(dt){font-weight:600;min-width:5.5rem}
.pt-s .pt-facts :where(dd){margin:0}
.pt-s .pt-links{margin:2.5rem 0 0;display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}
.pt-s .pt-links :where(a){opacity:.75;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.15rem;min-height:44px;display:inline-flex;align-items:center}
/* The theme's classes (see the top): the one content box, cards in balanced rows (one across on a phone, two from
   40rem with an odd last card filling its row, three from 60rem where five ends 3 + 2 and four is 2 x 2), numbered
   steps with the number in a badge on the heading's line, and one picture per scheme (at the weight that beats the
   pictures' display:block above). Every box in a section is measured border to border, as the theme measures them. */
:where(.pt-s,.pt-s *){box-sizing:border-box}
:where(.pt-s .pt-wrap){max-width:calc(var(--pt-content-width,72rem) + 2 * var(--pt-gutter,1.5rem));margin-inline:auto;padding-inline:var(--pt-gutter,1.5rem)}
:where(.pt-s :is(.pt-grid,.pt-steps)){display:grid;gap:var(--wp--preset--spacing--40,1.5rem);grid-template-columns:repeat(6,minmax(0,1fr))}
:where(.pt-s :is(.pt-grid,.pt-steps))>*{grid-column:1/-1}
@media (40rem <= width < 60rem){
:where(.pt-s :is(.pt-grid,.pt-steps))>*{grid-column:span 3}
:where(.pt-s) :where(.pt-grid,.pt-steps):has(>:first-child:nth-last-child(2n+1))>:last-child{grid-column:1/-1}
}
@media (width >= 60rem){
:where(.pt-s :is(.pt-grid,.pt-steps))>*{grid-column:span 2}
:where(.pt-s) :where(.pt-grid,.pt-steps):has(>:first-child:nth-last-child(3n+2))>:nth-last-child(-n+2),:where(.pt-s) :where(.pt-grid,.pt-steps):has(>:first-child:nth-last-child(3n+4))>:nth-last-child(-n+4){grid-column:span 3}
:where(.pt-s :is(.pt-grid,.pt-steps))>:only-child{grid-column:1/-1}
}
:where(.pt-s .pt-steps){counter-reset:pt-step;list-style:none;margin:0;padding:0}
:where(.pt-s .pt-steps)>*{counter-increment:pt-step;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.75rem;align-items:baseline;align-content:start}
:where(.pt-s .pt-steps>*)>*{grid-column:1/-1}
:where(.pt-s .pt-steps>*)>:first-child{grid-column:2}
:where(.pt-s .pt-steps>*)::before{content:counter(pt-step);grid-column:1;display:grid;place-items:center;inline-size:2.25rem;block-size:2.25rem;border-radius:999px;background:var(--wp--preset--color--accent,var(--wp--preset--color--contrast,#111));color:var(--wp--preset--color--accent-contrast,var(--wp--preset--color--base,#fff));font-weight:700;line-height:1}
@media screen{:root[data-theme="dark"] .pt-s .pt-light-only,:root:not([data-theme="dark"]) .pt-s .pt-dark-only{display:none}}
@media print{.pt-s .pt-dark-only{display:none}}
/* Layout for what a section brings without CSS of its own: an icon (an svg with no size) at the size of the text,
   or in a round pt-icon badge; a YouTube or Vimeo embed at 16:9 across its box; pt-gallery, pictures cropped to one
   shape in even rows (two across on a phone, three from 700px, rows filled as the cards are); pt-cover, a photo
   behind the words with a shade so they read; pt-stat, a figure in large type (its strong) over a line; pt-avatar, a
   round portrait; pt-badge, a small label. */
.pt-s :where(svg:not([width]):not([height])){width:1.5em;height:1.5em}
.pt-s .pt-icon{display:inline-grid;place-items:center;width:3rem;height:3rem;margin-bottom:1rem;border-radius:999px;background:var(--wp--preset--color--subtle,color-mix(in srgb,currentColor 7%,transparent));color:var(--wp--preset--color--accent,var(--wp--preset--color--contrast,#111))}
.pt-s .pt-icon svg{width:1.5rem;height:1.5rem}
.pt-s :where(iframe){display:block;width:100%;height:auto;aspect-ratio:16/9;border:0}
.pt-s .pt-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin-top:1.5rem}
.pt-s .pt-gallery>*{grid-column:span 3;margin:0}
.pt-s .pt-gallery :where(img){width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1rem;background:var(--wp--preset--color--subtle,color-mix(in srgb,currentColor 7%,transparent))}
@media (width < 700px){.pt-s .pt-gallery:has(>:first-child:nth-last-child(2n+1))>:last-child{grid-column:1/-1}}
:is(.pt-s.pt-cover,.pt-s .pt-cover){position:relative;isolation:isolate;display:grid;align-content:end;min-height:min(80vh,36rem);background:var(--wp--preset--color--contrast,#111);color:var(--wp--preset--color--base,#fff)}
:is(.pt-s.pt-cover,.pt-s .pt-cover)>*{width:100%}
:is(.pt-s.pt-cover,.pt-s .pt-cover)>:is(img,picture),:is(.pt-s.pt-cover,.pt-s .pt-cover)>picture img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-width:none;object-fit:cover}
:is(.pt-s.pt-cover,.pt-s .pt-cover)::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,color-mix(in srgb,var(--wp--preset--color--contrast,#111) 85%,transparent),color-mix(in srgb,var(--wp--preset--color--contrast,#111) 35%,transparent))}
.pt-s .pt-stat :where(strong,b){display:block;font-size:clamp(2rem,6vw,3rem);line-height:1.1}
.pt-s .pt-avatar{width:8rem;height:8rem;aspect-ratio:1;margin-bottom:1rem;object-fit:cover;border-radius:999px;background:var(--wp--preset--color--subtle,color-mix(in srgb,currentColor 7%,transparent))}
.pt-s .pt-badge{display:inline-block;padding:.3em .8em;border-radius:999px;font-size:.85rem;font-weight:600;line-height:1.2;background:color-mix(in srgb,currentColor 10%,transparent);color:var(--wp--preset--color--contrast,#111)}
/* The field rules outweigh the theme's form baseline (its seven :not()s) whatever the load order. */
.pt-s .pt-form :where(label){display:block;font-weight:700;margin-bottom:.35rem}
.pt-s .pt-form :is(input,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]){display:block;width:100%;box-sizing:border-box;font:inherit;font-size:1rem;padding:.75rem 1rem;border-radius:.75rem;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:var(--wp--preset--color--base,#fff);color:inherit;margin-bottom:1rem}
.pt-s .pt-form :where(textarea){min-height:8rem}
.pt-s .pt-form :where(button){min-height:44px;padding:.9em 1.8em;border-radius:999px;border:0;background:var(--wp--preset--color--accent,var(--wp--preset--color--contrast,#111));color:var(--wp--preset--color--accent-contrast,var(--wp--preset--color--base,#fff));font:inherit;font-weight:700;cursor:pointer}
.pt-s .pt-form--stack{display:grid;gap:1rem}
.pt-s .pt-form--stack :where(label){font-weight:600}
.pt-s .pt-form--stack :where(input){min-height:44px}
.pt-s .pt-form--stack :is(input,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]){padding:.65rem .9rem;border-radius:1rem;border-color:color-mix(in srgb,currentColor 30%,transparent);color:var(--wp--preset--color--contrast,#111);margin-bottom:0}
.pt-s .pt-form--stack :where(textarea){resize:vertical}
.pt-s .pt-form--stack :where(button){display:inline-flex;align-items:center;justify-content:center;font-size:1rem;justify-self:start}
/* Tones and fine tuning (pt-mb-N is N x .25rem) come last, so they win at equal weight. */
.pt-s.pt-tone-base,.pt-s .pt-tone-base{background:var(--wp--preset--color--base,#fff)}
.pt-s.pt-tone-subtle,.pt-s .pt-tone-subtle{background:var(--wp--preset--color--subtle,color-mix(in srgb,currentColor 7%,transparent))}
.pt-s.pt-tone-contrast,.pt-s .pt-tone-contrast{background:var(--wp--preset--color--contrast,#111);color:var(--wp--preset--color--base,#fff)}
.pt-s .pt-mb-0{margin-bottom:0}
.pt-s .pt-mb-3{margin-bottom:.75rem}
.pt-s .pt-mb-4{margin-bottom:1rem}
.pt-s .pt-mb-5{margin-bottom:1.25rem}
.pt-s .pt-mb-6{margin-bottom:1.5rem}
.pt-s .pt-mb-7{margin-bottom:1.75rem}
.pt-s .pt-mb-8{margin-bottom:2rem}
.pt-s .pt-ch-18{max-width:18ch}
.pt-s .pt-ch-40{max-width:40ch}
.pt-s .pt-ch-44{max-width:44ch}
.pt-s .pt-ch-45{max-width:45ch}
.pt-s .pt-ch-46{max-width:46ch}
.pt-s .pt-soft{opacity:.9}
.pt-s .pt-lh-loose{line-height:1.65}
.pt-s .pt-round{border-radius:1.75rem}
.pt-s .pt-line{border:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.pt-s .pt-gap-wide{gap:1.75rem}
.pt-s .pt-btn-slim{padding:.75rem 1.75rem;font-weight:600}
@media (min-width:700px){
.pt-s.pt-pad-sm{padding-block:4rem}
.pt-s.pt-pad-md{padding-block:4.5rem}
.pt-s.pt-col,.pt-s .pt-col{padding-inline:1.5rem}
.pt-s .pt-split{grid-template-columns:1fr 1fr;gap:3rem}
.pt-s .pt-split--form{grid-template-columns:2fr 3fr}
.pt-s .pt-box{padding:3.5rem 2.5rem}
.pt-s .pt-cards{grid-template-columns:repeat(3,1fr);gap:1.5rem}
.pt-s .pt-cards--two{grid-template-columns:repeat(2,1fr)}
.pt-s .pt-gallery{gap:1rem}
.pt-s .pt-gallery>*{grid-column:span 2}
.pt-s .pt-gallery:has(>:first-child:nth-last-child(3n+2))>:nth-last-child(-n+2),.pt-s .pt-gallery:has(>:first-child:nth-last-child(3n+4))>:nth-last-child(-n+4){grid-column:span 3}
.pt-s .pt-gallery>:only-child{grid-column:1/-1}
.pt-s .pt-gap-tight{gap:1.25rem}
.pt-s .pt-gap-wide{gap:2.5rem}
}
}
/* Outside the layer: what core's theme.json element styles and the theme's focus ring would otherwise overrule (see the top). */
.pt-s :is(h1,h2,h3){line-height:1.15}
.pt-s h1{font-size:clamp(2.1rem,6vw,3.6rem)}
.pt-s h2{font-size:clamp(1.75rem,4vw,2.5rem)}
.pt-s .pt-split h1{font-size:clamp(2rem,5.5vw,3.25rem)}
.pt-s .pt-box h2{font-size:clamp(1.6rem,4vw,2.25rem)}
.pt-s :is(.pt-card,.pt-item) h3{font-size:1.15rem}
.pt-s .pt-card--large h3{font-size:1.25rem;line-height:1.3}
.pt-s .pt-rows h3{font-size:1.1rem}
.pt-s h1.pt-h1-sm{font-size:clamp(2rem,5.5vw,3rem)}
.pt-s h1.pt-h1-md{font-size:clamp(2.1rem,6vw,3.4rem);line-height:1.1}
.pt-s h1.pt-h1-big{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1}
.pt-s .btn{color:var(--wp--preset--color--accent-contrast,var(--wp--preset--color--base,#fff))}
.pt-s .btn--ghost{color:var(--wp--preset--color--contrast,#111);box-shadow:inset 0 0 0 2px currentColor}
.pt-s :is(.pt-btn-quiet,.pt-links a,.pt-facts a){color:inherit}
