/*
Theme Name: Lift Community
Author: Lift Place Marketing
Description: An independent, editor-friendly block theme for residential communities.
Version: 0.6.5
Requires at least: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lift-community
Tags: block-patterns, full-site-editing, custom-colors, custom-logo, editor-style, featured-images, wide-blocks
*/

/* Shared design values live in theme.json. These rules provide composition and
   responsive behavior; native block controls and inline styles can override them. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 2rem; }
body { margin: 0; }
img { max-width: 100%; height: auto; }
:where(h1,h2,h3,p) { overflow-wrap: break-word; }
a { text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 2px; }
:where(a,button,summary):focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
.wp-site-blocks > :where(header,footer,main,div) { margin-block-start: 0; }
.wp-block-post-content > :where(.is-style-lift-section,.is-style-lift-hero,.is-style-lift-resources,.soft-section,.page-content) { margin-block-start: 0; }

/* Header and native WordPress navigation. */
.site-header { background: var(--wp--preset--color--paper); border-bottom: 1px solid var(--wp--custom--border--line); }
.header-inner {
    max-width: var(--wp--custom--layout--frame);
    margin-inline: auto;
    padding: var(--wp--custom--space--header-block) var(--wp--custom--layout--gutter);
    gap: var(--wp--custom--space--header-gap);
    align-items: center;
}
.brand { margin: 0; flex-shrink: 0; }
.brand .wp-block-site-logo { margin: 0; line-height: 0; }
.brand .custom-logo { display: block; max-width: 100%; height: auto; }
.wp-custom-logo .brand :is(.wp-block-site-title,.wp-block-site-tagline) { display: none; }
.header-links { margin: 0; gap: 1.25rem; align-items: center; }
.header-links nav { font-size: var(--wp--custom--type--nav); }
.header-links .wp-block-navigation__container { gap: var(--wp--custom--space--nav-gap); }
.wp-block-navigation-item.mobile-only { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .mobile-only { display: flex; }
.resident-link { font-size: var(--wp--preset--font-size--button); white-space: nowrap; margin: 0; padding-left: 1.6rem; border-left: 1px solid var(--wp--custom--border--line); }
.resident-link a { text-decoration: none; }
.site-header .wp-block-navigation-submenu__toggle { padding: .35rem; }
.site-header .wp-block-navigation-submenu__toggle:focus-visible { outline-offset: 2px; }
.site-header .wp-block-navigation__submenu-container {
    background: var(--wp--preset--color--paper);
    color: var(--wp--preset--color--forest);
    border: 1px solid var(--wp--custom--border--line);
    box-shadow: 0 12px 28px color-mix(in srgb,var(--wp--preset--color--forest) 8%,transparent);
    min-width: 235px;
    padding: .65rem 0;
}
.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.site-header .wp-block-navigation__submenu-container a { padding: .55rem 1.1rem; font-size: var(--wp--preset--font-size--small); }
.site-header .wp-block-navigation__submenu-container a:hover { background: var(--wp--preset--color--sand); text-decoration: none; }
.nav-cta > .wp-block-navigation-item__content {
    background: var(--wp--preset--color--gold);
    color: var(--wp--preset--color--forest);
    padding: .8rem 1rem;
    font-size: var(--wp--custom--type--nav-action);
    font-weight: 600;
    white-space: nowrap;
}
.nav-cta > .wp-block-navigation-item__content:hover { text-decoration: underline; }

/* Registered Group styles are available in the editor's Styles panel. */
.is-style-lift-section {
    max-width: var(--wp--custom--layout--frame);
    margin-inline: auto;
    padding: var(--wp--custom--layout--section-space) var(--wp--custom--layout--gutter);
}
.eyebrow { text-transform: uppercase; letter-spacing: var(--wp--custom--type--tracking); font-weight: 600; margin-bottom: .75rem; }
.lede { line-height: 1.7; max-width: 650px; }
.is-style-lift-hero {
    min-height: var(--wp--custom--hero--height);
    position: relative;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    padding: var(--wp--custom--layout--emphasis-space) var(--wp--custom--layout--gutter);
    background: var(--wp--preset--color--forest);
    color: var(--wp--preset--color--white);
}
.is-style-lift-hero > .wp-block-image { position: absolute; inset: 0; margin: 0; max-width: none; }
.is-style-lift-hero > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 64%; }
.is-style-lift-hero::after { content: ''; position: absolute; inset: 0; background: var(--wp--custom--hero--overlay); pointer-events: none; }
.hero-content { position: relative; z-index: 1; width: 100%; max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.is-style-lift-hero h1 { line-height: 1.02; max-width: var(--wp--custom--hero--text-width); margin: 0 0 1.5rem; letter-spacing: -.045em; }
.is-style-lift-hero .lede { max-width: var(--wp--custom--hero--copy-width); color: var(--wp--preset--color--paper); }
.is-style-lift-hero .wp-block-buttons { margin-top: var(--wp--preset--spacing--40); }
.is-style-lift-hero .is-style-outline .wp-block-button__link { color: inherit; border-color: currentColor; }
.intro-grid { gap: var(--wp--preset--spacing--50); align-items: center; }
.intro-grid .wp-block-column:last-child { padding-top: 1rem; }
.stats { gap: 3rem; border-top: 1px solid var(--wp--custom--border--line); padding-top: 1rem; margin-top: 1.5rem; }
.stats p { font-size: var(--wp--custom--type--small-print); text-transform: uppercase; letter-spacing: .12em; margin: 0; }
.stats strong { display: block; font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-size: 2.3rem; letter-spacing: 0; margin-bottom: .3rem; }
.photo-grid { gap: var(--wp--custom--space--card-gap); }
.photo-grid figure { margin: 0 0 1rem; }
.photo-grid figure img { width: 100%; height: var(--wp--custom--image--card-height); object-fit: cover; }
.photo-grid h3 { margin: .5rem 0; }
.photo-grid p { font-size: .9rem; color: var(--wp--preset--color--muted); }
.photo-grid a,.text-link { font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; }
.section-heading h2 { margin-bottom: 0; }
.section-heading p { margin: 0; }
.soft-section { background: var(--wp--preset--color--sand); }
:where(.soft-section,.is-style-lift-resources) > .is-style-lift-section { padding-block: var(--wp--custom--layout--emphasis-space); }
.feature-row { align-items: center; gap: var(--wp--preset--spacing--50); }
.feature-row figure { margin: 0; }
.feature-row img { width: 100%; height: var(--wp--custom--image--feature-height); object-fit: cover; }
.feature-row .wp-block-column:last-child { padding-block: 1rem; }
.is-style-lift-resources { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--paper); }
.is-style-lift-resources a { color: inherit; }
.is-style-lift-resources .wp-block-button__link { color: var(--wp--preset--color--forest); background: var(--wp--preset--color--gold); }
.is-style-lift-resources .wp-block-columns { align-items: center; gap: var(--wp--preset--spacing--50); margin-bottom: 0; }
.is-style-lift-resources h2 { margin-top: .4rem; }
.is-style-lift-resources .eyebrow { color: var(--wp--preset--color--gold); }
.is-style-lift-resources .wp-block-column:last-child { flex-basis: 38%; flex-grow: 0; }
.is-style-lift-card { padding: var(--wp--preset--spacing--40); border: 1px solid var(--wp--custom--border--line); height: 100%; }

/* Editorial layouts and sensible defaults for newly created pages. */
.page-intro { padding-top: var(--wp--custom--layout--intro-top); padding-bottom: 1.5rem; }
.page-intro h1 { max-width: 850px; margin-top: 0; }
.page-content { padding: 0 var(--wp--custom--layout--gutter) var(--wp--preset--spacing--40); max-width: var(--wp--custom--layout--frame); margin-inline: auto; }
.page-content > .is-style-lift-section { padding-inline: 0; }
.page-content > .is-style-lift-section:first-child { padding-top: 0; }
.page-content > .is-style-lift-section:first-child > .wp-block-image img { width: 100%; max-height: 500px; object-fit: cover; }
.page-content > .is-style-lift-section:first-child > .wp-block-image img:not([src*="site-plan"]) { max-height: var(--wp--custom--image--banner-height); }
.article-page > .wp-block-post-title { margin-top: 0; }
.wp-block-details { padding: 1rem 0; border-bottom: 1px solid var(--wp--custom--border--line); }
.wp-block-details summary { cursor: pointer; font-weight: 600; }
.wp-block-details p { padding-left: 1rem; color: var(--wp--preset--color--muted); }
.gallery-grid .wp-block-image img { width: 100%; height: var(--wp--custom--image--gallery-height); object-fit: cover; }
.wp-block-query { margin-top: var(--wp--preset--spacing--40); }
.wp-block-post-template { list-style: none; padding: 0; }
.wp-block-post-template li { border-bottom: 1px solid var(--wp--custom--border--line); padding-block: 1.5rem; }
.wp-block-post-template .wp-block-post-title { font-size: var(--wp--preset--font-size--subheading); }
/* The bundled starter illustration has known dimensions; uploaded replacements
   use normal WordPress attachment metadata, intrinsic dimensions and srcset. */
:where(.wp-block-image img[src$="/assets/landscape.svg"]) { aspect-ratio: 8 / 5; }

/* Shared four-column footer, including the existing community referral credit. */
.site-footer { background: var(--wp--preset--color--paper); border-top: 1px solid var(--wp--custom--border--line); }
.site-footer .is-style-lift-section { padding-block: 2rem 1.5rem; }
.site-footer p { line-height: 1.9; }
.site-footer h3 { font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--custom--type--footer-label); text-transform: uppercase; letter-spacing: .13em; }
.site-footer a { text-decoration: none; }
.footer-note { border-top: 1px solid var(--wp--custom--border--line); padding-top: 1rem; margin-top: 1.5rem; font-size: var(--wp--custom--type--small-print); color: var(--wp--preset--color--muted); }
.footer-columns { gap: var(--wp--custom--space--footer-gap); align-items: flex-start; }
.footer-columns > .wp-block-column:first-child { flex-basis: 26%; }
.footer-columns > .wp-block-column:nth-child(2) { flex-basis: 25%; }
.footer-columns > .wp-block-column:nth-child(3) { flex-basis: 27%; }
.footer-columns > .wp-block-column:last-child { flex-basis: 22%; }
.site-footer .wp-block-social-links { gap: .8rem; justify-content: flex-start; margin-inline: 0; color: var(--wp--preset--color--forest); }
.site-footer .wp-block-social-links:empty { display: none; }
.site-footer .footer-credit { font-size: var(--wp--preset--font-size--small); line-height: 1.6; margin-top: .75rem; color: inherit; }
.site-footer .footer-credit a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }

/* Only the two visibility rules below need !important to override WordPress's
   built-in navigation breakpoint. They do not constrain buyer design controls. */
.wp-block-navigation__responsive-container.is-menu-open { padding: 2rem; background: var(--wp--preset--color--paper); color: var(--wp--preset--color--forest); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: var(--wp--preset--font-size--large); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.3rem; }
@media (max-width:1100px) {
    .header-links .resident-link { display: none; }
    .site-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
    .site-header .wp-block-navigation__responsive-container-open { display: flex !important; }
    .site-header .is-menu-open .wp-block-navigation__container { width: 100%; align-items: flex-start; }
    .site-header .is-menu-open .wp-block-navigation-item { align-items: flex-start; width: 100%; }
    .site-header .is-menu-open .wp-block-navigation__submenu-container { position: static; box-shadow: none; border: 0; min-width: 0; padding: .4rem 0 .4rem .75rem; }
    .site-header .is-menu-open .wp-block-navigation__submenu-container a { padding: .35rem 0; font-size: .95rem; }
    .site-header .is-menu-open .nav-cta { margin-top: .75rem; }
    .site-header .is-menu-open .nav-cta > a { padding: .85rem 1.25rem; font-size: .9rem; }
}
@media (max-width:950px) {
    .intro-grid,.feature-row { gap: var(--wp--preset--spacing--40); }
    .stats { gap: 1.8rem; }
}
@media (max-width:700px) {
    .header-inner { gap: 1rem; }
    .is-style-lift-hero { min-height: 0; padding-block: 2rem; }
    .section-heading { display: block; }
    .section-heading > p { margin-top: 1rem; }
    .photo-grid figure img { height: 240px; }
    .intro-grid,.feature-row,.is-style-lift-resources .wp-block-columns { gap: 1rem; }
    .stats { justify-content: space-between; gap: 1rem; }
    .stats strong { font-size: 2rem; }
    .stats p { font-size: .55rem; }
    .feature-row img { height: 260px; }
    .is-style-lift-resources .wp-block-column:last-child { flex-basis: auto; }
    .footer-columns { gap: 1rem; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

.wp-block-details > summary { cursor: pointer; font-weight: 600; }

.wp-block-video video { aspect-ratio: 16 / 9; object-fit: contain; }
