/*
Theme Name: CraftPlus International
Theme URI: https://craftplusint.com
Author: CraftPlus International
Description: Gutenberg-editable manufacturer and exporter website for CraftPlus International, fitness gear manufacturer and exporter.
Version: 6.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: craftplus
*/

:root{--red:#e63a35;--dark:#101114;--muted:#aeb0b6;--line:#303238}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5f5f4;color:#18191b}a{text-decoration:none;color:inherit}.wrap{max-width:1180px;margin:auto;padding:0 24px}header{position:sticky;top:0;z-index:20;background:#111216;color:white;border-bottom:1px solid #333}.nav{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:25px}.brand{font-weight:900;font-size:23px;letter-spacing:.5px}.brand span{color:var(--red)}.brand small{display:block;font-size:10px;letter-spacing:3px;font-weight:500;color:#bbb;margin-top:4px}.links{display:flex;gap:29px;align-items:center;font-size:13px;font-weight:700}.links a:hover{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:white;padding:15px 24px;font-size:13px;font-weight:800;letter-spacing:.5px;border:0;cursor:pointer}.btn:hover{background:#bf2926}.outline{background:transparent;border:1px solid #777}.outline:hover{background:white;color:#111}.menu{display:none;border:1px solid #555;background:transparent;color:white;padding:9px 12px;cursor:pointer}.hero{background:radial-gradient(ellipse at 80% 30%,#3c2525 0%,#191a1d 48%,#101114 100%);color:white;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:610px;gap:40px}.eyebrow{color:#fa5a52;letter-spacing:3px;font-size:12px;font-weight:800}.hero h1{font-size:clamp(42px,5.6vw,77px);line-height:1.05;margin:22px 0}.hero h1 em{color:var(--red);font-style:normal}.hero p{color:#c5c5ca;max-width:530px;line-height:1.8;font-size:16px}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:33px}.visual{position:relative;min-height:450px;display:grid;place-items:center}.ring{width:min(100%,450px);aspect-ratio:1;border:2px solid #454047;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 35px #ffffff05,0 0 0 75px #ffffff04}.symbol{font-size:clamp(115px,18vw,230px);font-weight:900;letter-spacing:-25px;color:white;text-shadow:12px 12px 0 #e63a35}.visual-label{position:absolute;bottom:30px;right:0;background:#e63a35;padding:19px 23px;font-size:12px;font-weight:800;letter-spacing:2px}.strip{background:#e63a35;color:white}.strip .wrap{display:flex;justify-content:space-around;flex-wrap:wrap;gap:15px;padding-top:22px;padding-bottom:22px;font-size:12px;letter-spacing:1.5px;font-weight:800}.section{padding:95px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.kicker{font-size:12px;color:var(--red);font-weight:900;letter-spacing:2.5px;text-transform:uppercase}.section h2{font-size:clamp(31px,4vw,48px);line-height:1.14;margin:14px 0}.lead{color:#666;line-height:1.8;max-width:620px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product{background:white;border:1px solid #e6e6e6;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s}.product:hover{transform:translateY(-5px);box-shadow:0 16px 35px #0001}.product .art{height:175px;background:linear-gradient(135deg,#27282c,#111216);display:grid;place-items:center;overflow:hidden}.product .art svg{width:120px;height:120px;stroke:#f5f5f5;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.product .info{padding:21px 23px;display:flex;justify-content:space-between;gap:10px;font-weight:800}.product .info span:last-child{color:var(--red)}.about{background:#17181c;color:white}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about .lead{color:#c0c1c5}.about-graphic{background:linear-gradient(140deg,#33363b,#121316);min-height:370px;display:grid;place-items:center;border-left:7px solid var(--red);position:relative}.about-graphic strong{font-size:clamp(60px,10vw,130px);color:#ffffff10;letter-spacing:-12px}.about-graphic p{position:absolute;bottom:20px;left:30px;font-weight:800;letter-spacing:3px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}.feature{padding:26px;border:1px solid #45464a}.feature b{color:#ff635b;font-size:28px}.feature h3{margin-bottom:10px}.feature p{color:#c3c3c7;line-height:1.7;font-size:14px}.contact{background:#f0f0ef}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:55px}.contact-card{background:white;padding:35px;border:1px solid #ddd}.contact-card label{display:block;font-size:12px;font-weight:800;margin-bottom:8px}.contact-card input,.contact-card textarea{width:100%;border:1px solid #d5d5d5;padding:13px;font:inherit;margin-bottom:17px;background:#fafafa}.contact-card textarea{min-height:115px;resize:vertical}.contact-card button{width:100%}.small{color:#777;font-size:13px;line-height:1.8}.contact-details{line-height:2.3}footer{background:#111216;color:#aaa;padding:45px 0;font-size:13px}footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer strong{color:white}.filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.filter button{border:1px solid #ccc;background:white;padding:11px 15px;cursor:pointer;font-weight:700}.filter button.active{background:#16171b;color:white;border-color:#16171b}.hide{display:none!important}@media(max-width:850px){.menu{display:block}.links{display:none;position:absolute;top:78px;left:0;right:0;background:#17181c;padding:24px;flex-direction:column;align-items:stretch}.links.open{display:flex}.hero-inner,.about-inner,.contact-inner{grid-template-columns:1fr}.hero-inner{padding-top:60px;padding-bottom:50px}.visual{min-height:300px}.ring{max-width:280px}.symbol{font-size:140px}.visual-label{bottom:0}.grid,.features{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.grid,.features{grid-template-columns:1fr}.section{padding:65px 0}.section-head{display:block}.hero h1{font-size:45px}.brand{font-size:19px}.brand small{font-size:8px}}

.brand-logo{width:168px;height:53px;object-fit:cover;object-position:left top;border-radius:2px}
.hero{background:linear-gradient(90deg,#101114 0%,#101114f0 48%,#1011149c 100%),url('assets/craftplus-banner.jpg') center/cover}
.visual{min-height:400px}.visual .ring{display:none}.visual-label{bottom:20px}
.product .art{background:#ededed}.product .art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.product:hover .art img{transform:scale(1.04)}
.about-graphic{background:url('assets/craftplus-banner.jpg') 66% center/cover}.about-graphic strong{display:none}.about-graphic p{background:#151515d9;padding:12px}
@media(max-width:850px){.hero{background:linear-gradient(90deg,#101114ee,#101114cc),url('assets/craftplus-banner.jpg') center/cover}.visual{min-height:110px}.visual-label{bottom:15px}}

/* Gutenberg editable homepage */
.cp-block-home .wp-block-cover{min-height:570px;padding:90px max(24px,calc((100vw - 1160px)/2));}
.cp-block-home .wp-block-cover__inner-container{max-width:1100px;margin:auto}
.cp-block-home h1{font-size:clamp(42px,6vw,82px);line-height:1.04;letter-spacing:-.04em}
.cp-block-home h2{font-size:clamp(30px,4vw,52px);line-height:1.12}
.cp-block-home .cp-section{padding:76px max(22px,calc((100vw - 1160px)/2));}
.cp-block-home .cp-dark{background:#141517;color:white}
.cp-block-home .cp-dark h2,.cp-block-home .cp-dark h3{color:white}
.cp-block-home .cp-light{background:#f4f4f4;color:#171717}
.cp-block-home .wp-block-image img{width:100%;height:auto;display:block}
.cp-block-home .cp-products .wp-block-image img{aspect-ratio:4/3;object-fit:cover}
.cp-block-home .wp-block-button__link{background:#e53d38;border-radius:3px;font-weight:700;padding:15px 26px;text-decoration:none}
.cp-block-home .wp-block-columns{gap:24px}
.cp-block-home .cp-products .wp-block-column{background:white;padding:12px;box-shadow:0 3px 20px #0000000a}
.cp-block-home .cp-products h3{font-size:19px;padding:4px 7px;color:#111}
.cp-block-home p{line-height:1.7}
.cp-block-home .cp-red{color:#e53d38}
@media(max-width:782px){.cp-block-home .cp-section{padding:48px 22px}.cp-block-home .wp-block-cover{padding:60px 22px;min-height:440px}}

/* Version 3: manufacturer and exporter */
.cp-page-title{background:#17181c;color:white;padding:85px 24px;text-align:center}.cp-page-title h1{color:white;font-size:clamp(35px,5vw,64px);margin:0}.cp-page-title p{color:#bbb;max-width:740px;margin:20px auto 0;line-height:1.7}.cp-content{max-width:1120px;margin:0 auto;padding:65px 24px}.cp-content h2{font-size:clamp(27px,3vw,40px);margin-top:35px}.cp-content p{line-height:1.85;color:#414141}.cp-content .wp-block-columns{gap:28px}.cp-content .wp-block-group{padding:25px}.cp-content .wp-block-button__link{background:#e63a35;border-radius:2px}.cp-footer-contact{color:#ccc}.cp-nav-logo img{max-height:56px;width:auto}.cp-nav-toggle{display:none;background:transparent;color:white;border:1px solid #555;padding:9px 13px;cursor:pointer}.cp-main-nav{display:flex;gap:25px;font-size:13px;font-weight:700}.cp-main-nav a:hover{color:#f0524d}@media(max-width:760px){.cp-nav-toggle{display:block}.cp-main-nav{display:none;position:absolute;left:0;right:0;top:77px;background:#111216;padding:22px;flex-direction:column}.cp-main-nav.is-open{display:flex}}

/* V4 B2B product category collection */
.cp-catalogue-intro{background:#17181c;color:white;padding:58px max(22px,calc((100vw - 1160px)/2));margin-bottom:38px}.cp-catalogue-intro h2{color:white;font-size:clamp(32px,4vw,55px);margin:12px 0}.cp-catalogue-intro p{color:#c6c6c8;max-width:760px;line-height:1.8}.cp-catalogue-intro .cp-kicker{color:#ff655d}.cp-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;margin:30px 0 45px}.cp-product-card{background:white;border:1px solid #e5e5e5;box-shadow:0 7px 26px #0000000b;overflow:hidden;transition:transform .2s,box-shadow .2s}.cp-product-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #0000001b}.cp-product-card figure{margin:0}.cp-product-card img{display:block;width:100%;height:auto;aspect-ratio:1.08;object-fit:cover}.cp-product-card h3{font-size:16px!important;line-height:1.4;padding:12px 15px 0;margin:0!important}.cp-product-card p{font-size:12px;color:#777;padding:0 15px 15px;margin:6px 0}.cp-product-card .wp-block-button{padding:0 15px 17px}.cp-product-card .wp-block-button__link{font-size:11px;padding:10px 14px!important}.cp-b2b-cta{background:#161719;color:white;padding:36px;margin:35px 0 65px}.cp-b2b-cta h2,.cp-b2b-cta p{color:white}.cp-b2b-cta p{color:#ccc}.cp-content:has(.cp-product-grid){max-width:1240px}.cp-product-grid .wp-block-column{min-width:0}@media(max-width:1000px){.cp-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.cp-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cp-product-card h3{font-size:14px!important;padding:10px}.cp-product-card p{padding:0 10px 10px}.cp-product-card .wp-block-button{padding:0 10px 12px}}@media(max-width:430px){.cp-product-grid{grid-template-columns:1fr 1fr}.cp-product-card img{aspect-ratio:1;object-fit:cover}}

/* V4.1: Fix WordPress Gutenberg constrained-layout cards stacking vertically. */
body .cp-content:has(.cp-product-grid){width:min(100% - 36px,1280px);max-width:1280px;margin-inline:auto}
body .cp-content .cp-product-grid.wp-block-group,
body .entry-content .cp-product-grid.wp-block-group,
body .cp-product-grid.wp-block-group{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:22px!important;align-items:stretch!important;width:100%!important;
 max-width:none!important;margin-inline:auto!important;
}
body .cp-product-grid.wp-block-group > .cp-product-card.wp-block-group{
 width:auto!important;max-width:none!important;margin:0!important;min-width:0!important;
 display:flex!important;flex-direction:column!important;align-self:stretch!important;
 border-radius:9px;overflow:hidden;
}
body .cp-product-grid .cp-product-card figure{width:100%!important;max-width:none!important;margin:0!important}
body .cp-product-grid .cp-product-card img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important}
body .cp-product-grid .cp-product-card h3{font-size:17px!important;min-height:52px;padding:15px 16px 0!important}
body .cp-product-grid .cp-product-card p{padding:0 16px 10px!important;margin:0!important}
body .cp-product-grid .cp-product-card .wp-block-buttons{margin-top:auto!important;padding:0 16px 17px!important}
body .cp-product-grid .cp-product-card .wp-block-button{padding:0!important;width:100%}
body .cp-product-grid .cp-product-card .wp-block-button__link{display:block;text-align:center;width:100%;border-radius:4px!important;background:#e63a35;color:#fff;font-weight:800;letter-spacing:.4px}
@media(max-width:1050px){body .cp-product-grid.wp-block-group{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){body .cp-product-grid.wp-block-group{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}}
@media(max-width:480px){body .cp-content:has(.cp-product-grid){width:calc(100% - 24px)}body .cp-product-grid.wp-block-group{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}body .cp-product-grid .cp-product-card h3{font-size:13px!important;min-height:50px;padding:10px 9px 0!important}body .cp-product-grid .cp-product-card p{font-size:11px;padding:0 9px 8px!important}body .cp-product-grid .cp-product-card .wp-block-buttons{padding:0 9px 10px!important}body .cp-product-grid .cp-product-card .wp-block-button__link{font-size:10px!important;padding:10px 5px!important}}

/* V5 refined B2B visual system; preserves the horizontal category layout */
:root{--cp-accent:#df302c;--cp-ink:#12151a;--cp-border:#e6e8ec}
body{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--cp-ink)}
header{box-shadow:0 4px 22px #00000022}.cp-main-nav a{transition:color .2s}
.cp-page-title{background:linear-gradient(115deg,#14171d,#272025 68%,#17191e);padding:76px 24px 70px}
.cp-page-title h1{font-weight:850;letter-spacing:-.035em}
.cp-content{padding-top:42px}.cp-catalogue-intro{border-radius:12px;padding:44px 48px;background:linear-gradient(115deg,#16191f,#2b2224)}
.cp-catalogue-intro h2{letter-spacing:-.03em;font-weight:850}
body .cp-product-grid.wp-block-group{gap:20px!important}
body .cp-product-grid.wp-block-group>.cp-product-card.wp-block-group{border:1px solid var(--cp-border);box-shadow:0 5px 18px #10141b0b;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
body .cp-product-grid.wp-block-group>.cp-product-card.wp-block-group:hover{transform:translateY(-5px);box-shadow:0 16px 35px #10141b1c;border-color:#d9dce1}
body .cp-product-grid .cp-product-card figure{background:#f2f3f4}
body .cp-product-grid .cp-product-card img{transition:transform .35s ease}
body .cp-product-grid .cp-product-card:hover img{transform:scale(1.035)}
body .cp-product-grid .cp-product-card h3{font-weight:800;letter-spacing:-.015em}
body .cp-product-grid .cp-product-card .wp-block-button__link{background:var(--cp-accent)!important;transition:background .2s ease}
body .cp-product-grid .cp-product-card .wp-block-button__link:hover{background:#a91d1b!important}
.cp-b2b-cta{border-radius:12px;padding:45px 48px;background:linear-gradient(115deg,#17191f,#2a2021)}
.cp-b2b-cta .wp-block-button__link{background:var(--cp-accent)}
.cp-content a:focus-visible,header a:focus-visible,button:focus-visible{outline:3px solid #f57973;outline-offset:3px}
@media(max-width:760px){.cp-catalogue-intro,.cp-b2b-cta{padding:28px 22px}.cp-page-title{padding:55px 18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* V5.1: Force product category cards into rows even when WordPress constrained
   Gutenberg block styles or cached global CSS override the grid. */
body .cp-content .cp-product-grid,
body .entry-content .cp-product-grid,
body .wp-site-blocks .cp-product-grid,
body .cp-product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: 22px !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
}
body .cp-product-grid > .cp-product-card,
body .cp-product-grid > .wp-block-group.cp-product-card,
body .cp-product-grid.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  grid-column: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}
body .cp-product-grid > .cp-product-card {display:flex !important; flex-direction:column !important;}
body .cp-product-grid .cp-product-card .wp-block-buttons {margin-top:auto !important;}
body .cp-product-grid .cp-product-card .wp-block-button__link {
  font-size: 12px !important;
  line-height: 1.3 !important;
  padding: 12px 10px !important;
  min-height: 0 !important;
  text-decoration: none !important;
}
body .cp-product-grid .cp-product-card .wp-block-button__link img,
body .cp-product-grid .cp-product-card .wp-block-button__link svg {width:14px !important;height:14px !important;}
@media (max-width: 980px) {
 body .cp-product-grid, body .cp-content .cp-product-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width: 520px) {
 body .cp-product-grid, body .cp-content .cp-product-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
}

/* V6: twenty category sections, each with four individual editable product slots */
body .cp-content .cp-category-section.wp-block-group{max-width:100%!important;width:100%!important;margin:0 0 42px!important;padding:0!important}
body .cp-category-heading{font-size:clamp(21px,2.5vw,30px)!important;font-weight:850!important;border-left:5px solid #e63a35;padding:8px 0 8px 18px;margin:0 0 18px!important}
body .cp-content .cp-four-products.wp-block-group,body .cp-four-products.wp-block-group{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important;max-width:none!important;width:100%!important;margin:0!important}
body .cp-four-products.wp-block-group>.cp-product-card.wp-block-group{min-width:0!important;max-width:none!important;width:100%!important;margin:0!important;display:flex!important;flex-direction:column!important;border-radius:8px}
body .cp-four-products .cp-product-card figure{margin:0!important;width:100%!important}
body .cp-four-products .cp-product-card img{display:block!important;width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important}
body .cp-four-products .cp-product-card h3{font-size:17px!important;padding:13px 14px 0!important;margin:0!important}
body .cp-four-products .cp-product-card p{font-size:12px!important;padding:0 14px 10px!important;margin:5px 0!important;color:#777}
body .cp-four-products .cp-product-card .wp-block-buttons{margin-top:auto!important;padding:0 14px 15px!important}
body .cp-four-products .cp-product-card .wp-block-button{width:100%!important;padding:0!important}
body .cp-four-products .cp-product-card .wp-block-button__link{display:block!important;width:100%!important;text-align:center!important;font-size:11px!important;line-height:1.3!important;padding:11px 8px!important;background:#df302c!important;border-radius:4px!important}
@media(max-width:900px){body .cp-four-products.wp-block-group,body .cp-content .cp-four-products.wp-block-group{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){body .cp-four-products.wp-block-group,body .cp-content .cp-four-products.wp-block-group{gap:10px!important}body .cp-four-products .cp-product-card h3{font-size:14px!important;padding:9px 9px 0!important}body .cp-four-products .cp-product-card p{font-size:10px!important;padding:0 9px 8px!important}body .cp-four-products .cp-product-card .wp-block-buttons{padding:0 9px 10px!important}}

/* V6.1: grid is explicitly four columns and cannot inherit constrained block widths. */
body.page .cp-content:has(.cp-four-products){max-width:1280px!important;width:calc(100% - 36px)!important;margin-inline:auto!important}
body.page .cp-content .cp-category-section{display:block!important;clear:both!important}
body.page .cp-content .cp-category-section > .cp-four-products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
body.page .cp-content .cp-category-section > .cp-four-products > .cp-product-card{min-width:0!important;width:auto!important;max-width:none!important}
@media(max-width:850px){body.page .cp-content .cp-category-section > .cp-four-products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
