/*
Theme Name: Ashlar
Description: A minimal lodge block theme with page-based content and optional Events Calendar integration.
Version: 3.7.7
Requires at least: 6.6
Requires PHP: 7.4
Author: Todd Paterek
License: GPL-2.0-or-later
Text Domain: ashlar
*/
.wp-site-blocks{padding:0}.wp-site-blocks>header,.wp-site-blocks>main,.wp-site-blocks>footer{margin-block-start:0} .ashlar-header{padding:24px clamp(20px,4vw,64px)}.ashlar-section{padding:64px 24px}.ashlar-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ashlar-event{border:1px solid #dce2e9;border-radius:8px;overflow:hidden;background:#fff}.ashlar-event img{width:100%;height:190px;object-fit:cover}.ashlar-event-body{padding:24px}.ashlar-event h3{font-size:1.35rem;overflow-wrap:anywhere;margin:8px 0}.ashlar-event-date{font-weight:600;color:#173b6c}.ashlar-details{line-height:1.8}.wp-block-post-title{overflow-wrap:anywhere}a:focus-visible,button:focus-visible{outline:3px solid #b28a46;outline-offset:4px}@media(max-width:760px){.ashlar-events{grid-template-columns:1fr}.ashlar-section{padding:40px 20px}.ashlar-header{padding:20px}.wp-block-site-title{font-size:1.2rem}}

.ashlar-header a,.wp-site-blocks>footer a{color:inherit}

.ashlar-lodge-detail{overflow-wrap:anywhere}.wp-site-blocks>footer .wp-block-heading{color:inherit}.wp-site-blocks>footer .wp-block-columns{gap:48px}

.ashlar-hero-heading,.ashlar-hero-copy{max-width:760px!important;margin-inline:0!important}@media(max-width:600px){.ashlar-hero-heading{font-size:40px!important}.ashlar-hero-copy{font-size:19px!important}}

/* Clickable event graphics retain the entire original image. */
.ashlar-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start;padding-bottom:48px}
.ashlar-event{border:0;border-radius:0;overflow:visible;background:transparent;min-width:0}
.ashlar-event-link{display:block}
.ashlar-event img{display:block;width:100%;height:auto;max-height:none;border-radius:0}
.ashlar-event-fallback{padding:24px;background:var(--wp--preset--color--navy,#173b6c);color:white;min-height:180px}
.ashlar-event-fallback h3{color:inherit;overflow-wrap:anywhere}
@media(max-width:760px){.ashlar-events{grid-template-columns:1fr;gap:24px;padding-bottom:32px}}

/* Keep the events grid independent of surrounding block layout rules. */
div.ashlar-events{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:760px){div.ashlar-events{grid-template-columns:1fr!important}}

/* Native news blocks remain individually editable in the page. */
.ashlar-news-section .wp-block-post-template{margin:0;padding:0;list-style:none}
.ashlar-news-feature .wp-block-post-featured-image img{display:block;width:100%;height:auto}
.ashlar-news-read-more{display:inline-block;padding:12px 24px;background:var(--wp--preset--color--navy,#173b6c);text-decoration:none;border-radius:4px}
.ashlar-news-read-more:hover{text-decoration:underline;color:#fff}
.ashlar-news-more{margin-top:40px}
.ashlar-news-small{border-top:1px solid #cbd3dc;padding-top:24px}
.ashlar-news-section .wp-block-post-date{opacity:.75}
@media(max-width:781px){.ashlar-news-more .wp-block-post-template{grid-template-columns:1fr}.ashlar-news-feature .wp-block-post-title{font-size:28px!important}}

/* Compact blog preview: small photo beside an editable native excerpt. */
.ashlar-news-feature .wp-block-post-featured-image{max-width:240px;margin:0}
.ashlar-news-feature .wp-block-post-featured-image img{width:100%;height:auto;max-height:220px;object-fit:contain;object-position:left center}
.ashlar-news-feature .wp-block-post-title{font-size:24px!important;margin-top:8px;margin-bottom:12px}
.ashlar-news-feature .wp-block-post-excerpt{margin-top:12px}
.ashlar-news-feature .wp-block-columns{margin-bottom:0}
.ashlar-news-read-more{padding:0;background:transparent;border-radius:0;text-decoration:underline}
.ashlar-news-read-more:hover{color:var(--wp--preset--color--navy,#173b6c)}
@media(max-width:781px){.ashlar-news-feature .wp-block-columns{gap:20px}.ashlar-news-feature .wp-block-post-featured-image{max-width:200px}}


/* Inherit section colors only when the individual block has no text color. */
.ashlar-news-section .wp-block-post-title:not(.has-text-color) a,
.ashlar-news-section .wp-block-read-more:not(.has-text-color),
.ashlar-news-section .wp-block-post-excerpt:not(.has-text-color) .wp-block-post-excerpt__more-link{color:var(--wp--style--color--link,inherit)}
.ashlar-news-section .wp-block-post-title.has-text-color a{color:inherit}
.ashlar-news-section .wp-block-post-title a:hover,
.ashlar-news-section .wp-block-read-more:hover{text-decoration:underline}

/* Compact news variant leaves the earlier pattern available. */
.ashlar-news-compact{padding-top:32px;padding-bottom:32px}
.ashlar-news-compact .wp-block-heading{margin-top:0;margin-bottom:20px}
.ashlar-news-compact .ashlar-news-feature .wp-block-post-featured-image{max-width:180px}
.ashlar-news-compact .ashlar-news-feature .wp-block-post-featured-image img{max-height:150px}
.ashlar-news-compact .ashlar-news-feature .wp-block-post-title{margin-top:0;margin-bottom:8px;font-size:22px!important}
.ashlar-news-compact .wp-block-post-excerpt{margin-top:8px;margin-bottom:8px}
.ashlar-news-compact .wp-block-post-excerpt p{margin-top:0;margin-bottom:8px}
.ashlar-news-compact .ashlar-news-more{margin-top:20px;border-top:1px solid rgba(255,255,255,.3);padding-top:12px}
.ashlar-news-compact .ashlar-news-small{border:0;padding:0}
.ashlar-news-compact .ashlar-news-more .wp-block-post-title{font-size:18px;margin:0;line-height:1.35}
.ashlar-news-compact .ashlar-news-more .wp-block-post-template{gap:12px 24px}

/* Native header blocks: identity left, navigation on the same row. */
.ashlar-header{padding:20px 0}
.ashlar-header-row{gap:24px}
.ashlar-header-brand{gap:16px;min-width:0}
.ashlar-header-identity .wp-block-site-title{margin:0;line-height:1.2}
.ashlar-header-identity p{margin:0;font-size:16px;line-height:1.35}
.wp-site-blocks>header:has(.is-style-ashlar-sticky-header){position:sticky;top:0;z-index:100}
body.admin-bar .wp-site-blocks>header:has(.is-style-ashlar-sticky-header){top:32px}
@media(max-width:781px){body.admin-bar .wp-site-blocks>header:has(.is-style-ashlar-sticky-header){top:46px}}
@media(max-width:600px){.ashlar-header-row{flex-wrap:nowrap!important;gap:12px}.ashlar-header-brand{gap:10px}.ashlar-header-identity p{font-size:13px}.ashlar-header .wp-block-site-logo{max-width:48px}.ashlar-header{padding:16px 0}}
@media(max-width:600px){body.admin-bar .wp-site-blocks>header:has(.is-style-ashlar-sticky-header){top:0}}

/* Header spacing is CSS rather than serialized Group inline markup. */
.ashlar-header-identity>*{margin-block-start:2px;margin-block-end:0}
.ashlar-header-row{flex-wrap:nowrap!important}
.ashlar-header-brand{flex-shrink:0}
.ashlar-header-row>.wp-block-navigation{font-size:15px;flex:1;min-width:0}
.ashlar-header .wp-block-navigation__container{gap:12px 18px}


.ashlar-header-identity .wp-block-image{margin:0}.ashlar-header-identity .wp-block-image img{display:block;height:auto}

/* Optional floating panel. Saved header blocks and menus stay intact. */
.ashlar-header:is(.is-style-ashlar-floating-header,.is-style-ashlar-hanging-fixed){
 width:80%;max-width:none;margin:0 auto!important;
 padding:18px 24px;box-sizing:border-box;border-radius:0 0 12px 12px;
 box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.ashlar-header:is(.is-style-ashlar-floating-header,.is-style-ashlar-hanging-fixed)>.ashlar-header-row{
 width:100%;max-width:none!important;margin-inline:0!important;
}
/* Only overlap when the page actually begins with a hero Cover. */
.wp-site-blocks:has(>main>.wp-block-post-content>.wp-block-cover:first-child)>header:has(:is(.is-style-ashlar-floating-header,.is-style-ashlar-hanging-fixed)){
 position:absolute;top:0;left:0;width:100%;z-index:30;
}
body.admin-bar .wp-site-blocks:has(>main>.wp-block-post-content>.wp-block-cover:first-child)>header:has(:is(.is-style-ashlar-floating-header,.is-style-ashlar-hanging-fixed)){top:32px}
.wp-site-blocks:has(>header :is(.is-style-ashlar-floating-header,.is-style-ashlar-hanging-fixed))>main>.wp-block-post-content>.wp-block-cover:first-child{
 box-sizing:border-box;padding-top:180px;padding-bottom:60px;min-height:600px;
}
@media(max-width:781px){
 body.admin-bar .wp-site-blocks:has(>main>.wp-block-post-content>.wp-block-cover:first-child)>header:has(:is(.is-style-ashlar-floating-header,.is-style-ashlar-hanging-fixed)){top:46px}
}
@media(max-width:600px){
 .ashlar-header:is(.is-style-ashlar-floating-header,.is-style-ashlar-hanging-fixed){width:calc(100% - 32px);margin:0 auto!important;padding:14px 16px;border-radius:0 0 10px 10px}
 body.admin-bar .wp-site-blocks:has(>main>.wp-block-post-content>.wp-block-cover:first-child)>header:has(:is(.is-style-ashlar-floating-header,.is-style-ashlar-hanging-fixed)){top:0}
 .wp-site-blocks:has(>header :is(.is-style-ashlar-floating-header,.is-style-ashlar-hanging-fixed))>main>.wp-block-post-content>.wp-block-cover:first-child{padding-top:160px;padding-bottom:40px;min-height:560px}
}

/* Always-visible variant stays attached to the viewport top. */
.wp-site-blocks>header:has(.is-style-ashlar-hanging-fixed){position:fixed!important;top:0;left:0;width:100%;z-index:100}
body.admin-bar .wp-site-blocks>header:has(.is-style-ashlar-hanging-fixed){top:32px}
.wp-site-blocks:has(>header .is-style-ashlar-hanging-fixed):not(:has(>main>.wp-block-post-content>.wp-block-cover:first-child))>main{padding-top:160px}
@media(max-width:781px){body.admin-bar .wp-site-blocks>header:has(.is-style-ashlar-hanging-fixed){top:46px}}
@media(max-width:600px){body.admin-bar .wp-site-blocks>header:has(.is-style-ashlar-hanging-fixed){top:0}}

/* Post and event media must fit their container, including legacy image markup. */
.wp-block-post-content,
.tribe-events-single,
.tribe-events-single-event-description,
.wp-block-post-template > li{min-width:0;overflow-wrap:break-word}
.wp-block-post-content img,
.wp-block-post-featured-image img,
.ashlar-events img,
.tribe-events img,
.tribe-events-single img{max-width:100%;height:auto;box-sizing:border-box}
.wp-block-post-content .wp-block-image,
.wp-block-post-content .wp-caption{max-width:100%;box-sizing:border-box}
.wp-block-post-content .wp-block-image img{object-fit:contain}
body.single-post .wp-block-post-content > :is(.alignwide,.alignfull){
 max-width:100%;margin-inline:auto;
}
/* Keep event details readable and stop full-size posters dominating the page. */
#tribe-events-pg-template{width:100%;max-width:1180px;box-sizing:border-box;padding-inline:24px}
.tribe-events-single .tribe-events-event-image{max-width:600px;margin:24px auto}
.tribe-events-single .tribe-events-event-image img{
 display:block;width:auto;max-width:100%;height:auto;max-height:520px;object-fit:contain;margin-inline:auto;
}
/* Archive thumbnails stay compact while retaining the entire graphic. */
.wp-block-post-template .wp-block-post-featured-image{max-width:100%}
.wp-block-post-template .wp-block-post-featured-image img{max-height:240px;object-fit:contain}
@media(max-width:600px){
 #tribe-events-pg-template{padding-inline:20px}
 .tribe-events-single .tribe-events-event-image img{max-height:360px}
 .wp-block-post-content :is(.alignleft,.alignright){float:none;margin-inline:0;max-width:100%}
}

/* Three equal welcome-page news cards. Deliberately scoped away from archives. */
.ashlar-news-cards{padding-block:32px}
.ashlar-news-cards > .wp-block-heading{margin-block:0 20px}
.ashlar-news-cards .wp-block-post-template{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.ashlar-news-cards .wp-block-post-template > li{display:flex;min-width:0;margin:0}
.ashlar-news-cards .ashlar-news-card{display:flex;flex-direction:column;width:100%;min-width:0;background:rgba(0,0,0,.17);border-radius:6px;overflow:hidden}
.ashlar-news-cards .wp-block-post-featured-image{margin:0;width:100%}
.ashlar-news-cards .wp-block-post-featured-image a{display:block}
.ashlar-news-cards .wp-block-post-featured-image img{display:block;width:100%;height:150px;max-height:none;object-fit:cover}
.ashlar-news-cards .ashlar-news-card-copy{display:flex;flex-direction:column;flex:1;gap:12px;padding:18px 20px;box-sizing:border-box;margin:0}
.ashlar-news-cards .wp-block-post-title{font-size:22px;line-height:1.25;margin:0;overflow-wrap:anywhere}
.ashlar-news-cards .wp-block-post-title a{color:inherit;text-decoration:none}
.ashlar-news-cards .wp-block-post-title a:hover{text-decoration:underline}
.ashlar-news-cards .wp-block-post-excerpt{font-size:16px;line-height:1.5;margin:0;color:inherit}
.ashlar-news-cards .wp-block-post-excerpt__excerpt{margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ashlar-news-cards .wp-block-post-excerpt__more-text{display:none}
.ashlar-news-cards .wp-block-read-more{align-self:flex-start;margin-top:auto;font-size:16px;color:#efd49d;text-decoration:none}
.ashlar-news-cards .wp-block-read-more:hover{text-decoration:underline}
@media(max-width:760px){.ashlar-news-cards .wp-block-post-template{grid-template-columns:1fr}.ashlar-news-cards .wp-block-post-featured-image img{height:180px}}


/* Blog archive cards: generous width, restrained typography and soft shadows. */
.ashlar-blog-page{background:#f7f8fa;padding-block:48px 64px}
.ashlar-blog-page > .wp-block-heading,.ashlar-blog-page > .wp-block-query-title{text-align:center;margin:0 auto 36px;font-size:38px}
.ashlar-blog-list .wp-block-post-template{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0;padding:0;list-style:none;align-items:start}
.ashlar-blog-list .wp-block-post-template > li{min-width:0;margin:0}
.ashlar-blog-list .ashlar-blog-row{background:#fff;box-shadow:0 5px 18px rgba(20,35,55,.13);overflow:hidden}
.ashlar-blog-list .wp-block-post-featured-image{margin:0;width:100%;max-width:none}
.ashlar-blog-list .wp-block-post-featured-image a{display:block}
.ashlar-blog-list .wp-block-post-featured-image img{display:block;width:100%;height:200px;max-height:none;object-fit:cover;object-position:center 30%}
.ashlar-blog-list .ashlar-blog-copy{padding:24px;margin:0;min-width:0}
.ashlar-blog-list .wp-block-post-title{font-size:22px;line-height:1.3;margin:0 0 12px;overflow-wrap:normal;word-break:normal}
.ashlar-blog-list .wp-block-post-title a{color:var(--wp--preset--color--navy,#173b6c);text-decoration:none}
.ashlar-blog-list .wp-block-post-title a:hover{text-decoration:underline}
.ashlar-blog-list .wp-block-post-date{text-align:right;font-size:13px;font-style:italic;opacity:.75;margin:0 0 16px}
.ashlar-blog-list .wp-block-post-excerpt{font-size:16px;line-height:1.65;margin:0 0 18px}
.ashlar-blog-list .wp-block-post-excerpt__excerpt{margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ashlar-blog-list .wp-block-post-excerpt__more-text{display:none}
.ashlar-blog-list .wp-block-read-more{font-size:14px;font-weight:600;color:#78591e;text-decoration:underline;text-underline-offset:3px}
.ashlar-blog-list .wp-block-query-pagination{margin-top:40px;gap:16px}
/* Apply the same card treatment to saved legacy blog templates. */
body.blog main:not(.ashlar-blog-page) .wp-block-post-template{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:32px}
body.blog main:not(.ashlar-blog-page) .wp-block-post-template > li{background:#fff;box-shadow:0 5px 18px rgba(20,35,55,.13);padding:0 0 24px;min-width:0;margin:0;overflow:hidden}
body.blog main:not(.ashlar-blog-page) .wp-block-post-template .wp-block-post-featured-image{float:none;width:100%;max-width:none;margin:0 0 24px}
body.blog main:not(.ashlar-blog-page) .wp-block-post-template .wp-block-post-featured-image img{width:100%;height:200px;object-fit:cover;object-position:center 30%}
body.blog main:not(.ashlar-blog-page) .wp-block-post-template > li > :not(.wp-block-post-featured-image){margin-inline:24px}
body.blog main:not(.ashlar-blog-page) .wp-block-post-template .wp-block-post-title{font-size:22px;line-height:1.3;overflow-wrap:normal;word-break:normal}
body.blog main:not(.ashlar-blog-page) .wp-block-post-template .wp-block-post-date{font-size:13px;text-align:right}
body.blog main:not(.ashlar-blog-page) .wp-block-post-template .wp-block-post-excerpt{font-size:16px;line-height:1.65}
body.blog main:not(.ashlar-blog-page) .wp-block-post-template .wp-block-post-excerpt__excerpt{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1000px){.ashlar-blog-list .wp-block-post-template,body.blog main:not(.ashlar-blog-page) .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.ashlar-blog-list .wp-block-post-template,body.blog main:not(.ashlar-blog-page) .wp-block-post-template{grid-template-columns:1fr!important}.ashlar-blog-page{padding-block:32px 48px}}
