/*
Theme Name: Wesley Sheffield Living Memorial
Theme URI: https://mrwesleysheffield.com/
Author: Dallas AutoPages
Description: A responsive living memorial WordPress theme modeled after the approved Wesley Sheffield homepage design.
Version: 4.3
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: wesley-memorial
*/
:root{--navy:#071a31;--navy2:#0d2746;--gold:#d39b32;--pale-gold:#f1d39a;--cream:#f8f4ec;--ink:#152239;--line:rgba(255,255,255,.32);--wrap:1460px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}img{max-width:100%;height:auto}a{color:inherit}.container{width:min(calc(100% - 72px),var(--wrap));margin-inline:auto}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.site-header{position:absolute;z-index:50;left:0;right:0;top:0;color:#fff;background:transparent}.header-inner{height:142px;display:flex;align-items:flex-start;justify-content:space-between;padding-top:30px;gap:30px}.site-branding a{text-decoration:none;display:flex;flex-direction:column;align-items:center;min-width:245px}.site-title{font-family:"Brush Script MT","Segoe Script",cursive;font-size:2.35rem;line-height:1;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4)}.brand-rule{display:flex;align-items:center;gap:7px;color:var(--gold);height:22px}.brand-rule i{display:block;width:38px;border-top:1px solid currentColor}.brand-rule b{font-weight:400;font-size:1.15rem}.site-tagline{text-transform:uppercase;letter-spacing:.25em;font-family:Georgia,serif;font-size:.98rem}.main-navigation{padding-top:12px}.main-navigation ul{display:flex;align-items:center;gap:42px;list-style:none;margin:0;padding:0}.main-navigation a{position:relative;text-decoration:none;text-transform:uppercase;color:#fff;font-size:.92rem;letter-spacing:.04em;font-weight:600;padding:8px 0;text-shadow:0 1px 5px rgba(0,0,0,.6)}.main-navigation a:hover,.main-navigation .current-menu-item>a{color:var(--pale-gold)}.main-navigation .current-menu-item>a:after,.main-navigation a:hover:after{content:"";position:absolute;height:2px;background:var(--gold);left:0;right:0;bottom:0}.menu-toggle{display:none;border:0;background:rgba(7,26,49,.88);padding:11px;border-radius:5px}.menu-toggle>span:not(.screen-reader-text){display:block;width:25px;border-top:2px solid #fff;margin:5px}
.memorial-hero{position:relative;min-height:925px;height:calc(100vh - 122px);max-height:1000px;background-image:var(--hero-image);background-size:cover;background-position:center center;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.57) 35%,rgba(0,0,0,.08) 68%,rgba(0,0,0,.03) 100%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 45%)}.hero-inner{position:relative;z-index:2;height:100%;display:flex;align-items:center;padding-top:125px}.hero-copy{width:min(650px,48vw);text-align:center;margin-left:0}.hero-eyebrow{font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.22em;color:var(--pale-gold);font-size:1.55rem;margin:0 0 4px}.hero-copy h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(4.4rem,6.2vw,7rem);line-height:1.03;margin:.08em 0}.hero-dates{display:flex;align-items:center;justify-content:center;gap:16px;font-family:Georgia,serif;color:var(--pale-gold);font-size:2rem;letter-spacing:.04em;margin:20px 0}.hero-dates span{width:55px;border-top:2px solid var(--gold)}.hero-quote{font-family:Georgia,serif;font-style:italic;font-size:1.42rem;line-height:1.55;max-width:510px;margin:22px auto 46px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:390px;margin:auto}.memorial-button{min-height:58px;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;font-size:.88rem;border:1px solid rgba(255,255,255,.78);border-radius:3px;background:rgba(4,18,35,.76);color:#fff;transition:.2s}.memorial-button:hover{background:var(--navy);border-color:var(--gold);transform:translateY(-1px)}.memorial-button-gold{background:var(--gold);border-color:var(--gold)}.memorial-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
.memorial-feature-bar{background:linear-gradient(90deg,#06182d,#0c2543,#06182d);color:#fff;min-height:122px;display:flex;align-items:center}.feature-grid{display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.feature-item{display:flex;align-items:center;justify-content:center;gap:20px;text-decoration:none;min-height:88px;border-right:1px solid rgba(255,255,255,.08);transition:.2s}.feature-item:first-child{border-left:1px solid rgba(255,255,255,.08)}.feature-item:hover{background:rgba(255,255,255,.04)}.feature-item svg{width:52px;height:52px;flex:0 0 auto;fill:none;stroke:var(--pale-gold);stroke-width:1.25}.feature-item strong,.feature-item small{display:block}.feature-item strong{text-transform:uppercase;font-size:.94rem;letter-spacing:.04em}.feature-item small{font-size:.82rem;color:#e1e6ed;margin-top:3px}.welcome-section{padding:70px 0;background:#fff}.welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.welcome-grid h2{font-family:Georgia,serif;font-size:3rem;line-height:1.15;margin:.15em 0}.eyebrow{text-transform:uppercase;color:#a77721;letter-spacing:.18em;font-weight:bold;font-size:.8rem}.welcome-grid>p{font-family:Georgia,serif;font-size:1.22rem;color:#536071}
.page-hero{padding:170px 0 60px;background:var(--navy);color:white}.page-hero h1,.entry-title{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.8rem,6vw,5rem)}.content-wrap{padding:60px 0}.entry-content{background:#fff;padding:clamp(24px,5vw,60px);box-shadow:0 15px 50px rgba(0,0,0,.08)}.entry-content .gallery,.wp-block-gallery,.memorial-gallery{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px!important}.entry-content .gallery-item,.wp-block-gallery figure,.memorial-photo{margin:0!important;overflow:hidden;aspect-ratio:1/1;background:#eee}.entry-content .gallery img,.wp-block-gallery img,.memorial-photo img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}.site-footer{background:#071a31;color:#dfe6ef;padding:26px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center;font-family:Georgia,serif}.footer-inner span{color:var(--gold);font-size:1.5rem}.lightbox{display:none;position:fixed;z-index:100;inset:0;background:rgba(6,12,19,.94);padding:24px;align-items:center;justify-content:center}.lightbox.is-open{display:flex}.lightbox img{max-height:88vh;max-width:94vw;object-fit:contain}.lightbox-close{position:absolute;right:22px;top:18px;background:none;border:0;color:white;font-size:42px}
@media(max-width:1150px){.main-navigation ul{gap:22px}.hero-copy{width:52vw}.feature-item{gap:12px}.feature-item svg{width:42px;height:42px}.feature-item strong{font-size:.8rem}}
@media(max-width:900px){.container{width:min(calc(100% - 36px),var(--wrap))}.header-inner{height:95px;padding-top:18px;align-items:flex-start}.site-branding a{min-width:auto;align-items:flex-start}.site-title{font-size:1.9rem}.site-tagline{font-size:.72rem}.brand-rule{display:none}.menu-toggle{display:block}.main-navigation{display:none;position:absolute;top:84px;left:18px;right:18px;padding:16px;background:rgba(7,26,49,.98);box-shadow:0 10px 40px rgba(0,0,0,.3)}.main-navigation.is-open{display:block}.main-navigation ul{display:block}.main-navigation li{border-bottom:1px solid rgba(255,255,255,.1)}.main-navigation a{display:block;padding:13px}.memorial-hero{height:auto;min-height:790px;background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.4) 75%,rgba(0,0,0,.15))}.hero-inner{padding-top:105px;align-items:center}.hero-copy{width:min(560px,70vw)}.hero-copy h1{font-size:clamp(3.4rem,9vw,5.2rem)}.feature-grid{grid-template-columns:repeat(3,1fr)}.feature-item{border-bottom:1px solid rgba(255,255,255,.08)}.feature-item:nth-child(4),.feature-item:nth-child(5){grid-column:auto}.welcome-grid{grid-template-columns:1fr;gap:20px}.entry-content .gallery,.wp-block-gallery,.memorial-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.container{width:calc(100% - 28px)}.memorial-hero{min-height:720px;background-position:66% center}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.84) 72%)}.hero-inner{align-items:flex-end;padding:110px 0 34px}.hero-copy{width:100%}.hero-eyebrow{font-size:1rem}.hero-copy h1{font-size:3.35rem}.hero-dates{font-size:1.35rem;margin:12px 0}.hero-dates span{width:32px}.hero-quote{font-size:1.05rem;margin:14px auto 24px;max-width:340px}.hero-actions{width:100%;gap:9px}.memorial-button{min-height:52px;font-size:.72rem;padding:7px}.feature-grid{grid-template-columns:1fr 1fr}.feature-item{min-height:100px;justify-content:flex-start;padding:14px 10px}.feature-item:last-child{grid-column:1/-1;justify-content:center}.feature-item svg{width:37px;height:37px}.feature-item strong{font-size:.72rem}.feature-item small{font-size:.7rem}.welcome-section{padding:48px 0}.welcome-grid h2{font-size:2.25rem}.footer-inner{display:block;text-align:center}.entry-content .gallery,.wp-block-gallery,.memorial-gallery{grid-template-columns:repeat(2,1fr)}}

/* Version 3.1 mobile-first memorial albums */
.wsm-album-nav{position:sticky;top:0;z-index:20;display:flex;gap:10px;overflow-x:auto;padding:12px;margin:-20px 0 38px;background:rgba(248,244,236,.96);backdrop-filter:blur(10px);scrollbar-width:none}.wsm-album-nav::-webkit-scrollbar{display:none}.wsm-album-nav a{white-space:nowrap;text-decoration:none;background:#fff;border:1px solid #ddd2bf;border-radius:999px;padding:9px 15px;color:var(--navy);font-weight:700;font-size:.84rem}.wsm-album-nav a:hover{border-color:var(--gold);color:#976815}.wsm-album-nav span{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:6px;border-radius:999px;background:var(--navy);color:#fff;font-size:.7rem}.wsm-album-section{scroll-margin-top:85px;margin-bottom:70px}.wsm-album-heading{display:grid;grid-template-columns:1fr auto;align-items:end;border-bottom:1px solid #dfd5c5;margin-bottom:20px;padding-bottom:15px}.wsm-album-heading p{grid-column:1/-1;margin:0;text-transform:uppercase;letter-spacing:.17em;color:#a77721;font-size:.72rem;font-weight:700}.wsm-album-heading h2{margin:2px 0 0;font:400 clamp(2rem,4vw,3.25rem)/1.1 Georgia,serif;color:var(--navy)}.wsm-album-heading span{font-family:Georgia,serif;color:#7a6954}.wsm-masonry-gallery{columns:4 250px;column-gap:14px}.wsm-gallery-card{position:relative;break-inside:avoid;margin:0 0 14px!important;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 5px 18px rgba(13,39,70,.09)}.wsm-gallery-card>a{position:relative;display:block;background:#e9e4dc}.wsm-gallery-card img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;transition:transform .35s ease}.wsm-gallery-card:hover img{transform:scale(1.018)}.wsm-photo-open{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(7,26,49,.86);color:#fff;font-size:1.25rem;opacity:0;transform:translateY(5px);transition:.2s}.wsm-gallery-card:hover .wsm-photo-open,.wsm-gallery-card:focus-within .wsm-photo-open{opacity:1;transform:none}.wsm-gallery-card figcaption{padding:10px 12px;color:#526071;font-size:.8rem}.entry-content:has(.wsm-mobile-albums){padding:clamp(18px,3vw,42px)}
@media(max-width:700px){.wsm-album-nav{margin:-8px -8px 28px;padding:10px 8px}.wsm-album-heading{grid-template-columns:1fr}.wsm-album-heading span{margin-top:4px}.wsm-masonry-gallery{columns:2;column-gap:8px}.wsm-gallery-card{margin-bottom:8px!important;border-radius:2px}.wsm-photo-open{opacity:1;width:29px;height:29px;font-size:1rem}.wsm-gallery-card figcaption{font-size:.72rem;padding:7px 9px}}
@media(max-width:390px){.wsm-masonry-gallery{columns:1}.wsm-gallery-card{margin-bottom:10px!important}}
/* v4 responsive slider and restored gallery */
.memorial-slider{position:relative;overflow:hidden}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{background-size:cover;background-position:center;opacity:0;transform:scale(1.03);transition:opacity 1s ease,transform 7s ease}.hero-slide.is-active{opacity:1;transform:scale(1)}.slider-controls{position:absolute;z-index:5;left:50%;bottom:18px;display:flex;gap:9px;transform:translateX(-50%)}.slider-dot{width:11px;height:11px;padding:0;border:1px solid #fff;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer}.slider-dot.is-active{background:#d5a84e;border-color:#d5a84e}.gallery-hero{padding:150px 0 55px;background:#0a213c;color:#fff;text-align:center}.gallery-hero h1{margin:.15em 0;font-size:clamp(2.2rem,6vw,4.5rem)}.memorial-gallery{columns:4 260px;column-gap:16px;padding:36px 0 70px}.gallery-card{display:block;margin:0 0 16px;break-inside:avoid;border-radius:10px;overflow:hidden;background:#eee;box-shadow:0 5px 18px rgba(0,0,0,.12)}.gallery-card img{display:block;width:100%;height:auto;transition:transform .3s ease}.gallery-card:hover img{transform:scale(1.025)}
@media(max-width:782px){.memorial-hero{min-height:760px}.hero-slide{background-position:62% center}.hero-copy{padding-top:130px;max-width:100%;text-align:center}.hero-copy h1{font-size:clamp(3rem,13vw,5rem)}.hero-actions{grid-template-columns:1fr 1fr;max-width:100%}.memorial-button{min-height:58px;font-size:.82rem}.feature-grid{grid-template-columns:1fr 1fr}.feature-item{padding:18px 10px}.slider-controls{bottom:10px}.gallery-hero{padding:115px 20px 36px}.memorial-gallery{columns:2 145px;column-gap:10px;padding-top:20px}.gallery-card{margin-bottom:10px;border-radius:7px}}
@media(max-width:420px){.hero-actions{grid-template-columns:1fr}.memorial-hero{min-height:860px}.feature-grid{grid-template-columns:1fr}.memorial-gallery{columns:2 130px}.hero-slide{background-position:66% center}}
@media(prefers-reduced-motion:reduce){.hero-slide,.gallery-card img{transition:none}.hero-slide{transform:none}}

/* Version 4.2: repaired carousel assets and restored family-photo slides */
.hero-slide{background-repeat:no-repeat;background-color:#071a31}
