/*
Theme Name: The Pemberley Group
Theme URI: https://thepemgroup.com
Author: The Pemberley Group
Description: "The Estate" design for The Pemberley Group. Navy and harvest gold, with Fraunces and Source Sans 3. Includes ready-made page layouts under Patterns > Pemberley.
Version: 1.0.1
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: pemgroup
*/

/* Stack full-width sections with no gaps between them */
.wp-site-blocks > * { margin-block-start: 0; }
.pem-main > *, .wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }
.pem-main { padding: 0 !important; }

/* Type helpers */
.pem-eyebrow { font-size: 0.875rem !important; letter-spacing: 0.25em; text-transform: uppercase; font-weight: 700; margin: 0; }
.pem-serif, .pem-serif-italic, .pem-numeral, .pem-quote-mark { font-family: var(--wp--preset--font-family--fraunces); }
.pem-serif-italic { font-style: italic; line-height: 1.35; }
.pem-gold { color: var(--wp--preset--color--gold); }
.pem-gold-link a { color: var(--wp--preset--color--gold); font-weight: 700; }
.pem-measure { max-width: 60rem; }
.pem-narrow > * { max-width: 68rem; margin-left: auto !important; margin-right: auto !important; }
.pem-quote-mark { font-size: 6rem; line-height: 0.6; color: var(--wp--preset--color--gold); margin-bottom: 0; }
.pem-numeral { font-size: 1.125rem; margin: 0; }
.pem-gap-lg { gap: clamp(2rem, 6vw, 5rem); }

/* Hero ledger card */
.pem-ledger-card { padding: clamp(1.5rem, 3vw, 2.5rem) !important; border-radius: 4px; box-shadow: 0 30px 60px rgba(0,0,0,.35); gap: 0; }
.pem-ledger-card > * { margin-block-start: 0 !important; }
.pem-row { border-bottom: 1px solid var(--wp--preset--color--sand); padding: 1rem 0; gap: 1rem; }
.pem-row p { margin: 0; }
.pem-row:last-child { border-bottom: 0; }
.pem-row-head { border-bottom: 2px solid var(--wp--preset--color--navy); padding-top: 0; align-items: baseline; }
.pem-row-head h3 { margin: 0; }
.pem-wink { font-family: var(--wp--preset--font-family--fraunces); font-size: 1.3rem; color: var(--wp--preset--color--gold-dark); }

/* Taglines */
.pem-tagline-cols h3 { margin: 0; line-height: 1.15; font-weight: 400; }
.pem-tagline-cols > .wp-block-column + .wp-block-column { border-left: 1px solid #2D4866; padding-left: 2.5rem; }
.pem-divider-top { border-top: 1px solid #2D4866; padding-top: 1.75rem; margin-top: 2.5rem; }
.pem-divider-top p { margin: 0; }

/* Services grid */
.pem-intro { margin-bottom: 3rem; align-items: flex-end; }
.pem-services { border-top: 2px solid var(--wp--preset--color--navy); gap: 0; }
.pem-services > * { margin-block-start: 0 !important; }
.pem-cells { gap: 0 !important; margin: 0; }
.pem-cells + .pem-cells { border-top: 1px solid var(--wp--preset--color--sand); }
.pem-cells > .wp-block-column { padding: 2.5rem 2.25rem 2.5rem 0; }
.pem-cells > .wp-block-column + .wp-block-column { border-left: 1px solid var(--wp--preset--color--sand); padding-left: 2.25rem; }
.pem-cells h3 { margin-top: .5rem; }

/* Rules and cards */
.pem-rule-top { border-top: 3px solid var(--wp--preset--color--gold); padding-top: 1.75rem; }
.pem-rule-navy { border-top: 2px solid var(--wp--preset--color--navy); }
.pem-card { background: #fff; border: 1px solid var(--wp--preset--color--sand); padding: 2.5rem; }
.pem-card-navy { padding: 2.5rem; }
.pem-card-navy p { margin: 0.5rem 0; }
.pem-dashed { border: 1px dashed #4A6582; min-height: 12rem; display: flex; align-items: center; justify-content: center; }
.pem-form-placeholder { min-height: 24rem; display: flex; align-items: center; }

/* Lists */
.pem-list { list-style: none; padding: 0; margin: 0; border-top: 2px solid var(--wp--preset--color--navy); }
.pem-list li { padding: 1rem 0; border-bottom: 1px solid var(--wp--preset--color--sand); font-size: var(--wp--preset--font-size--md); }

/* Photo placeholder */
.pem-photo { background: #E8DEC6; border: 1px solid var(--wp--preset--color--sand); aspect-ratio: 4 / 5; margin: 0; overflow: hidden; }
.pem-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pem-photo img:not([src]), .pem-photo img[src=""] { display: none; }
/* Once a real photo is in, let the photo set its own shape (no beige box) */
.pem-photo:has(img[src]:not([src=""])) { aspect-ratio: auto; background: none; border: 0; }
.pem-photo:has(img[src]:not([src=""])) img { height: auto; }

/* Header */
.pem-header { position: relative; z-index: 10; }
.pem-brand { gap: 1rem; align-items: center; }
.pem-brand-text { gap: 0.15rem; }
.pem-brand .wp-block-site-logo img { display: block; }
.pem-site-title { margin: 0; line-height: 1.1; }
.pem-site-title a { text-decoration: none; color: inherit; }
.pem-header-right { gap: 2rem; }
.pem-nav a { text-decoration: none; }
.pem-nav a:hover { color: var(--wp--preset--color--gold) !important; }

/* Footer */
.pem-footer a { color: var(--wp--preset--color--mist); text-decoration: none; }
.pem-footer a:hover { color: var(--wp--preset--color--gold); }
.pem-footer p { margin: 0.35rem 0; }
.pem-footer-legal { margin-top: 3rem !important; padding-top: 1.5rem; border-top: 1px solid #1E3450; }

/* Blog */
.pem-post-grid { gap: 3rem 2.5rem; }
.pem-post-grid .wp-block-post-featured-image { background: #E8DEC6; margin-bottom: 1rem; }
.pem-post-grid .wp-block-post-title a { text-decoration: none; }
.pem-post-grid .pem-eyebrow a { color: var(--wp--preset--color--gold-dark); text-decoration: none; }

/* Phones and small tablets */
@media (max-width: 781px) {
  .pem-tagline-cols > .wp-block-column + .wp-block-column,
  .pem-cells > .wp-block-column + .wp-block-column { border-left: 0; padding-left: 0; border-top: 1px solid var(--wp--preset--color--sand); }
  .pem-tagline-cols > .wp-block-column + .wp-block-column { border-top-color: #2D4866; padding-top: 1.5rem; }
  .pem-cells > .wp-block-column { padding: 2rem 0; }
  .pem-header-right .wp-block-buttons { display: none; }
  .pem-brand-text .pem-eyebrow { display: none; }
}
