/*
Theme Name: Sturt Desert Pea House — Recovered Blocks
Description: A custom block theme scaffolded by Studio Code; photographic house journal.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.2.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sdph-recovered-blocks
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready
*/
:root { --journal-header: 88px; }
.wp-site-blocks { padding-top: var(--journal-header); }
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-site-blocks main { padding-block: var(--wp--preset--spacing--lg) var(--wp--preset--spacing--xl); }
.wp-site-blocks main.is-flush { padding-block: 0; }
.is-flush > .entry-content > * + * { margin-block-start: 0; }
:where([id]) { scroll-margin-top: calc(var(--journal-header) + 28px); }
h1, h2 { text-wrap: balance; }
p { text-wrap: pretty; }
a { text-underline-offset: 5px; text-decoration-thickness: 1px; }

/* A small, fixed masthead; core navigation supplies its accessible mobile menu. */
.site-header { position: fixed; z-index: 100; inset-inline: 0; top: var(--wp-admin--admin-bar--height, 0px); padding-block: 14px; border-bottom: 1px solid var(--wp--preset--color--border); }
.header-row { min-height: 60px; gap: 28px; }
.brand-logo { margin: 0; flex: 0 1 240px; }
.brand-logo img { width: 240px; height: auto; vertical-align: middle; }
.site-header .wp-block-navigation__container { gap: 30px; }
.site-header .wp-block-navigation-item:last-child > a { text-decoration: underline; text-underline-offset: 5px; }

/* Registered journal treatments stay available in the editor's Styles switcher. */
.is-style-folio { text-transform: uppercase; letter-spacing: 0.12em; font-size: var(--wp--preset--font-size--label); font-weight: 500; line-height: 1.6; }
.is-style-journal-text { padding-block: var(--wp--preset--spacing--xl); }
.is-style-journal-text > .wp-block-heading { margin-top: 20px; margin-bottom: 24px; }
.is-style-journal-text > .is-style-folio { margin-bottom: 18px; }
.is-style-photo-pair { gap: 0; }
.is-style-photo-pair > * { margin: 0; min-width: 0; }
.is-style-journal-frame img { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.is-style-journal-frame .wp-image-5 { object-position: left center; }
.is-style-panorama img { display: block; width: 100%; aspect-ratio: 2.25; object-fit: cover; }
.is-style-journal-frame figcaption, .is-style-panorama figcaption { margin: 0; padding: 14px var(--wp--style--root--padding-left) 16px; text-align: left; background: var(--wp--preset--color--white); }
.is-style-photo-pair .is-style-journal-frame:first-child figcaption { padding-right: 18px; }
.is-style-photo-pair .is-style-journal-frame:last-child figcaption { padding-left: 24px; }

/* Type-only rows sit within, not beside, the photographic sequence. */
.journal-opening { padding-top: 58px; padding-bottom: 44px; }
.journal-opening .opening-heading { max-width: 840px; margin: 16px 0 22px; }
.journal-opening .opening-bottom { gap: 28px; }
.journal-opening .opening-bottom > p { max-width: 550px; margin: 0; }
.journal-opening .opening-bottom > .wp-block-buttons { flex-shrink: 0; }
.house-essentials { padding-block: 42px; }
.house-essentials .essentials-row { gap: 24px 44px; }
.house-essentials .essentials-row > p { margin: 0; }
.house-essentials .essentials-row strong { color: var(--wp--preset--color--dark); font-weight: 500; }
.journal-story { padding-top: 74px; padding-bottom: 78px; }
.journal-story .story-note { font-size: 14px; }
.guest-notes { padding-block: 70px; }
.guest-notes .placeholder-note { font-size: 14px; }
.alice-springs { padding-top: 80px; padding-bottom: 32px; }
.stay-row { padding-top: 40px; padding-bottom: 88px; }
.stay-row .wp-block-buttons { margin-top: 26px; margin-bottom: 28px; }
.stay-row .contact-address { font-size: 14px; overflow-wrap: anywhere; }
.stay-row .booking-note { font-size: 12px; }
.site-footer { padding-block: 28px; border-top: 1px solid var(--wp--preset--color--border); }
.footer-row { gap: 12px 28px; }
.site-footer p { font-size: 11px; margin: 0; }
.site-footer .footer-note { padding-top: 12px; font-size: 10px; }

@media (min-width: 1600px) {
  .is-style-journal-frame img { aspect-ratio: 1.5; }
}
@media (max-width: 780px) {
  .site-header .wp-block-navigation__container { gap: 22px; }
  .is-style-photo-pair { grid-template-columns: minmax(0, 1fr) !important; }
  .is-style-journal-frame img { aspect-ratio: 1.4; }
  .is-style-panorama img { aspect-ratio: 1.5; }
  .is-style-photo-pair .is-style-journal-frame:last-child figcaption { padding-left: var(--wp--style--root--padding-left); }
  .journal-opening { padding-top: 40px; padding-bottom: 32px; }
  .journal-opening .opening-bottom { gap: 24px; }
  .house-essentials { padding-block: 32px; }
  .house-essentials .essentials-row { gap: 14px 26px; }
  .is-style-journal-text { padding-block: 56px; }
  .alice-springs { padding-bottom: 24px; }
  .stay-row { padding-top: 30px; }
}
@media (max-width: 600px) {
  :root { --journal-header: 80px; }
  .site-header { padding-block: 14px; }
  .header-row { min-height: 52px; gap: 20px; }
  .brand-logo { flex-basis: 208px; }
  .brand-logo img { width: 208px; }
  .site-header .wp-block-navigation__responsive-container.is-menu-open { padding: 32px 24px; }
  .journal-opening .opening-heading { max-width: 335px; }
  .journal-opening .opening-bottom > p { font-size: 14px; }
  .house-essentials .essentials-row { gap: 12px 22px; }
  .house-essentials .essentials-row > p { font-size: 13px; }
  .house-essentials .essentials-row > .is-style-folio { flex-basis: 100%; text-align: center; }
  .is-style-journal-frame figcaption, .is-style-panorama figcaption { font-size: 10px; padding-block: 12px; }
  .stay-row .wp-element-button { text-align: center; }
}
/* Manual gallery controls remain visible and touch-friendly at every viewport. */
.house-gallery .wp-block-jetpack-slideshow .swiper-button-prev,
.house-gallery .wp-block-jetpack-slideshow .swiper-button-next { display: flex; width: 44px; height: 44px; border-radius: 0; background-color: var(--wp--preset--color--white); color: var(--wp--preset--color--dark); opacity: 1; }
.house-gallery .swiper-button-prev:focus-visible,
.house-gallery .swiper-button-next:focus-visible { outline: 3px solid var(--wp--preset--color--primary); outline-offset: 3px; }
.house-gallery .swiper-navigation-icon { width: 11px; height: 20px; }
.house-gallery .wp-block-jetpack-slideshow { margin-bottom: 0; }
/* Supporting pages continue the photo-led journal with a separate reading row. */
.recovered-page-photo { margin: 0; }
.recovered-page-photo img { display: block; width: 100%; height: clamp(260px, 36vw, 460px); object-fit: cover; }
.recovered-page > .recovered-page-body { margin-block-start: 0; padding-block: var(--wp--preset--spacing--lg) var(--wp--preset--spacing--xl); }
.recovered-page-body > .wp-block-post-title { margin-block: 0 28px; }
.recovered-page-body .entry-content { overflow-wrap: anywhere; }
.recovered-page-body .entry-content > :first-child { border-left: 3px solid var(--wp--preset--color--primary); padding-left: 18px; font-size: 14px; }
.site-header .wp-block-navigation__submenu-container { min-width: 210px; }
/* Optional font laboratory; these treatments do not change homepage headings. */
.font-sampler { padding-block: 56px 64px; }
.sampler-intro { padding-bottom: 18px; }
.sampler-intro h1 { margin-block: 16px 24px; }
.sampler-intro > p { max-width: 720px; }
.sampler-jumps { gap: 12px 24px; padding-top: 12px; }
.sampler-jumps p { margin: 0; font-size: 13px; }
.is-style-font-comparison { gap: 32px; padding-block: 36px; margin-block: 0; }
.is-style-font-comparison > .wp-block-column:first-child { padding: 28px; }
.is-style-font-comparison .wp-block-heading { text-wrap: balance; }
.is-style-font-comparison > .wp-block-column > .wp-block-heading { margin-block: 24px; }
.is-style-font-comparison > .wp-block-column > p:last-child { font-size: 14px; }
.is-style-font-sample-image { min-height: 340px; padding: 28px; }
.is-style-font-sample-image .wp-block-cover__image-background { object-position: left center; }
.is-style-font-sample-image .wp-block-heading { margin: 0; }
/* The legacy palette slug "text" emits .has-text-color; preserve explicit white in these covers. */
.is-style-font-sample-image .has-white-color { color: var(--wp--preset--color--white) !important; }
.is-style-font-sample-image .is-style-folio { margin-top: 20px; }
.sampler-return { padding-top: 28px; }
@media (max-width: 781px) {
  .font-sampler { padding-top: 36px; }
  .is-style-font-comparison { gap: 20px; padding-block: 28px; }
  .is-style-font-comparison > .wp-block-column:first-child { padding: 12px 0; }
  .is-style-font-sample-image { min-height: 300px; padding: 24px; }
}
/* Enquiry form stays editable and visible inline without dialog enhancement. */
.enquiry-panel { padding: 28px; background: var(--wp--preset--color--white); color: var(--wp--preset--color--text); }
.recovered-page-body .entry-content > .enquiry-panel { padding: 0; }
.enquiry-panel > h2 { margin-block: 0 18px; }
.enquiry-panel > p { font-size: 14px; line-height: 1.7; margin-block: 0 22px; }
.enquiry-panel .contact-form { margin: 0; }
.enquiry-panel .contact-form label { font-family: var(--wp--preset--font-family--montserrat); font-size: 13px; font-weight: 500; }
.enquiry-panel input[type="text"], .enquiry-panel input[type="email"], .enquiry-panel textarea {
  box-sizing: border-box; width: 100%; max-width: none; min-height: 46px; padding: 11px 12px;
  border: 1px solid var(--wp--preset--color--border); border-radius: 0; background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--dark); font-family: var(--wp--preset--font-family--montserrat); font-size: 16px; line-height: 1.5;
}
.enquiry-panel textarea { height: 120px; min-height: 120px; resize: vertical; }
.enquiry-panel :is(input, textarea):focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 2px; }
.enquiry-panel > .enquiry-privacy { margin-top: 22px; margin-bottom: 0; font-size: 11px; line-height: 1.7; }
.enquiry-dialog { box-sizing: border-box; width: min(600px, calc(100% - 32px)); max-width: 600px; max-height: calc(100dvh - 32px); padding: 0; border: 1px solid var(--wp--preset--color--border); border-radius: 0; background: var(--wp--preset--color--white); color: var(--wp--preset--color--text); overflow-y: auto; overscroll-behavior: contain; }
.enquiry-dialog::backdrop { background: rgb(24 24 24 / 65%); }
.enquiry-dialog .enquiry-panel { padding: 0 32px 32px; margin: 0; }
.enquiry-dialog-controls { display: flex; justify-content: flex-end; padding: 16px 16px 12px; }
.enquiry-dialog-close.wp-element-button { font-size: 12px; min-height: 44px; padding: 12px 14px; }
body:has(.enquiry-dialog[open]) { overflow: hidden; }
@media (max-width: 600px) {
  .enquiry-dialog .enquiry-panel { padding-inline: 24px; padding-bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
