/*
Theme Name: Scottish Island Holidays (Sky to bedrock)
Theme URI: https://scottishislandholidays.com
Author: Isle Develop CIC
Author URI: https://isledevelop.com
Description: The 2026 redesign of Scottish Island Holidays. Each page is a slice through an island, top to bottom: sky, sea, sand, machair, peat, gneiss and bedrock, each with an edge in its own shape and a peat stack on the peat bank. Built on the original Scottish Island Holidays theme and styled for the isleHoliday Listings plugin.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 2.0.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: scottish-island-holidays-strata
Tags: block-patterns, full-site-editing, accessibility-ready, custom-colors, editor-style, wide-blocks
*/

/* ==========================================================================
   0. Layers
   ========================================================================== */

:root {
	--sih-sky: #C9DFEA;
	--sih-sea: #1F6F78;
	--sih-sand: #E7D8B4;
	--sih-light-sand: #F6EEDB;
	--sih-machair: #4C6A28;
	--sih-peat: #46372A;
	--sih-gneiss: #B9AFA9;
	--sih-bedrock: #1E2224;
	--sih-ink: #10303D;
	--sih-sun: #E3A635;
	--sih-link: #17575E;
	--sih-edge: 56px;
}
@media (max-width: 700px) { :root { --sih-edge: 36px; } }

/* ==========================================================================
   1. Base and accessibility
   ========================================================================== */

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
h1, h2, h3, h4 { text-wrap: balance; }
p, li { text-wrap: pretty; }

/* Accent words in headings stay upright: the type does the work, not italics. */
.wp-block-heading em, .sih-display em, h1 em, h2 em, h3 em { font-style: normal; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--sih-ink);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px #fff;
	border-radius: 4px;
}
.sih-on-dark :where(a, button, summary, input, select):focus-visible,
.wp-block-cover :where(a, button):focus-visible {
	outline-color: var(--sih-sun);
	box-shadow: 0 0 0 6px var(--sih-bedrock);
}

.skip-link.screen-reader-text:focus { background: var(--sih-sun); color: var(--sih-ink); font-weight: 700; }

/* Buttons: square-ish, comfortable touch targets */
.wp-element-button, .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: inherit; border: 2px solid currentColor;
	padding-top: calc(0.9rem - 2px); padding-bottom: calc(0.9rem - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.14); }

/* ==========================================================================
   2. Header (always sky)
   ========================================================================== */

.sih-header { border: 0; position: relative; z-index: 100; }
.sih-header > .wp-block-group { align-items: center; }
.sih-header .wp-block-site-title { margin: 0; line-height: 1; display: flex; align-items: center; }
.sih-header .wp-block-site-title a { display: inline-flex; align-items: center; gap: 0.75rem; white-space: nowrap; padding: 0.2rem 0; }
.sih-header .wp-block-site-title a::before { content: ""; flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--sih-sun); }
.sih-header .wp-block-navigation a { padding: 0.6rem 0.2rem; color: var(--sih-ink); }
.sih-header .wp-block-navigation .current-menu-item > a,
.sih-header .wp-block-navigation a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close { min-width: 48px; min-height: 48px; justify-content: center; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--sih-sky) !important; color: var(--sih-ink) !important; padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 0.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.5rem; font-family: var(--wp--preset--font-family--display); font-weight: 800; }

/* ==========================================================================
   3. The layers: colours
   Each full-width group takes a layer from its block style or its colour.
   ========================================================================== */

.wp-block-group.is-style-sih-sky { background-color: var(--sih-sky); color: var(--sih-ink); }
.wp-block-group.is-style-sih-sea { background-color: var(--sih-sea); color: #fff; }
.wp-block-group.is-style-sih-sand { background-color: var(--sih-sand); color: #33291A; }
.wp-block-group.is-style-sih-light-sand { background-color: var(--sih-light-sand); color: var(--sih-ink); }
.wp-block-group.is-style-sih-machair { background-color: var(--sih-machair); color: #fff; }
.wp-block-group.is-style-sih-peat { background-color: var(--sih-peat); color: #F3EBE1; }
.wp-block-group.is-style-sih-gneiss { background-color: var(--sih-gneiss); color: #2B2A2C; }
.wp-block-group.is-style-sih-bedrock { background-color: var(--sih-bedrock); color: #fff; }

/* Full-width "ink" bands on older pages become sea, so every band is a real layer. */
.wp-block-group.alignfull.has-ink-background-color { background-color: var(--sih-sea) !important; }

/* Gneiss is banded rock: very faint foliation */
.wp-block-group.is-style-sih-gneiss,
.wp-block-group.alignfull.has-stone-background-color {
	background-image: repeating-linear-gradient(-4deg, rgba(255,255,255,.07) 0 40px, transparent 40px 64px, rgba(60,45,40,.035) 64px 76px, transparent 76px 140px);
}

/* Text and links on the dark layers */
.is-style-sih-sea, .is-style-sih-machair, .is-style-sih-peat, .is-style-sih-bedrock,
.has-sea-background-color, .has-machair-background-color, .has-rust-background-color,
.has-deep-background-color, .has-ink-background-color, .wp-block-cover { --sih-on: #fff; }
:is(.is-style-sih-sea, .is-style-sih-machair, .is-style-sih-peat, .is-style-sih-bedrock,
	.has-sea-background-color, .has-machair-background-color, .has-rust-background-color,
	.has-deep-background-color, .has-ink-background-color) a:where(:not(.wp-element-button, .wp-block-button__link, .ihl-btn, .ihl-card__dates a)) {
	color: inherit;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 3px;
}
:is(.is-style-sih-sea, .is-style-sih-machair, .is-style-sih-peat, .is-style-sih-bedrock,
	.has-sea-background-color, .has-machair-background-color, .has-rust-background-color,
	.has-deep-background-color, .has-ink-background-color) a:where(:not(.wp-element-button, .wp-block-button__link, .ihl-btn)):hover { color: var(--sih-sun); }
.is-style-sih-gneiss a:where(:not(.wp-element-button, .wp-block-button__link)),
.has-stone-background-color a:where(:not(.wp-element-button, .wp-block-button__link)) { color: #2B2A2C; }

/* ==========================================================================
   4. The layers: edges
   A layer draws its own top edge in its own colour, in its own shape,
   overlapping the layer above. Sky has no edge: it is the top.
   ========================================================================== */

.wp-block-group:is(.alignfull.has-background, [class*="is-style-sih-"]) { position: relative; }
.wp-block-group.alignfull:is(
	.is-style-sih-sea, .is-style-sih-sand, .is-style-sih-light-sand, .is-style-sih-machair,
	.is-style-sih-peat, .is-style-sih-gneiss, .is-style-sih-bedrock,
	.alignfull.has-sea-background-color, .alignfull.has-ink-background-color,
	.alignfull.has-dune-background-color, .alignfull.has-ground-background-color,
	.alignfull.has-machair-background-color, .alignfull.has-rust-background-color,
	.alignfull.has-stone-background-color, .alignfull.has-deep-background-color
)::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: calc(1px - var(--sih-edge));
	height: var(--sih-edge);
	background-color: inherit;
	-webkit-mask: var(--sih-edge-shape, url("assets/edges/swell.svg")) center bottom / 100% 100% no-repeat;
	mask: var(--sih-edge-shape, url("assets/edges/swell.svg")) center bottom / 100% 100% no-repeat;
	pointer-events: none;
	z-index: 1;
}
/* Gneiss's banding must not show in its edge */
.wp-block-group:is(.is-style-sih-gneiss, .alignfull.has-stone-background-color)::before { background-image: none; }

.is-style-sih-sea, .alignfull.has-sea-background-color, .alignfull.has-ink-background-color { --sih-edge-shape: url("assets/edges/shore.svg"); }
.is-style-sih-sand, .is-style-sih-light-sand, .alignfull.has-dune-background-color, .alignfull.has-ground-background-color { --sih-edge-shape: url("assets/edges/swell.svg"); }
.is-style-sih-machair, .alignfull.has-machair-background-color { --sih-edge-shape: url("assets/edges/dunes.svg"); }
.is-style-sih-peat, .alignfull.has-rust-background-color { --sih-edge-shape: url("assets/edges/level.svg"); }
.is-style-sih-gneiss, .alignfull.has-stone-background-color { --sih-edge-shape: url("assets/edges/jagged.svg"); }
.is-style-sih-bedrock, .alignfull.has-deep-background-color { --sih-edge-shape: url("assets/edges/blocky.svg"); }

/* The peat stack, drying on the bank */
.wp-block-group.alignfull:is(.is-style-sih-peat, .has-rust-background-color)::after {
	content: "";
	position: absolute;
	right: 9%;
	top: calc(1px - var(--sih-edge) + (var(--sih-edge) * 30 / 56) - 128px);
	width: 300px;
	height: 132px;
	background: url("assets/images/peat-stack.svg") center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
}
@media (max-width: 700px) {
	.wp-block-group.alignfull:is(.is-style-sih-peat, .has-rust-background-color)::after {
		width: 180px; height: 79px; right: 6%;
		top: calc(1px - var(--sih-edge) + (var(--sih-edge) * 30 / 56) - 77px);
	}
}
/* The layer above a peat bank needs headroom for the stack */
.wp-block-group:has(+ .wp-block-group:is(.is-style-sih-peat, .alignfull.has-rust-background-color)) { padding-bottom: max(var(--wp--preset--spacing--70), 10.5rem) !important; }

/* Nothing in a layer should sit under the next layer's edge */
.wp-block-group:is(.alignfull.has-background, [class*="is-style-sih-"]) > * { position: relative; z-index: 2; }

/* Horizon photo: the sky melts into the picture, the next layer's shoreline cuts it off */
.wp-block-image.is-style-sih-horizon { position: relative; margin-top: 0; margin-bottom: 0; }
.wp-block-image.is-style-sih-horizon img { border-radius: 0 !important; width: 100%; display: block; object-fit: cover; }
.wp-block-image.is-style-sih-horizon::after {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: min(140px, 30%);
	background: linear-gradient(var(--sih-sky), rgba(201, 223, 234, 0));
	pointer-events: none;
}

/* ==========================================================================
   5. Type helpers (classes used in the page content)
   ========================================================================== */

.sih-kicker { margin: 0; font-weight: 400; font-size: 1.125rem; letter-spacing: 0; text-transform: none; color: inherit; }
.sih-kicker:not(:has([lang="gd"])) { font-weight: 700; }
.sih-kicker [lang="gd"] { font-weight: 700; font-style: normal; font-family: inherit; color: inherit; }
.sih-eyebrow { text-transform: none; letter-spacing: 0; font-weight: 700; font-size: 1.125rem; }
.sih-lead { font-size: var(--wp--preset--font-size--large); }
.sih-display-xl { font-size: clamp(2.75rem, 6vw, 4.5rem) !important; line-height: 0.96 !important; font-weight: 900 !important; letter-spacing: -0.03em; }
.sih-display-l { font-size: clamp(2.125rem, 4.2vw, 3.25rem) !important; line-height: 1.02 !important; font-weight: 800 !important; }
.sih-number { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1rem; line-height: 1; color: inherit; margin: 0; }
.sih-statement { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-style: normal; font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.18; margin: 0; }

/* Text links with a sun underline */
.sih-line a { font-weight: 700; color: inherit; text-decoration: none; border-bottom: 2px solid var(--sih-sun); padding-bottom: 2px; }
.sih-line a:hover { border-bottom-color: currentColor; }

/* Profit line in the hero */
.sih-profit { font-size: var(--wp--preset--font-size--small); font-weight: 500; margin: 0; }
.sih-profit a { font-weight: 700; }

/* ==========================================================================
   6. Components used in the page content
   ========================================================================== */

/* Grids that stack predictably */
.sih-cols-2, .sih-cols-3 { grid-template-columns: minmax(0, 1fr) !important; }
@media (min-width: 900px) { .sih-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (min-width: 700px) { .sih-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
.sih-split .is-vertical.is-layout-flex { align-items: stretch; }
.sih-split .wp-block-buttons { justify-content: flex-start; }
@media (max-width: 1023px) {
	.sih-split.wp-block-columns { flex-wrap: wrap !important; }
	.sih-split.wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
}

/* Ruled columns */
.sih-rule-cols { border-top: 1.5px solid currentColor; column-gap: 3rem !important; row-gap: 0 !important; }
.sih-rule-cols > * { padding: 1.5rem 0 1.75rem; }
.sih-rule-cols h3 { font-size: 1.375rem; margin-top: 0; }
.sih-rule-list { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(22rem, 100%), 1fr)); column-gap: 3rem; border-top: 1.5px solid currentColor; }
.sih-rule-list li { padding: 1.1rem 0; border-bottom: 1px solid color-mix(in srgb, currentColor 25%, transparent); font-size: 1.125rem; }

/* Island tiles: photo, then name and Gaelic name on one line */
.sih-tiles { display: grid; gap: 1.75rem 1.5rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .sih-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sih-tile { display: block; color: inherit !important; text-decoration: none; }
.sih-tile::after { content: none; }
.sih-tile img { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; display: block; border-radius: 6px; }
.sih-tile__text { position: static; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 0.25rem 0.5rem; margin-top: 0.6rem; }
.sih-tile__name { font-family: var(--wp--preset--font-family--display); font-weight: 900; font-size: 1.5rem; line-height: 1.1; }
.sih-tile__ga { font-family: inherit; font-style: normal; font-size: 1rem; opacity: 0.9; color: inherit; }
.sih-tile:hover .sih-tile__name { text-decoration: underline; text-underline-offset: 4px; }
.sih-tile:focus-visible { outline: 3px solid var(--sih-sun) !important; outline-offset: 4px; }

/* Older island tiles and list */
.sih-isle { position: relative; border-radius: 6px; overflow: hidden; }
.sih-isle .wp-block-image { margin: 0; }
.sih-isle .wp-block-image img { border-radius: 0; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; display: block; }
.sih-isle h3 { margin: 0; padding: 0.8rem 1rem; font-size: 1.375rem; background: #fff; }
.sih-isle h3 a { color: var(--sih-ink); text-decoration: none; }
.sih-isle h3 a::after { content: ""; position: absolute; inset: 0; }
.sih-isle:hover h3 a { text-decoration: underline; }
.sih-isle:focus-within { outline: 3px solid var(--sih-ink); outline-offset: 3px; }
.sih-isle h3 a:focus-visible { outline: none; box-shadow: none; }
.sih-isle-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr)); column-gap: 2.5rem; }
.sih-isle-list li { border-bottom: 1px solid color-mix(in srgb, currentColor 30%, transparent); }
.sih-isle-list a { display: flex; justify-content: space-between; align-items: baseline; padding: 0.85rem 0; min-height: 48px; box-sizing: border-box; text-decoration: none; color: inherit; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.375rem; }
.sih-isle-list a::after { content: none; }
.sih-isle-list a:hover { text-decoration: underline; }

/* Ferry note (was a ticket) */
.sih-ticket { display: block; max-width: 30rem; background: none; color: inherit; border-radius: 0; overflow: visible; }
.sih-ticket__stub { display: none; }
.sih-ticket__body { padding: 0; }
.sih-ticket__body p { margin: 0; display: inline; font-size: 1rem; }
.sih-ticket__body p + p::before { content: " "; }
.sih-ticket__body strong { font-size: 1rem; }

/* Big stat and housing bar */
.sih-stat, .sih-stat-big { font-family: var(--wp--preset--font-family--display); font-style: normal; font-weight: 900; line-height: 0.85; letter-spacing: -0.04em; margin: 0; }
.sih-stat-big { font-size: clamp(6rem, 13vw, 9.5rem); color: var(--sih-peat); }
:is(.is-style-sih-peat, .has-rust-background-color, .is-style-sih-bedrock, .has-deep-background-color) .sih-stat-big { color: var(--sih-sun); }
:is(.is-style-sih-sea, .has-sea-background-color, .is-style-sih-machair, .has-machair-background-color, .has-ink-background-color) .sih-stat-big { color: #fff; }
.sih-hbar { display: flex; height: 20px; border-radius: 0; overflow: hidden; margin: 0; gap: 2px; }
.sih-hbar.is-tall { height: 56px; border-radius: 4px; }
.sih-hbar span { display: block; height: 100%; }
.sih-hbar span + span { border-left: 0; }
.sih-hkey { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.4rem 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); font-size: 0.9375rem; }
.sih-hkey li { display: flex; gap: 0.6rem; align-items: center; }
.sih-hkey li::before { content: ""; flex: none; width: 12px; height: 12px; border-radius: 2px; background: var(--key); }
.sih-hkey strong { font-family: inherit; font-size: inherit; }
.sih-bar { display: flex; height: 56px; border-radius: 4px; overflow: hidden; margin: 0; gap: 2px; }
.sih-bar span { display: block; height: 100%; }
.sih-bar span + span { border-left: 0; }
.sih-key { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr)); gap: 1rem; }
.sih-key li { display: grid; grid-template-columns: 14px 1fr; gap: 0.75rem; }
.sih-key li::before { content: ""; width: 14px; height: 14px; margin-top: 0.55rem; border-radius: 2px; background: var(--key); outline: 1px solid rgba(255,255,255,0.35); }
.sih-key strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 900; font-size: 1.75rem; color: inherit; }

/* Pills and inline tags */
.sih-pills { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sih-pills li { padding: 0.25rem 0.75rem; border-radius: 4px; background: rgba(255, 255, 255, 0.55); font-size: 0.9375rem; font-weight: 600; }
:is(.is-style-sih-sea, .is-style-sih-machair, .is-style-sih-peat, .is-style-sih-bedrock, .has-sea-background-color, .has-machair-background-color, .has-rust-background-color, .has-deep-background-color, .has-ink-background-color) .sih-pills li { background: rgba(255, 255, 255, 0.08); }
.sih-yellow-tag { display: inline-block; padding: 0.05rem 0.5rem; border-radius: 3px; background: var(--sih-sun); color: var(--sih-ink); font-weight: 700; font-size: 0.9em; }
.sih-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sih-tag { display: inline-block; padding: 0.2rem 0.65rem; border-radius: 4px; font-size: 0.9375rem; font-weight: 700; background: #fff; color: var(--sih-ink); margin: 0; }
.sih-tag.is-dark { background: var(--sih-sun); color: var(--sih-ink); }

/* No coloured side rules: a column is a column */
.sih-side-rule { border-left: 0; padding-left: 0; }

/* Lists */
.sih-svc { list-style: none; padding: 0; margin: 0; }
.sih-svc li { padding: 1.2rem 0; border-top: 1px solid color-mix(in srgb, currentColor 30%, transparent); }
.sih-svc li:last-child { border-bottom: 1px solid color-mix(in srgb, currentColor 30%, transparent); }
.sih-svc strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.375rem; margin-bottom: 0.25rem; }
.sih-steps { list-style: none; padding: 0; margin: 0; counter-reset: sih-step; }
.sih-steps li { counter-increment: sih-step; display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.25rem 0; border-top: 1px solid color-mix(in srgb, currentColor 30%, transparent); }
.sih-steps li:last-child { border-bottom: 1px solid color-mix(in srgb, currentColor 30%, transparent); }
.sih-steps li::before { content: counter(sih-step); font-family: var(--wp--preset--font-family--display); font-weight: 900; font-style: normal; font-size: 2rem; line-height: 1; color: inherit; }
.sih-steps strong { font-size: 1.125rem; }
.sih-steps p { margin: 0.25rem 0 0; }
.sih-ticks { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.75rem; }
.sih-ticks li { position: relative; padding-left: 2rem; }
.sih-ticks li::before { content: ""; position: absolute; left: 0; top: 0.3em; width: 1.1rem; height: 0.6rem; border-left: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: rotate(-45deg); }
.sih-features { padding-left: 1.1rem; margin: 0; }

/* Cards and panels */
.sih-card { overflow: hidden; height: 100%; border-radius: 6px; }
.sih-card > .wp-block-image { margin: 0; }
.sih-card > .wp-block-image img { border-radius: 0; width: 100%; display: block; }
.sih-card .sih-card__body { padding: 1.25rem 1.4rem 1.6rem; }
.sih-card h3 a { color: inherit; text-decoration: none; }
.sih-card h3 a::after { content: ""; position: absolute; inset: 0; }
.sih-card.is-linked { position: relative; }
.sih-card.is-linked:hover h3 a { text-decoration: underline; }
.sih-card.is-linked:focus-within { outline: 3px solid var(--sih-ink); outline-offset: 3px; }
.sih-card.is-linked h3 a:focus-visible { outline: none; box-shadow: none; }
.sih-outline { border: 1.5px solid currentColor; }
.sih-talk { border-top: 0; }


/* Prices and facts */
.sih-price { font-size: 1.125rem; line-height: 1.2; }
.sih-price strong { font-family: var(--wp--preset--font-family--display); font-size: 2.25rem; font-weight: 900; margin-right: 0.35rem; }
.sih-facts { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.sih-facts > .sih-fact { flex: 1 1 8.5rem; }
.sih-fact { background: #fff; border-radius: 4px; padding: 0.8rem 1rem; margin: 0; }
.sih-fact span { display: block; font-size: 0.9375rem; color: var(--wp--preset--color--muted); }
.sih-fact strong { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.3rem; }
.sih-breadcrumb { font-size: 0.9375rem; }
.sih-gallery { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); border-radius: 8px; overflow: hidden; }
.sih-gallery .wp-block-image { margin: 0; }
.sih-gallery .wp-block-image img { border-radius: 0; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 16 / 10; display: block; }
.sih-gallery .wp-block-image:first-child { grid-column: span 2; grid-row: span 2; }
.sih-gallery .wp-block-image:first-child img { aspect-ratio: auto; min-height: 100%; }
@media (max-width: 781px) { .sih-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) {
	.sih-gallery .wp-block-image:first-child { grid-row: span 1; }
	.sih-gallery .wp-block-image:first-child img { aspect-ratio: 16 / 10; }
}
.sih-facts, .sih-key, .sih-isle-list, .sih-steps, .sih-ticks, .sih-housing, .sih-tags { width: 100%; box-sizing: border-box; }
.editor-styles-wrapper .sih-app-slot { outline: 2px dashed var(--sih-sea); outline-offset: 8px; }
.sih-app-slot > * { width: 100%; }

/* Photo banners on older pages: keep text legible on any photo */
.wp-block-cover.sih-hero.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.sih-band.has-custom-content-position .wp-block-cover__inner-container { width: 100% !important; margin: 0 !important; }
.sih-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(16, 48, 61, 0.6) 0%, rgba(16, 48, 61, 0) 65%), linear-gradient(180deg, rgba(16, 48, 61, 0) 30%, rgba(16, 48, 61, 0.85) 100%) !important; opacity: 1 !important; }
.sih-band .wp-block-cover__background { background: linear-gradient(90deg, rgba(16, 48, 61, 0.9) 0%, rgba(16, 48, 61, 0.6) 55%, rgba(16, 48, 61, 0.2) 100%) !important; opacity: 1 !important; }
.sih-shade .wp-block-cover__background { background: linear-gradient(180deg, rgba(16, 48, 61, 0.15) 0%, rgba(16, 48, 61, 0.92) 65%) !important; opacity: 1 !important; }
.sih-hero h1 { max-width: 15ch; }

/* ==========================================================================
   7. Footer (bedrock)
   ========================================================================== */

.sih-footer { color: #C9CDCF !important; }
.sih-footer a { color: #C9CDCF !important; }
.sih-footer a:hover { color: #fff !important; }
.sih-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.35rem; }
.sih-footer ul a { display: inline-block; padding: 0.3rem 0; }
.sih-footer h2 { font-size: 1rem !important; font-weight: 700; letter-spacing: 0; }
.sih-footer-title { font-family: var(--wp--preset--font-family--display); font-weight: 900; display: flex; align-items: center; gap: 0.65rem; font-size: 1.375rem !important; }
.sih-footer-title::before { content: ""; flex: none; width: 20px; height: 20px; border-radius: 50%; background: var(--sih-sun); }
@media (min-width: 782px) { .sih-footer .alignwide > .is-layout-grid { grid-template-columns: 2fr repeat(3, minmax(0, 1fr)) !important; } }

/* ==========================================================================
   8. isleHoliday Listings plugin, restyled from the theme (plugin untouched)
   ========================================================================== */

.ihl {
	--ihl-radius: 6px;
	--ihl-card: #fff;
	--ihl-ink: var(--sih-ink);
	--ihl-muted: #4F4A3F;
	--ihl-border: var(--sih-gneiss);
	--ihl-soft: var(--sih-light-sand);
	--ihl-mist: #DCEBD0;
	--ihl-link: var(--sih-link);
	--ihl-on-dark: #fff;
	--ihl-highlight: var(--sih-sun);
	--ihl-display: var(--wp--preset--font-family--display);
}
.ihl .ihl-h3, .ihl-card__title, .ihl-property__title, .ihl-search__heading { font-weight: 800; letter-spacing: -0.01em; }
.ihl .ihl-eyebrow { text-transform: none; letter-spacing: 0; font-size: 1rem; font-weight: 700; color: inherit; }
.ihl .ihl-tag { border-radius: 4px; background: #fff; color: var(--sih-ink); font-weight: 700; }
.ihl .ihl-tag--dark { background: var(--sih-sun); color: var(--sih-ink); }
.ihl .ihl-tag--plain { background: #fff; color: var(--sih-ink); padding-left: 0.7rem; font-weight: 700; }
.ihl-btn--light { border-radius: 4px; font-weight: 700; }
.ihl .ihl-field label { font-size: 0.875rem; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--sih-ink); }
.ihl .ihl-field input, .ihl .ihl-field select { border: 1.5px solid var(--sih-ink); border-radius: 4px; }
.ihl .ihl-notice { border-radius: 4px; background: #fff; }
.ihl-field--submit .ihl-btn { min-height: 48px; }

/* Search */
.ihl-search { border-radius: 6px; box-shadow: 0 1px 0 var(--sih-ink); }
.ihl-search--bar { box-shadow: none; border: 1.5px solid var(--sih-ink); }
.ihl-search__fields { grid-template-columns: repeat(auto-fit, minmax(min(9.5rem, 100%), 1fr)); }
.ihl-search .ihl-modes { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ihl-search .ihl-modes legend { width: 100%; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.125rem; margin-bottom: 0.4rem; }
.ihl-search .ihl-mode { align-items: center; min-height: 44px; padding: 0.4rem 0.9rem; border-radius: 4px; border: 1.5px solid var(--sih-ink); background: #fff; }
.ihl-search .ihl-mode input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.ihl-search .ihl-mode__title { font-weight: 700; }
.sih-hero-grid .ihl-search .ihl-mode__hint, .ihl-search--hero .ihl-mode__hint { display: none; }
.ihl-search .ihl-mode:has(input:checked) { background: var(--sih-ink); color: #fff; border-color: var(--sih-ink); box-shadow: none; }

/* Months */
.ihl-months__grid a, .ihl-block-months a { border-radius: 4px !important; }
:is(.is-style-sih-sea, .has-sea-background-color, .has-ink-background-color) .ihl-block-months :where(a) { color: #fff; border-color: rgba(255, 255, 255, 0.6) !important; background: transparent !important; }
:is(.is-style-sih-sea, .has-sea-background-color, .has-ink-background-color) .ihl-block-months .ihl-months__year { color: #E6F3F4; }

/* Result cards: one card, light sand, square-ish corners */
.ihl-grid { gap: 1.75rem; grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr)); }
.ihl-card { background: var(--sih-light-sand); border-radius: 6px; overflow: hidden; }
.ihl-card:hover { box-shadow: none; transform: none; }
.ihl-card__media { aspect-ratio: 16 / 10; border-radius: 0; }
.ihl-card__body { padding: 1.1rem 1.35rem 1.35rem; }
.ihl-card__title { font-size: 1.75rem; font-weight: 900; }
.ihl-card__title a { color: inherit; text-decoration: none; }
.ihl-card__title a:hover { text-decoration: underline; }
.ihl-card__foot { margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid var(--wp--preset--color--line); }
.ihl-card__price strong { font-family: var(--wp--preset--font-family--display); font-size: 1.375rem; font-weight: 900; }
.ihl-card__dates a { border-radius: 4px; }
.ihl-results__summary { font-size: 1rem; }

/* Listing page: title and photos sit in the sky, the rest on light sand */
.wp-block-group.alignfull:has(> .ihl-block-property) { padding-top: 0 !important; }
.ihl-block-property { max-width: 1200px !important; width: 100%; margin-left: auto !important; margin-right: auto !important; padding-bottom: clamp(3rem, 6vw, 5rem); }
.ihl-property > .ihl-crumbs,
.ihl-property > .ihl-property__head,
.ihl-property > .ihl-gallery {
	box-shadow: 0 0 0 100vmax var(--sih-sky);
	clip-path: inset(0 -100vmax);
	background: var(--sih-sky);
	margin-top: 0;
	margin-bottom: 0;
}
.ihl-property > .ihl-crumbs { padding-top: 1rem; padding-bottom: 1rem; }
.ihl-property > .ihl-property__head { padding-bottom: 1.75rem; }
.ihl-property > .ihl-gallery { border-radius: 0; clip-path: inset(0 -100vmax); }
.ihl-gallery { gap: 8px; }
.ihl-gallery__item img { border-radius: 0; }
.ihl-gallery__item:first-child img { border-top-left-radius: 8px; border-bottom-left-radius: 8px; }
.ihl-property__layout { position: relative; padding-top: calc(var(--sih-edge) + 1.5rem); gap: 3rem; }
.ihl-property__layout::before,
.ihl-property__layout::after {
	content: ""; position: absolute; top: 0; height: var(--sih-edge);
	left: 50%; width: 100vw; margin-left: -50vw; pointer-events: none;
}
.ihl-property__layout::before { background: var(--sih-sky); }
.ihl-property__layout::after {
	background: var(--sih-light-sand);
	-webkit-mask: url("assets/edges/swell.svg") center bottom / 100% 100% no-repeat;
	mask: url("assets/edges/swell.svg") center bottom / 100% 100% no-repeat;
}
.ihl-crumbs a { color: var(--sih-ink); }
.ihl-property__title { font-size: clamp(3rem, 6vw, 4.75rem); font-weight: 900; line-height: 0.95; letter-spacing: -0.03em; }
.ihl-property__strap { font-family: inherit; font-style: normal; font-size: 1.3125rem; margin-top: 0.6rem; }
.ihl-property__main { gap: 0; }
.ihl-property__main .ihl-panel { background: transparent; border-radius: 0; padding: 2.25rem 0; border-top: 1px solid var(--wp--preset--color--line); }
.ihl-property__main .ihl-panel:first-child { border-top: 0; padding-top: 0; }
.ihl-property__main .ihl-panel .ihl-h3 { font-size: 1.75rem; }
.ihl-property__main .ihl-panel--dark { background: var(--sih-sea); color: #fff; border-radius: 8px; padding: clamp(1.5rem, 3vw, 2.25rem); border-top: 0; margin: 1rem 0; }
.ihl-property__main .ihl-panel--dark a { color: #fff; }
.ihl-property__main .ihl-panel--dark .ihl-eyebrow { color: #fff; }
.ihl-prose { max-width: 66ch; }
.ihl-facts { gap: 0; border-top: 1.5px solid var(--sih-ink); border-bottom: 1.5px solid var(--sih-ink); }
.ihl-facts > div { background: transparent; border-radius: 0; padding: 0.9rem 0; }
.ihl-facts dt { font-size: 0.9375rem; }
.ihl-facts dd { font-weight: 800; font-size: 1.5rem; }
.ihl-property__aside .ihl-book { background: #fff; border-radius: 8px; box-shadow: 0 1px 0 #33291A; border-top: 0; }
.ihl-book__from strong { font-size: 2.25rem; font-weight: 900; color: var(--sih-ink); }
.ihl-property__aside .ihl-panel:not(.ihl-book) { background: transparent; border-radius: 0; padding: 1.25rem 0 0; border-top: 1.5px solid var(--sih-ink); }
.ihl-quote__total strong { font-weight: 900; }
.ihl-month td { border-radius: 4px; }
.ihl-month td.is-free { background: #DCEBD0; box-shadow: inset 0 0 0 1px var(--sih-machair); color: #1E3310; }
.ihl-month td.is-busy { background: var(--wp--preset--color--line); color: #5A4B33; }
.ihl-month td.is-past { color: #8C8476; }
.ihl-cal__free { background: #DCEBD0; border: 1px solid var(--sih-machair); }
.ihl-cal__busy { background: var(--wp--preset--color--line); }
.ihl-cal__nav button { border-radius: 4px; border-color: var(--sih-ink); }
.ihl-dialog { border-radius: 8px; }
.ihl-dialog::backdrop { background: rgba(16, 48, 61, 0.9); }
.ihl-dialog__photos img { border-radius: 4px; }
.ihl-check, .ihl-more__actions a { border-radius: 4px; }
.ihl-results { max-width: 1200px; }
.ihl-block-results { max-width: var(--wp--style--global--wide-size, 1200px) !important; width: 100%; }

@media (prefers-reduced-motion: reduce) { .ihl-card__media img { transition: none; } }

/* ==========================================================================
   9. Home page layout pieces
   ========================================================================== */

/* Hero: headline and search share the first screen, then the horizon photo */
.sih-hero-grid { width: 100%; max-width: 1200px; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; align-items: end; grid-template-columns: minmax(0, 1fr) !important; }
@media (min-width: 980px) { .sih-hero-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important; } }
.sih-hero-grid .ihl-search--hero { box-shadow: 0 1px 0 var(--sih-ink); }
.sih-hero-grid .ihl-search__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sih-hero-grid .ihl-search__fields > .ihl-field--submit { grid-column: 1 / -1; }
@media (max-width: 520px) { .sih-hero-grid .ihl-search__fields { grid-template-columns: minmax(0, 1fr); } }
.sih-hero-sky .wp-block-image.is-style-sih-horizon img { height: clamp(260px, 32vw, 460px); object-position: center 45%; }

/* Places to stay with the call to owners alongside */
.sih-stay-split { grid-template-columns: minmax(0, 1fr) !important; align-items: stretch; }
@media (min-width: 980px) { .sih-stay-split { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) !important; } }
.sih-stay-split .ihl-grid { grid-template-columns: repeat(auto-fill, minmax(min(19rem, 100%), 1fr)); }
.sih-owners { border-radius: 6px !important; justify-content: space-between; }
.sih-owners .wp-block-heading { line-height: 1.04; }
.sih-owners .wp-block-buttons { margin-top: auto; }

/* Islands foot: the extra names and the ferry note */
.sih-isl-foot { margin-top: var(--wp--preset--spacing--50) !important; padding-top: 1.25rem; border-top: 1.5px solid color-mix(in srgb, currentColor 40%, transparent); }
.sih-ferries { max-width: 30rem; margin: 0; }

/* Closing photo with a bedrock panel */
.sih-closing .wp-block-cover__inner-container { width: 100% !important; margin: 0 !important; }
.sih-closing-panel { border-radius: 6px !important; max-width: 28rem; }

/* ==========================================================================
   10. Fixes from the first test pass (real content, 21 Oct 2026)
   ========================================================================== */

/* Housing bar and key fill their column (they sit in a vertical stack) */
.sih-hbar, .sih-hkey, .sih-bar, .sih-key { width: 100%; align-self: stretch; box-sizing: border-box; }

/* Months on sea: intro text readable */
:is(.is-style-sih-sea, .has-sea-background-color, .has-ink-background-color) .ihl-months__intro { color: #E6F3F4; }
:is(.is-style-sih-sea, .has-sea-background-color, .has-ink-background-color) .ihl-block-months .ihl-h3 { color: #fff; }

/* One place to stay fills its column instead of leaving a gap */
.sih-stay-split .ihl-grid { grid-template-columns: repeat(auto-fit, minmax(min(19rem, 100%), 1fr)); }

/* Closing panel lines up with the page's left edge, not the middle */
.sih-closing .wp-block-cover__inner-container > .sih-closing-panel { margin-left: max(0px, calc((100% - 1200px) / 2)) !important; margin-right: auto !important; }
.ihl-facts { column-gap: 1.5rem; }
.ihl-property > .ihl-gallery { border-radius: 8px; overflow: hidden; }
.ihl-gallery__item:first-child img { border-radius: 0; }
.wp-site-blocks > header + main, .wp-site-blocks > main { margin-block-start: 0; }
.sih-header { margin-bottom: -1px; }
.sih-stay-split { align-items: start; }

/* ==========================================================================
   11. Where the sky header meets the page
   The first section draws the shoreline inside its own top padding, over a
   strip of sky, so the wave never covers the menu.
   ========================================================================== */

.wp-block-post-content > .wp-block-group:first-child:not(.is-style-sih-sky, .has-mist-background-color, :has(> .ihl-block-property)) {
	position: relative;
	background-image: linear-gradient(var(--sih-sky), var(--sih-sky));
	background-size: 100% var(--sih-edge);
	background-repeat: no-repeat;
	background-position: top center;
}
.wp-block-post-content > .wp-block-group:first-child:not(.is-style-sih-sky, .has-mist-background-color, :has(> .ihl-block-property))::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0 !important;
	height: var(--sih-edge);
	background-color: var(--sih-light-sand);
	-webkit-mask: url("assets/edges/swell.svg") center bottom / 100% 100% no-repeat;
	mask: url("assets/edges/swell.svg") center bottom / 100% 100% no-repeat;
	pointer-events: none;
	z-index: 1;
}
/* A coloured first section uses its own colour and edge shape */
.wp-block-post-content > .wp-block-group:first-child:is(.has-background, [class*="is-style-sih-"]):not(.is-style-sih-sky, .has-mist-background-color)::before {
	background-color: inherit;
	-webkit-mask-image: var(--sih-edge-shape, url("assets/edges/swell.svg"));
	mask-image: var(--sih-edge-shape, url("assets/edges/swell.svg"));
}
.wp-block-post-content > .wp-block-group:first-child.has-background:not(.is-style-sih-sky, .has-mist-background-color) { background-image: linear-gradient(var(--sih-sky), var(--sih-sky)); }

/* Full-width white bands on older pages become sand, a real layer */
.wp-block-group.alignfull.has-paper-background-color { background-color: var(--sih-sand) !important; color: #33291A; --sih-edge-shape: url("assets/edges/swell.svg"); position: relative; }
.wp-block-group.alignfull.has-paper-background-color::before {
	content: ""; position: absolute; left: 0; right: 0; top: calc(1px - var(--sih-edge)); height: var(--sih-edge);
	background-color: inherit;
	-webkit-mask: url("assets/edges/swell.svg") center bottom / 100% 100% no-repeat;
	mask: url("assets/edges/swell.svg") center bottom / 100% 100% no-repeat;
	pointer-events: none; z-index: 1;
}
.wp-block-group.alignfull.has-paper-background-color > * { position: relative; z-index: 2; }

/* Buttons on a sun band */
.has-lichen-background-color :is(.wp-element-button, .wp-block-button__link) { background: var(--sih-ink); color: #fff; }
.has-lichen-background-color :is(.wp-element-button, .wp-block-button__link):hover { background: var(--sih-bedrock); color: #fff; }

/* A plain section after a coloured band gets the light sand shoreline back */
.wp-block-group.alignfull:is(.has-background, [class*="is-style-sih-"]) + .wp-block-group.alignfull:not(.has-background, [class*="is-style-sih-"]) { position: relative; }
.wp-block-group.alignfull:is(.has-background, [class*="is-style-sih-"]) + .wp-block-group.alignfull:not(.has-background, [class*="is-style-sih-"])::before {
	content: ""; position: absolute; left: 0; right: 0; top: calc(1px - var(--sih-edge)); height: var(--sih-edge);
	background-color: var(--sih-light-sand);
	-webkit-mask: url("assets/edges/swell.svg") center bottom / 100% 100% no-repeat;
	mask: url("assets/edges/swell.svg") center bottom / 100% 100% no-repeat;
	pointer-events: none; z-index: 1;
}
.wp-block-group.alignfull:is(.has-background, [class*="is-style-sih-"]) + .wp-block-group.alignfull:not(.has-background, [class*="is-style-sih-"]) > * { position: relative; z-index: 2; }

/* Muted text on the dark layers stays readable */
:is(.is-style-sih-sea, .is-style-sih-machair, .is-style-sih-peat, .is-style-sih-bedrock, .has-sea-background-color, .has-machair-background-color, .has-rust-background-color, .has-deep-background-color, .has-ink-background-color) .has-muted-color { color: rgba(255, 255, 255, 0.92) !important; }
:is(.is-style-sih-gneiss, .has-stone-background-color) .has-muted-color { color: #2B2A2C !important; }

/* Review fixes, 21 Oct 2026 */
/* Full-width sections sit flush, so no strip of page colour shows under shallow edges */
.wp-block-post-content > .alignfull { margin-block-start: 0; }
/* Stone-coloured text on a sea band (older pages) */
:is(.has-sea-background-color, .alignfull.has-ink-background-color, .is-style-sih-sea) .has-stone-color { color: #E6F3F4 !important; }

/* ==========================================================================
   12. 2.0.1: one grid, and no dark-tinted photos
   ========================================================================== */

/* Every section lines up with the header's 1200px grid. Older pages ask for
   1320px; extra side padding keeps their content inside 1200 at any width. */
.wp-block-post-content > .alignfull:is(.wp-block-group, .wp-block-cover)[style*="padding-left:var(--wp--preset--spacing--40)"] {
	padding-left: max(var(--wp--preset--spacing--40), calc((100% - 1200px) / 2 + var(--wp--style--root--padding-left, 1rem))) !important;
	padding-right: max(var(--wp--preset--spacing--40), calc((100% - 1200px) / 2 + var(--wp--style--root--padding-right, 1rem))) !important;
}

/* Page heroes (photo banners at the top of a page): the title sits in the sky,
   the photo becomes the horizon below it, fading up into the sky. */
.wp-block-post-content > .wp-block-cover:first-child:is(.sih-band, .sih-hero) {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	padding: 0 !important;
	min-height: 0 !important;
	background: var(--sih-sky);
	color: var(--sih-ink);
	overflow: hidden;
}
.wp-block-post-content > .wp-block-cover:first-child:is(.sih-band, .sih-hero) > .wp-block-cover__background { display: none !important; }
.wp-block-post-content > .wp-block-cover:first-child:is(.sih-band, .sih-hero) > .wp-block-cover__inner-container {
	order: 1;
	position: relative;
	z-index: 2;
	width: 100% !important;
	max-width: 1200px;
	margin: 0 auto !important;
	box-sizing: content-box;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
	color: var(--sih-ink);
}
@media (min-width: 1264px) { .wp-block-post-content > .wp-block-cover:first-child:is(.sih-band, .sih-hero) > .wp-block-cover__inner-container { padding-left: 0; padding-right: 0; } }
.wp-block-post-content > .wp-block-cover:first-child:is(.sih-band, .sih-hero) > .wp-block-cover__inner-container :is(h1, h2, p, a) { color: var(--sih-ink); }
.wp-block-post-content > .wp-block-cover:first-child:is(.sih-band, .sih-hero) > .wp-block-cover__inner-container .sih-lead { max-width: 40rem; }
.wp-block-post-content > .wp-block-cover:first-child:is(.sih-band, .sih-hero) > .wp-block-cover__image-background {
	order: 2;
	position: relative !important;
	inset: auto !important;
	display: block;
	width: 100% !important;
	height: clamp(220px, 28vw, 400px) !important;
	object-fit: cover;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 32%);
	mask-image: linear-gradient(to bottom, transparent 0, #000 32%);
}
/* The light sand shoreline cuts across the bottom of the horizon photo */
.wp-block-post-content > .wp-block-cover:first-child:is(.sih-band, .sih-hero) + .wp-block-group.alignfull:not(.has-background, [class*="is-style-sih-"]) { position: relative; }
.wp-block-post-content > .wp-block-cover:first-child:is(.sih-band, .sih-hero) + .wp-block-group.alignfull:not(.has-background, [class*="is-style-sih-"])::before {
	content: ""; position: absolute; left: 0; right: 0; top: calc(1px - var(--sih-edge)); height: var(--sih-edge);
	background-color: var(--sih-light-sand);
	-webkit-mask: url("assets/edges/swell.svg") center bottom / 100% 100% no-repeat;
	mask: url("assets/edges/swell.svg") center bottom / 100% 100% no-repeat;
	pointer-events: none; z-index: 3;
}
.wp-block-post-content > .wp-block-cover:first-child:is(.sih-band, .sih-hero) + .wp-block-group.alignfull:not(.has-background, [class*="is-style-sih-"]) > * { position: relative; z-index: 4; }

/* Photo cards inside a page: photo on top with no tint, words on a solid sea panel below */
.wp-block-cover.sih-shade:not(.alignfull) {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	padding: 0 !important;
	min-height: 0 !important;
	border-radius: 8px !important;
	overflow: hidden;
	background: var(--sih-sea);
	color: #fff;
}
.wp-block-cover.sih-shade:not(.alignfull) > .wp-block-cover__background { display: none !important; }
.wp-block-cover.sih-shade:not(.alignfull) > .wp-block-cover__image-background {
	order: 1; position: relative !important; inset: auto !important; display: block;
	width: 100% !important; height: clamp(180px, 18vw, 240px) !important; object-fit: cover;
}
.wp-block-cover.sih-shade:not(.alignfull) > .wp-block-cover__inner-container {
	order: 2; position: relative; width: 100% !important; margin: 0 !important; box-sizing: border-box;
	padding: clamp(1.5rem, 3vw, 2.25rem);
}
.wp-block-cover.sih-shade:not(.alignfull) .sih-kicker { color: #fff; }

/* Home hero grid: its own side padding sits outside the 1200px line */
.sih-hero-grid { max-width: calc(1200px + 2 * var(--wp--preset--spacing--40)); }

/* Navy panels inside a page become peat, like the owners panel on the home page */
.wp-block-group.has-ink-background-color:not(.alignfull) { background-color: var(--sih-peat) !important; color: #F3EBE1; }
