/*
Theme Name: Flagzz
Theme URI: https://flagzz.com
Description: Flagzz brand theme — patriotic apparel. Child of Twenty Twenty-Five.
Author: Flagzz
Template: twentytwentyfive
Version: 1.0.3
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: flagzz
*/

/* ---- brand utilities ---- */
.fz-eyebrow{font-family:var(--wp--preset--font-family--oswald);letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;font-weight:600;color:var(--wp--preset--color--red)}
.fz-display{font-family:var(--wp--preset--font-family--black-ops) !important;text-transform:uppercase;letter-spacing:.02em;line-height:.95}
.fz-stripes{height:12px;background:repeating-linear-gradient(90deg,var(--wp--preset--color--red) 0 33.33%,#fff 33.33% 66.66%,var(--wp--preset--color--navy) 66.66% 100%)}
.fz-stripes-h{background:linear-gradient(180deg,var(--wp--preset--color--red) 0 33.33%,var(--wp--preset--color--base) 33.33% 66.66%,var(--wp--preset--color--navy) 66.66% 100%)}
.fz-marquee{overflow:hidden;white-space:nowrap;background:var(--wp--preset--color--navy);color:#fff}
.fz-marquee .fz-track{display:inline-block;padding:.9rem 0;font-family:var(--wp--preset--font-family--oswald);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;animation:fz-marq 40s linear infinite}
.fz-marquee .fz-track span{padding:0 1.6rem}
.fz-marquee .fz-track span::after{content:"★";color:var(--wp--preset--color--red);padding-left:1.6rem}
@keyframes fz-marq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.fz-marquee .fz-track{animation:none}}
.fz-card{position:relative;overflow:hidden;border-radius:14px;background:var(--wp--preset--color--navy);color:#fff;min-height:380px;display:flex;align-items:flex-end;isolation:isolate}
.fz-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform .6s ease;filter:saturate(.95)}
.fz-card:hover img{transform:scale(1.05)}
.fz-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,23,42,0) 35%,rgba(20,23,42,.92) 100%)}
.fz-card .fz-card-body{padding:1.5rem}
.fz-card h3{color:#fff;margin:0 0 .25rem;font-family:var(--wp--preset--font-family--black-ops);text-transform:uppercase;letter-spacing:.03em;font-size:1.6rem;font-weight:400}
.fz-card p{margin:0;color:rgba(255,255,255,.8);font-size:.95rem}
.fz-tag{display:inline-block;background:var(--wp--preset--color--red);color:#fff;font-family:var(--wp--preset--font-family--oswald);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:.3rem .6rem;border-radius:4px;margin-bottom:.7rem}
.fz-feature{border:1px solid var(--wp--preset--color--line);border-radius:14px;padding:1.75rem;background:#fff}
.fz-feature h3{font-family:var(--wp--preset--font-family--oswald);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.15rem;margin:.75rem 0 .4rem}
.fz-feature p{margin:0;color:var(--wp--preset--color--muted);font-size:.95rem}
.fz-feature .fz-ico{width:46px;height:46px;border-radius:10px;background:var(--wp--preset--color--navy);display:flex;align-items:center;justify-content:center}
.fz-feature .fz-ico svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fz-btn-red a,.wp-block-button.fz-btn-red .wp-block-button__link{background:var(--wp--preset--color--red) !important;color:#fff !important}
.fz-header{border-bottom:1px solid var(--wp--preset--color--line);background:var(--wp--preset--color--base)}
.fz-topbar{background:var(--wp--preset--color--navy);color:#fff;font-family:var(--wp--preset--font-family--oswald);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;text-align:center;padding:.45rem 1rem}
.fz-header .wp-block-navigation a{font-family:var(--wp--preset--font-family--oswald);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem}
.fz-footer a{color:rgba(255,255,255,.78);text-decoration:none}.fz-footer a:hover{color:#fff}
.fz-footer h4{font-family:var(--wp--preset--font-family--oswald);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#fff;margin-bottom:.9rem}
.fz-footer ul{list-style:none;padding:0;margin:0}.fz-footer li{margin:0 0 .5rem;font-size:.92rem}
.fz-newsletter .wpforms-container{margin:0 !important}
.fz-newsletter .wpforms-form .wpforms-field{padding:6px 0 !important}
.fz-newsletter .wpforms-form .wpforms-field-label{display:none !important}
.fz-newsletter .wpforms-form input[type=email],.fz-newsletter .wpforms-form input[type=text]{width:100% !important;max-width:100% !important;border:1px solid var(--wp--preset--color--line) !important;border-radius:8px !important;padding:14px 16px !important;font-size:1rem !important;background:#fff !important;height:auto !important}
.fz-newsletter .wpforms-form .wpforms-submit,.wpforms-form button[type=submit]{background:var(--wp--preset--color--red) !important;color:#fff !important;border:0 !important;border-radius:8px !important;padding:14px 26px !important;font-family:var(--wp--preset--font-family--oswald) !important;text-transform:uppercase;letter-spacing:.1em;font-weight:600 !important;height:auto !important}
.wpforms-form input[type=text],.wpforms-form input[type=email],.wpforms-form textarea{border:1px solid var(--wp--preset--color--line) !important;border-radius:8px !important;padding:12px 14px !important;background:#fff !important}
.wp-block-post-title a{text-decoration:none}
.wp-block-post-featured-image img{border-radius:12px}
.woocommerce-store-notice{background:var(--wp--preset--color--navy)}
a.fz-card,a.fz-card:hover,a.fz-card *{text-decoration:none !important;color:#fff}
.wp-block-post-title a{color:var(--wp--preset--color--navy)}.wp-block-post-title a:hover{color:var(--wp--preset--color--red)}
.wp-block-post-date{font-family:var(--wp--preset--font-family--oswald);letter-spacing:.1em;text-transform:uppercase}
.fz-header .wp-block-image{margin:0}.fz-header .wp-block-image img{display:block}
.wp-block-navigation__responsive-container-open{color:var(--wp--preset--color--navy)}
@media (max-width:640px){.fz-header .fz-btn-red{display:none}.fz-topbar{font-size:.62rem;letter-spacing:.08em}}
