/*
Theme Name: My Lakewood Santa Winter
Description: A warm Christmas and winter theme for Santa Russell, with Media Library photo albums.
Version: 1.0.1
Requires at least: 6.2
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: my-lakewood-santa-winter
*/
:root{--pine:#183753;--pine-dark:#10263d;--red:#9c2938;--cream:#f8fbff;--paper:#e7f2fb;--ink:#142b43;--muted:#455e73;--gold:#47769e;--line:#cbddeb;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;scroll-behavior:smooth;scroll-padding-top:30px}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 var(--sans)}body.viewer-open{overflow:hidden}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1}h1{font-size:clamp(44px,5.1vw,74px);letter-spacing:-2.5px}h2{font-size:clamp(36px,3.6vw,51px);letter-spacing:-1.5px}h3{font-size:29px;letter-spacing:-.5px}p+p{margin-top:1.2em}.wrap{width:min(1220px,calc(100% - 80px));margin:auto}.section{padding-top:100px;padding-bottom:100px}.eyebrow{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;color:var(--red);margin-bottom:24px}.eyebrow span{margin-right:10px;font-size:19px}.topline{background:var(--pine);color:var(--cream);font-size:11px;text-align:center;letter-spacing:1px;padding:10px 20px}.site-header{background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-family:var(--serif);font-size:26px;font-weight:700;line-height:1.1;display:flex;align-items:center;gap:14px;text-decoration:none;white-space:nowrap}.brand-snow{font-weight:400;font-size:40px;color:var(--red)}.brand small{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;display:block;margin-top:9px}#primary-nav{display:flex;align-items:center;gap:30px}.nav-links{display:flex;gap:24px;list-style:none;margin:0;padding:0;font-size:12px;font-weight:600}.nav-links a{text-decoration:none}.nav-links a:hover{color:var(--red)}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;text-decoration:none;background:var(--red);color:white;padding:15px 24px;font-size:12px;font-weight:600;line-height:1.4;border:1px solid var(--red);border-radius:2px;transition:background .2s}.button:hover{background:#7e1d2a}.button-small{font-size:11px;padding:12px 18px;gap:16px}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 15%,#d5eafa 0,transparent 50%),var(--cream)}.hero::after{content:'✧';position:absolute;left:47%;bottom:14px;color:#91b7d5;font-size:110px;line-height:1;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center;padding-top:60px;padding-bottom:75px}.hero-copy{padding-bottom:10px}.hero .intro{font-size:16px;color:var(--muted);max-width:540px;margin-top:28px;line-height:1.9}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:20px;margin-top:30px}.text-link{font-weight:600;font-size:12px;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}.text-link span{margin-left:12px}.location{font-size:11px;margin-top:28px;color:var(--muted)}.location span{color:var(--red);font-size:20px;margin-right:8px}.hero-portrait{position:relative;padding:15px 15px 24px 0}.portrait-frame{position:relative;background:var(--pine);border-radius:48% 48% 3px 3px;padding:12px;box-shadow:17px 19px 0 #c4def2}.portrait-frame img{width:100%;height:510px;object-fit:cover;object-position:center 30%;border-radius:48% 48% 1px 1px}.portrait-frame:empty{height:510px}.portrait-note{position:absolute;right:-8px;bottom:2px;background:var(--cream);padding:16px 25px;font-family:var(--serif);font-style:italic;font-size:18px;color:var(--pine);line-height:1.4;transform:rotate(-4deg);box-shadow:0 3px 15px #10263d18;border:1px solid var(--line)}.portrait-star{position:absolute;left:-35px;top:5px;font-size:85px;color:var(--gold);line-height:1}.trust-band{background:var(--pine);color:var(--cream);padding:25px 0}.trust-band .wrap{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.trust-band p+p{margin:0;border-left:1px solid #ffffff30}.trust-band strong{font-family:var(--serif);font-size:23px;font-weight:400;display:block}.trust-band span{font-size:10px;color:#d7eafa;letter-spacing:.5px;display:block;margin-top:4px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:42px}.section-heading>p{max-width:380px;font-size:14px;color:var(--muted);line-height:1.8}.section-heading .eyebrow{margin-bottom:16px}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.visit-grid article{padding:30px 28px 35px}.visit-grid article:first-child{padding-left:0}.visit-grid article:last-child{padding-right:0}.visit-grid article+article{border-left:1px solid var(--line)}.service-number{display:block;color:var(--red);font-size:10px;letter-spacing:1.5px;margin-bottom:25px}.visit-grid h3{max-width:240px;min-height:64px;font-size:28px}.visit-grid p{margin-top:20px;font-size:13px;color:var(--muted);min-height:100px}.visit-grid a{font-size:11px;font-weight:600;text-decoration:none;display:inline-block;margin-top:20px}.visit-grid a span{margin-left:12px}.about-section{background:var(--paper);padding:85px 0}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:start}.about-photo{position:sticky;top:40px;margin-top:12px}.about-photo img{width:100%;height:560px;object-fit:cover;object-position:center;border:10px solid var(--cream)}.about-photo span{font:italic 19px var(--serif);text-align:center;display:block;margin-top:17px}.about-copy h2{margin-bottom:28px}.prose{font-size:15px;line-height:1.9}.prose p+p{margin-top:1.3em}.prose h3{font-size:25px;margin:32px 0 15px}.prose h3:first-child{margin-top:0}.prose h1{margin-bottom:30px}.prose ul,.prose ol{padding-left:24px}.prose img{margin:20px 0}.album-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.album-filters button{border:1px solid #b6ccdf;color:var(--pine);background:transparent;padding:10px 18px;font-size:11px;border-radius:2px}.album-filters button[aria-pressed=true],.album-filters button:hover{background:var(--pine);color:white;border-color:var(--pine)}.photo-grid{display:grid;grid-template-columns:repeat(var(--album-columns,3),minmax(0,1fr));gap:18px;align-items:start}.photo-grid figure{margin:0;min-width:0}.photo-grid figure[hidden]{display:none}.photo-link{display:block;position:relative;background:var(--paper);overflow:hidden}.photo-grid img{width:100%;height:auto;transition:transform .3s}.photo-link:hover img{transform:scale(1.025)}.shape-square img{aspect-ratio:1;object-fit:cover}.shape-landscape img{aspect-ratio:4/3;object-fit:cover}.photo-enlarge{position:absolute;bottom:10px;right:10px;display:grid;place-items:center;width:32px;height:32px;background:var(--cream);color:var(--pine);border-radius:50%;font-size:16px;box-shadow:0 1px 10px #0002}.album-count{font-size:11px;margin-top:20px;color:var(--muted)}.reviews-section{background:#e8f3fc;padding:85px 0}.rating{text-align:right;display:flex;flex-direction:column;gap:4px;font-size:13px}.rating>span{color:var(--red);font-size:19px;letter-spacing:3px}.rating strong{font-size:13px}.rating small{font-size:10px;color:var(--muted)}.review-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bed6e9;border-bottom:1px solid #bed6e9}.review{margin:0;padding:20px 22px 28px}.review+.review{border-left:1px solid #bed6e9}.review-mark{font:58px/1 var(--serif);color:var(--gold);display:block;height:45px}.review blockquote{margin:0;font:22px/1.5 var(--serif);min-height:112px}.review figcaption{display:flex;flex-direction:column;font-size:11px;gap:3px;margin-top:22px}.review figcaption strong{font-size:12px}.review figcaption a{font-size:10px;margin-top:9px}.review-footnote{font-size:11px;color:var(--muted);margin-top:25px}.planning-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.planning-grid>div:first-child>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:25px 0}.visit-notes{padding-left:35px;border-left:1px solid var(--line)}.booking-section{position:relative;overflow:hidden;background:var(--pine);color:var(--cream);text-align:center;padding:75px 0 80px}.booking-section .wrap{position:relative}.booking-section .eyebrow{color:#b9dff9;margin-bottom:20px}.booking-section h2{font-size:clamp(40px,4vw,58px)}.booking-section p:not(.eyebrow){font-size:13px;margin-top:25px;color:#d7eafa}.button-cream{background:var(--cream);border-color:var(--cream);color:var(--pine);margin-top:28px}.button-cream:hover{background:#d9ecfa}.booking-section small{display:block;font-size:10px;margin-top:14px;color:#d7eafa}.booking-snow{position:absolute;font-size:170px;color:#ffffff10;right:0;top:10px;line-height:1}.site-footer{padding:40px 0;background:var(--cream);border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-inner>div:last-child{text-align:right}.site-footer .brand{font-size:23px}.site-footer p{font-size:10px;color:var(--muted);margin-top:12px}.site-footer a:not(.brand){font-size:11px}.site-footer ul{list-style:none;padding:0;margin:8px 0}.photo-dialog{color:var(--cream);background:#101f33;border:none;padding:20px;width:min(1150px,95vw);max-height:94dvh;border-radius:4px;overflow:auto}.photo-dialog::backdrop{background:#071323ed}.photo-dialog:not([open]){display:none}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:12px}.photo-dialog button{background:transparent;color:var(--cream);border:1px solid #ffffff55;border-radius:3px;font-size:14px;padding:8px 13px}.photo-dialog button:hover{background:#ffffff20}.viewer-stage{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:100px}.viewer-image{max-width:calc(100% - 120px);max-height:70dvh;width:auto;height:auto;object-fit:contain;margin:auto}.viewer-caption{text-align:center;font-size:12px;margin-top:15px}.skip-link{position:absolute;z-index:1000;background:var(--cream);color:var(--pine);padding:15px;left:10px;top:-100px}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #3a6c9e;outline-offset:5px}.alignwide{max-width:1200px}.alignfull{width:100%}.wp-caption-text{font-size:12px}.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap}.prose article+article{margin-top:60px}
@media(min-width:900px){.shape-natural{align-items:start}.shape-natural figure:nth-child(3n+2){margin-top:28px}}
@media(max-width:1100px){.wrap{width:calc(100% - 50px)}.brand{font-size:23px}.brand-snow{font-size:30px}.nav-links{gap:16px}#primary-nav{gap:20px}.hero-grid{gap:40px}.portrait-frame img{height:460px}.about-grid{gap:45px}.review{padding:20px 16px}.review blockquote{font-size:20px}.planning-grid{gap:55px}}
@media(max-width:900px){.header-inner{min-height:88px;position:relative}.menu-toggle{display:block;background:transparent;border:1px solid var(--line);color:var(--pine);padding:8px 12px;font-size:12px}#primary-nav{display:none;position:absolute;left:-25px;right:-25px;top:100%;padding:25px;background:var(--cream);z-index:10;border-bottom:1px solid var(--line)}#primary-nav.is-open{display:flex;align-items:stretch;flex-direction:column}.nav-links{flex-direction:column;gap:16px}.hero-grid{grid-template-columns:1.05fr .95fr;gap:30px}.hero h1{font-size:49px}.hero .intro{font-size:14px}.portrait-frame img{height:430px}.portrait-note{font-size:15px;right:-8px}.hero::after{display:none}.section{padding-top:70px;padding-bottom:70px}.section-heading{gap:30px}.section-heading>p{max-width:300px;font-size:13px}.visit-grid h3{font-size:25px;min-height:56px}.visit-grid article{padding:28px 18px}.visit-grid p{min-height:140px}.about-grid{grid-template-columns:.8fr 1.2fr;gap:30px}.about-photo img{height:470px}.prose{font-size:14px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-grid{grid-template-columns:repeat(2,1fr)}.review blockquote{min-height:70px}.review:nth-child(3){border-left:0;border-top:1px solid #bed6e9}.review:nth-child(4){border-top:1px solid #bed6e9}.planning-grid{grid-template-columns:.8fr 1.2fr;gap:35px}.visit-notes{padding-left:25px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.topline{font-size:9px;letter-spacing:.25px}.brand{font-size:21px;gap:8px}.brand small{font-size:7px;letter-spacing:.9px}.brand-snow{font-size:29px}.hero-grid{display:flex;flex-direction:column;padding-top:42px;padding-bottom:46px;gap:30px}.hero-copy{width:100%}.hero h1{font-size:49px;letter-spacing:-1.8px;max-width:410px}.hero .eyebrow{font-size:9px;margin-bottom:18px}.hero .intro{font-size:14px}.hero-actions .button{width:100%;font-size:11px}.hero-portrait{width:85%;align-self:center;padding:12px 12px 18px 0;margin-top:2px}.portrait-frame img{height:380px;object-position:center 25%}.portrait-star{font-size:65px;left:-25px}.portrait-note{font-size:16px;right:-15px}.location{font-size:10px}.trust-band{padding:20px 0}.trust-band .wrap{gap:6px}.trust-band strong{font-size:15px;line-height:1.3}.trust-band span{font-size:8px;line-height:1.4;max-width:100px;margin:7px auto 0}.trust-band p{padding:0 4px}.section{padding-top:55px;padding-bottom:55px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:none;margin-top:22px;font-size:13px}h2{font-size:37px}.eyebrow{font-size:9px;letter-spacing:2px}.visit-grid{display:block}.visit-grid article,.visit-grid article:first-child,.visit-grid article:last-child{padding:25px 0}.visit-grid article+article{border-left:0;border-top:1px solid var(--line)}.service-number{margin-bottom:16px}.visit-grid h3{min-height:0;max-width:none;font-size:28px}.visit-grid p{min-height:0;margin-top:14px}.visit-grid a{margin-top:15px}.about-section{padding:50px 0}.about-grid{display:flex;flex-direction:column;gap:35px}.about-photo{position:static;max-width:370px;width:100%;margin:auto}.about-photo img{height:430px;object-fit:cover}.about-photo span{font-size:16px}.about-copy h2{font-size:37px}.album-filters{gap:7px}.album-filters button{font-size:10px;padding:9px 11px}.photo-grid{gap:10px}.photo-enlarge{height:26px;width:26px;bottom:7px;right:7px}.reviews-section{padding:50px 0}.rating{text-align:left;margin-top:25px}.review-grid{display:block}.review{padding:22px 0}.review+.review,.review:nth-child(3),.review:nth-child(4){border-left:0;border-top:1px solid #bed6e9}.review blockquote{min-height:0;font-size:24px}.review figcaption{margin-top:17px}.review-footnote a{display:block;margin-top:8px}.planning-grid{display:block}.visit-notes{padding:30px 0 0;border-left:0;border-top:1px solid var(--line);margin-top:30px}.booking-section{padding:55px 0}.booking-section h2{font-size:38px}.booking-snow{font-size:100px;right:-5px;top:-10px}.booking-section p br{display:none}.footer-inner{display:block}.footer-inner>div:last-child{text-align:left;margin-top:25px}.viewer-stage{gap:6px}.viewer-image{max-width:calc(100% - 74px);max-height:65dvh}.photo-dialog{padding:12px}.photo-dialog .viewer-prev,.photo-dialog .viewer-next{padding:6px 8px}.viewer-caption{font-size:10px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

.album-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.album-bottom .album-count{margin:0}.album-more[hidden]{display:none}.shape-square img,.shape-landscape img{object-position:center 30%}.brand-snow,.booking-snow{font-family:Georgia,serif;font-variant-emoji:text}

/* Decorative snowflakes use CSS shapes, so photographs remain Media Library assets. */
.hero {
    background: radial-gradient(ellipse at 88% 22%, #c6e3f8 0, #e4f2fd 38%, transparent 69%),
        linear-gradient(160deg, #f8fbff 36%, #e2f0fb);
}

.hero::after { content: none; }
.hero-grid { position: relative; }

.winter-flurries {
    position: absolute;
    inset: 0;
    pointer-events: none;
    color: #548bb4;
}

.winter-flurries span {
    position: absolute;
    top: var(--y);
    left: var(--x);
    width: var(--size);
    aspect-ratio: 1;
    background: currentColor;
    opacity: var(--opacity);
    transform: rotate(var(--angle));
    clip-path: polygon(
        46% 0, 54% 0, 54% 13%, 64% 7%, 68% 14%, 54% 23%, 54% 43%,
        71% 33%, 72% 17%, 80% 17%, 79% 29%, 91% 22%, 95% 29%, 83% 36%,
        94% 41%, 91% 48%, 76% 41%, 60% 50%, 76% 59%, 91% 52%, 94% 59%,
        83% 64%, 95% 71%, 91% 78%, 79% 71%, 80% 83%, 72% 83%, 71% 67%,
        54% 57%, 54% 77%, 68% 86%, 64% 93%, 54% 87%, 54% 100%, 46% 100%,
        46% 87%, 36% 93%, 32% 86%, 46% 77%, 46% 57%, 29% 67%, 28% 83%,
        20% 83%, 21% 71%, 9% 78%, 5% 71%, 17% 64%, 6% 59%, 9% 52%,
        24% 59%, 40% 50%, 24% 41%, 9% 48%, 6% 41%, 17% 36%, 5% 29%,
        9% 22%, 21% 29%, 20% 17%, 28% 17%, 29% 33%, 46% 43%, 46% 23%,
        32% 14%, 36% 7%, 46% 13%
    );
}

.winter-flurries span:nth-child(1) { --x: 3%; --y: 83%; --size: 70px; --opacity: .18; --angle: 13deg; }
.winter-flurries span:nth-child(2) { --x: 37%; --y: 89%; --size: 38px; --opacity: .32; --angle: -13deg; }
.winter-flurries span:nth-child(3) { --x: 52%; --y: 8%; --size: 75px; --opacity: .33; --angle: 14deg; }
.winter-flurries span:nth-child(4) { --x: 74%; --y: 3%; --size: 33px; --opacity: .50; --angle: -14deg; }
.winter-flurries span:nth-child(5) { --x: 95%; --y: 10%; --size: 84px; --opacity: .42; --angle: 18deg; }
.winter-flurries span:nth-child(6) { --x: 94%; --y: 72%; --size: 53px; --opacity: .37; --angle: 7deg; }
.winter-flurries span:nth-child(7) { --x: 57%; --y: 81%; --size: 48px; --opacity: .30; --angle: 22deg; }

.booking-section { background: radial-gradient(ellipse at 50% 0, #234d71, var(--pine-dark) 78%); }
.brand-snow { color: #36688e; }

@media (max-width: 600px) {
    .winter-flurries span:nth-child(3) { --x: 79%; --y: 1%; --size: 51px; --opacity: .23; }
    .winter-flurries span:nth-child(5) { --x: 84%; --y: 58%; --size: 64px; }
    .winter-flurries span:nth-child(6) { --x: 86%; --y: 82%; --size: 40px; }
    .winter-flurries span:nth-child(7) { --x: 1%; --y: 75%; --size: 53px; }
}
