/*
Theme Name: Competitive Witchcraft Studio v3.2
Theme URI: https://competitivewitchcraft.com/
Description: Clear labeled Gutenberg templates; exact owned logos; monochrome photo grid with cool red hover; inquiry-only shop pages.
Version: 3.2.0
Template: twentytwentyfive
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: competitivewitchcraft
*/
:root{--cw-red:#B80F35;--cw-ink:#000;--cw-paper:#fff;--cw-gap:8px;--cw-max:1440px}
html{scrollbar-color:var(--cw-red) #ebebeb;scrollbar-width:thin;scroll-behavior:smooth}
::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:#ededed}::-webkit-scrollbar-thumb{background:var(--cw-red);border:2px solid #ededed;border-radius:0}
body{margin:0;background:#fff;color:#000;font-family:"Satoshi",Arial,Helvetica,sans-serif}
body,button,input,textarea,select{font-family:"Satoshi",Arial,Helvetica,sans-serif}
h1,h2,h3,h4,h5,h6{font-family:"Ranade","Satoshi",Arial,sans-serif}
a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--cw-red);outline-offset:3px}
.cw-header{background:#fff;position:relative;z-index:30;padding:21px clamp(16px,3vw,55px);border-bottom:1px solid #f2f2f2}
.cw-header-inner{max-width:var(--cw-max);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:38px!important}
.cw-brand-logo{display:block;line-height:0;flex-shrink:1;max-width:355px;width:clamp(205px,29vw,355px)}
.cw-brand-logo img{display:block;height:auto;width:100%}
.cw-navigation{margin-left:auto;font:600 12px/1.25 "Satoshi",Arial,sans-serif;letter-spacing:.075em}
.cw-navigation ul{display:flex;list-style:none;gap:clamp(20px,2.8vw,48px);margin:0;padding:0;align-items:center}
.cw-navigation a{text-decoration:none;color:#000;display:block;padding:10px 0 8px;border-bottom:2px solid transparent;white-space:nowrap}
.cw-navigation a:hover,.cw-navigation a[aria-current="page"]{border-color:var(--cw-red)}
.cw-menu-details{display:none}
.cw-home-main,.cw-shop-page{padding:26px clamp(14px,2.8vw,48px) 80px}
.cw-home-feed,.cw-shop-grid{max-width:var(--cw-max)!important;margin:0 auto!important}
.cw-home-feed .wp-block-post-template,.cw-shop-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--cw-gap)!important;list-style:none;padding:0;margin:0}
.cw-home-feed .wp-block-post{margin:0;min-width:0}.cw-post-card{display:block;min-width:0;position:relative;isolation:isolate;overflow:hidden;background:#e8e8e8}
.cw-post-card .cw-card-photo{margin:0!important;line-height:0;overflow:hidden}
.cw-post-card .cw-card-photo a{position:relative;display:block;aspect-ratio:1/1;overflow:hidden}
.cw-post-card .cw-card-photo a:after,.cw-shop-card a:after{content:"";position:absolute;inset:0;background:rgba(184,15,53,.65);opacity:0;transition:opacity .23s ease;pointer-events:none}
.cw-post-card .cw-card-photo img,.cw-shop-card img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(100%);transition:transform .36s ease;}
.cw-card-title{position:absolute;z-index:2;left:20px;right:20px;bottom:22px;color:white!important;font:600 clamp(14px,1.55vw,23px)/1.2 "Satoshi",Arial,sans-serif!important;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;margin:0!important;pointer-events:none;}
.cw-card-title a{color:inherit!important;text-decoration:none}.cw-post-card:is(:hover,:focus-within) .cw-card-photo a:after,.cw-shop-card:is(:hover,:focus-within) a:after{opacity:1}
.cw-post-card:is(:hover,:focus-within) img,.cw-shop-card:is(:hover,:focus-within) img{transform:scale(1.03)}
.cw-post-card:is(:hover,:focus-within) .cw-card-title{opacity:1;transform:none}
.cw-shop-card{position:relative;overflow:hidden;min-width:0;background:#efefef}.cw-shop-card a{display:block;position:relative;aspect-ratio:1/1;overflow:hidden}
.cw-shop-caption{position:absolute;z-index:1;left:20px;bottom:20px;color:#fff;font:600 clamp(14px,1.5vw,22px)/1.2 "Satoshi",Arial,sans-serif;opacity:0;transform:translateY(6px);transition:.2s;pointer-events:none}
.cw-shop-card:is(:hover,:focus-within) .cw-shop-caption{opacity:1;transform:none}
.cw-placeholder-photo{background:linear-gradient(135deg,#161616,#888);width:100%;height:100%;aspect-ratio:1}
.cw-empty{padding:35px 10px;font-size:15px;color:#444}
.cw-pagination{display:flex;gap:13px;align-items:center;justify-content:center;margin-top:40px}.cw-pagination a{text-decoration:none}.cw-pagination .current{border-bottom:2px solid var(--cw-red)}
.cw-simple-page,.cw-split-page,.cw-contact-page,.cw-item-page,.cw-article-page{padding:clamp(34px,5vw,85px) clamp(18px,4vw,65px) 90px}
.cw-simple-page>*,.cw-split-page>*,.cw-contact-page>*,.cw-item-page>*{max-width:var(--cw-max)!important}
.cw-page-title{font:400 clamp(44px,6.8vw,90px)/1 "Ranade","Satoshi",Arial,sans-serif;letter-spacing:-.035em;margin:0 0 27px!important;text-transform:uppercase}
.cw-about-columns,.cw-item-columns{gap:clamp(30px,4vw,85px)!important}.cw-about-visual .wp-block-post-featured-image{margin:0!important}.cw-about-visual img{display:block;width:100%;height:auto;filter:grayscale(1)}
.cw-about-copy{padding:20px 0;max-width:520px}.cw-about-copy p{font-size:clamp(17px,1.7vw,21px);line-height:1.55}
.cw-about-copy:after{content:"";display:block;width:64px;height:4px;background:var(--cw-red);margin-top:30px}
.cw-contact-inner{max-width:780px!important;margin-left:auto;margin-right:auto!important}
.cw-contact-inner .wp-block-post-content{font-size:17px;line-height:1.6}
.cw-item-media>.wp-block-post-featured-image{margin:0 0 12px!important}.cw-item-featured img{width:100%;height:auto;display:block;filter:grayscale(1)}
.cw-item-media .wp-block-gallery{gap:8px!important}.cw-item-media .wp-block-gallery img{filter:grayscale(1)}
.cw-item-title{font:400 clamp(38px,4.7vw,72px)/1.08 "Ranade","Satoshi",Arial,sans-serif;letter-spacing:-.03em;margin:0!important}
.cw-item-subtitle{font-size:12px;letter-spacing:.1em;font-weight:700;margin:22px 0!important;padding-top:20px;border-top:3px solid var(--cw-red)}
.cw-form{max-width:620px}.cw-form-row{margin-bottom:14px}.cw-form label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.cw-form input,.cw-form textarea{width:100%;box-sizing:border-box;border:1px solid #bdbdbd;border-radius:0;background:white;padding:13px 14px;font-size:16px;color:#000}
.cw-form textarea{min-height:120px;resize:vertical}.cw-form input:focus,.cw-form textarea:focus{outline:2px solid var(--cw-red);outline-offset:0}
.cw-form button{background:var(--cw-red);border:1px solid var(--cw-red);color:#fff;font-size:12px;letter-spacing:.1em;font-weight:700;padding:14px 24px;cursor:pointer;width:100%;text-transform:uppercase}
.cw-form button:hover{background:#910a27}.cw-form-honey{position:absolute!important;left:-9999px!important;height:1px!important;overflow:hidden!important}
.cw-notice{border-left:4px solid var(--cw-red);background:#f6f6f6;padding:12px 16px;margin:0 0 18px}.cw-notice-success{border-left-color:#265c44}
.cw-article-heading{max-width:870px;margin:0 auto 40px}.cw-article-date{font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:var(--cw-red);margin:0 0 14px}
.cw-article-title{font:500 clamp(40px,6.5vw,90px)/1.04 "Ranade","Satoshi",Arial,sans-serif;letter-spacing:-.035em;margin:0!important}
.cw-article-hero{max-width:1150px!important;margin:0 auto 50px!important}.cw-article-hero img{width:100%;height:auto;display:block}
.cw-article-body{max-width:760px;margin:0 auto;font-size:18px;line-height:1.8}.cw-article-body h2{font-size:clamp(25px,3vw,42px);line-height:1.12;margin-top:1.6em}
.cw-footer{border-top:1px solid #ededed;padding:26px clamp(18px,4vw,65px);margin-top:45px}.cw-footer-inner{max-width:var(--cw-max);margin:auto;font-size:10px;letter-spacing:.1em}.cw-footer-inner p{margin:0!important}
@media(max-width:850px){.cw-header-inner{gap:16px!important}.cw-brand-logo{width:clamp(185px,33vw,300px)}.cw-home-feed .wp-block-post-template,.cw-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-navigation ul{gap:18px}}
@media(max-width:620px){.cw-header{padding:14px 16px}.cw-brand-logo{width:210px;max-width:62vw}.cw-navigation>ul{display:none}.cw-menu-details{display:block;position:relative}.cw-menu-details summary{font-size:12px;font-weight:700;letter-spacing:.08em;cursor:pointer;list-style:none;padding:13px 8px}.cw-menu-details summary::-webkit-details-marker{display:none}.cw-menu-details[open] ul{position:absolute;top:calc(100% + 6px);right:0;background:white;border:1px solid #ddd;box-shadow:0 8px 18px #0002;padding:10px 18px;margin:0;display:flex;flex-direction:column;align-items:stretch;min-width:165px;gap:2px;z-index:50;list-style:none}.cw-menu-details a{display:block;padding:12px 0;border-bottom:1px solid #eee}.cw-home-main,.cw-shop-page{padding:12px 8px 45px}.cw-home-feed .wp-block-post-template,.cw-shop-grid{gap:6px!important}.cw-card-title,.cw-shop-caption{font-size:12px!important;left:8px;right:8px;bottom:10px}.cw-simple-page,.cw-split-page,.cw-contact-page,.cw-item-page,.cw-article-page{padding:30px 20px 65px}.cw-about-columns,.cw-item-columns{gap:28px!important}.cw-item-featured{margin-bottom:14px}.cw-article-body{font-size:17px}.cw-footer-inner{gap:12px!important}}
@media(hover:none),(pointer:coarse){.cw-card-title,.cw-shop-caption{opacity:1;transform:none;bottom:0;left:0;right:0;padding:22px 12px 10px;color:white!important;background:linear-gradient(transparent,rgba(0,0,0,.72))}.cw-post-card .cw-card-photo a:after,.cw-shop-card a:after{opacity:0!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* V3: clear Gutenberg page-content layouts and editor-first authoring. */
.cw-front-content, .cw-home-main, .cw-shop-page{max-width:none!important}
.cw-home-main>.wp-block-post-content,.cw-shop-page>.wp-block-post-content{margin:0!important;max-width:none!important}
.cw-home-feed,.cw-shop-grid{width:100%}
.cw-about-page .cw-about-layout,.cw-contact-page .cw-contact-layout {max-width:1440px!important;margin-inline:auto!important}
.cw-about-page .cw-about-layout {align-items:center; gap:clamp(30px,5vw,85px)}
.cw-about-page .cw-about-layout figure{margin:0}
.cw-about-page .cw-about-layout img{width:100%;height:auto;display:block;filter:grayscale(100%)}
.cw-about-page .cw-about-layout h1, .cw-contact-layout h1{font-family:"Ranade","Satoshi",sans-serif;font-size:clamp(44px,6vw,90px);font-weight:400;line-height:1.05;letter-spacing:-.035em;margin:0 0 22px}
.cw-about-page .cw-about-layout p{max-width:36ch;font-size:clamp(17px,1.7vw,21px);line-height:1.55}
.cw-contact-page .cw-contact-layout{width:min(100%,800px)!important}
.cw-contact-layout .cw-form{margin-top:24px}
.cw-item-page .cw-item-media>.wp-block-post-content{margin-top:18px}
.cw-home-main .wp-block-post-content .cw-home-feed{margin:auto!important}
.cw-shop-page .wp-block-post-content .cw-shop-grid{margin:auto!important}
/* Make the logo and image/photo blocks visible in Gutenberg's canvas. */
.editor-styles-wrapper .cw-brand-logo img{max-width:355px!important;height:auto}
@media (max-width:700px){.cw-about-page .cw-about-layout{flex-wrap:wrap;display:flex;flex-direction:column}.cw-about-page .cw-about-layout>.wp-block-column{width:100%!important}}


/* v3.2 header: logo and navigation share one row; entire header is sticky.
   The supplied vector wordmark is not redrawn or modified. */
.cw-header-sticky-part {
  position:-webkit-sticky!important;position:sticky!important;top:0!important;
  z-index:1000!important;margin:0!important;background:#fff;
}
body.admin-bar .cw-header-sticky-part{top:32px!important}
@media(max-width:782px){body.admin-bar .cw-header-sticky-part{top:46px!important}}
.cw-header{position:relative;z-index:auto;margin:0!important;padding:16px clamp(20px,3.3vw,55px)!important;background:#fff;border-bottom:1px solid #eaeaea}
.cw-header-inner{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:clamp(24px,3vw,58px)!important;width:100%;max-width:var(--cw-max)!important;margin:0 auto!important}
.cw-brand-logo{width:clamp(245px,26vw,375px)!important;max-width:375px!important;min-width:0!important;flex:0 1 375px!important;display:block!important;margin:0!important;line-height:0}
.cw-brand-logo img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important}
.cw-navigation{display:block!important;flex:0 0 auto!important;margin:0 0 0 auto!important;font:600 clamp(16px,1.25vw,19px)/1.25 "Satoshi",Arial,sans-serif!important;letter-spacing:.055em!important;text-transform:uppercase!important}
.cw-navigation>ul{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:clamp(16px,2.2vw,34px)!important;margin:0!important;padding:0!important;list-style:none!important}
.cw-navigation li{list-style:none!important;margin:0!important}
.cw-navigation a{display:block!important;padding:12px 0 9px!important;color:#000!important;font:inherit!important;letter-spacing:inherit!important;text-transform:uppercase!important;text-decoration:none!important;border-bottom:3px solid transparent!important;white-space:nowrap!important}
.cw-navigation a:hover,.cw-navigation a[aria-current="page"]{border-bottom-color:var(--cw-red)!important}
.cw-menu-details{display:none!important}
.cw-legacy-nav-retired,.cw-nav-template-part{display:none!important}
/* Footer Instagram icon retained from the approved v3.1 change. */
.cw-footer-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px}
.cw-footer-instagram{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--cw-red)!important;text-decoration:none!important;border:2px solid transparent;flex-shrink:0}
.cw-footer-instagram svg{display:block;width:33px;height:33px;stroke:currentColor;fill:none}
.cw-footer-instagram:hover{color:#870b28!important}
.cw-footer-instagram:focus-visible{outline:3px solid var(--cw-red);outline-offset:2px}

/* Contact: About-like two-column split; actual photo and form are editable in Gutenberg. */
.cw-contact-page .cw-contact-split,.cw-contact-split.wp-block-columns{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(26px,5vw,80px)!important;align-items:center!important;
  max-width:var(--cw-max)!important;width:100%!important;margin:0 auto!important;
}
.cw-contact-split>.wp-block-column{min-width:0!important;max-width:100%!important;margin:0!important}
.cw-contact-photo .cw-contact-image,.cw-contact-photo figure{margin:0!important}
.cw-contact-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;filter:grayscale(100%)}
.cw-contact-info{padding:0!important}
.cw-contact-page .cw-contact-layout{width:100%!important;max-width:620px!important;margin:0!important}
.cw-contact-info h1,.cw-contact-info .wp-block-heading{font-family:"Ranade","Satoshi",Arial,sans-serif;font-size:clamp(42px,5.2vw,78px);font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:0 0 20px}
.cw-contact-info p{font-size:clamp(16px,1.5vw,19px);line-height:1.5}
.cw-contact-info .cw-form{margin-top:24px;width:100%;max-width:none}

@media(max-width:950px){
 .cw-header{padding:15px 20px!important}
 .cw-header-inner{gap:24px!important}
 .cw-brand-logo{width:clamp(220px,30vw,310px)!important;max-width:310px!important}
 .cw-navigation{font-size:clamp(14px,1.65vw,17px)!important;letter-spacing:.03em!important}
 .cw-navigation>ul{gap:clamp(12px,1.9vw,23px)!important}
}
@media(max-width:690px){
 .cw-header{padding:14px 17px!important}
 .cw-brand-logo{width:clamp(158px,50vw,238px)!important;max-width:238px!important;flex:0 1 238px!important}
 .cw-navigation>ul{display:none!important}
 .cw-menu-details{display:block!important;position:relative}
 .cw-menu-details summary{font:700 14px/1.2 "Satoshi",Arial,sans-serif!important;letter-spacing:.08em!important;list-style:none;cursor:pointer;padding:14px 8px;text-transform:uppercase}
 .cw-menu-details summary::-webkit-details-marker{display:none}
 .cw-menu-details[open] ul{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;margin:0!important;padding:10px 18px!important;display:flex!important;flex-direction:column!important;gap:0!important;background:#fff;border:1px solid #ddd;box-shadow:0 10px 22px #0002;z-index:50;list-style:none}
 .cw-menu-details[open] a{font:600 15px/1.3 "Satoshi",Arial,sans-serif!important;padding:13px 0!important;border-bottom:1px solid #eee!important}
 .cw-contact-page .cw-contact-split,.cw-contact-split.wp-block-columns{grid-template-columns:minmax(0,1fr)!important;gap:30px!important}
 .cw-contact-photo img{aspect-ratio:4/3}
 .cw-contact-page .cw-contact-info{padding:0!important}
}
/* Site Editor: do not show legacy oversized v3.1 masthead in canvas. */
.editor-styles-wrapper .cw-header-inner{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:center!important}
.editor-styles-wrapper .cw-brand-logo,.editor-styles-wrapper .cw-brand-logo img{max-width:375px!important;width:min(375px,100%)!important;height:auto!important}
.editor-styles-wrapper .cw-navigation{font-size:18px!important;text-transform:uppercase!important}
.editor-styles-wrapper .cw-navigation>ul{display:flex!important;gap:26px!important}
@media(max-width:690px){.editor-styles-wrapper .cw-brand-logo,.editor-styles-wrapper .cw-brand-logo img{max-width:238px!important;width:min(238px,100%)!important}}
