/* Sumatran Blocks: uses theme.json presets so colours and type stay in sync. */

/* Offer cards */
.sumatran-offer-cards__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--40); }
@media (max-width: 781px) { .sumatran-offer-cards__list { grid-template-columns: 1fr; } }
.sumatran-offer-card { display: flex; flex-direction: column; gap: 0.75rem; margin: 0; padding: var(--wp--preset--spacing--50); background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: 8px; box-shadow: var(--wp--preset--shadow--card); }
.sumatran-offer-card__kicker { margin: 0; font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--brand-plum); }
.sumatran-offer-card__title { margin: 0; font-size: var(--wp--preset--font-size--x-large); }
.sumatran-offer-card__summary { margin: 0; color: var(--wp--preset--color--ink-muted); flex-grow: 1; }
.sumatran-offer-card__link { font-weight: 500; align-self: flex-start; }

/* Breadcrumb */
.sumatran-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 0.5rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink-muted); }
.sumatran-breadcrumb li + li::before { content: "/"; margin-right: 0.5rem; color: var(--wp--preset--color--border-strong); }
.sumatran-breadcrumb a { color: var(--wp--preset--color--ink-muted); }
.sumatran-breadcrumb [aria-current] { color: var(--wp--preset--color--ink); font-weight: 500; }

/* Conversation form */
.sumatran-form { scroll-margin-top: 2rem; padding: var(--wp--preset--spacing--50); background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: 8px; box-shadow: var(--wp--preset--shadow--card); }
.sumatran-form__title { margin-top: 0; font-size: var(--wp--preset--font-size--xx-large); }
.sumatran-form form { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--40); }
.sumatran-form__field { display: flex; flex-direction: column; gap: 0.375rem; }
.sumatran-form label { font-weight: 500; }
.sumatran-form__optional { font-weight: 400; color: var(--wp--preset--color--ink-muted); }
.sumatran-form input[type="text"], .sumatran-form input[type="email"], .sumatran-form textarea, .sumatran-form select {
	width: 100%; box-sizing: border-box; padding: 0.75rem 0.875rem; font: inherit; color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border-strong); border-radius: 6px; }
.sumatran-form textarea { resize: vertical; min-height: 9rem; }
.sumatran-form input:focus-visible, .sumatran-form textarea:focus-visible, .sumatran-form select:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 1px; border-color: var(--wp--preset--color--accent); }
.sumatran-form .has-error input, .sumatran-form .has-error textarea { border: 2px solid #B42318; }
.sumatran-form__error { margin: 0; color: #B42318; font-weight: 500; font-size: var(--wp--preset--font-size--small); }
.sumatran-form__summary { margin-bottom: var(--wp--preset--spacing--40); padding: 1rem 1.25rem; border: 2px solid #B42318; border-radius: 6px; background: #FEF3F2; }
.sumatran-form__summary-title { margin: 0; font-weight: 600; color: #B42318; }
.sumatran-form__summary ul { margin: 0.5rem 0 0; padding-left: 1.25rem; }
.sumatran-form__summary a { color: #B42318; }
.sumatran-form__success { padding: 1.25rem 1.5rem; border-left: 4px solid var(--wp--preset--color--brand-plum); background: color-mix(in srgb, var(--wp--preset--color--brand-lilac) 12%, white); border-radius: 6px; }
.sumatran-form__success h2 { margin-top: 0; font-size: var(--wp--preset--font-size--x-large); }
.sumatran-form__notice { padding-top: var(--wp--preset--spacing--30); border-top: 1px solid var(--wp--preset--color--border); }
.sumatran-form__notice h3 { margin: 0 0 0.25rem; font-size: var(--wp--preset--font-size--medium); }
.sumatran-form__notice p { margin: 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink-muted); }
.sumatran-form button { border: 0; cursor: pointer; font: inherit; font-weight: 500; }
.sumatran-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Contact card */
.sumatran-contact-card { font-style: normal; display: flex; flex-direction: column; gap: 0.25rem; }
.sumatran-contact-card p { margin: 0; }
.sumatran-contact-card__empty { padding: 0.75rem; border: 1px dashed var(--wp--preset--color--border-strong); font-size: 0.875rem; }

/* Offer columns (home page, layout "columns") */
.sumatran-offer-cols { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--wp--preset--spacing--50) 1.5rem; }
@media (max-width: 1023px) { .sumatran-offer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sumatran-offer-cols { grid-template-columns: 1fr; } }
.sumatran-offer-col { display: flex; flex-direction: column; gap: 0.875rem; margin: 0; }
.sumatran-offer-col__duration { margin: 0 0 0.5rem; padding-bottom: 1rem; border-bottom: 2px solid var(--wp--preset--color--ink); display: flex; align-items: baseline; gap: 0.5rem; }
.sumatran-offer-col__value { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: clamp(2.75rem, 4.5vw, 4rem); line-height: 1.05; letter-spacing: -0.045em; color: var(--wp--preset--color--brand-plum); }
.sumatran-offer-col__unit { font-weight: 500; color: var(--wp--preset--color--ink); }
.sumatran-offer-col__type { margin: 0; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--ink-muted); }
.sumatran-offer-col__title { margin: 0; font-size: 1.375rem; font-weight: 700; line-height: 1.27; letter-spacing: -0.02em; }
.sumatran-offer-col__summary { margin: 0; font-size: 1rem; line-height: 1.625; color: var(--wp--preset--color--ink-muted); flex-grow: 1; }
.sumatran-offer-col__link { align-self: flex-start; font-weight: 600; font-size: 0.9375rem; color: var(--wp--preset--color--brand-plum); text-decoration: none; padding-top: 0.5rem; }
.sumatran-offer-col__link:hover { text-decoration: underline; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* ===================== 1.2: home page blocks ===================== */
/* Executive readout (illustration) */
.sm-readout__stage { background: #E6E4DC; border-radius: 20px; padding: clamp(1.25rem, 4vw, 3.5rem) clamp(1rem, 5vw, 4.5rem) 0; overflow: hidden; display: flex; justify-content: center; }
.sm-readout__window { width: 100%; max-width: 1100px; background: #FFFFFF; border: 1px solid rgba(17,17,17,0.08); border-bottom: 0; border-radius: 14px 14px 0 0; box-shadow: 0 24px 64px rgba(17,17,17,0.10); font-family: var(--wp--preset--font-family--body); color: #3D3D39; }
.sm-readout__chrome { display: flex; align-items: center; gap: 1rem; padding: 0.875rem 1.125rem; border-bottom: 1px solid #EEEDE8; font-size: 0.8125rem; color: #6B6A65; }
.sm-readout__dots { display: flex; gap: 0.5rem; }
.sm-readout__dots i { width: 11px; height: 11px; border-radius: 50%; background: #E5E3DC; }
.sm-readout__path { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-readout__badge { flex-shrink: 0; padding: 0.2rem 0.625rem; border-radius: 999px; background: var(--wp--preset--color--plum-tint); color: var(--wp--preset--color--brand-plum); font-size: 0.75rem; font-weight: 600; }
.sm-readout__body { display: flex; min-height: 26rem; }
.sm-readout__side { width: 15rem; flex-shrink: 0; display: flex; flex-direction: column; gap: 2px; padding: 1.25rem 0.75rem; border-right: 1px solid #EEEDE8; background: #FAFAF8; font-size: 0.875rem; }
.sm-readout__side span { padding: 0.45rem 0.625rem; border-radius: 6px; line-height: 1.4; }
.sm-readout__side .is-current { background: #EFEDE7; color: #111111; font-weight: 500; }
.sm-readout__side .sm-readout__group { font-size: 0.75rem; color: #6B6A65; padding-top: 1rem; }
.sm-readout__side .sm-readout__group:first-child { padding-top: 0.375rem; }
.sm-readout__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.375rem; padding: 1.75rem 2.25rem; }
.sm-readout__title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.5rem; letter-spacing: -0.02em; color: #111111; }
.sm-readout__sub { font-size: 0.875rem; color: #6B6A65; margin-bottom: 1rem; }
.sm-readout__cols { display: flex; gap: 2rem; }
.sm-readout__rows { width: 25rem; flex-shrink: 0; display: flex; flex-direction: column; }
.sm-readout__row { display: grid; grid-template-columns: 1fr auto; row-gap: 0.5rem; padding: 0.75rem 0; border-bottom: 1px solid #F1F0EC; font-size: 0.8125rem; }
.sm-readout__row:last-child { border-bottom: 0; }
.sm-readout__name { font-size: 0.875rem; font-weight: 500; color: #111111; }
.sm-readout__state { color: #6B6A65; }
.sm-readout__row.is-gap .sm-readout__state { color: #8A5A3C; }
.sm-readout__bar { grid-column: 1 / -1; display: flex; gap: 4px; }
.sm-readout__bar i { flex: 1; height: 8px; border-radius: 2px; background: #E8E6E0; }
.sm-readout__bar i.on { background: var(--wp--preset--color--brand-plum); }
.sm-readout__row.is-gap .sm-readout__bar i.on { background: #B9A6BC; }
.sm-readout__agenda { flex: 1; min-width: 0; display: flex; flex-direction: column; border-left: 1px solid #EEEDE8; padding-left: 1.75rem; }
.sm-readout__agenda > .sm-readout__name { padding: 0.75rem 0 0.625rem; }
.sm-readout__task { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0; border-top: 1px solid #F1F0EC; font-size: 0.875rem; }
.sm-readout__task i { width: 16px; height: 16px; flex-shrink: 0; border-radius: 4px; border: 1.5px solid #C9C6BE; }
.sm-readout__task.is-done i { background: var(--wp--preset--color--brand-plum); border-color: var(--wp--preset--color--brand-plum); }
.sm-readout__task span { flex: 1; min-width: 0; }
.sm-readout__task em { flex-shrink: 0; font-style: normal; white-space: nowrap; padding: 0.125rem 0.5rem; border-radius: 999px; background: #F2F1EC; font-size: 0.75rem; color: #5C5C57; }
.sm-readout__task em.is-next { background: var(--wp--preset--color--plum-tint); color: var(--wp--preset--color--brand-plum); font-weight: 500; }
@media (max-width: 1100px) { .sm-readout__side { display: none; } }
@media (max-width: 860px) { .sm-readout__agenda { display: none; } .sm-readout__rows { width: 100%; } .sm-readout__body { min-height: 0; } .sm-readout__main { padding: 1.25rem; } .sm-readout__title { font-size: 1.1875rem; } .sm-readout__path { display: none; } .sm-readout__chrome { justify-content: space-between; } }

/* Night offers */
.sm-night-offers { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 1100px) { .sm-night-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sm-night-offers { grid-template-columns: 1fr; } }
.sm-night-offer { margin: 0; }
.sm-night-offer__link { height: 100%; display: flex; flex-direction: column; background: var(--wp--preset--color--night-surface); border: 1px solid var(--wp--preset--color--night-border); border-radius: 16px; overflow: hidden; text-decoration: none; color: inherit; transition: border-color .2s ease, transform .2s ease; }
.sm-night-offer__link:hover { border-color: #4A4650; transform: translateY(-2px); }
.sm-night-offer__link:focus-visible { outline: 2px solid var(--wp--preset--color--brand-lilac); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .sm-night-offer__link, .sm-night-offer__link:hover { transition: none; transform: none; } }
.sm-night-offer__art { height: 13.75rem; display: flex; align-items: center; justify-content: center; border-bottom: 1px solid var(--wp--preset--color--night-border); }
.sm-night-offer__art svg { width: 12.5rem; height: auto; max-height: 10.5rem; }
.sm-night-offer__body { flex: 1; display: flex; flex-direction: column; gap: 0.625rem; padding: 1.5rem 1.5rem 1.75rem; }
.sm-night-offer__meta { font-size: 0.8125rem; color: var(--wp--preset--color--brand-lilac); }
.sm-night-offer__title { margin: 0; font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: 1.375rem; line-height: 1.27; letter-spacing: -0.02em; color: var(--wp--preset--color--night-text); }
.sm-night-offer__summary { flex: 1; font-size: 0.9375rem; line-height: 1.6; color: var(--wp--preset--color--night-muted); }
.sm-night-offer__foot { display: flex; justify-content: space-between; align-items: center; padding-top: 0.5rem; font-size: 0.875rem; color: #8F8D95; }
.sm-night-offer__arrow { width: 2rem; height: 2rem; border-radius: 50%; background: var(--wp--preset--color--night-text); color: var(--wp--preset--color--night); display: inline-flex; align-items: center; justify-content: center; }

/* SAIOS covers */
.sm-covers__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.sm-cover { margin: 0; aspect-ratio: 316 / 440; display: flex; flex-direction: column; justify-content: space-between; border-radius: 10px; padding: 1.5rem; overflow: hidden; }
.sm-cover__top { display: flex; justify-content: space-between; font-family: var(--wp--preset--font-family--serif); font-size: 0.875rem; line-height: 1.3; }
.sm-cover__art { display: flex; justify-content: center; }
.sm-cover__art svg { width: 82%; height: auto; max-height: 14rem; }
.sm-cover.is-ink .sm-cover__art svg { width: 48%; }
.sm-cover__title { margin: 0 0 0.5rem; font-family: var(--wp--preset--font-family--serif); font-weight: 500; font-size: clamp(1.375rem, 2vw, 1.75rem); line-height: 1.1; letter-spacing: -0.01em; }
.sm-cover__text { margin: 0; font-size: 0.8125rem; line-height: 1.45; }
.sm-cover.is-ink { background: #16141A; } .sm-cover.is-ink .sm-cover__top { color: #CFC9D2; } .sm-cover.is-ink .sm-cover__title { color: #F4F3EF; } .sm-cover.is-ink .sm-cover__text { color: #B4ADB9; }
.sm-cover.is-graphite { background: #8F8D89; } .sm-cover.is-graphite .sm-cover__top, .sm-cover.is-graphite .sm-cover__title { color: #111111; } .sm-cover.is-graphite .sm-cover__text { color: #1F1E1C; }
.sm-cover.is-plum { background: #664C6B; } .sm-cover.is-plum .sm-cover__top { color: #F1E8F3; } .sm-cover.is-plum .sm-cover__title { color: #FFFFFF; } .sm-cover.is-plum .sm-cover__text { color: #EEE5F0; }
.sm-cover.is-sky { background: #A9C6D3; } .sm-cover.is-sky .sm-cover__top, .sm-cover.is-sky .sm-cover__title { color: #111111; } .sm-cover.is-sky .sm-cover__text { color: #1D2B31; }
@media (max-width: 1023px) {
  .sm-covers__list { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(16rem, 72%); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 0.75rem; }
  .sm-cover { scroll-snap-align: start; }
}

/* Sector cards */
.sm-sectors__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.75rem; }
@media (max-width: 1100px) { .sm-sectors__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .sm-sectors__list { grid-template-columns: 1fr; } }
.sm-sectors__list li { margin: 0; }
.sm-sector { height: 100%; min-height: 11.25rem; box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; gap: 1.5rem; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: 14px; padding: 1.375rem; text-decoration: none; color: var(--wp--preset--color--ink); transition: border-color .2s ease, box-shadow .2s ease; }
.sm-sector:hover { border-color: #CFCBC0; box-shadow: 0 8px 24px rgba(17,17,17,0.06); }
.sm-sector__icon { width: 2.75rem; height: 2.75rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #FFFFFF; }
.sm-sector__icon.is-plum { background: #664C6B; } .sm-sector__icon.is-ink { background: #16141A; } .sm-sector__icon.is-graphite { background: #8F8D89; }
.sm-sector__icon.is-sky { background: #A9C6D3; color: #1D2B31; } .sm-sector__icon.is-sand { background: #E8D9C8; color: #5A3E2B; }
.sm-sector__name { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.125rem; line-height: 1.33; letter-spacing: -0.015em; }
@media (max-width: 700px) { .sm-sector { min-height: 0; flex-direction: row; align-items: center; } }

/* 1.3: How We Help (detail) — two wide cards per row, art beside the text */
.sm-night-offer__timing { font-size: 0.875rem; color: var(--wp--preset--color--night-text); }
.is-detail .sm-night-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.is-detail .sm-night-offer__link { flex-direction: row; }
.is-detail .sm-night-offer__art { flex: 0 0 38%; height: auto; min-height: 17rem; border-bottom: 0; border-right: 1px solid var(--wp--preset--color--night-border); }
.is-detail .sm-night-offer__art svg { width: 78%; }
.is-detail .sm-night-offer__body { padding: 2rem; }
.is-detail .sm-night-offer__title { font-size: 1.5rem; }
@media (max-width: 1000px) { .is-detail .sm-night-offers { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
  .is-detail .sm-night-offer__link { flex-direction: column; }
  .is-detail .sm-night-offer__art { min-height: 12rem; border-right: 0; border-bottom: 1px solid var(--wp--preset--color--night-border); }
  .is-detail .sm-night-offer__body { padding: 1.5rem; }
}
.sm-sector { scroll-margin-top: 2rem; }

/* 1.6: cookie choice (Google Analytics) */
.sm-consent { position: fixed; z-index: 9999; left: 1.25rem; bottom: 1.25rem; max-width: 26rem; box-sizing: border-box; padding: 1.25rem; background: #FFFFFF; color: #111111; border: 1px solid #E4E2DA; border-radius: 16px; box-shadow: 0 18px 48px rgba(17,17,17,0.14); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 0.875rem; line-height: 1.5; font-weight: 400; }
.sm-consent__text { margin: 0 0 1rem; font-size: 0.875rem; color: #3D3D39; }
.sm-consent__text a { color: #111111; text-underline-offset: 0.2em; }
.sm-consent__actions { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.sm-consent button { font: inherit; font-size: 0.875rem; font-weight: 400; cursor: pointer; border-radius: 8px; padding: 0.625rem 1rem; border: 1px solid #111111; }
.sm-consent__accept { background: #111111; color: #FFFFFF; }
.sm-consent__accept:hover { background: #664C6B; border-color: #664C6B; }
.sm-consent__decline { background: transparent; color: #111111; }
.sm-consent button:focus-visible { outline: 2px solid #664C6B; outline-offset: 2px; }
@media (max-width: 600px) { .sm-consent { left: 0.75rem; right: 0.75rem; bottom: 0.75rem; max-width: none; } }
