/*
Theme Name: BUFFX Studio
Theme URI: https://buffx.in/
Author: BUFFX
Description: A clean, bold, WooCommerce-ready BUFFX brand theme based on the approved catalogue aesthetic.
Version: 4.1.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: buffx-studio
*/

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Montserrat:wght@400;500;600;700;800;900&display=swap');

:root{
  --buffx-yellow:#ffd20a;
  --buffx-black:#050505;
  --buffx-cream:#f2e7d5;
  --buffx-red:#e63322;
  --buffx-green:#21853e;
  --buffx-text:#151515;
  --buffx-muted:#666;
  --buffx-border:rgba(0,0,0,.12);
  --buffx-display:Anton,Impact,sans-serif;
  --buffx-body:Montserrat,Arial,sans-serif;
  --buffx-container:1240px;
  --buffx-radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--buffx-body);color:var(--buffx-text);background:var(--buffx-cream);line-height:1.5}
body,button,input,textarea,select{font-family:var(--buffx-body)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(calc(100% - 40px),var(--buffx-container));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-main{min-height:55vh}
.topbar{background:#050505;color:#fff;font-size:12px;padding:8px 0}
.topbar .container{display:flex;justify-content:space-between;gap:20px}
.topbar a{color:#fff}
.site-header{background:#050505;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);position:relative;z-index:50}
.header-inner{min-height:76px;display:flex;align-items:center;gap:26px}
.site-logo{font-family:var(--buffx-display);font-style:italic;font-size:48px;line-height:1;color:#fff;letter-spacing:-2px}
.site-logo span{color:var(--buffx-yellow)}
.main-nav{margin-left:auto}
.main-nav ul{display:flex;gap:28px;list-style:none;padding:0;margin:0}
.main-nav a{font-size:12px;font-weight:800;text-transform:uppercase;position:relative}
.main-nav a:after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:3px;background:var(--buffx-yellow);transition:.2s}
.main-nav a:hover:after,.main-nav .current-menu-item a:after{width:100%}
.header-actions{display:flex;gap:10px;align-items:center}
.header-actions a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.3);border-radius:50%}
.header-actions .partner-btn{width:auto;border:0;border-radius:7px;background:var(--buffx-yellow);color:#111;font-weight:900;padding:10px 14px;font-size:11px}
.mobile-menu{display:none;background:transparent;border:1px solid #fff;color:#fff;padding:8px}

.brush{position:relative;display:inline-block}
.brush:before{content:"";position:absolute;inset:auto -10px 8px -12px;height:20px;background:var(--buffx-yellow);z-index:-1;transform:skewX(-12deg) rotate(-2deg);border-radius:40% 10% 50% 8%}
.brush-yellow{color:var(--buffx-yellow)}
.kicker{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.display{font-family:var(--buffx-display)}

.hero{background:var(--buffx-black);color:#fff;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px;align-items:center}
.hero-copy{padding:60px 0}
.hero-copy .kicker{color:var(--buffx-yellow)}
.hero h1{font-family:var(--buffx-display);font-size:clamp(64px,8vw,110px);line-height:.84;letter-spacing:-2px;margin:12px 0 16px;text-transform:uppercase}
.hero h1 .yellow{color:var(--buffx-yellow)}
.hero p{max-width:600px;font-size:17px;color:#eee}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:7px;font-weight:900;font-size:12px;border:2px solid var(--buffx-yellow);background:var(--buffx-yellow);color:#111}
.btn-outline{background:transparent;color:#fff}
.hero-art{position:relative;min-height:480px}
.hero-art:before{content:"";position:absolute;inset:8% 0 4% 6%;background:var(--buffx-cream);clip-path:polygon(0 16%,12% 5%,27% 10%,43% 2%,58% 13%,77% 4%,92% 13%,100% 4%,96% 35%,100% 66%,91% 91%,76% 86%,60% 96%,43% 88%,26% 96%,10% 86%,0 92%,5% 60%);opacity:.98}
.hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2}

.promise-strip{background:#050505;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.promise-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.promise-item{padding:28px 16px;display:flex;gap:12px;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,.12);text-align:left}
.promise-item:last-child{border-right:0}
.promise-icon{width:42px;height:42px;border:2px solid var(--buffx-yellow);color:var(--buffx-yellow);border-radius:50%;display:grid;place-items:center;font-size:18px}
.promise-item strong{font-size:11px;text-transform:uppercase;line-height:1.25}

.section{padding:70px 0}
.section-head{text-align:center;margin-bottom:28px}
.section-head .kicker{color:#b01b15}
.section-head h2{font-family:var(--buffx-display);font-size:54px;line-height:.9;margin:5px 0}
.section-head h2 .yellow{color:var(--buffx-yellow)}
.section-head p{max-width:680px;margin:10px auto;color:#555}

.range-section{background:var(--buffx-cream)}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.category-card{background:#fff;border:1px solid var(--buffx-border);border-radius:12px;padding:18px;overflow:hidden;transition:.2s}
.category-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.08)}
.category-card .image{height:190px;background:#f3eee5;border-radius:10px;display:grid;place-items:center;margin-bottom:16px;overflow:hidden}
.category-card .image img{height:100%;width:100%;object-fit:contain}
.category-card h3{font-family:var(--buffx-display);font-size:28px;line-height:.9;margin:0 0 8px}
.category-card p{font-size:13px;color:#555;min-height:44px}
.category-card .link{color:#c12119;font-weight:900;font-size:11px;text-transform:uppercase}

.why-band{background:var(--buffx-yellow);position:relative;overflow:hidden}
.why-band:before{content:"";position:absolute;left:-4%;right:-4%;top:0;height:90px;background:var(--buffx-black);clip-path:polygon(0 20%,10% 12%,24% 18%,38% 6%,52% 16%,66% 4%,81% 14%,100% 7%,100% 55%,91% 48%,79% 60%,62% 47%,49% 62%,33% 47%,16% 58%,0 48%);opacity:.98}
.why-inner{position:relative;z-index:2;padding:76px 0 60px}
.why-inner .section-head h2{color:#fff}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:rgba(0,0,0,.02);border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}
.why-item{padding:28px 18px;border-right:1px solid rgba(0,0,0,.12)}
.why-item:last-child{border-right:0}
.why-item h3{font-size:18px;margin:10px 0 4px}
.why-item p{font-size:12px;color:#333;margin:0}

.lifestyle{background:#050505;color:#fff}
.lifestyle-grid{display:grid;grid-template-columns:.95fr 1.05fr;min-height:440px;align-items:center}
.lifestyle-copy{padding:50px 0}
.lifestyle-copy h2{font-family:var(--buffx-display);font-size:58px;line-height:.88;margin:8px 0 16px}
.lifestyle-copy h2 .yellow{color:var(--buffx-yellow)}
.lifestyle-copy p{color:#ddd;max-width:520px}
.lifestyle-art{min-height:440px;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,0) 25%),var(--buffx-cream);overflow:hidden}
.lifestyle-art img{width:100%;height:100%;object-fit:cover}

.retailer-cta{background:var(--buffx-yellow);padding:28px 0}
.retailer-grid{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}
.retailer-cta h2{font-family:var(--buffx-display);font-size:52px;line-height:.85;margin:0}
.retailer-cta p{margin:7px 0 0;max-width:680px}
.btn-dark{background:#050505;color:#fff;border-color:#050505}

.site-footer{background:#050505;color:#fff}
.footer-main{padding:38px 0;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}
.footer-main h3{font-size:12px;text-transform:uppercase;margin:0 0 10px}
.footer-main p,.footer-main li,.footer-main a{font-size:11px;color:#ddd}
.footer-main ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:12px 0;font-size:10px;color:#aaa;display:flex;justify-content:space-between;gap:15px}

.page-hero{background:#050505;color:#fff;padding:55px 0}
.page-hero h1{font-family:var(--buffx-display);font-size:70px;line-height:.88;margin:8px 0}
.page-hero p{max-width:700px;color:#ddd}
.content-section{padding:65px 0;background:var(--buffx-cream)}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.content-card{background:#fff;border:1px solid var(--buffx-border);border-radius:12px;padding:26px}
.content-card h2{font-family:var(--buffx-display);font-size:42px;line-height:.9;margin-top:0}
.form-card{background:#fff;padding:24px;border-radius:12px;border:1px solid var(--buffx-border)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid .full{grid-column:1/-1}
.form-grid label{font-size:11px;font-weight:800;display:grid;gap:5px}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:12px;border:1px solid #ddd;border-radius:7px;background:#fff}
.form-grid textarea{min-height:120px}
.form-grid button{grid-column:1/-1;border:0;background:var(--buffx-yellow);padding:13px;border-radius:7px;font-weight:900}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.blog-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--buffx-border)}
.blog-card .image{height:210px;background:#eee}
.blog-card .image img{width:100%;height:100%;object-fit:cover}
.blog-card .body{padding:16px}
.blog-card small{font-size:10px;color:#777}.blog-card h3{font-size:18px;line-height:1.1;margin:7px 0}.blog-card p{font-size:12px;color:#555}.blog-card a{font-size:11px;font-weight:900}

.woocommerce-page .site-main{background:var(--buffx-cream)}
.shop-wrap{padding:50px 0}
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.shop-card{background:#fff;border:1px solid var(--buffx-border);border-radius:12px;overflow:hidden}
.shop-card .product-image{height:270px;background:#f3eee5}
.shop-card .product-image img{width:100%;height:100%;object-fit:contain}
.shop-card .product-body{padding:14px}
.shop-card h2,.shop-card h3{font-size:15px;margin:0 0 5px}
.shop-card .price{font-weight:900;font-size:14px;margin:8px 0}
.shop-card .actions{display:flex;gap:7px}.shop-card .actions a{flex:1;text-align:center;font-size:10px;font-weight:900;padding:10px;border-radius:6px;background:var(--buffx-yellow)}
.shop-card .actions a.secondary{background:#111;color:#fff}
.product-wrap{padding:55px 0;background:var(--buffx-cream)}
.product-single-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:35px}
.product-gallery{background:#fff;border-radius:12px;padding:18px;min-height:520px;display:grid;place-items:center}
.product-gallery img{width:100%;height:100%;object-fit:contain;max-height:560px}
.product-summary{background:#fff;border-radius:12px;padding:26px}
.product-summary .kicker{color:#c12119}.product-summary h1{font-family:var(--buffx-display);font-size:54px;line-height:.9;margin:7px 0}
.product-summary .price{font-size:26px;font-weight:900;margin:15px 0}.product-summary .cart{margin-top:18px}
.product-summary .cart button{width:100%;border:0;background:var(--buffx-yellow);padding:14px;border-radius:7px;font-weight:900}

@media(max-width:1000px){
  .main-nav{display:none}.mobile-menu{display:block;margin-left:auto}
  .hero-grid,.lifestyle-grid,.product-single-grid,.content-grid{grid-template-columns:1fr}
  .hero-copy{padding:45px 0 15px}.hero-art{min-height:380px}
  .category-grid,.shop-grid{grid-template-columns:repeat(2,1fr)}
  .promise-grid,.why-grid{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:repeat(2,1fr)}
  .blog-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .topbar .container{display:block;text-align:center}.topbar .container>div+div{margin-top:4px}
  .site-logo{font-size:40px}.header-actions .partner-btn{display:none}
  .hero h1{font-size:58px}.section-head h2,.lifestyle-copy h2,.retailer-cta h2{font-size:42px}
  .category-grid,.shop-grid,.blog-grid,.promise-grid,.why-grid{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr}.footer-bottom{display:block}
  .form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}
}

.wp-editor-content{padding:45px 0;background:var(--buffx-cream)}
.wp-editor-content h1,.wp-editor-content h2,.wp-editor-content h3,.wp-editor-content h4{font-family:var(--buffx-display);line-height:.92}
.wp-editor-content h1{font-size:64px}.wp-editor-content h2{font-size:48px}.wp-editor-content h3{font-size:32px}.wp-editor-content h4{font-size:22px}
.wp-editor-content p,.wp-editor-content li{font-size:14px;line-height:1.7}
.wp-editor-content .wp-block-button__link{background:var(--buffx-yellow);color:#111;border-radius:var(--buffx-radius);font-weight:900}
.wp-editor-content blockquote{border-left:5px solid var(--buffx-yellow);padding-left:18px}
