/*
Theme Name: CostumeBloom Editorial
Theme URI: https://costumebloom.com/
Author: CostumeBloom
Description: Lightweight editorial WordPress theme for year-round costume ideas and affiliate guides.
Version: 1.7.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: costumebloom
*/
:root{--ink:#252126;--muted:#675f65;--rose:#a34e6b;--blush:#f8eef1;--cream:#fffaf7;--line:#eadfe2;--white:#fff;--max:1160px}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.7 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--rose)}img{max-width:100%;height:auto}h1,h2,h3,.brand{font-family:Georgia,'Times New Roman',serif;line-height:1.2}h1{font-size:clamp(2.6rem,5vw,4.6rem);letter-spacing:-.035em}h2{font-size:clamp(1.9rem,3vw,2.7rem)}h3{font-size:1.35rem}.wrap{max-width:var(--max);margin:auto;padding:0 24px}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:24px}.brand{font-size:2rem;font-weight:700;letter-spacing:-.04em}.brand span{color:var(--rose)}.tagline{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:-4px}.main-nav ul{list-style:none;display:flex;gap:23px;align-items:center;padding:0;margin:0}.main-nav a{font-size:.87rem;font-weight:650}.menu-toggle{display:none;background:var(--ink);color:#fff;border:0;border-radius:4px;padding:10px 14px}.hero{padding:76px 0 68px;background:linear-gradient(115deg,#fff7f6 0%,#f7e8ed 100%);border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px}.eyebrow{color:var(--rose);text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:750}.hero h1{margin:16px 0 20px}.hero p{max-width:560px;color:var(--muted);font-size:1.08rem}.btn{display:inline-block;background:var(--ink);color:#fff;padding:13px 24px;border-radius:4px;font-size:.87rem;font-weight:700;margin-top:15px}.btn:hover{background:var(--rose);color:#fff}.hero-art{min-height:380px;border-radius:170px 170px 8px 8px;background:radial-gradient(circle at 70% 30%,#f9d6dd,transparent 42%),linear-gradient(145deg,#e7b5c5,#b36c87);display:flex;align-items:center;justify-content:center;text-align:center;padding:40px;color:#fff;box-shadow:18px 18px 0 #fff}.hero-art strong{font:italic 3.2rem Georgia,serif;line-height:1.12;text-shadow:0 2px 16px #70405466}.section{padding:66px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}.section-head h2{margin:8px 0}.section-head p{margin:0;color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.category-card{background:#fff;border:1px solid var(--line);padding:28px;border-radius:7px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s}.category-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #3b202010}.category-card .num{color:var(--rose);font-size:.8rem;font-weight:700}.category-card h3{margin:14px 0 8px}.category-card p{margin:0;color:var(--muted);font-size:.91rem}.category-card .arrow{color:var(--rose);font-weight:700;margin-top:14px}.soft{background:#fff;border-block:1px solid var(--line)}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.post-card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}.post-card img,.post-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:linear-gradient(130deg,#f0d4dc,#e9b4c5)}.post-card-body{padding:21px}.post-card h3{margin:8px 0 12px}.meta{font-size:.77rem;letter-spacing:.07em;text-transform:uppercase;color:var(--rose);font-weight:750}.post-card p{font-size:.92rem;color:var(--muted);margin:0}.intro{max-width:850px;color:var(--muted)}.footer{background:#282229;color:#f7eff2;padding:45px 0;margin-top:40px}.footer-inner{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer a{color:#f7eff2}.footer p{color:#d3c6ce;font-size:.88rem}.footer-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:17px;margin:0;padding:0}.content-layout{display:grid;grid-template-columns:minmax(0,760px) 1fr;gap:55px}.article{background:#fff;padding:42px;border:1px solid var(--line);border-radius:6px}.article h1{font-size:clamp(2.2rem,4vw,3.4rem)}.article h2{margin-top:1.6em}.article p,.article li{line-height:1.85}.article a:not(.btn){color:var(--rose);text-decoration:underline}.article .featured{width:100%;height:auto;border-radius:5px;margin:18px 0}.sidebar{padding-top:12px}.sidebar-box{background:#fff;border:1px solid var(--line);padding:24px;margin-bottom:20px}.sidebar-box h3{margin-top:0}.sidebar-box ul{padding-left:19px}.pagination{margin:32px 0}.pagination .page-numbers{padding:8px 12px;border:1px solid var(--line);background:#fff;margin-right:4px}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.alignwide{max-width:1100px}.wp-block-image img{border-radius:5px}@media(max-width:850px){.hero-grid,.content-layout{grid-template-columns:1fr}.hero-art{min-height:250px;max-width:460px;width:100%;margin:auto}.category-grid,.post-grid{grid-template-columns:repeat(2,1fr)}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;padding:15px 24px;z-index:5;border-bottom:1px solid var(--line)}.main-nav.is-open{display:block}.main-nav ul{display:block}.main-nav li{padding:8px 0}}@media(max-width:550px){.category-grid,.post-grid{grid-template-columns:1fr}.hero{padding:48px 0}.section{padding:45px 0}.article{padding:23px}.header-inner{min-height:75px}.main-nav{top:75px}.brand{font-size:1.65rem}.hero-art{min-height:220px}.hero-art strong{font-size:2.5rem}}

/* v1.1: image-ready homepage, real WP categories, editable in Customizer */
.hero-photo{height:420px;border-radius:190px 190px 12px 12px;overflow:hidden;box-shadow:18px 18px 0 #fff;background:#d5a3b5;position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.hero-photo-empty{height:100%;padding:45px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;background:linear-gradient(145deg,#e7b5c5,#b36c87)}.hero-photo-empty span{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}.hero-photo-empty strong{font:italic clamp(2rem,3vw,3rem) Georgia,serif;line-height:1.16;margin:22px 0}.hero-photo-empty small{max-width:260px;font-size:.76rem;line-height:1.5}.category-photo-card{padding:0;min-height:280px;overflow:hidden}.category-photo-card img{display:block;width:100%;height:175px;object-fit:cover}.category-card-copy{padding:24px;display:flex;flex:1;flex-direction:column}.category-card-copy h3{margin:12px 0 8px}.category-card-copy .arrow{margin-top:auto;padding-top:16px}.category-photo-card:not(:has(img)){background:linear-gradient(150deg,#fff 55%,#f8e9ee)}.category-photo-card:nth-child(2n):not(:has(img)){background:linear-gradient(145deg,#fff 55%,#f3e8e2)}.category-photo-card:nth-child(3n):not(:has(img)){background:linear-gradient(145deg,#fff 55%,#e8e9f1)}.category-card:focus-visible,.btn:focus-visible{outline:3px solid var(--rose);outline-offset:3px}@media(max-width:850px){.hero-photo{max-width:470px;width:100%;height:340px;margin:0 auto}}@media(max-width:550px){.hero-photo{height:280px}.category-photo-card{min-height:230px}}
.post-no-image{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#f8eef1;color:#a34e6b;font:italic 1.7rem Georgia,serif}

/* v1.2: published-page footer navigation */
.cb-policy-links{list-style:none;display:flex;flex-wrap:wrap;gap:12px 20px;padding:0;margin:0}.cb-policy-links a{text-decoration:underline;text-underline-offset:3px}.category-photo-card:not(:has(img)) .category-card-copy{min-height:280px}

/* v1.4: single article polish */
.cb-single-section{padding-top:55px}.cb-article{padding:clamp(24px,4vw,48px)}.cb-article-header h1{font-size:clamp(2rem,3.35vw,3.05rem);line-height:1.16;letter-spacing:-.035em;margin:18px 0 22px;overflow-wrap:break-word}.cb-article-deck{font-size:1.12rem;line-height:1.7;color:var(--muted);margin:0 0 24px}.cb-featured-figure{margin:24px 0 28px}.cb-article .featured{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;margin:0;border-radius:7px}.cb-featured-figure figcaption{font-size:.82rem;color:var(--muted);margin-top:8px}.cb-byline{font-size:.83rem;color:var(--muted);border-bottom:1px solid var(--line);padding:0 0 19px;margin-bottom:25px}.cb-article-body{font-size:1.03rem}.cb-article-body h2{font-size:clamp(1.6rem,2.5vw,2.15rem);line-height:1.24;margin:1.75em 0 .65em;scroll-margin-top:24px}.cb-article-body h3{margin:1.4em 0 .5em}.cb-article-body p{margin:0 0 1.25em}.cb-article-body img{height:auto;max-width:100%}.cb-article-body ul,.cb-article-body ol{padding-left:1.5em}.cb-toc{background:#fff8fa;border:1px solid var(--line);border-radius:8px;padding:20px 24px;margin:25px 0}.cb-toc strong{font-family:Georgia,serif;font-size:1.25rem}.cb-toc ol{margin:10px 0 0;padding-left:22px}.cb-toc li{margin:5px 0}.cb-author-box{margin-top:38px;padding:22px;background:var(--cream);border:1px solid var(--line);border-radius:7px}.cb-author-box p{margin:5px 0 0;color:var(--muted);font-size:.9rem}.cb-related{margin-top:40px}.cb-related h2{font-size:1.8rem}.cb-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cb-related-grid .post-card img{aspect-ratio:16/10}.cb-related-grid .post-card h3{font-size:1.1rem}.cb-related-grid .post-card-body{padding:16px}@media(max-width:550px){.cb-single-section{padding-top:28px}.cb-article{padding:22px}.cb-article-header h1{font-size:clamp(1.95rem,9vw,2.5rem)}.cb-related-grid{grid-template-columns:1fr}}

/* v1.5: scoped single-post typography. These rules intentionally come after legacy .article rules. */
body.single-post .cb-article .cb-article-header h1{font-size:clamp(2rem,2.6vw,2.75rem);line-height:1.18;letter-spacing:-.025em;margin:14px 0 18px;max-width:100%;overflow-wrap:break-word}
body.single-post .cb-article .cb-article-body h2{font-size:clamp(1.5rem,2vw,1.85rem);line-height:1.3;margin:1.45em 0 .55em}
body.single-post .cb-article .cb-article-body h3{font-size:clamp(1.2rem,1.6vw,1.4rem);line-height:1.35;margin:1.35em 0 .5em}
body.single-post .cb-article .cb-article-body>:last-child{margin-bottom:0}
body.single-post .cb-article{padding-bottom:clamp(24px,3vw,38px)}
body.single-post .cb-single-section{padding-bottom:35px}
@media(max-width:550px){body.single-post .cb-article .cb-article-header h1{font-size:clamp(1.85rem,7.5vw,2.15rem);line-height:1.2}body.single-post .cb-article .cb-article-body h2{font-size:1.5rem}body.single-post .cb-article .cb-article-body h3{font-size:1.22rem}body.single-post .cb-single-section{padding-bottom:24px}}

/* CostumeBloom editorial controls v1.6 */
.cb-enhanced-sidebar .sidebar-box{border-radius:12px;box-shadow:0 8px 28px rgba(50,25,42,.045);padding:27px;margin-bottom:22px}
.cb-side-eyebrow{font-size:.7rem;letter-spacing:.16em;font-weight:800;color:var(--rose)}
.cb-side-intro{background:linear-gradient(145deg,#fff,#fff1f5)!important}
.cb-enhanced-sidebar h3{font-size:1.48rem;margin:8px 0 15px}
.cb-enhanced-sidebar p{font-size:.94rem;line-height:1.75;color:var(--muted)}
.cb-side-button{display:inline-block;background:var(--ink);color:white!important;border-radius:7px;padding:9px 15px;font-size:.86rem;font-weight:700;margin-top:5px}
.cb-side-button:hover{background:var(--rose)}
.cb-enhanced-sidebar ul{list-style:none;padding:0;margin:0}
.cb-enhanced-sidebar li{border-top:1px solid var(--line);margin:0;padding:11px 0;font-size:.91rem;line-height:1.45}
.cb-enhanced-sidebar li a{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cb-enhanced-sidebar li span{background:var(--blush);color:var(--rose);border-radius:30px;padding:1px 8px;font-size:.75rem;font-weight:700}
.cb-inline-related{background:#fff8fa;border:1px solid var(--line);padding:20px 24px;border-radius:10px;margin:30px 0}
.cb-inline-related h2{font-size:1.35rem!important;margin:0 0 10px!important}.cb-inline-related ul{margin:0;padding-left:22px}

/* Editorial cross-guide link */
.cbam-guide-link{margin:2rem 0;padding:1.1rem 1.3rem;border:1px solid #ead7df;border-radius:12px;background:#fff8fa;line-height:1.6}.cbam-guide-link a{color:#963c62;text-decoration:underline;text-underline-offset:3px}
