/*
Theme Name: Competitive Witchcraft
Theme URI: https://competitivewitchcraft.com/
Description: Minimal fashion editorial child theme of Twenty Twenty-Five, with monochrome image grids, a red hover treatment, and a portfolio-style inquiry shop.
Author: Competitive Witchcraft
Version: 1.0.0
Template: twentytwentyfive
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: competitive-witchcraft
*/

:root { --cw-red:#B80F35; --cw-black:#000; --cw-white:#fff; --cw-cool-white:#fbfbfb; --cw-grid-gap:8px; }
html { scroll-behavior:smooth; scrollbar-color:var(--cw-red) #ededed; scrollbar-width:thin; }
::-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; }
::-webkit-scrollbar-thumb:hover { background:#900b28; }
body { margin:0; background:var(--cw-white); color:var(--cw-black); font-family:'Satoshi',Arial,Helvetica,sans-serif; }
body,button,input,textarea,select { font-family:'Satoshi',Arial,Helvetica,sans-serif; }
:where(a){ color:inherit; text-decoration:none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {outline:2px solid var(--cw-red);outline-offset:4px;}
:where(h1,h2,h3,h4,h5,h6) { font-family:'Ranade', 'Satoshi', Arial,sans-serif; letter-spacing:-.025em; }

/* The approved logo is a traced vector, not a recreated text wordmark. */
.cw-site-header { border-bottom:1px solid #f0f0f0; background:#fff; padding:18px clamp(20px,3.5vw,56px); position:relative; z-index:10; }
.cw-header-inner {max-width:1600px; margin:0 auto; gap:25px !important; align-items:center; }
.cw-site-brand { margin:0 !important; line-height:0; width:clamp(205px,25.5vw,360px); flex-shrink:0; }
.cw-site-brand a { color:transparent !important; font-size:0 !important; display:block; width:100%; height:auto; aspect-ratio:1603 / 421; background:url('assets/brand/wordmark.svg') no-repeat center center / contain; overflow:hidden; }
.cw-navigation {font-size:12px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.cw-navigation .wp-block-navigation-item__content {text-decoration:none; position:relative; padding:12px 0 8px; transition:color .2s ease;}
.cw-navigation .wp-block-navigation-item__content:hover, .cw-navigation .current-menu-item>.wp-block-navigation-item__content {color:var(--cw-red);}
.cw-navigation .wp-block-navigation-item__content:after {content:''; position:absolute; bottom:0; left:0; right:100%; height:2px; background:var(--cw-red); transition:right .2s;}
.cw-navigation .wp-block-navigation-item__content:hover:after,.cw-navigation .current-menu-item>.wp-block-navigation-item__content:after {right:0;}
.cw-navigation .wp-block-navigation__responsive-container-open {color:#000;}

/* Page sizing */
.cw-main {padding:32px clamp(20px,3.5vw,56px) 72px;}
.cw-main > :where(*), .cw-main .alignwide {max-width:1600px;}
.cw-page {padding:clamp(35px,5vw,85px) clamp(20px,3.5vw,56px) 90px;}
.cw-page-content {max-width:1600px; margin-inline:auto;}
.cw-page-title {font-size:clamp(40px,5.7vw,100px);font-weight:400;line-height:1.04;margin:0 0 32px;}
.cw-page-content p {line-height:1.6;}

/* Home: newest WordPress posts displayed as image links */
.cw-story-grid {margin:0 !important;}
.cw-story-grid .wp-block-post-template {margin:0;padding:0;list-style:none;display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--cw-grid-gap) !important;}
.cw-story-grid .wp-block-post {margin:0; min-width:0; position:relative; overflow:hidden; background:#ededed;}
.cw-story-grid .wp-block-post-featured-image {margin:0 !important; height:100%;}
.cw-story-grid .wp-block-post-featured-image a {display:block;position:relative; width:100%; aspect-ratio:1 / 1; overflow:hidden;}
.cw-story-grid .wp-block-post-featured-image a::after {content:'';position:absolute;inset:0;background:rgba(184,15,53,.64);opacity:0;transition:opacity .25s ease;pointer-events:none;}
.cw-story-grid .wp-block-post-featured-image img {display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;filter:grayscale(1);transition:transform .4s ease;}
.cw-story-grid .wp-block-post-title {position:absolute;z-index:2;left:20px;right:20px;bottom:22px;margin:0;font-family:'Satoshi',Arial,sans-serif;font-size:clamp(15px,1.5vw,22px);font-weight:600;line-height:1.2;opacity:0;transform:translateY(6px);color:#fff;transition:opacity .2s ease,transform .2s ease;}
.cw-story-grid .wp-block-post-title a {color:inherit;}
.cw-story-grid .wp-block-post:is(:hover,:focus-within) .wp-block-post-featured-image a::after {opacity:1;}
.cw-story-grid .wp-block-post:is(:hover,:focus-within) .wp-block-post-featured-image img {transform:scale(1.035);}
.cw-story-grid .wp-block-post:is(:hover,:focus-within) .wp-block-post-title {opacity:1;transform:none;}
.cw-pagination {margin-top:36px;text-align:center;}
.cw-pagination .page-numbers{padding:7px 11px;font-weight:600;text-decoration:none;}
.cw-pagination .current {color:var(--cw-red); border-bottom:2px solid var(--cw-red);}

/* Shop grid: user inserts a standard Gallery block and assigns it cw-portfolio. */
.cw-portfolio { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--cw-grid-gap) !important;}
.cw-portfolio > figure.wp-block-image {margin:0 !important; width:100% !important;position:relative; overflow:hidden;}
.cw-portfolio > figure.wp-block-image a {display:block;position:relative;overflow:hidden;}
.cw-portfolio > figure.wp-block-image a:after {content:'';position:absolute;inset:0;background:rgba(184,15,53,.64);opacity:0;transition:opacity .25s ease;pointer-events:none;}
.cw-portfolio > figure.wp-block-image img {display:block;width:100% !important;aspect-ratio:1/1;object-fit:cover;filter:grayscale(1);transition:transform .35s ease;}
.cw-portfolio > figure.wp-block-image:is(:hover,:focus-within) a:after {opacity:1;}
.cw-portfolio > figure.wp-block-image:is(:hover,:focus-within) img {transform:scale(1.03);}
.cw-portfolio > figure.wp-block-image figcaption {position:absolute;bottom:0;left:0;right:0;padding:18px 16px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.62));font-family:'Satoshi',Arial,sans-serif;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none;}
.cw-portfolio > figure.wp-block-image:is(:hover,:focus-within) figcaption {opacity:1;}

/* Single editorial post */
.cw-article {margin:0 auto; max-width:1100px;}
.cw-article-head {margin:0 auto 35px;max-width:960px;}
.cw-article-head .wp-block-post-title {font-size:clamp(38px,6vw,88px);font-weight:500;line-height:1.05;letter-spacing:-.045em;margin:0;}
.cw-article-head .wp-block-post-date {font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:12px 0;}
.cw-article-image {max-width:1100px;margin:0 0 40px;}
.cw-article-image img {display:block;width:100%;height:auto;}
.cw-article-content {max-width:720px;margin-inline:auto;font-size:18px;line-height:1.75;}
.cw-article-content :is(h2,h3){line-height:1.2;}

/* Contact Form 7; one form can be reused on all item pages. */
.wpcf7 {max-width:540px;}
.wpcf7 label {display:block;font-weight:600;font-size:13px;line-height:1.6;margin-bottom:12px;}
.wpcf7 input:not([type=submit]),.wpcf7 textarea,.wpcf7 select {width:100%;box-sizing:border-box;border:1px solid #aaa;border-radius:0;padding:13px 15px;background:#fff;color:#000;font-size:16px;margin-top:7px;}
.wpcf7 textarea {min-height:130px;}
.wpcf7 input[type=submit],.cw-button {background:var(--cw-red);border:1px solid var(--cw-red);border-radius:0;color:#fff;padding:13px 24px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;}
.wpcf7 input[type=submit]:hover,.cw-button:hover {background:#930e2a;}

/* Site footer */
.cw-site-footer {border-top:1px solid #ededed;padding:20px clamp(20px,3.5vw,56px);font-size:11px;letter-spacing:.09em;text-transform:uppercase;}
.cw-site-footer .wp-block-site-title {font-size:11px;font-weight:600;}

@media (max-width:960px){
 .cw-story-grid .wp-block-post-template,.cw-portfolio {grid-template-columns:repeat(2,minmax(0,1fr));}
 .cw-site-brand {width:clamp(200px,34vw,300px);}
}
@media (max-width:640px){
 .cw-site-header {padding:15px 18px;}
 .cw-site-brand {width:205px;}
 .cw-main {padding:18px 12px 50px;}
 .cw-story-grid .wp-block-post-template,.cw-portfolio {grid-template-columns:repeat(2,minmax(0,1fr));gap:5px !important;}
 .cw-story-grid .wp-block-post-title {position:static;opacity:1;transform:none;color:#000;background:#fff;font-size:13px;line-height:1.35;padding:9px 3px 12px;}
 .cw-story-grid .wp-block-post-featured-image {height:auto;}
 .cw-portfolio > figure.wp-block-image figcaption {opacity:1;font-size:12px;padding:9px;}
 .cw-page {padding:32px 18px 55px;}
 .cw-article-content {font-size:17px;}
}
@media (hover:none){
 .cw-story-grid .wp-block-post-title {position:static;opacity:1;transform:none;color:#000;background:#fff;font-size:13px;padding:10px 5px;}
 .cw-portfolio > figure.wp-block-image figcaption {opacity:1;}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after {scroll-behavior:auto !important;transition-duration:0.01ms !important;animation-duration:0.01ms !important;}
}
