/* Signal Seven theme styles. Colours, fonts and spacing come from theme.json presets,
   so editors can change them in Appearance > Editor > Styles. */

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
[id] { scroll-margin-top: 6rem; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--wp--preset--color--forest); outline-offset: 3px; border-radius: 6px; }
.s7-dark :where(a, button):focus-visible { outline-color: var(--wp--preset--color--honey); }
.screen-reader-text:focus { clip: auto; clip-path: none; height: auto; width: auto; z-index: 100; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--paper); padding: 0.5rem 1rem; border-radius: 999px; }

/* ── Header ─────────────────────────────────────────── */
header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar header.wp-block-template-part { top: 0; } }
.s7-header { background: rgb(248 244 236 / 0.9); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgb(214 208 194 / 0.6); }
.s7-header .wp-block-navigation a { text-decoration: none; color: var(--wp--preset--color--stone); padding: 0.4rem 0.2rem; }
.s7-header .wp-block-navigation a:hover, .s7-header .wp-block-navigation a[aria-current='true'] { color: var(--wp--preset--color--forest); }
.s7-header .wp-block-navigation a[aria-current='true'] { box-shadow: inset 0 -1px 0 var(--wp--preset--color--forest); }
.s7-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--paper); padding: 1.5rem; }
.s7-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a { font-family: var(--wp--preset--font-family--display); font-size: 1.6rem; color: var(--wp--preset--color--ink); }
@media (max-width: 599px) { .s7-header .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; display: flex; align-items: center; justify-content: center; color: var(--wp--preset--color--forest); } }
.s7-header .wp-block-button__link { padding: 0.65rem 1.2rem; font-size: 0.92rem; }
@media (max-width: 599px) { .s7-header .s7-header__cta { display: none; } }

/* Wordmark: seven ascending signal bars before the site title. Replaced by your logo when you add one. */
.s7-wordmark { display: inline-flex; align-items: center; gap: 0.6rem; margin: 0; }
.s7-wordmark a { text-decoration: none; color: inherit; }
.s7-wordmark::before {
	content: ''; width: 30px; height: 22px; flex: none;
	background: linear-gradient(90deg, currentColor 0 8%, transparent 8% 14.3%, currentColor 14.3% 22.3%, transparent 22.3% 28.6%, currentColor 28.6% 36.6%, transparent 36.6% 42.9%, currentColor 42.9% 50.9%, transparent 50.9% 57.2%, currentColor 57.2% 65.2%, transparent 65.2% 71.5%, currentColor 71.5% 79.5%, transparent 79.5% 85.8%, var(--wp--preset--color--honey) 85.8% 93.8%, transparent 93.8%);
	clip-path: polygon(0 82%, 100% 0, 100% 100%, 0 100%);
	border-radius: 2px;
}
.wp-block-site-logo + .s7-wordmark { display: none; }

/* ── Shared pieces ──────────────────────────────────── */
.s7-eyebrow { display: inline-flex; align-items: center; gap: 0.6rem; font-size: 0.75rem !important; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--sage); }
.s7-eyebrow::before { content: ''; width: 1.5rem; height: 1px; background: currentColor; opacity: 0.7; }
.s7-dark .s7-eyebrow { color: #a9bca6; }
.s7-label { font-size: 0.72rem !important; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--sage); margin-bottom: 0.25rem !important; }
.s7-tag { display: inline-flex !important; width: fit-content; align-items: center; border: 1px dashed rgb(201 169 107 / 0.85); background: rgb(201 169 107 / 0.1); color: #7a5f2a; border-radius: 999px; padding: 0.15rem 0.7rem; font-size: 0.7rem !important; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.s7-dark .s7-tag { color: #e5cf9f; }
.s7-card { border: 1px solid rgb(214 208 194 / 0.85); border-radius: 24px; overflow: hidden; background: rgb(255 255 255 / 0.55); transition: box-shadow 0.3s ease, transform 0.3s ease; height: 100%; }
.s7-card:hover { box-shadow: var(--wp--preset--shadow--lift); }
.s7-card--placeholder { border-style: dashed; border-color: rgb(201 169 107 / 0.7); background: var(--wp--preset--color--paper); }
.s7-card__body { padding: clamp(1.4rem, 3vw, 1.9rem); }
.s7-card .wp-block-image { margin: 0; }
.s7-solution > .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; }
.s7-card .wp-block-image img { border-radius: 0; width: 100%; transition: transform 0.7s ease; }
.s7-card:hover .wp-block-image img { transform: scale(1.03); }
.s7-cover-img img { width: 100%; height: 100%; object-fit: cover; }
.s7-split-head { align-items: flex-end !important; }
.s7-section-intro { color: var(--wp--preset--color--stone); }
.s7-dark .s7-section-intro { color: rgb(248 244 236 / 0.75); }
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link { border: 1px solid rgb(31 59 45 / 0.3); background: transparent; color: var(--wp--preset--color--forest); }
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--wp--preset--color--forest); background: rgb(31 59 45 / 0.05); }
.s7-dark .wp-block-button.is-style-outline > .wp-block-button__link { border-color: rgb(248 244 236 / 0.35); color: var(--wp--preset--color--paper); }
.s7-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--wp--preset--color--paper); background: rgb(248 244 236 / 0.06); }
.wp-block-button__link { white-space: nowrap; transition: background-color 0.2s, box-shadow 0.2s; }
.wp-block-button__link.is-disabled { opacity: 0.55; cursor: not-allowed; }
.s7-link-arrow a { font-weight: 600; text-decoration: none; color: var(--wp--preset--color--forest); }
.s7-link-arrow a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Icons drawn with CSS masks so they can be added to any paragraph with a class. */
.s7-icon::before { content: ''; display: block; width: 1.6rem; height: 1.6rem; margin-bottom: 1rem; background: var(--wp--preset--color--forest); -webkit-mask: var(--s7-icon) center / contain no-repeat; mask: var(--s7-icon) center / contain no-repeat; }
.s7-icon--heart { --s7-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z'/%3E%3Cpath d='M12 5 9 8c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l2-2a2.8 2.8 0 0 1 4 0l2.9 2.9'/%3E%3C/svg%3E"); }
.s7-icon--shield { --s7-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.7 9a1 1 0 0 1-.6 0C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.2-2.7a1.2 1.2 0 0 1 1.6 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.s7-icon--chart { --s7-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='m19 9-5 5-4-4-3 3'/%3E%3C/svg%3E"); }

/* Check-mark list */
.s7-checks { list-style: none; padding-left: 0 !important; display: grid; gap: 0.6rem; }
.s7-checks li { position: relative; padding-left: 1.75rem; font-size: 0.95rem; }
.s7-checks li::before { content: ''; position: absolute; left: 0; top: 0.4rem; width: 1rem; height: 0.55rem; border-left: 2px solid var(--wp--preset--color--forest); border-bottom: 2px solid var(--wp--preset--color--forest); transform: rotate(-45deg); }

/* ── Hero ───────────────────────────────────────────── */
.s7-hero__media { position: relative; }
.s7-hero__media .wp-block-image { margin: 0; }
.s7-hero__media .wp-block-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 78% center; border-radius: 28px; }
@media (max-width: 781px) { .s7-hero__media .wp-block-image img { aspect-ratio: 4 / 3; } }
.s7-chip { position: absolute; width: min(15rem, 70%); background: rgb(255 255 255 / 0.85); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgb(255 255 255 / 0.6); border-radius: 18px; padding: 0.8rem 1rem 0.8rem 3.4rem; box-shadow: var(--wp--preset--shadow--lift); }
.s7-chip > * { margin: 0 !important; }
.s7-chip::before { content: ''; position: absolute; left: 0.85rem; top: 0.85rem; width: 2rem; height: 2rem; border-radius: 999px; background: var(--wp--preset--color--mist) var(--s7-chip-icon) center / 1.05rem no-repeat; }
.s7-chip__title { font-weight: 600; font-size: 0.9rem !important; line-height: 1.25; }
.s7-chip__note { font-size: 0.8rem !important; line-height: 1.35; color: var(--wp--preset--color--stone); }
.s7-chip--1 { top: 8%; left: -12%; --s7-chip-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F3B2D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-5.5 10.2-7.4 11.8a1 1 0 0 1-1.2 0C9.5 20.2 4 15 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.s7-chip--2 { top: 44%; right: -6%; --s7-chip-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F3B2D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3Cpath d='m9 16 2 2 4-4'/%3E%3C/svg%3E"); }
.s7-chip--3 { bottom: 7%; left: -8%; --s7-chip-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F3B2D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E"); }
@media (max-width: 1099px) { .s7-chip--1, .s7-chip--3 { display: none; } .s7-chip--2 { top: auto; bottom: 1rem; right: 1rem; } }
.s7-pills { gap: 0.5rem !important; }
.s7-pills > p { margin: 0 !important; border: 1px solid var(--wp--preset--color--line); background: rgb(255 255 255 / 0.7); border-radius: 999px; padding: 0.35rem 1rem; font-size: 0.88rem !important; font-weight: 500; }
.s7-platforms { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.5rem; }

/* ── Trust ──────────────────────────────────────────── */
.s7-trust-img { position: relative; height: 100%; }
.s7-trust-img .wp-block-image { margin: 0; height: 100%; }
.s7-trust-img .wp-block-image img { width: 100%; height: 100%; min-height: 24rem; object-fit: cover; object-position: 35% center; border-radius: 24px; }
.s7-rating { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; background: rgb(248 244 236 / 0.92); backdrop-filter: blur(8px); border-radius: 18px; padding: 1rem 1.1rem; }
.s7-rating > * { margin: 0 !important; }
.s7-rating > * + * { margin-top: 0.4rem !important; }
.s7-testimonial .wp-block-quote { margin: 0; padding: 0; border: 0; }
.s7-testimonial .wp-block-quote p { font-family: var(--wp--preset--font-family--display); font-size: 1.1rem; line-height: 1.4; }
.s7-testimonial .wp-block-quote cite { display: block; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--wp--preset--color--line); font-style: normal; font-size: 0.88rem; color: var(--wp--preset--color--stone); }
.s7-testimonial .wp-block-quote cite strong { display: block; color: var(--wp--preset--color--ink); }
.s7-card--placeholder .wp-block-quote p { color: var(--wp--preset--color--stone); }

/* ── Client logos ───────────────────────────────────── */
.s7-logo-slot { border: 1px dashed var(--wp--preset--color--line); border-radius: 16px; min-height: 5rem; display: flex !important; align-items: center; justify-content: center; }
.s7-logo-slot > * { margin: 0 !important; font-size: 0.8rem; color: var(--wp--preset--color--stone); }
.s7-logo-slot img { max-height: 2.4rem; width: auto; filter: grayscale(1); opacity: 0.8; transition: 0.3s; }
.s7-logo-slot img:hover { filter: none; opacity: 1; }

/* ── Process ────────────────────────────────────────── */
.s7-process-img img { aspect-ratio: 5 / 4; object-fit: cover; object-position: center 30%; border-radius: 24px; width: 100%; }
.s7-steps { counter-reset: s7step; position: relative; }
.s7-step { position: relative; }
.s7-step > * { margin-top: 0 !important; }
.s7-step__num { width: 2.5rem; height: 2.5rem; border-radius: 999px; border: 1px solid rgb(248 244 236 / 0.3); background: var(--wp--preset--color--pine); display: flex !important; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--display); color: var(--wp--preset--color--honey); position: relative; z-index: 1; margin-bottom: 1.4rem !important; font-variant-numeric: tabular-nums; }
.s7-step__text { color: rgb(248 244 236 / 0.72); font-size: 0.98rem; }
@media (min-width: 782px) {
	.s7-steps::before { content: ''; position: absolute; left: 0; right: 0; top: 1.25rem; height: 1px; background: rgb(248 244 236 / 0.2); }
}
@media (max-width: 781px) {
	.s7-steps { grid-template-columns: 1fr !important; }
	.s7-step { padding-left: 4rem; }
	.s7-step__num { position: absolute; left: 0; top: 0; }
	.s7-step:not(:last-child)::before { content: ''; position: absolute; left: 1.25rem; top: 2.5rem; bottom: -1.5rem; width: 1px; background: rgb(248 244 236 / 0.2); }
}

/* ── Case studies ───────────────────────────────────── */
.s7-case { border: 1px solid rgb(214 208 194 / 0.85); border-radius: 32px; overflow: hidden; background: rgb(255 255 255 / 0.6); }
.s7-case + .s7-case { margin-top: 1.5rem; }
.s7-case > .wp-block-columns { gap: 0 !important; margin: 0; }
.s7-case__side { background: rgb(226 232 222 / 0.7); padding: clamp(1.6rem, 4vw, 2.5rem) !important; }
.s7-case__main { padding: clamp(1.6rem, 4vw, 2.5rem) !important; }
.s7-outcome { border: 1px solid rgb(31 59 45 / 0.1); background: rgb(248 244 236 / 0.85); border-radius: 18px; padding: 1.25rem; }
.s7-outcome > * { margin: 0 !important; }
.s7-outcome > * + * { margin-top: 0.4rem !important; }
.s7-missing { font-style: italic; color: var(--wp--preset--color--stone); }
.s7-fields { gap: 2rem !important; }
.s7-fields > .wp-block-group > * { margin: 0 !important; }
.s7-fields > .wp-block-group > * + * { margin-top: 0.5rem !important; }
.s7-case .wp-block-list { padding-left: 1.2rem; margin: 0; }
/* Tabs (built by site.js; without JavaScript all case studies are shown one after another) */
.s7-cases.is-tabbed .s7-case { display: none; margin-top: 1.5rem; }
.s7-cases.is-tabbed .s7-case.is-active { display: block; animation: s7rise 0.5s ease both; }
.s7-tabs-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; }
.s7-tabs { display: flex; gap: 0.25rem; overflow-x: auto; padding-bottom: 2px; }
.s7-tabs button { white-space: nowrap; border: 0; background: transparent; padding: 0.65rem 1rem; border-radius: 999px; font: 600 0.92rem/1.2 var(--wp--preset--font-family--body); color: var(--wp--preset--color--stone); cursor: pointer; }
.s7-tabs button:hover { background: var(--wp--preset--color--mist); color: var(--wp--preset--color--ink); }
.s7-tabs button[aria-selected='true'] { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--paper); }
.s7-tab-arrows { display: flex; align-items: center; gap: 0.6rem; font-size: 0.9rem; color: var(--wp--preset--color--stone); font-variant-numeric: tabular-nums; }
.s7-tab-arrows button { width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--wp--preset--color--line); background: transparent; color: var(--wp--preset--color--forest); cursor: pointer; font-size: 1.1rem; }
.s7-tab-arrows button:hover { background: var(--wp--preset--color--mist); }
@keyframes s7rise { from { transform: translateY(10px); opacity: 0.001; } to { transform: none; opacity: 1; } }

/* ── Services ───────────────────────────────────────── */
.s7-grid-4 { grid-template-columns: repeat(auto-fill, minmax(min(16rem, 100%), 1fr)) !important; }
.s7-service { position: relative; }
.s7-service:hover { transform: translateY(-4px); }
.s7-service > .wp-block-image img { aspect-ratio: 16 / 10; object-fit: cover; }
.s7-service .s7-service__icon { position: relative; z-index: 1; width: 4rem; margin: -4.75rem 0 1rem !important; }
.s7-service .s7-service__icon img { width: 4rem; height: 4rem; border-radius: 16px !important; border: 1px solid var(--wp--preset--color--line); box-shadow: var(--wp--preset--shadow--soft); background: var(--wp--preset--color--paper); }
.s7-service:hover .s7-service__icon img { transform: none; }
.s7-service .s7-card__body > h3 { margin-top: 0; }
.s7-service h3 { font-family: var(--wp--preset--font-family--body); font-size: 1.06rem; font-weight: 600; line-height: 1.35; letter-spacing: 0; }
.s7-service .s7-card__body > p { font-size: 0.95rem; color: var(--wp--preset--color--stone); }

/* ── Contact ────────────────────────────────────────── */
.s7-contact { position: relative; isolation: isolate; }
.s7-contact::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(22 43 33 / 0.72), rgb(22 43 33 / 0.9) 40%, var(--wp--preset--color--pine)), url(../images/contact-1600.webp) center / cover no-repeat; }
@media (min-width: 782px) { .s7-contact__intro { position: sticky; top: 7rem; } }

/* Enquiry form */
.s7-form { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); border-radius: 28px; padding: clamp(1.5rem, 4vw, 2.25rem); box-shadow: var(--wp--preset--shadow--lift); }
.s7-form h3 { margin: 0; font-size: 1.6rem; color: var(--wp--preset--color--ink); }
.s7-form__hint { margin: 0.4rem 0 0; font-size: 0.92rem; color: var(--wp--preset--color--stone); }
.s7-form__grid { display: grid; gap: 1.1rem; margin-top: 1.5rem; }
@media (min-width: 640px) { .s7-form__grid { grid-template-columns: 1fr 1fr; } .s7-form__full { grid-column: 1 / -1; } }
.s7-form label { display: block; font-weight: 600; font-size: 0.9rem; margin-bottom: 0.35rem; }
.s7-form input[type=text], .s7-form input[type=email], .s7-form input[type=tel], .s7-form select, .s7-form textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--wp--preset--color--line); background: #fff; border-radius: 12px; padding: 0.8rem 1rem; font: inherit; font-size: 1rem; color: var(--wp--preset--color--ink); }
.s7-form :is(input, select, textarea):focus { outline: none; border-color: var(--wp--preset--color--forest); box-shadow: 0 0 0 3px rgb(31 59 45 / 0.15); }
.s7-form [aria-invalid='true'] { border-color: #a3412f !important; box-shadow: 0 0 0 3px rgb(163 65 47 / 0.12); }
.s7-form__error { margin: 0.35rem 0 0; font-size: 0.86rem; font-weight: 500; color: #a3412f; }
.s7-form__consent label { display: flex; gap: 0.7rem; font-weight: 400; font-size: 0.92rem; line-height: 1.45; cursor: pointer; }
.s7-form__consent input { width: 1.2rem; height: 1.2rem; flex: none; margin-top: 0.1rem; accent-color: var(--wp--preset--color--forest); }
.s7-form__privacy { font-size: 0.82rem; color: var(--wp--preset--color--stone); margin: 1.2rem 0 0; }
.s7-form__submit { margin-top: 1.4rem; border: 0; cursor: pointer; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--paper); border-radius: 999px; padding: 0.9rem 1.7rem; font: 600 0.975rem/1.2 var(--wp--preset--font-family--body); }
.s7-form__submit:hover { background: var(--wp--preset--color--pine); }
.s7-form__submit[disabled] { opacity: 0.6; cursor: wait; }
.s7-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.s7-alert { margin-top: 1.25rem; border-radius: 16px; padding: 1rem 1.1rem; font-size: 0.95rem; line-height: 1.5; }
.s7-alert--error { border: 1px solid rgb(163 65 47 / 0.3); background: rgb(163 65 47 / 0.06); color: #7d2f21; }
.s7-alert--success { border: 1px solid rgb(31 59 45 / 0.2); background: var(--wp--preset--color--mist); color: var(--wp--preset--color--forest); }
.s7-form-done h3 { font-size: 1.6rem; }

/* ── Footer ─────────────────────────────────────────── */
.s7-footer a { color: rgb(248 244 236 / 0.75); text-decoration: none; }
.s7-footer a:hover { color: var(--wp--preset--color--paper); }
.s7-footer .s7-wordmark { color: var(--wp--preset--color--paper); font-family: var(--wp--preset--font-family--display); font-size: 1.4rem; }
.s7-footer-links { display: grid !important; grid-template-columns: repeat(3, auto); gap: 0.7rem 2.5rem; }
.s7-footer-links > p { margin: 0 !important; }
.s7-cookie-link { background: none; border: 0; padding: 0; color: rgb(248 244 236 / 0.75); font: inherit; cursor: pointer; }
.s7-cookie-link:hover { color: var(--wp--preset--color--paper); }

/* ── Consent banner ─────────────────────────────────── */
.s7-consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 100; padding: 1rem; padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); }
.s7-consent[hidden] { display: none; }
.s7-consent__box { max-width: 48rem; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); border: 1px solid var(--wp--preset--color--line); border-radius: 24px; padding: 1.25rem 1.4rem; box-shadow: var(--wp--preset--shadow--lift); }
.s7-consent__text { flex: 1 1 18rem; margin: 0; font-size: 0.9rem; color: var(--wp--preset--color--stone); }
.s7-consent__text strong { display: block; color: var(--wp--preset--color--ink); font-size: 1rem; }
.s7-consent__actions { display: flex; gap: 0.5rem; }
.s7-consent__actions button { border-radius: 999px; padding: 0.7rem 1.3rem; font: 600 0.92rem/1 var(--wp--preset--font-family--body); cursor: pointer; border: 1px solid rgb(31 59 45 / 0.3); background: transparent; color: var(--wp--preset--color--forest); }
.s7-consent__actions button.is-primary { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--paper); border-color: var(--wp--preset--color--forest); }

/* Editor-only hint so placeholder chips are easy to spot while editing */
.editor-styles-wrapper .s7-chip { position: relative; left: auto; right: auto; top: auto; bottom: auto; margin-top: 0.75rem !important; }

.s7-footer-rule { width: 100% !important; max-width: var(--wp--style--global--wide-size) !important; border: 0 !important; height: 1px; margin-block: 2rem 1.25rem !important; }
.s7-trademarks { max-width: var(--wp--style--global--wide-size) !important; opacity: 0.6; margin-top: 1.5rem !important; }
@media (max-width: 781px) { .s7-fields { grid-template-columns: 1fr !important; } .s7-footer-links { grid-template-columns: repeat(2, auto); } }
.wp-block-post-content > .alignfull, .wp-site-blocks > footer, .wp-site-blocks > main, .s7-main > .wp-block-post-content { margin-block-start: 0; margin-block-end: 0; }
