/*
Theme Name: Chloe Marie Photography
Theme URI: https://example.com/
Author: Chloe Marie Photography
Description: A clean, minimal photography portfolio block theme with a homepage slideshow, photo mosaic, masonry galleries and lightbox. Pages and menu are created automatically on activation.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: chloe-marie
*/
@media (prefers-color-scheme:dark){body{--wp--preset--color--base:#141A18;--wp--preset--color--contrast:#E8ECE7;--wp--preset--color--muted:#9AA6A0;--wp--preset--color--line:#2D3733;--wp--preset--color--accent:#8FB1C1;--wp--preset--color--accent-contrast:#10181B;--wp--preset--color--panel:#1C2421}}
img{max-width:100%;height:auto}
.wp-site-blocks>*{margin-block-start:0}
.wp-site-blocks>main{margin-block-start:0}
/* header */
header.wp-block-template-part{position:sticky;top:0;z-index:50;background:var(--wp--preset--color--base);border-bottom:1px solid var(--wp--preset--color--line)}
body.admin-bar header.wp-block-template-part{top:32px}
.cm-header{padding:0 24px}.cm-header-in{min-height:72px}
.cm-brand,.cm-brand a{font-family:var(--wp--preset--font-family--heading);font-size:1.15rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;margin:0}
/* menu */
.cm-menu{position:relative}
.cm-menu-btn{display:none;align-items:center;gap:12px;background:none;border:1px solid var(--wp--preset--color--line);color:var(--wp--preset--color--contrast);padding:10px 16px;font:inherit;font-size:.95rem;border-radius:2px;cursor:pointer}
.cm-bars{position:relative;display:inline-block;width:18px;height:2px;background:currentColor}
.cm-bars::before,.cm-bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
.cm-bars::before{top:-6px}.cm-bars::after{top:6px}
.cm-menu-list,.cm-menu-list ul{list-style:none;margin:0;padding:0}
.cm-menu-list{display:flex;align-items:center;gap:30px}
.cm-menu-list li{position:relative;margin:0}
.cm-menu-list a{display:block;padding:8px 0;text-decoration:none;font-size:.95rem;color:var(--wp--preset--color--muted)}
.cm-menu-list a:hover,.cm-menu-list .current_page_item>a,.cm-menu-list .current_page_ancestor>a{color:var(--wp--preset--color--contrast)}
.cm-menu-list .current_page_item>a{box-shadow:0 1px 0 var(--wp--preset--color--contrast)}
.cm-menu-list .children{display:none;position:absolute;top:100%;left:-16px;z-index:60;min-width:200px;padding:8px 16px;background:var(--wp--preset--color--base);border:1px solid var(--wp--preset--color--line)}
.cm-menu-list li:hover>.children,.cm-menu-list li:focus-within>.children{display:block}
@media(max-width:900px){
 .cm-menu{position:static}
 .cm-menu-btn{display:inline-flex}
 .cm-menu-list{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:6px 24px 18px;background:var(--wp--preset--color--base);border-bottom:1px solid var(--wp--preset--color--line);max-height:calc(100vh - 80px);overflow-y:auto}
 .cm-menu.is-open .cm-menu-list{display:flex}
 .cm-menu-list>li{border-bottom:1px solid var(--wp--preset--color--line)}
 .cm-menu-list>li:last-child{border-bottom:0}
 .cm-menu-list a{padding:15px 0;font-size:1.05rem}
 .cm-menu-list .children{display:block;position:static;min-width:0;padding:0 0 8px 16px;border:0;background:none}
 .cm-menu-list .children a{padding:9px 0;font-size:.98rem}
}
/* sections */
.cm-main{margin:0}
.cm-section{padding:96px 24px}
.cm-page-title{font-size:var(--wp--preset--font-size--x-large)}
.cm-work-h{font-size:2rem;margin:64px 0 0}
.cm-work .wp-block-buttons{margin-top:18px}
.cm-work .wp-block-gallery.cm-masonry{margin-top:20px}
.single .wp-block-post-content>*,.single .wp-block-post-title{max-width:760px;margin-left:auto;margin-right:auto}
.cm-lead{color:var(--wp--preset--color--muted);max-width:52ch;font-size:1.1rem}
.cm-h2{font-size:clamp(2rem,3.8vw,3.2rem)}
.cm-intro{gap:64px}.cm-intro .wp-block-column p{color:var(--wp--preset--color--muted)}
.is-style-outline .wp-block-button__link{background:none;color:var(--wp--preset--color--contrast);border:1px solid var(--wp--preset--color--contrast)}
/* hero slideshow */
.cm-hero{position:relative;height:min(78vh,720px);min-height:420px;overflow:hidden;background:var(--wp--preset--color--panel);margin:0}
.cm-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease}
.cm-slide>*{margin:0}
.cm-hero:not(.is-js) .cm-slide:first-child,.cm-slide.is-active{opacity:1}
.cm-hero:not(.is-js) .cm-slide:not(:first-child){display:none}
.cm-slide-img,.cm-cta-img{position:absolute;inset:0;margin:0!important}
.cm-slide-img img,.cm-cta-img img{width:100%;height:100%;object-fit:cover}
.cm-slide::after,.cm-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,14,12,.6),rgba(10,14,12,0) 55%);pointer-events:none}
.cm-cap{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:0 24px 64px;max-width:1180px;margin:0 auto!important;color:#fff}
.cm-eyebrow{margin:0 0 6px;font-size:1rem;opacity:.92;color:#fff}
.cm-slide-title{margin:0;font-size:clamp(2.6rem,7vw,5.5rem);line-height:1;max-width:14ch;color:#fff}
.cm-dots{position:absolute;z-index:3;right:24px;bottom:28px;display:flex;gap:10px}
.cm-dots button{width:34px;height:4px;border:0;padding:0;background:rgba(255,255,255,.45);cursor:pointer;border-radius:2px}
.cm-dots button[aria-current="true"]{background:#fff}
/* mosaic */
.cm-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:120px;gap:10px}
.cm-mosaic>*{margin:0!important}
.cm-mosaic figure{height:100%;margin:0}
.cm-mosaic img{width:100%;height:100%;object-fit:cover;border-radius:2px;display:block}
.cm-m1{grid-column:span 2;grid-row:span 3}.cm-m2,.cm-m3,.cm-m4,.cm-m5{grid-row:span 2}.cm-m6{grid-column:span 2;grid-row:span 2}
/* quote */
.cm-quote{background:var(--wp--preset--color--panel);padding:96px 24px;text-align:center}
.cm-quote blockquote{margin:0 auto;max-width:22ch;border:0;padding:0;font-family:var(--wp--preset--font-family--heading);font-style:italic;font-size:clamp(2rem,5vw,3.8rem);line-height:1.12}
.cm-quote cite{display:block;margin-top:22px;font-style:normal;color:var(--wp--preset--color--muted);font-size:.95rem}
/* cards */
.cm-card-img{margin:0 0 16px}.cm-card-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px}
.cm-card-h{margin:0;font-size:1.9rem;border-bottom:1px solid var(--wp--preset--color--line);padding-bottom:10px}
.cm-card-p{margin:10px 0 0;color:var(--wp--preset--color--muted);font-size:.95rem}
/* cta */
.cm-cta{position:relative;min-height:480px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;margin:0}
.cm-cta::after{background:rgba(10,14,12,.45)}
.cm-cta-in{position:relative;z-index:2;padding:80px 24px;margin:0!important;color:#fff}
.cm-cta-h{color:#fff;font-size:clamp(2.4rem,6vw,4.5rem);margin:0 0 28px;line-height:1.02}
.cm-cta .wp-block-button__link{background:#fff;color:#1E2724}
.cm-cta .wp-block-buttons{justify-content:center}
/* galleries */
.wp-block-gallery.cm-masonry{display:block;columns:3;column-gap:14px;margin-top:40px}
.cm-masonry .wp-block-image{width:100%!important;break-inside:avoid;margin:0 0 14px!important;display:block}
.cm-masonry img{width:100%;height:auto;display:block;border-radius:2px}
.cm-gal-cta{margin-top:56px;text-align:center}
/* about/pricing/steps */
.cm-about{gap:64px}.cm-about-img img{width:100%;border-radius:2px}
.cm-pkg{border:1px solid var(--wp--preset--color--line);padding:32px;border-radius:2px;height:100%}
.cm-price{font-family:var(--wp--preset--font-family--heading);font-size:2rem;margin:0}
.cm-step-n{font-family:var(--wp--preset--font-family--heading);font-size:2.4rem;color:var(--wp--preset--color--accent);margin:0}
.cm-note{color:var(--wp--preset--color--muted);font-size:.9rem;margin-top:32px}
.cm-btnrow .wp-block-buttons{gap:12px}
/* footer */
.cm-footer{padding:36px 24px;border-top:1px solid var(--wp--preset--color--line);color:var(--wp--preset--color--muted);font-size:.95rem}
.cm-footer p{margin:0}
@media(max-width:781px){
 .cm-section{padding:64px 20px}.cm-intro,.cm-about{gap:32px}
 .wp-block-gallery.cm-masonry{columns:2;column-gap:10px}.cm-masonry .wp-block-image{margin-bottom:10px!important}
 .cm-mosaic{grid-auto-rows:90px}
}
@media(prefers-reduced-motion:reduce){.cm-slide{transition:none}}
/* block editor: show hero slides stacked so they can be edited */
.editor-styles-wrapper .cm-hero{height:auto;overflow:visible}
.editor-styles-wrapper .cm-slide{position:relative;height:380px;opacity:1!important;display:block!important;margin-bottom:8px}
.editor-styles-wrapper .cm-cta{min-height:380px}
