/* Flat structure: the ShootCal Websites "editorial" structure (Editorial Light and Dark,
   Aperture, Simple; Marquee adds its own type). Large photographs, large type, hairline
   rules, square corners, no shadows, ink-first colour. The look file after this one sets
   only the ground (--sc-bg), the ink (--sc-ink) and the accent; everything below derives from
   them, so a custom background or accent from the design settings flows through unchanged
   (react-header/src/client-website.css: .sc-site--editorial and .sc-site--custom-bg). */
:root {
  --sc-radius-scale: 1;
  --sc-shadow-scale: 1;
  --sc-text: var(--sc-ink);
  --sc-heading: var(--sc-ink);
  --sc-muted: color-mix(in srgb, var(--sc-ink) 72%, var(--sc-bg));
  --sc-line: color-mix(in srgb, var(--sc-ink) 16%, var(--sc-bg));
  --sc-band: color-mix(in srgb, var(--sc-ink) 6%, var(--sc-bg));
  --sc-paper: var(--sc-bg);
  /* Accent used as type mixes toward the ink so any accent stays readable on any ground. */
  --sc-accent-ink: color-mix(in srgb, var(--sc-accent) 45%, var(--sc-ink));
  --sc-accent-contrast: #191714;
  --sc-link: var(--sc-accent-ink);
  --sc-glass: color-mix(in srgb, var(--sc-bg) 70%, transparent);
  --sc-shadow: none;
  --sc-nav-shadow: 0 8px 24px rgb(0 0 0 / .12);
  --sc-radius: 0px;
  --sc-card-radius: 0px;
  --sc-card-bg: transparent;
  --sc-photo-band-bg: var(--sc-band);
  --sc-photo-band-highlight: transparent;
  --sc-boxed-full-bg: var(--sc-band);
  --sc-serif: "Iowan Old Style", Baskerville, "Times New Roman", serif;
  --sc-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sc-button: var(--sc-ink);
  --sc-button-ink: var(--sc-bg);
  --sc-button-hover: color-mix(in srgb, var(--sc-ink) 86%, var(--sc-bg));
  /* Blog chrome (assets/blog.css) on the same ground. */
  --sc-blog-card-tint: transparent;
  --sc-blog-soft: var(--sc-band);
  --sc-blog-current: var(--sc-band);
  --sc-blog-current-line: var(--sc-line);
  --sc-blog-button: var(--sc-ink);
  --sc-blog-button-ink: var(--sc-bg);
}
/* The core palette and font presets follow the look, so coloured blocks stay readable. */
body.sc-managed-site {
  --wp--preset--color--ink: var(--sc-text);
  --wp--preset--color--paper: var(--sc-bg);
  --wp--preset--color--muted: var(--sc-muted);
  --wp--preset--color--accent: var(--sc-accent-ink);
  --wp--preset--font-family--body: var(--sc-sans);
  --wp--preset--font-family--display: var(--sc-serif);
  font-size: 17px;
  line-height: 1.6;
}
@media (min-width: 1025px) { body.sc-managed-site { font-size: 18px; } }
.sc-managed-site :is(h1, h2, h3, h4) { letter-spacing: -.03em; line-height: 1.08; }
.sc-managed-site h2 { font-size: clamp(32px, 3.6vw, 56px); }
.sc-managed-site h3 { font-size: clamp(24px, 1.2vw + 14px, 32px); line-height: 1.15; }
.sc-page .entry-content :is(h1, h2, h3, h4) { text-wrap: balance; }
.sc-page .entry-content p { text-wrap: pretty; }
.sc-managed-site :is(a, button, summary, input, select, textarea):focus-visible { outline-color: var(--sc-accent-ink); }
.sc-skip-link { background: var(--sc-ink); color: var(--sc-bg); }
.sc-eyebrow { color: var(--sc-muted); font-size: 13px; font-weight: 600; letter-spacing: .28em; }
/* The hairline under a small-caps label. */
.sc-eyebrow::after { content: ""; display: block; width: clamp(72px, 7vw, 104px); max-width: 100%; height: 1px; margin-top: 10px; background: color-mix(in srgb, var(--sc-ink) 24%, transparent); }
.has-text-align-center .sc-eyebrow::after, .sc-eyebrow.has-text-align-center::after { margin-inline: auto; }

/* Floating navigation shared by every look: the pill takes the ground's glass. */
.sc-nav-shell { border-color: var(--sc-line); background: var(--sc-bg); box-shadow: var(--sc-nav-shadow); }
@supports (backdrop-filter: blur(1px)) {
  .sc-nav-shell { background: var(--sc-glass); backdrop-filter: blur(24px) saturate(1.5); -webkit-backdrop-filter: blur(24px) saturate(1.5); }
}
.sc-brand a { color: var(--sc-text); font-size: 27px; }
.sc-menu a { color: var(--sc-text); }
.sc-menu a:hover, .sc-menu a[aria-current="page"] { color: var(--sc-heading); background: color-mix(in srgb, var(--sc-ink) 7%, transparent); }
.sc-menu ul { border-color: var(--sc-line); background: color-mix(in srgb, var(--sc-bg) 96%, transparent); box-shadow: var(--sc-nav-shadow); backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px); }
.sc-nav-toggle { background: color-mix(in srgb, var(--sc-ink) 8%, transparent); color: var(--sc-text); }
@media (max-width: 1024px) {
  .sc-menu ul { border: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* Hero: the photograph dissolves into the page ground where the type sits, so the heading
   always reads in the ink; thick display type, no card. It grows with a long heading. */
.sc-hero { height: auto; min-height: max(620px, 85svh); color: var(--sc-text); background: linear-gradient(135deg, color-mix(in srgb, var(--sc-accent) 55%, #27242d), var(--sc-bg)); }
.sc-hero__shade, :is(.entry-content, .editor-styles-wrapper) .is-style-sc-page-hero > .wp-block-cover__background {
  opacity: 1 !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--sc-bg) 30%, transparent) 0%, color-mix(in srgb, var(--sc-bg) 8%, transparent) 34%, color-mix(in srgb, var(--sc-bg) 90%, transparent) 76%, var(--sc-bg)) !important;
}
.sc-hero__content { position: relative; padding: 140px 0 clamp(32px, 6vw, 72px); }
/* Where the type sits the photograph has nearly gone, whatever the photograph: the copy must read over any picture. */
.sc-hero__content::before, :is(.entry-content, .editor-styles-wrapper) .is-style-sc-glass-card::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  background: linear-gradient(to top, color-mix(in srgb, var(--sc-bg) 94%, transparent), color-mix(in srgb, var(--sc-bg) 88%, transparent) calc(100% - 44px), transparent);
}
.sc-hero__content::before { inset: 96px -100vw 0; }
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-glass-card { position: relative; isolation: isolate; }
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-glass-card::before { inset: -44px -100vw -120px; }
.sc-hero__content :is(h1, h2):where(:not(h2), .sc-auto-page-heading), :is(.entry-content, .editor-styles-wrapper) .is-style-sc-glass-card :is(h1, h2):where(:not(h2), .sc-auto-page-heading) {
  max-width: none; color: var(--sc-text); text-shadow: none;
  --sc-card-h1: clamp(40px, 6.8vw, 100px); font: 800 var(--sc-card-h1)/.98 var(--sc-sans); letter-spacing: -.03em; text-wrap: balance;
}
.sc-hero__content p { max-width: 55ch; color: var(--sc-muted); }
.sc-hero__content .sc-eyebrow { color: var(--sc-text); }
.sc-hero__controls button { border-color: color-mix(in srgb, var(--sc-ink) 50%, transparent); background: color-mix(in srgb, var(--sc-bg) 60%, transparent); color: var(--sc-text); border-radius: 0; }
.sc-hero__controls button:hover { background: color-mix(in srgb, var(--sc-bg) 85%, transparent); }
/* A core Cover page hero with its glass card: the card becomes plain type at the lower left. */
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-page-hero { align-items: flex-end; color: var(--sc-text); padding-top: 140px; }
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-page-hero .wp-block-cover__inner-container { color: var(--sc-text); }
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-glass-card {
  width: min(1120px, 100%); margin-left: 0; padding: 0; border: 0; border-radius: 0;
  background: none; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; color: var(--sc-text);
}
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-glass-card .sc-eyebrow { color: var(--sc-text); }
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-glass-card :is(.sc-lead, p) { max-width: 55ch; color: var(--sc-muted); font-size: clamp(17px, 1.6vw, 20px); }
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-glass-card .sc-headline-sub { color: var(--sc-muted); font: 400 clamp(22px, 2vw, 32px)/1.2 var(--sc-serif); letter-spacing: -.02em; }
/* Under a hero slideshow the card sits below the photographs on the plain ground. */
.entry-content > .natural-photo-slider--hero .is-style-sc-glass-card { padding: 28px 0 0; background: var(--sc-bg); }
/* The Header's card is positioned, so a fade reaching below it would paint over the next section's text: it stops at the Header's lower edge (40px under the card on desktops). */
.entry-content > .natural-photo-slider--hero .is-style-sc-glass-card::before { bottom: 0; }
@media (min-width: 1025px) { .entry-content > .natural-photo-slider--hero .is-style-sc-glass-card::before { bottom: -40px; } }
/* Full width photo: the type sits on the photo itself, as the old header showed it, and the fade reaches the Header's foot. */
.entry-content > .natural-photo-slider--hero.is-style-sc-fill .is-style-sc-glass-card { padding: 0; background: none; }
.entry-content > .natural-photo-slider--hero.is-style-sc-fill .is-style-sc-glass-card::before { bottom: calc(-1 * var(--sc-fill-pad-bottom)); }

/* Buttons: outlined, square, small capitals (the hero's included). */
.sc-managed-site .sc-button, .sc-managed-site .wp-block-button__link, .sc-managed-site .sc-contact .wpcf7-submit, .sc-pay button[type="submit"], .sc-managed-site .sc-footer-cta a {
  min-height: 48px; padding: 13px 27px;
  border: 1px solid color-mix(in srgb, var(--sc-ink) 50%, transparent); border-radius: 0;
  background: transparent; color: var(--sc-text);
  font: 620 14px/1.4 var(--sc-sans); letter-spacing: .14em; text-transform: uppercase;
  box-shadow: none; transition: background-color .2s, border-color .2s;
}
.sc-managed-site .sc-button:hover, .sc-managed-site .wp-block-button__link:hover, .sc-managed-site .sc-contact .wpcf7-submit:hover, .sc-pay button[type="submit"]:hover, .sc-managed-site .sc-footer-cta a:hover {
  color: var(--sc-text); transform: none; filter: none;
  background: color-mix(in srgb, var(--sc-ink) 8%, transparent); border-color: color-mix(in srgb, var(--sc-ink) 65%, transparent);
}
.sc-managed-site .sc-hero .sc-button, .sc-managed-site .sc-hero .sc-button:hover { color: var(--sc-text); background: color-mix(in srgb, var(--sc-bg) 40%, transparent); border-color: color-mix(in srgb, var(--sc-ink) 50%, transparent); }
.sc-managed-site .wp-block-button.is-style-sc-alt .wp-block-button__link { border-color: var(--sc-ink); background: var(--sc-ink); color: var(--sc-bg); }
.sc-managed-site .wp-block-button.is-style-sc-alt .wp-block-button__link:hover { background: var(--sc-button-hover); color: var(--sc-bg); }
.sc-managed-site .wp-block-button.is-style-sc-large .wp-block-button__link { min-height: 56px; padding: 17px 36px; font-size: 15px; }

/* Image & text: the photograph stands alone (square, no shadow) beside plain copy. */
.sc-split { margin: var(--sc-space-l) 0; }
.sc-split__inner { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: clamp(32px, 5vw, 80px); }
.sc-split--right .sc-split__inner { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.sc-split__image, .sc-split--right .sc-split__image { margin: 0; }
.sc-split__image::before { display: none; }
.sc-split__image img { border-radius: 0; box-shadow: none; }
.sc-split__content, .sc-split--right .sc-split__content { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.sc-managed-site .sc-split__content h2 { font-size: clamp(32px, 3.6vw, 56px); }
.sc-split__content .sc-button { margin-top: 20px; }
.sc-split__content h2::after { content: ""; display: block; width: clamp(72px, 7vw, 104px); height: 1px; margin-top: 18px; background: color-mix(in srgb, var(--sc-ink) 24%, transparent); }
/* Photo bands and cards: tinted bands, hairline cards, no highlight. */
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-photo-band .wp-block-columns:has(> .wp-block-column .is-style-sc-feature-photo) { align-items: center; }
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-photo-band .wp-block-column:has(.is-style-sc-feature-photo) { margin-top: 0; }
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-photo-band .wp-block-columns:has(> .wp-block-column .is-style-sc-feature-photo) > .wp-block-column:not(:has(.is-style-sc-feature-photo)) { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-feature-photo img { border-radius: 0; box-shadow: none; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-media-text.is-style-sc-photo-band > .wp-block-media-text__media { margin-top: 0; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-media-text.is-style-sc-photo-band > .wp-block-media-text__content { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-media-text.is-style-sc-photo-band > .wp-block-media-text__media img { border-radius: 0; box-shadow: none; }
:is(.entry-content, .editor-styles-wrapper) :is(.is-style-sc-card, .is-style-sc-price-table > .wp-block-column) { border-color: var(--sc-line); border-radius: 0; background: transparent; box-shadow: none; }
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-tinted { border-radius: 0; }
:is(.entry-content, .editor-styles-wrapper) .is-style-sc-category-links img, :is(.entry-content, .editor-styles-wrapper) .sc-rounded img, :is(.entry-content, .editor-styles-wrapper) .is-style-sc-location-cards img { border-radius: 0; box-shadow: none; }
.sc-page .entry-content h2.has-text-align-center::after { content: ""; display: block; width: clamp(72px, 7vw, 104px); height: 1px; margin: 22px auto 0; background: color-mix(in srgb, var(--sc-ink) 24%, transparent); }

/* Galleries: square photographs with a 20px gutter. */
.sc-gallery__grid { gap: 20px; }
.sc-gallery__grid img, .sc-managed-site .sc-masonry img, .sc-managed-site .wp-block-gallery img, .sc-managed-site .wp-block-image:not(.sc-rounded) img { border-radius: 0; box-shadow: none; }
.sc-gallery__notice { border-color: var(--sc-line); border-radius: 0; }
.sc-post-card { border-radius: 0; background: transparent; box-shadow: none; }

/* Forms and questions. */
.sc-managed-site .sc-contact :is(input:not([type="submit"]), textarea), .sc-pay :is(input, select, textarea) {
  border-radius: 0; border-color: color-mix(in srgb, var(--sc-ink) 42%, var(--sc-bg));
  background: color-mix(in srgb, var(--sc-ink) 3%, var(--sc-bg)); color: var(--sc-text);
}
.sc-managed-site .sc-contact :is(input:not([type="submit"]), textarea):focus { border-color: var(--sc-accent-ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc-accent) 22%, transparent); }
.sc-managed-site .sc-contact__label { font-size: 14px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--sc-muted); }
.sc-managed-site .sc-contact .wpcf7-response-output { border-radius: 0; background: var(--sc-band); }
.entry-content .wp-block-details summary { font: 600 clamp(18px, 1vw + 12px, 22px)/1.35 var(--sc-sans); color: var(--sc-text); }
.entry-content .wp-block-details summary:hover { color: var(--sc-accent-ink); }
.entry-content .wp-block-details p { color: var(--sc-muted); }
.entry-content .sc-embed { background: var(--sc-band); border-radius: 0; }
.sc-thanks { border-left-color: var(--sc-accent); background: var(--sc-band); color: var(--sc-text); }
.sc-thanks__note { color: var(--sc-muted); }

/* Footer: brand, links and credit stacked and centred over a hairline on the page ground,
   in small capitals. The rich footer (badges, social links) keeps its rows but takes the ink. */
.sc-site-footer { margin-top: var(--sc-space-l); border-top: 1px solid var(--sc-line); background: transparent; color: var(--sc-muted); }
.sc-footer-inner { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: clamp(40px, 5vw, 64px) 0; text-align: center; }
.sc-site-footer p, .sc-site-footer a, .sc-site-footer--rich .sc-footer-menu a, .sc-site-footer--rich .sc-footer-copyright, .sc-site-footer--rich .sc-footer-contact a { color: var(--sc-muted); }
.sc-site-footer a:hover, .sc-site-footer--rich .sc-footer-menu a:hover, .sc-site-footer--rich .sc-footer-copyright a:hover { color: var(--sc-accent-ink); }
.sc-footer-brand, .sc-site-footer--rich .sc-footer-brand { color: var(--sc-text); font-size: 18px; letter-spacing: .14em; text-transform: uppercase; }
.sc-site-footer p { margin: 0; font-size: 14px; }
.sc-footer-tagline, .sc-site-footer--rich .sc-footer-tagline { color: var(--sc-muted); }
.sc-footer-menu { justify-content: center; gap: 12px 28px; }
.sc-footer-menu a, .sc-site-footer--rich .sc-footer-menu li { font: 600 13px/1.4 var(--sc-sans); letter-spacing: .14em; text-transform: uppercase; }
.sc-footer-copyright { width: 100%; margin-top: 8px; padding-top: 0; border: 0; font: 600 12.5px/1.6 var(--sc-sans); letter-spacing: .14em; text-transform: uppercase; }
.sc-footer-copyright p { font-size: inherit; }
.sc-footer-copyright a { margin-left: 20px; }
.sc-site-footer--rich .sc-footer-inner { gap: 32px; padding-bottom: clamp(40px, 5vw, 64px); text-align: center; }
.sc-site-footer--rich :is(.sc-footer-about, .sc-footer-side) { align-items: center; }
.sc-site-footer--rich .sc-footer-id { flex-direction: column; gap: 12px; }
.sc-site-footer--rich :is(.sc-footer-menu, .sc-footer-badges) { justify-content: center; }
.sc-site-footer--rich .sc-footer-copyright { flex-direction: column; padding: 0; border: 0; color: var(--sc-muted); }
.sc-footer-social a { border-color: var(--sc-line); color: var(--sc-muted); }
.sc-footer-social a:hover { border-color: var(--sc-ink); color: var(--sc-text); }
.sc-footer-search input { border-color: color-mix(in srgb, var(--sc-ink) 42%, var(--sc-bg)); background: transparent; color: var(--sc-text); }
.sc-footer-search input::placeholder { color: var(--sc-muted); }
.sc-footer-search button { color: var(--sc-muted); }
.sc-footer-badges img { opacity: .9; }
.sc-site-footer--rich::before { display: none; }
/* The credit and privacy line takes the ground too (footer-settings.css assumes a dark footer). */
.sc-managed-site .sc-site-footer .sc-footer-utilities a { color: var(--sc-muted); }
.sc-managed-site .sc-site-footer .sc-footer-utilities a:hover { color: var(--sc-accent-ink); }

/* Entrance motion as on the other looks: visible without script; eased in once it runs. */
@media (prefers-reduced-motion: no-preference) {
  .sc-motion-ready .sc-reveal[data-animate="true"] .sc-split__image,
  .sc-motion-ready .sc-reveal[data-animate="true"] .sc-split__content { transition: opacity .8s var(--sc-ease), transform 1s var(--sc-ease); }
  .sc-motion-ready .sc-reveal[data-animate="true"]:not(.is-visible) .sc-split__image { opacity: .8; transform: translateY(22px); }
  .sc-motion-ready .sc-reveal[data-animate="true"]:not(.is-visible) .sc-split__content { opacity: .8; transform: translateY(36px); }
}

@media (max-width: 1024px) {
  .sc-split__inner, .sc-split--right .sc-split__inner { gap: 32px; }
}
@media (max-width: 640px) {
  .sc-brand a { font-size: 20px; }
  /* Room for the slideshow controls under the button. */
  .sc-hero__content { padding: 120px 0 88px; }
  .sc-hero__content::before { inset-block-start: 76px; }
  .sc-hero__content :is(h1, h2):where(:not(h2), .sc-auto-page-heading), :is(.entry-content, .editor-styles-wrapper) .is-style-sc-glass-card :is(h1, h2):where(:not(h2), .sc-auto-page-heading) { --sc-card-h1: clamp(36px, 11vw, 48px); font-size: var(--sc-card-h1); }
  .sc-split { margin-block: var(--sc-space-m); }
  .sc-split__inner, .sc-split--right .sc-split__inner { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .sc-split__image, .sc-split--right .sc-split__image { margin-top: 0; }
  .sc-split__content, .sc-split--right .sc-split__content { margin: 0; padding: 0; border-radius: 0; background: none; }
  :is(.entry-content, .editor-styles-wrapper) .is-style-sc-page-hero { padding-top: 120px; }
  .sc-gallery__grid { gap: 12px; }
  .sc-footer-inner { gap: 16px; padding-top: 40px; }
  .sc-site-footer--rich .sc-footer-inner { gap: 28px; padding-top: 40px; }
}

/* Flat looks caption a gallery card below its photo in the page ink, no overlay and no glass, as Puck's flat looks did (Dana 90322, 2026-11-09). */
.sc-structure-flat .sc-gallery-card__media { min-height: 440px; border-radius: 0; box-shadow: none; }
.sc-structure-flat .sc-gallery-card__label { position: static; padding: 1.1rem 0 0; border-radius: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
@media (max-width: 767px) { .sc-structure-flat .sc-gallery-card__media { min-height: 320px; } }
