/* Block patterns (1.12). Maps the editor's own blocks onto the theme's
   existing components, so a page built from patterns renders with the
   same CSS as the hand-written pages. Nothing here restyles those pages:
   every selector below needs a wp-block class the old markup never had. */

/* Groups used as layout wrappers carry no extra spacing of their own. */
.entry__content .wp-block-group.bleed,.entry__content .wp-block-group.grid,.entry__content .wp-block-group.photo-grid,.entry__content .wp-block-group.split{margin-block:0}
.entry__content>.wp-block-group.bleed{margin-block:var(--flow-sm) var(--flow)}
.entry__content>.wp-block-group.band{margin-block:var(--flow)}
.wp-block-group.card{display:flex;flex-direction:column;gap:.6rem}
.wp-block-group.card>.tag{align-self:flex-start;margin:0}
.wp-block-group.card>h3{margin:0;font-size:1.08rem}
.wp-block-group.card>p{margin:0;color:var(--muted);font-size:.95rem}
.wp-block-group.card>.tag{color:var(--forest);background:var(--soft-sage);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:.3rem .7rem;border-radius:6px}
.wp-block-group.band>h2,.wp-block-group.band>p{max-width:var(--wrap-narrow)}

/* Photo cards: the picture sits flush at the top of the card. */
.card.card--photo{padding:0;overflow:hidden}
.card.card--photo>.card__photo{margin:0 0 .85rem;width:100%}
.card.card--photo>.card__photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:0;filter:sepia(.14) saturate(.9) contrast(.96) brightness(1.02)}
.card.card--photo>h3,.card.card--photo>p{padding-inline:1.1rem}
.card.card--photo>p:last-child{padding-bottom:1.1rem}

/* Image blocks in the theme's frame. */
.entry__content .wp-block-image.photo{margin:0;display:flex;flex-direction:column;gap:.6rem}
.entry__content .wp-block-image.photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--sand);filter:sepia(.14) saturate(.9) contrast(.96) brightness(1.02)}
.entry__content .wp-block-image.photo.photo--wide img{aspect-ratio:16/9}
.entry__content .wp-block-image.photo figcaption{margin:0;text-align:left;font-size:.85rem;line-height:1.5;color:var(--muted)}
.entry__content>.bleed>.wp-block-image.photo--wide{max-width:none}
.split>.wp-block-image.split__media{margin:0}
.split>.wp-block-image.split__media img{aspect-ratio:4/3}
.split>.split__body>h2{margin-top:0}
.split>.split__body>:last-child{margin-bottom:0}

/* Lists as steps, timeline, checklist, questions and facts. */
.wp-block-list.steps,.wp-block-list.timeline,.wp-block-list.checklist,.wp-block-list.questions,.wp-block-list.facts-row,.wp-block-list.rule-list{padding-left:0}
.wp-block-list.steps>li>strong,.wp-block-list.timeline>li>strong{display:block}
.wp-block-list.facts-row>li{color:var(--muted);font-size:.92rem}
.wp-block-list.facts-row>li>strong{display:block;font-family:var(--font-display);font-size:clamp(1.6rem,1.3rem + 1.2vw,2.25rem);line-height:1;color:var(--forest);margin-bottom:.3rem}

/* Table block. */
.wp-block-table.spec{margin:var(--flow-sm) 0 var(--flow)}
.wp-block-table.spec table{width:100%;border-collapse:collapse;font-size:.97rem}
.wp-block-table.spec th,.wp-block-table.spec td{text-align:left;padding:.85rem .75rem;border:0;border-bottom:1px solid var(--line-soft);vertical-align:top}
.wp-block-table.spec thead th{font-weight:600;color:var(--muted);font-size:.85rem}
.wp-block-table.spec tbody td:first-child{color:var(--ink);font-family:var(--font-display);font-size:1.05rem;font-weight:600}
.wp-block-table.spec tr>*:first-child{padding-left:0}

/* Quote block. */
.wp-block-quote.quote{margin:0 0 var(--flow);padding:1.5rem 1.75rem;border-left:4px solid var(--terracotta);background:#fff;border-radius:0 var(--r-md) var(--r-md) 0}
.wp-block-quote.quote p{font-family:var(--font-display);font-size:var(--step-2);line-height:1.25;color:var(--forest);margin:0 0 .5rem}
.wp-block-quote.quote cite{font-size:.9rem;color:var(--muted);font-style:normal}

/* Details blocks as the FAQ. */
.wp-block-group.faq{border-top:1px solid var(--line);margin-bottom:var(--flow)}
.faq .wp-block-details{border-bottom:1px solid var(--line);margin:0}
.faq .wp-block-details>summary{cursor:pointer;list-style:none;position:relative;padding:1.1rem 2.5rem 1.1rem 0;font-family:var(--font-display);font-weight:600;font-size:var(--step-1);color:var(--forest);min-height:56px}
.faq .wp-block-details>summary::-webkit-details-marker{display:none}
.faq .wp-block-details>summary::after{content:"+";position:absolute;right:.25rem;top:50%;transform:translateY(-50%);font-size:1.6rem;font-weight:300;color:var(--terracotta);transition:transform .2s}
.faq .wp-block-details[open]>summary::after{transform:translateY(-50%) rotate(45deg)}
.faq .wp-block-details>:not(summary){color:var(--ink-soft);max-width:65ch;margin:0 0 1.1rem}

/* Buttons block as the theme's button. */
.entry__content .wp-block-buttons{margin:.25rem 0 var(--flow)}
.entry__content .wp-block-button__link{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.5rem;border-radius:100px;background:var(--terracotta);color:#fff;font:inherit;font-weight:600;text-decoration:none;border:1.5px solid var(--terracotta);transition:background var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}
.entry__content .wp-block-button__link:hover{background:var(--terracotta-dark);border-color:var(--terracotta-dark);color:#fff;transform:translateY(-2px)}
.entry__content .is-style-outline .wp-block-button__link{background:transparent;color:var(--forest);border-color:var(--forest)}
.entry__content .is-style-outline .wp-block-button__link:hover{background:var(--forest);color:#fff}

/* Phone. */
@media(max-width:700px){
  .wp-block-group.card{padding:1.25rem}
  .card.card--photo{padding:0}
}

/* Classic-theme WordPress wraps a Group's children in an inner container.
   Make that wrapper transparent to layout, so grid, split, card, band and
   FAQ groups lay out their real children. */
.entry__content .wp-block-group>.wp-block-group__inner-container{display:contents}
/* Children of a card or a band, whether direct or inside the wrapper. */
.wp-block-group.card :is(.wp-block-group__inner-container)>.tag{align-self:flex-start;margin:0;color:var(--forest);background:var(--soft-sage);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:.3rem .7rem;border-radius:6px}
.wp-block-group.card :is(.wp-block-group__inner-container)>h3{margin:0;font-size:1.08rem}
.wp-block-group.card :is(.wp-block-group__inner-container)>p{margin:0;color:var(--muted);font-size:.95rem}
.card.card--photo .wp-block-group__inner-container>.card__photo{margin:0 0 .85rem;width:100%}
.card.card--photo .wp-block-group__inner-container>h3,.card.card--photo .wp-block-group__inner-container>p{padding-inline:1.1rem}
.card.card--photo .wp-block-group__inner-container>p:last-child{padding-bottom:1.1rem}
.wp-block-group.band .wp-block-group__inner-container>*{margin-inline:0}
.wp-block-group.band .wp-block-group__inner-container>h2{margin-top:0;max-width:var(--wrap-narrow)}
.wp-block-group.band .wp-block-group__inner-container>p{max-width:var(--wrap-narrow)}
.wp-block-group.band .wp-block-group__inner-container>:last-child{margin-bottom:0}
.split .split__body .wp-block-group__inner-container>h2{margin-top:0}
.split .split__body .wp-block-group__inner-container>:last-child{margin-bottom:0}
.entry__content .wp-block-group.card{height:100%;margin:0}
