/* Block wrappers reuse the production component system. No page IDs. */
.ag-section-container.wp-block-kadence-column { margin-block:0; }
.ag-section-container > .kt-inside-inner-col { display:block; padding:0; transition:none; }
.home-hero > .wp-block-image,.content-section .wp-block-image { margin:0; }
.home-hero__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:inherit; }
.home-hero .wp-block-buttons.hero-actions { gap:16px; margin-top:32px; }
.hero-actions > .wp-block-button { flex:1; }
.hero-actions .wp-block-button__link { width:100%; border-radius:12px; padding:15px 20px; white-space:nowrap; }
.offering-card__image img { display:block; width:100%; height:100%; object-fit:cover; }
.offering-card__copy .pending-link { color:var(--ink); }
.process-step > .process-number { padding-top:24px; margin-top:auto; font-size:36px; line-height:1; color:var(--line); }
.consultation-panel__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:inherit; }
.consultation-benefit { display:flex; gap:10px; align-items:flex-start; }
.consultation-benefit .benefit-tick { margin:0; }
.consultation-benefit .benefit-copy > p:first-child { margin:0; }
.location-detail { margin-bottom:24px; }
.location-detail .location-label { font-size:13px; color:var(--copy); margin-bottom:4px; }
.location-panel__map a { display:block; height:100%; }
.ag-action .wp-block-button__link { display:inline-flex; justify-content:center; align-items:center; min-height:52px; padding:12px 24px; border:1px solid transparent; border-radius:var(--radius-control); background:var(--brand); color:var(--ink); font-size:14px; line-height:1.4; font-weight:600; text-align:center; transition:background-color var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease); }
.ag-action--secondary .wp-block-button__link { background:transparent; border-color:var(--line); }
.ag-action--inverse .wp-block-button__link { background:var(--paper); color:var(--ink); }
.ag-action--inverse-outline .wp-block-button__link { background:transparent; border-color:rgb(255 255 255 / .4); color:var(--paper); }
.ag-action .wp-block-button__link:not([href]) { cursor:default; }
.wp-block-buttons.consultation-actions { gap:16px; margin-top:32px; }
.ag-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-12); align-items:center; }
.ag-prose > * + * { margin-top:var(--space-4); }
.ag-media-slot { min-height:160px; background:var(--surface); border-radius:var(--radius-media); }
.page-content > :not(.content-section) { width:min(var(--container),calc(100% - var(--gutter)*2)); margin-inline:auto; }
.page-content { padding-block:var(--space-8); }
.archive-list { padding-block:var(--space-12); display:grid; gap:var(--space-8); }
.wp-block-details { padding-block:var(--space-4); border-bottom:1px solid var(--line); }
.wp-block-details summary { min-height:44px; font-weight:600; }
@media (max-width:767px) {
  .ag-split { grid-template-columns:minmax(0,1fr); gap:var(--space-6); }
  .hero-actions > .wp-block-button,.consultation-actions > .wp-block-button { width:100%; flex:auto; }
  .consultation-actions .wp-block-button__link { width:100%; }
  .consultation-panel__image img { height:auto; }
}
@media (prefers-reduced-motion:reduce) {
  .ag-action .wp-block-button__link { transition:none; }
}

.hero-actions .ag-action .wp-block-button__link { border-radius:12px; padding:15px 20px; }

/* Keep media rails contained by their grid item, including narrow viewports. */
.media-gallery__track { min-width:0; max-width:100%; }
@media (max-width:767px) {
  .offering-card { grid-template-columns:minmax(0,1fr); }
  .offering-card__image { min-height:0; height:auto; aspect-ratio:4/3; }
  .offering-card__copy { min-width:0; }
  .media-gallery__track { grid-auto-columns:90%; }
}

/* One hero action treatment, including the existing inverse HOME variants. */
:is(.ag-hero,.page-hero,.home-hero) .wp-block-buttons { width:100%; }
:is(.ag-hero,.page-hero) .wp-block-buttons > .wp-block-button { flex:1; }
:is(.ag-hero,.page-hero) .wp-block-button__link { width:100%; }
:is(.ag-hero,.page-hero) .ag-action:not(.ag-action--secondary):not(.ag-action--inverse):not(.ag-action--inverse-outline) .wp-block-button__link { color:white; }
.ag-action .wp-block-button__link { transition:transform var(--motion-base) var(--ease),background-color var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease),box-shadow var(--motion-base) var(--ease); }
@media (hover:hover) {
 :is(.ag-hero,.page-hero) .ag-action:not(.ag-action--secondary):not(.ag-action--inverse):not(.ag-action--inverse-outline) .wp-block-button__link:hover { background:#e85b00; color:white; }
 :is(.ag-hero,.page-hero,.home-hero) .ag-action--secondary .wp-block-button__link:hover,
 .home-hero .ag-action--inverse-outline .wp-block-button__link:hover { border-color:var(--brand); }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .ag-action .wp-block-button__link[href]:hover { transform:translateY(-3px); }
}
@media (prefers-reduced-motion:reduce) { .ag-action .wp-block-button__link { transition:none; } }
